.prose [data-footnotes]{border-top:1px solid var(--border);color:var(--muted-foreground);font-size:var(--font-size-small);margin-top:2.618rem;padding-top:1.618rem}.prose [data-footnotes]>h2{width:auto;height:auto;color:var(--foreground);font-size:var(--font-size-title3);font-weight:600;line-height:var(--lh-tight);letter-spacing:0;white-space:normal;clip:auto;clip-path:none;border:0;align-items:center;gap:.5rem;margin:0 0 1rem;padding:0;display:flex;position:static;overflow:visible}.prose [data-footnotes]>h2:before{color:var(--link);font-size:var(--font-size-title3);content:"※";font-weight:700;line-height:1}.prose [data-footnotes] ol{margin-top:0;margin-bottom:0;padding-left:1.618rem}.prose [data-footnotes] li{margin-top:.618rem;margin-bottom:.618rem;padding-left:.382rem}.prose [data-footnotes] li::marker{color:var(--muted-foreground);font-weight:600}.prose [data-footnotes] p{line-height:var(--lh-body);margin-top:0;margin-bottom:0}.prose .footnote-reference{vertical-align:super;font-size:1em;line-height:0;display:inline;position:relative}.prose [data-footnote-ref]{z-index:2;border-radius:var(--phi-neg3);background-color:color-mix(in srgb, var(--link) 8%, transparent);min-width:1.25rem;height:1.25rem;color:var(--link);font-family:var(--font-heading);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 .18rem;font-weight:500;line-height:1;text-decoration:none;transition:background-color .15s ease-out,color .15s ease-out;display:inline-flex;position:relative}.prose [data-footnote-ref]:before{content:"["}.prose [data-footnote-ref]:after{content:"]"}.prose [data-footnote-ref]:hover{background-color:color-mix(in srgb, var(--link-hover) 14%, transparent);color:var(--link-hover)}.prose .footnote-preview{z-index:20;visibility:hidden;width:min(22rem,100vw - 2rem);padding:var(--phi-neg1) var(--phi-0);border:1px solid var(--border);border-radius:var(--radius);background:var(--popover);box-shadow:var(--shadow-overlay);color:var(--popover-foreground);font-family:var(--font-heading);font-size:var(--font-size-small);opacity:0;pointer-events:none;font-weight:400;line-height:1.6;transition:opacity .15s ease-out,transform .15s ease-out,visibility .15s;position:absolute;inset-block-end:calc(100% + .65rem);inset-inline-start:50%;transform:translate(-50%,.25rem)}.prose .footnote-reference:hover .footnote-preview,.prose .footnote-reference:focus-within .footnote-preview{visibility:visible;opacity:1;transform:translate(-50%)}.prose [data-footnote-backref]{border-radius:var(--phi-neg3);background-color:color-mix(in srgb, var(--link) 8%, transparent);min-width:1.5rem;height:1.5rem;color:var(--link);vertical-align:middle;border:0;justify-content:center;align-items:center;margin-left:.236rem;padding:0 .382rem;font-size:0;font-weight:500;line-height:1;text-decoration:none;transition:background-color .15s ease-out,color .15s ease-out;display:inline-flex}.prose [data-footnote-backref]:before{font-family:var(--font-heading);content:"↩︎";font-size:.875rem;font-weight:500}.prose [data-footnote-backref] sup{margin-left:.05rem;font-size:.65rem}.prose [data-footnote-backref]:hover{background-color:color-mix(in srgb, var(--link-hover) 14%, transparent);color:var(--link-hover)}.prose [data-footnote-ref]:focus-visible,.prose [data-footnote-backref]:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.prose .footnote-preview{transition-duration:0s}}.reading-progress{display:none}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){.reading-progress{z-index:60;background:var(--brand);transform-origin:0;block-size:2px;animation:linear both reading-progress scroll(root);display:block;position:fixed;inset-block-start:0;inset-inline:0}}}@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.post-page{padding-block-start:clamp(2.618rem,1.5rem + 4vw,4.236rem)}.post-article-header{border-block-end:1px solid var(--foreground);margin-block-end:var(--phi-2);padding-block-end:var(--phi-2)}.post-header-content{gap:var(--phi-1);display:grid}@media (width>=64rem){.post-header-content{grid-column:1/span 12}}.post-header-meta{gap:var(--phi-neg1);flex-wrap:wrap;margin:0;display:flex}.post-header-meta>:not(:first-child):before{color:var(--border-strong);content:"/";margin-inline-end:var(--phi-neg1)}.post-title{font-size:var(--text-article-title);font-weight:var(--font-weight-page-title);line-height:var(--lh-tight);margin:0}.post-lead{max-inline-size:40rem;color:var(--foreground-soft);margin:0;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.9}.post-mobile-toc{margin-block-end:var(--phi-2)}.prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-links:var(--link);--tw-prose-bold:var(--foreground);--tw-prose-code:var(--foreground)}.prose h2{margin-top:var(--phi-3);margin-bottom:var(--phi-1);font-size:var(--font-size-title2);line-height:var(--lh-tight);font-weight:var(--font-weight-section);font-family:var(--font-heading);font-feature-settings:"palt";letter-spacing:.01em;text-wrap:balance}.article-reading-content>h2{border-block-start:1px solid var(--border);padding-block-start:var(--phi-1)}.prose h3{margin-top:var(--phi-2);margin-bottom:var(--phi-neg1);font-size:var(--font-size-title3);line-height:var(--lh-tight);font-weight:var(--font-weight-subsection);font-family:var(--font-heading);font-feature-settings:"palt";letter-spacing:.01em}.prose h4{margin-top:var(--phi-1);margin-bottom:var(--phi-neg2);font-size:1.0625rem;font-weight:var(--font-weight-label)}.prose.article-reading-content :is(h2,h3)+:is(p,ul,ol){margin-top:0}.prose p{margin-top:var(--spacing-phi-lg);margin-bottom:var(--spacing-phi-lg)}.prose ul,.prose ol{margin-top:var(--spacing-phi-lg);margin-bottom:var(--spacing-phi-lg);padding-left:1.618rem}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose ul ul{list-style-type:circle}.prose ul ul ul{list-style-type:square}.prose li{margin-top:.25rem;margin-bottom:.25rem}.prose li::marker{color:var(--muted-foreground)}.prose strong{background:linear-gradient(transparent 62%, var(--brand-wash) 62%);font-weight:700}.prose :not(pre)>code{border:1px solid var(--border);background-color:var(--secondary);border-radius:.3rem;padding:.15em .4em;font-size:.85em}.prose a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--link) 40%, transparent);text-underline-offset:.25em;transition:color var(--duration-fast) var(--ease-out), text-decoration-color var(--duration-fast) var(--ease-out);text-decoration-thickness:1px}.prose a:hover{color:var(--link-hover);text-decoration-color:currentColor}.prose img{width:auto;max-width:100%;height:auto}.prose blockquote{margin-top:var(--phi-1);margin-bottom:var(--phi-1);padding:.25rem 0 .25rem var(--phi-1);border-left:2px solid var(--foreground);color:var(--foreground-soft);font-style:normal}.prose hr{margin-block:var(--phi-3);border:0;border-top:1px solid var(--border)}.prose table{border-collapse:collapse;width:100%;margin-top:var(--phi-1);margin-bottom:var(--phi-1);font-size:.9375rem;line-height:1.7;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.618rem 1rem .618rem 0}.prose th{border-bottom-color:var(--foreground);white-space:nowrap;font-weight:700}@media (width>=64rem){.post-reading-layout--with-toc{column-gap:var(--grid-gutter);grid-template-columns:repeat(16,minmax(0,1fr));display:grid}.post-reading-layout--with-toc>.post-reading-main{grid-column:1/span 12}.post-reading-layout--with-toc>.post-desktop-toc{grid-column:13/span 4}}.post-end{margin-block-start:var(--phi-4)}.post-end__main{gap:var(--phi-2);min-inline-size:0;display:grid}@media (width>=64rem){.post-end__main{grid-column:1/span 12}}.post-author{align-items:center;gap:var(--phi-0);padding-block:var(--phi-1);border-block:1px solid var(--foreground);display:flex}.post-author__photo{object-fit:cover;block-size:3.5rem;inline-size:3.5rem;box-shadow:0 0 0 1px var(--border);border-radius:50%;flex:none}.post-author__name{margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3}.post-author__bio{color:var(--muted-foreground);font-size:var(--font-size-small);margin:.2rem 0 0}.post-pager{gap:var(--grid-gutter);display:grid}@media (width>=48rem){.post-pager{grid-template-columns:repeat(2,minmax(0,1fr))}.post-pager__link--newer{text-align:end;grid-column:2}}.post-pager__link{align-content:start;gap:var(--phi-neg2);padding:var(--phi-1);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);transition:border-color var(--duration-fast) var(--ease-out), transform var(--duration-base) var(--ease-out);text-decoration:none;display:grid}.post-pager__link:hover{border-color:var(--foreground)}.post-pager__label:before{content:"← "}.post-pager__link--newer .post-pager__label:before{content:""}.post-pager__link--newer .post-pager__label:after{content:" →"}.post-pager__title{font-size:1.0625rem;line-height:var(--lh-snug)}.post-pager__link:hover .post-pager__title{color:var(--link)}
