.post{--rail-w:4.5rem;--rail-gap:1.5rem;--fs-kicker:clamp(.63rem, .36vw + .54rem, .88rem);--lh-ko:1.75;grid-template-columns:var(--rail-w) minmax(0, 1fr);column-gap:var(--rail-gap);max-width:calc(var(--rail-w) + var(--rail-gap) + var(--w-content));margin-inline:auto;display:grid}.post>*{grid-column:2}.post-shell{container:post/inline-size}.post__head{grid-template-columns:subgrid;padding-block:var(--sp-32) var(--sp-64);grid-column:1/-1;display:grid}.post__head>*{grid-column:2}.post__kicker{font-family:var(--font-body);font-size:var(--fs-kicker);font-weight:700;line-height:var(--lh-medium);letter-spacing:.105rem;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ppc-text);margin:0}.post__kicker:before{content:"";border-block-start:4px solid var(--ppc-ui);width:3rem;margin-block-end:var(--sp-40);display:block}.post__kicker a{color:inherit;padding-block-end:.14em;text-decoration:none}.post__kicker a:focus-visible{color:var(--crimson)}@media (hover:hover){.post__kicker a:hover{color:var(--crimson)}}@media (forced-colors:active){.post__kicker a:focus-visible{text-underline-offset:.3em;text-decoration:underline}}@media (forced-colors:active) and (hover:hover){.post__kicker a:hover{text-underline-offset:.3em;text-decoration:underline}}.post__sep{color:var(--page-hairline);margin-inline:.35em}.post__date{white-space:nowrap;padding-inline-start:2em}.post__title{margin-block:var(--sp-24) 0;font-size:var(--fs-h1);word-break:keep-all;text-wrap:balance;grid-row:2}.post__deck{font-family:var(--font-display);font-size:var(--fs-h4);line-height:var(--lh-close);color:var(--page-fg);word-break:keep-all;text-wrap:pretty;margin-block-start:var(--sp-24)}.post__byline{font-size:var(--fs-small);line-height:var(--lh-base);letter-spacing:.02em;color:var(--page-meta);margin-block-start:var(--sp-24)}.post__author{color:var(--page-fg);font-weight:700}.toc{border-block:1px solid var(--page-hairline);padding-block:var(--sp-30);margin-block-end:var(--sp-64)}.toc__summary{cursor:pointer;font-family:var(--font-body);font-size:var(--fs-kicker);letter-spacing:.105rem;text-transform:uppercase;color:var(--ppc-text);font-weight:700}.toc__list{margin:var(--sp-40) 0 var(--sp-30);padding:0;list-style:none}.toc__item{font-size:var(--fs-medium);line-height:var(--lh-base);word-break:keep-all;overflow-wrap:break-word;margin-block-start:.4rem}.toc__item[data-level="1"]{padding-inline-start:var(--sp-40)}.toc__item[data-level="2"]{padding-inline-start:calc(2 * var(--sp-40))}.toc__item a{color:var(--page-fg);padding-block-end:.07em;font-weight:400;text-decoration:none}.toc__item a:focus-visible{color:var(--crimson)}@media (hover:hover){.toc__item a:hover{color:var(--crimson)}}@media (forced-colors:active){.toc__item a:focus-visible{text-decoration:underline}}@media (forced-colors:active) and (hover:hover){.toc__item a:hover{text-decoration:underline}}:root{--toc-gap:1.5rem;--toc-edge:var(--sp-40);--toc-w-min:15rem;--toc-w-max:20rem;--toc-rail-w:min(var(--toc-w-max), max(var(--toc-w-min), calc((100% - var(--w-page)) / 2 - var(--toc-gap) - var(--toc-edge))), calc(100% - var(--w-page) - var(--root-pad) - var(--toc-gap) - var(--toc-edge)));--page-left:max(calc((100% - var(--w-page)) / 2), calc(var(--toc-edge) + var(--toc-rail-w) + var(--toc-gap)))}.toc-rail{--toc-x:100%;--toc-y:var(--sp-120);z-index:1;top:var(--toc-y);inline-size:var(--toc-rail-w);right:var(--toc-x);visibility:hidden;max-block-size:calc(100dvh - var(--toc-y) - var(--sp-48));overscroll-behavior:contain;scrollbar-width:none;font-family:var(--font-body);padding-inline-end:calc(var(--sp-30) + 1px);transition:right .45s,visibility .45s;display:block;position:fixed;overflow-y:auto}.toc-rail::-webkit-scrollbar{block-size:0;inline-size:0}.toc-rail__title{margin:0 0 var(--sp-30);font-size:var(--fs-small);font-weight:700;line-height:var(--lh-medium);letter-spacing:.105rem;text-transform:uppercase;color:var(--ppc-text)}.toc-rail__list{margin:0;padding:0;list-style:none}.toc-rail__item{border-inline-start:4px solid #0000;padding-inline-start:var(--sp-30)}.toc-rail__item+.toc-rail__item{margin-block-start:.4rem}.toc-rail__item[data-level="1"] .toc-rail__link{padding-inline-start:var(--sp-30)}.toc-rail__item[data-level="2"] .toc-rail__link{padding-inline-start:calc(2 * var(--sp-30))}.toc-rail__item:has(>[aria-current]){border-inline-start-color:var(--ppc-ui)}.toc-rail__link{-webkit-line-clamp:2;font-size:var(--fs-small);font-weight:400;line-height:var(--lh-base);color:var(--page-meta);word-break:keep-all;overflow-wrap:break-word;border-block-end:0;-webkit-box-orient:vertical;padding-block-end:0;font-variant-caps:normal;text-decoration:none;display:-webkit-box;overflow:hidden}.toc-rail__link:focus-visible{color:var(--crimson)}@media (hover:hover){.toc-rail__link:hover{color:var(--crimson)}}@media (forced-colors:active){.toc-rail__link:focus-visible{text-underline-offset:.18em;text-decoration:underline}}@media (forced-colors:active) and (hover:hover){.toc-rail__link:hover{text-underline-offset:.18em;text-decoration:underline}}.toc-rail__link[aria-current]{color:var(--ppc-text);font-weight:700}.toc-rail__link:hover,.toc-rail__link:focus-visible{-webkit-line-clamp:none}@media (width>=1440px){.toc-rail{--toc-x:calc(100% - var(--page-left) + var(--toc-gap));visibility:visible}main:has(.post-shell){margin-inline-start:calc(var(--page-left) - var(--root-pad));margin-inline-end:auto;position:relative}main:has(.toc-rail):before{content:"";background:var(--crimson);pointer-events:none;inline-size:1px;position:absolute;inset-block:0;inset-inline-start:calc(var(--root-pad) - var(--toc-gap) - 1px)}.toc{display:none}}@media (forced-colors:active){main:has(.toc-rail):before{background:0 0;border-inline-end:1px solid}.toc-rail{scrollbar-width:thin}.toc-rail::-webkit-scrollbar{block-size:auto;inline-size:auto}}@media (prefers-reduced-motion:reduce){.toc-rail{transition:none}}@media print{.toc-rail{display:none}main:has(.toc-rail):before{content:none}.toc{display:block}.toc::details-content{content-visibility:visible}.toc__summary{list-style:none}}.prose{font-size:var(--fs-body);line-height:var(--lh-large);word-break:keep-all;overflow-wrap:break-word}.post[lang=ko] .prose{line-height:var(--lh-ko)}.prose>*{margin-block-start:var(--sp-48)}.prose>:first-child{margin-block-start:0}.prose>p+p{margin-block-start:var(--sp-para)}.prose>:is(h2,h3,h4,h5,h6)+p{margin-block-start:var(--sp-24)}.prose>:is(h2,h3){margin-block-start:var(--sp-64)}.prose>:is(h2,h3,h4,h5,h6)+:is(h3,h4,h5,h6){margin-block-start:var(--sp-24)}.prose>:is(h2,h3,h4,h5,h6){scroll-margin-block-start:var(--sp-40)}.prose p{text-wrap:pretty}.post[data-rhythm=staccato] .prose>p+p{text-indent:1em;margin-block-start:0}.post[data-rhythm=staccato] .prose>:not(p)+p{text-indent:0}.prose a{text-underline-offset:.18em}.prose em{font-style:italic}.post[lang=ko] .prose em{font-style:normal;font-weight:500}.prose kbd{font-family:var(--font-mono);background:var(--sand);border:1px solid var(--sand-dark);padding:.1em .3em;font-size:.875em}.prose mark{background:var(--sand);color:inherit;padding:.1em .2em}.prose abbr[title]{text-underline-offset:.18em;cursor:help;text-decoration:underline dotted}.prose :is(sub,sup){vertical-align:baseline;font-size:.75em;line-height:0;position:relative}.prose sup{inset-block-end:.45em}.prose sub{inset-block-start:.25em}.prose ins{text-underline-offset:.18em;text-decoration-thickness:from-font}.prose small{font-size:var(--fs-medium);color:var(--page-meta)}.prose blockquote{grid-template-columns:calc(8px + 1rem) minmax(0,1fr);margin-inline:0;display:grid}.prose blockquote:before{content:"";border-inline-start:8px solid var(--ppc-ui);grid-area:1/1/span 20;margin-inline-end:1rem}.prose blockquote>*{grid-column:2}.prose blockquote>:first-child{margin-block-start:0}.prose blockquote p+p{margin-block-start:var(--sp-para)}.prose :is(ul,ol){margin-inline:0;padding-inline-start:1.4em}.prose li+li,.prose li>:is(ul,ol){margin-block-start:var(--sp-30)}.prose li::marker{color:var(--page-meta)}.prose ol{font-variant-numeric:tabular-nums}.post[data-rhythm=staccato] .prose li{text-indent:0}.prose li:has(>p)+li{margin-block-start:var(--sp-40)}.prose .task-list-item{list-style:none}.prose .task-list-item input[type=checkbox]{--box:.8em;font-size:inherit;margin-inline:-1.4em calc(1.4em - var(--box));appearance:none;inline-size:var(--box);block-size:var(--box);border:1px solid var(--page-meta);background:var(--page-bg);cursor:default;transform:translateY(.05em)}.prose .task-list-item input[type=checkbox]:checked{background:var(--ppc-ui);border-color:var(--ppc-ui)}@media (forced-colors:active){.prose .task-list-item input[type=checkbox]{appearance:auto;margin-inline:0 .25em;transform:none}}.prose img{max-width:100%;height:auto}.prose .fig{margin-inline:0}.prose .fig__plate{gap:var(--sp-40);flex-wrap:wrap;align-items:flex-start;display:flex}.prose .fig img{display:block}.prose .fig[data-count="3"] img{flex:1 1 0;min-width:0}.prose .fig figcaption{font-size:var(--fs-medium);line-height:var(--lh-base);color:var(--page-meta);text-wrap:pretty;margin-block-start:var(--sp-30)}.prose .scroller{overflow-x:auto}.prose .scroller:focus-visible{outline:3px solid var(--ppc-ui);outline-offset:2px}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-medium);line-height:var(--lh-base)}.prose :is(th,td){text-align:start;vertical-align:top;padding:var(--sp-30) var(--sp-40) var(--sp-30) 0;border-block-end:1px solid var(--page-hairline)}.prose th{font-family:var(--font-body);font-size:var(--fs-small);letter-spacing:.105rem;text-transform:uppercase;color:var(--ppc-text);border-block-end:4px solid var(--ppc-ui);white-space:nowrap;font-weight:700}.prose figure.code{margin-inline:0}.prose pre:not(.code *){max-width:100%;overflow-x:auto}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--sand);border:1px solid var(--sand-dark);word-break:break-all;padding:.1em .3em;font-size:.875em}.prose hr{border:0;border-block-start:4px solid var(--ppc-ui);width:3rem;height:0;margin-block:var(--sp-80)}.prose .footnotes{font-size:var(--fs-medium);line-height:var(--lh-base);color:var(--page-meta);margin-block-start:var(--sp-80)}.prose .footnotes:before{content:"";background:var(--ppc-ui);block-size:4px;inline-size:3rem;margin-block-end:var(--sp-40);display:block}.prose .footnotes ol{margin-block:0}.prose .footnotes li{scroll-margin-block-start:var(--sp-40)}.prose .footnotes li:target{background:var(--ppc-wash);padding-inline:var(--sp-30);margin-inline:calc(-1 * var(--sp-30))}@media (forced-colors:active){.prose .footnotes li:target{background:0 0;border-inline-start:2px solid}}.prose [data-footnote-ref],.prose .data-footnote-backref{color:var(--ppc-text);font-weight:400;text-decoration:none}.prose [data-footnote-ref]:hover,.prose .data-footnote-backref:hover{text-decoration:underline}.prose .data-footnote-backref{margin-inline-start:.25em}.post__foot{grid-column:1/-1;grid-template-columns:subgrid;border-block-start:1px solid var(--page-hairline);margin-block-start:var(--sp-120);padding-block-start:var(--sp-48);display:grid}.adj{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.adj__item{grid-column:1/-1;grid-template-columns:subgrid;padding-block:var(--sp-40);border-block-end:1px solid var(--page-hairline);align-items:baseline;font-weight:400;text-decoration:none;display:grid}.adj__item:last-child{border-block-end:0}.adj__label{font-family:var(--font-body);font-size:var(--fs-small);letter-spacing:.105rem;text-transform:uppercase;color:var(--ppc-text);grid-column:1;justify-self:end;font-weight:700}.adj__title{font-family:var(--font-display);font-size:var(--fs-h5);line-height:var(--lh-medium);color:var(--page-fg);word-break:keep-all;text-wrap:balance;grid-column:2}.adj__item:focus-visible .adj__title{color:var(--crimson)}@media (hover:hover){.adj__item:hover .adj__title{color:var(--crimson)}}@media (forced-colors:active){.adj__item:focus-visible .adj__title{text-underline-offset:.14em;text-decoration:underline}}@media (forced-colors:active) and (hover:hover){.adj__item:hover .adj__title{text-underline-offset:.14em;text-decoration:underline}}.post__back{font-size:var(--fs-small);letter-spacing:.02em;grid-column:2;margin-block-start:var(--sp-48)}@container post (width<=36rem){.post,.post__foot,.adj,.adj__item{grid-template-columns:minmax(0,1fr)}.post>*,.post__back{grid-column:1}.post__head{flex-direction:column;align-items:flex-start;display:flex}.post__kicker{order:-2}.adj__label{justify-self:start;margin-block-end:.25rem}}
