.reading-progress{position:fixed;top:0;left:0;right:0;z-index:101;height:2px;pointer-events:none}.reading-progress[hidden],.back-to-top[hidden]{display:none}.reading-progress-bar{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left center}.back-to-top{position:fixed;right:1rem;bottom:1rem;z-index:90;display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:0 .7rem;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);font:400 .6875rem/1 var(--font-mono);letter-spacing:.06em;cursor:pointer}.back-to-top:hover{border-color:var(--ink);color:var(--accent)}@media(max-width:639px){.back-to-top{right:.75rem;bottom:.75rem}}#toc-trigger{position:fixed;top:12rem;right:1rem;z-index:90;display:inline-flex;align-items:center;gap:.4rem;min-height:36px;background:var(--paper);cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none}@media(max-width:639px){#toc-trigger{top:8.5rem;right:.75rem;padding:.4rem .65rem}#toc-trigger .toc-trigger-label{display:none}}#toc-trigger.active{border-color:var(--ink)}#toc-trigger.is-dragging{cursor:grabbing}#table-of-contents{position:fixed;z-index:95;width:min(18rem,calc(100vw - 1.5rem));max-height:min(60vh,24rem);overflow-y:auto;overscroll-behavior:contain;padding:.75rem 1rem .5rem;border:1px solid var(--rule-strong);background:var(--paper);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s ease,visibility .12s}#table-of-contents.visible{visibility:visible;opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){#table-of-contents{transition:none}}.breadcrumb[data-astro-cid-qaanghzh]{margin-bottom:1.75rem}.breadcrumb[data-astro-cid-qaanghzh] ol[data-astro-cid-qaanghzh]{display:flex;align-items:center;margin:0;padding:0;list-style:none;font:400 .6875rem / 1.45 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--secondary)}.breadcrumb[data-astro-cid-qaanghzh] li[data-astro-cid-qaanghzh]+li[data-astro-cid-qaanghzh]:before{content:"/";margin:0 .7em;color:var(--faint)}.breadcrumb[data-astro-cid-qaanghzh] li[data-astro-cid-qaanghzh]{display:flex;align-items:center;flex:0 0 auto;white-space:nowrap}.breadcrumb[data-astro-cid-qaanghzh] li[data-astro-cid-qaanghzh]:last-child{flex-shrink:1;min-width:0}.breadcrumb[data-astro-cid-qaanghzh] a[data-astro-cid-qaanghzh]{padding-block:.5rem}.breadcrumb[data-astro-cid-qaanghzh] a[data-astro-cid-qaanghzh]:hover{color:var(--accent)}.breadcrumb[data-astro-cid-qaanghzh] [data-astro-cid-qaanghzh][aria-current=page]{display:block;max-width:40ch;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.article-page{padding:0 0 5rem}.article-page .language-suggestion{margin-top:1.25rem}.article-header{padding:1.25rem 0 1rem;border-bottom:1px solid var(--rule-strong)}.article-title{margin:0 0 .75rem;font:400 clamp(1.5rem,2.4vw,2rem) / 1.25 var(--font-serif);letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance}html:lang(ko) .article-title{word-break:keep-all}.article-lead{margin:0 0 1rem;font:400 1.0625rem / 1.6 var(--font-serif);color:var(--secondary)}html:lang(ko) .article-lead{word-break:keep-all}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.5rem;font:400 .75rem / 1.6 var(--font-mono);letter-spacing:.06em;color:var(--secondary)}.article-meta a{text-decoration:underline;text-underline-offset:.25em;text-decoration-color:var(--rule-strong)}.article-meta a:hover{color:var(--accent)}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none}.article-hero{margin:1.75rem auto 0}.article-hero img{display:block;width:100%;max-height:70vh;border-radius:0;-o-object-fit:contain;object-fit:contain}.article-canvas{margin-top:1.5rem}.article-main{min-width:0}.article-toc-title{margin:0 0 .5rem;padding-bottom:.6rem;border-bottom:1px solid var(--rule-strong);font:400 .6875rem / 1.45 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--secondary)}.article-toc ul{margin:0;padding:0;list-style:none}.toc-link{display:block;padding:.4rem 0;font-size:.8125rem;line-height:1.45;color:var(--secondary);overflow-wrap:anywhere;text-decoration:none}.toc-link:hover,.toc-link.active{color:var(--accent)}.toc-h1{font-size:.9375rem;font-weight:500}.toc-h2{font-size:.875rem}.toc-h3{padding-left:.75rem}.toc-h4,.toc-h5,.toc-h6{font-size:.75rem;padding-left:1.25rem}.series-nav{margin-top:4rem;padding-top:1rem;border-top:1px solid var(--rule-strong)}.series-nav>.eyebrow{margin-bottom:.75rem}.series-nav-links{display:grid}.series-nav-link{display:block;padding:1rem 0}.series-nav-link+.series-nav-link{border-top:1px solid var(--rule)}.series-nav-link .eyebrow{margin-bottom:.25rem}.series-nav-link strong{display:block;font:400 1.25rem / 1.3 var(--font-serif)}.series-nav-link:hover strong{color:var(--accent)}@media(min-width:640px){.series-nav-links{grid-template-columns:1fr 1fr;-moz-column-gap:2rem;column-gap:2rem}.series-nav-link+.series-nav-link{border-top:0}.series-nav-link:only-child{grid-column:1 / -1}.series-nav-link--next{text-align:right}.series-nav-link--next:only-child{text-align:left}}.prose{min-width:0;font-size:17px;line-height:1.85;overflow-wrap:break-word}html:lang(en) .prose{font-size:18px;line-height:1.8}.prose>:first-child{margin-top:0}.prose strong,.prose b{font-weight:700!important}.prose p{margin:0 0 1.25em}.prose p:has(+ul),.prose p:has(+ol){margin-bottom:.5em}.prose h1,.prose h2{margin:64px 0 16px;font:400 clamp(1.75rem,3.2vw,2.125rem) / 1.2 var(--font-serif);letter-spacing:-.02em}.prose h3{margin:44px 0 12px;font:400 1.4375rem / 1.3 var(--font-serif);letter-spacing:-.01em}.prose :where(h4,h5,h6){margin:32px 0 8px;font:600 1.125rem / 1.4 var(--font-sans);letter-spacing:0}.prose :where(h1,h2,h3,h4,h5,h6){scroll-margin-top:calc(var(--header-height) + 1.5rem)}html:lang(ko) .prose :where(h1,h2,h3,h4,h5,h6){word-break:keep-all}.prose :is(ul,ol){margin:0 0 1.25em;padding-left:1.5em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:.25em;line-height:1.75}.prose li :is(ul,ol){margin:.25em 0 .5em}.prose li>p{margin-bottom:0}.prose blockquote{margin:2em 0;padding:.25em 0 .25em 1.25em;border-left:2px solid var(--accent);font:normal 400 1.3125rem / 1.6 var(--font-serif);color:var(--ink)}.prose blockquote>:last-child{margin-bottom:0}.prose blockquote blockquote{margin:1em 0;font-size:1.125rem}.prose hr{margin:3em 0}.prose a:not(.toc-link,.presentation-action){color:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:.3em;text-decoration-color:var(--rule-strong)}.prose a:not(.toc-link,.presentation-action):hover{color:var(--accent);text-decoration-color:currentColor}.prose a.external-link:not(:has(img)):after{content:"↗";display:inline-block;margin-left:.15em;font-size:.75em;text-decoration:none;opacity:.7}.prose :not(pre)>code{padding:.1em .35em;border-radius:2px;background:var(--paper-deep);font:400 .88em var(--font-mono);overflow-wrap:anywhere}.prose pre{max-width:100%;margin:2em 0;padding:1.1rem 1.25rem;border:0;border-top:1px solid var(--rule-strong);border-radius:0;background:var(--paper-deep)!important;overflow-x:auto;font:400 .8125rem / 1.7 var(--font-mono)}.prose pre code{padding:0;background:none;font:inherit}html.dark .prose .astro-code,html.dark .prose .astro-code span{color:var(--shiki-dark)!important}.prose table{display:block;width:100%;margin:2em 0;overflow-x:auto;font-size:.9375rem;line-height:1.6}@media(min-width:640px){.prose table{display:table}}.prose th,.prose td{padding:.65rem .75rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.prose th{border-bottom-color:var(--rule-strong);font:500 .75rem / 1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--secondary)}.prose img{border-radius:0;box-shadow:none}.prose figure{margin:2em 0}.prose figcaption{margin-top:.6rem;font:400 .6875rem / 1.5 var(--font-mono);letter-spacing:.06em;color:var(--secondary)}.prose .katex-display{max-width:100%;margin:1.5em 0;padding:.25em 0;overflow-x:auto;overflow-y:hidden;text-align:center}.prose .footnotes{margin-top:3em;padding-top:1em;border-top:1px solid var(--rule);font-size:.92em;color:var(--secondary)}
