.contour{fill:none;stroke:var(--contour);stroke-width:1px;vector-effect:non-scaling-stroke;transition:stroke .4s}.contour-index{stroke:var(--contour-index);stroke-width:1.8px}.site-header{z-index:2;border-bottom:1px solid var(--rule);background:var(--paper-2);position:relative;overflow:hidden}.site-header__map{opacity:.6;position:absolute;inset:0}.site-header__map svg{width:100%;height:100%}.site-header__inner{max-width:var(--page);flex-wrap:wrap;align-items:center;gap:1rem 2rem;min-height:4.5rem;margin:0 auto;padding:.75rem 1.5rem;display:flex;position:relative}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:1.375rem;font-weight:800;text-decoration:none}.wordmark__dot{color:var(--accent);display:inline-block}.site-header nav{margin-left:auto}.site-header nav ul{flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--ink);font-weight:600;text-decoration:none;position:relative}.site-header nav a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .22s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}.site-header__tools{align-items:center;display:flex}@media (max-width:40rem){.site-header__inner{gap:.5rem 1rem}.site-header__tools{order:2;margin-left:auto}.site-header nav{flex-basis:100%;order:3;margin-left:0}.theme-toggle__text{display:none}}@media (prefers-reduced-motion:no-preference){.wordmark:hover .wordmark__dot{animation:.42s cubic-bezier(.34,1.56,.64,1) dot-hop}}@keyframes dot-hop{40%{transform:translateY(-.35em)}to{transform:translateY(0)}}.site-footer{border-top:1px dashed var(--rule);color:var(--muted);font-size:.9rem}.site-footer__inner{max-width:var(--page);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;margin:0 auto;padding:2rem 1.5rem 3rem;display:flex}.site-footer p{margin:0}.site-footer a{color:var(--muted)}.site-footer__links{gap:1rem;margin:0;padding:0;list-style:none;display:flex}.theme-toggle{border:1px dashed var(--rule);background:var(--paper);color:var(--ink);font-family:var(--font-mono);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.75rem;transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .18s;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);transform:rotate(-4deg)}body,.site-header{transition:background-color .3s,color .3s}
.post-list{margin:0;padding:0;list-style:none}.post-item{border-top:1px dashed var(--rule);grid-template-columns:7.5rem 1fr;gap:.25rem 1.5rem;padding:1.1rem 0;display:grid}.post-item__date{font-family:var(--font-mono);color:var(--muted);padding-top:.35rem;font-size:.8rem}.post-item__title{margin:0 0 .3rem;font-size:1.45rem;line-height:1.2}.post-item__title a{color:var(--ink);text-decoration:none;transition:transform .22s cubic-bezier(.34,1.56,.64,1),color .15s;display:inline-block}.post-item__title a:hover,.post-item__title a:focus-visible{color:var(--accent);transform:translate(3px)}.post-item__desc{color:var(--body);margin:0}@media (max-width:40rem){.post-item{grid-template-columns:1fr}}.page-intro{margin-bottom:1.5rem}.page-intro h1{margin:.25rem 0 0;font-size:clamp(2.2rem,5vw,3.25rem)}.topic-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.topic-chips a{border:1px dashed var(--rule);color:var(--ink);font-family:var(--font-mono);border-radius:999px;padding:.3rem .8rem;font-size:.8rem;text-decoration:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .15s}.topic-chips a:hover{border-color:var(--accent);transform:translateY(-2px)}.topic-chips a[aria-current=page]{background:var(--ink);border-style:solid;border-color:var(--ink);color:var(--paper)}
body:has(.home-hero) .site-header{background:0 0;border-bottom:0}body:has(.home-hero) .site-header__map{display:none}body:has(.home-hero) main{padding-top:0}.home-hero{min-height:28rem;padding:7rem max(1.5rem, calc(50vw - var(--page) / 2 + 1.5rem)) 4rem;margin:-4.5rem calc(50% - 50vw) 0;position:relative;overflow:hidden}.home-hero__map{position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0003 0%,#00000059 38%,#000 64%);mask-image:linear-gradient(90deg,#0003 0%,#00000059 38%,#000 64%);container-type:size}.home-hero__map>svg{width:100%;height:100%}.home-hero__fade{background:linear-gradient(transparent, var(--paper));pointer-events:none;height:9rem;position:absolute;bottom:0;left:0;right:0}.home-hero__copy{max-width:36rem;position:relative}.home-hero h1{letter-spacing:-.025em;margin:0 0 1.25rem;font-size:clamp(2.6rem,6.5vw,4.5rem);line-height:1}.home-hero h1 em{color:var(--accent);font-style:italic}.home-hero__intro{max-width:30rem;color:var(--body);margin:0;font-size:1.2rem}.trail{fill:none;stroke:var(--accent);stroke-width:3px;stroke-dasharray:2 9;stroke-linecap:round;vector-effect:non-scaling-stroke}.trail-reveal{fill:none;stroke:#fff;stroke-width:24px;stroke-dasharray:1;stroke-dashoffset:0}.summit{--map-scale:max(100cqw / var(--map-w), 100cqh / var(--map-h));left:calc(50% + (var(--summit-x) - var(--map-w) / 2) * var(--map-scale));top:calc(50% + (var(--summit-y) - var(--map-h) / 2) * var(--map-scale));position:absolute}.summit-flag{position:absolute;top:-40px;left:-8px;overflow:visible}.summit-flag circle,.summit-flag__cloth{fill:var(--accent)}.summit-flag__pole{stroke:var(--ink);stroke-width:2.5px}.summit-flag__cloth{transform-box:fill-box;transform-origin:0}.summit-label{background:var(--paper);border:1px solid var(--rule);width:max-content;font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);border-radius:4px;margin:0;padding:3px 8px 5px 6px;font-size:13px;line-height:18px;position:absolute;top:0;left:12px}@media (prefers-reduced-motion:no-preference){.trail-reveal{stroke-dashoffset:1px;animation:1.4s cubic-bezier(.25,.8,.3,1) .2s forwards trail-draw}.summit-flag__cloth{animation:.7s ease-in-out 1.65s flag-wave}}@keyframes trail-draw{to{stroke-dashoffset:0}}@keyframes flag-wave{30%{transform:skewY(-10deg)scaleX(.85)}65%{transform:skewY(6deg)scaleX(1.05)}}@media (max-width:40rem){.home-hero{min-height:22rem;padding-top:6rem}.home-hero__map{opacity:.55}.summit-flag{transform-origin:8px 40px;transform:scale(.7)}.summit-label{display:none}}.recent{margin-top:1rem}
.article-layout{grid-template-columns:minmax(0,1fr);gap:3rem;display:grid}@media (min-width:1100px){.article-layout{grid-template-columns:minmax(0, var(--measure)) 14rem;justify-content:space-between}}.article-header{margin-bottom:2rem}.article-kicker{color:var(--accent-text);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem}.article-header h1{letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(2rem,4.5vw,3rem);line-height:1.06}.article-meta{color:var(--muted);font-family:var(--font-mono);margin:0;font-size:.8rem}.prose{max-width:var(--measure);font-size:1.1rem;line-height:1.75}.prose p{margin:0 0 1.15rem}.prose h2{margin:2.5rem 0 .75rem;scroll-margin-top:1.5rem;font-size:1.65rem}.prose h2:before{content:"§ ";color:var(--accent)}.prose h3{margin:1.75rem 0 .5rem;font-size:1.3rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin-bottom:.4rem}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:3px solid var(--rule);color:var(--muted);font-family:var(--font-display);margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;font-size:1.2rem;font-style:italic}.prose .table-scroll{border:1px solid var(--rule);border-radius:6px;margin:1.75rem 0;overflow-x:auto}.prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.95rem}.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.55rem .9rem}.prose tr:last-child>*{border-bottom:0}.prose thead th{background:var(--paper-2);border-bottom:2px solid var(--rule);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:600}.prose tbody th{color:var(--ink);font-weight:600}.prose th p,.prose td p{margin:0}.prose :not(pre)>code{border:1px solid var(--rule);background:var(--paper-2);color:var(--ink);font-family:var(--font-mono);border-radius:4px;padding:.05em .35em;font-size:.86em}.prose a{background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;transition:background-size .25s,color .15s}.prose a:hover{background-size:100% 2px;text-decoration-color:#0000}.toc ol{border-left:2px dotted var(--rule);margin:0;padding:0 0 0 .9rem;list-style:none}.toc li{margin:0 0 .6rem;line-height:1.3}.toc a{color:var(--muted);font-size:.9rem;text-decoration:none;position:relative}.toc a[aria-current=location]{color:var(--ink);font-weight:600}.toc a[aria-current=location]:before{content:"";background:var(--accent);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.35em;left:-1.3rem}.toc__title,.toc summary{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.72rem}.toc--inline{border:1px dashed var(--rule);border-radius:6px;margin-bottom:2rem;padding:.75rem 1rem}.toc--inline summary{cursor:pointer;margin:0}.toc--inline[open] summary{margin-bottom:.75rem}.toc--rail{display:none}@media (min-width:1100px){.toc--inline{display:none}.toc--rail{grid-area:1/2;align-self:start;padding-top:6rem;display:block;position:sticky;top:2rem}}.code-block{border:1px solid var(--rule);background:var(--code-bg);border-radius:8px;margin:1.5rem 0;overflow:hidden}.code-block__bar{border-bottom:1px solid var(--rule);color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:1rem;padding:.4rem .9rem;font-size:.7rem;display:flex}.code-block__file{text-transform:none;letter-spacing:0}.code-block__body pre{font-family:var(--font-mono);margin:0;padding:.9rem 1rem;font-size:.85rem;line-height:1.65;overflow-x:auto;background:0 0!important}.code-block__body code{font-family:inherit}.code-block__body span{color:var(--shiki-light)}:root[data-theme=dark] .code-block__body span{color:var(--shiki-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .code-block__body span{color:var(--shiki-dark)}}.field-note{border:1px dashed var(--rule);border-left:4px solid var(--accent);background:var(--paper-2);border-radius:6px;margin:1.75rem 0;padding:.9rem 1.1rem 1rem 1.25rem}.field-note--warning{border-left-color:#b8401d}:root[data-theme=dark] .field-note--warning{border-left-color:#ff7a59}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .field-note--warning{border-left-color:#ff7a59}}.field-note--aside{border-left-color:var(--muted)}.field-note__title{color:var(--accent-text);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem}.field-note__title:before{content:"▲ "}.field-note--aside .field-note__title{color:var(--muted)}.field-note__body{white-space:pre-line;margin:0}
.comments{max-width:var(--measure);border-top:1px dashed var(--rule);margin-top:3.5rem;padding-top:1.5rem}.comments-empty,.comments-closed{color:var(--muted)}.comment-list,.comment-replies{margin:0;padding:0;list-style:none}.comment{border-top:1px dashed var(--rule);padding:1rem 0}.comment-list>.comment:first-child{border-top:0}.comment-replies{border-left:2px dotted var(--rule);margin:.75rem 0 0 1.25rem;padding-left:1rem}.comment-replies .comment{border-top:0;padding:.6rem 0}.comment-meta{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0 0 .35rem;display:flex}.comment-author{font-family:var(--font-display);color:var(--ink);font-weight:600}.comment-author-badge{border:1px solid var(--accent-text);color:var(--accent-text);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:0 .45rem;font-size:.7rem}.comment-meta time{color:var(--muted);font-family:var(--font-mono);font-size:.8rem}.comment-body{white-space:pre-line;overflow-wrap:anywhere;margin:0}.comment-actions{font-family:var(--font-mono);margin:.35rem 0 0;font-size:.8rem}.comment-form{border:1px dashed var(--rule);background:var(--paper-2);border-radius:10px;gap:.9rem;margin-top:1.5rem;padding:1.25rem;display:grid}.comment-form__heading{margin:0;font-size:1.2rem}.comment-form__row{gap:.3rem;display:grid}.comment-form label{color:var(--ink);font-weight:600}.comment-form__hint{color:var(--muted);font-size:.9em;font-weight:400}.comment-form input,.comment-form textarea{border:1px solid var(--rule);background:var(--paper);width:100%;color:var(--body);font:inherit;border-radius:6px;padding:.55rem .7rem}.comment-form input:focus-visible,.comment-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.comment-form__error{color:var(--accent-text);margin:0;font-size:.9rem}.comment-form__submit{background:var(--ink);color:var(--paper);font:inherit;cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:.55rem 1.1rem;font-weight:600}.comment-form__submit:disabled{opacity:.6;cursor:progress}.comment-form__hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.comment-form__hp input{border:0;width:0;height:0;padding:0}.comment-form-done{border:1px dashed var(--rule);border-left:4px solid var(--accent);background:var(--paper-2);border-radius:6px;margin-top:1.5rem;padding:1rem 1.25rem}.comment-form__actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.comment-form__cancel{font-family:var(--font-mono);color:var(--muted);font-size:.85rem}.comment-form__as{color:var(--body);margin:0}.comment-form__as .comment-author-badge{margin-left:.35rem}.comment-form-done{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;display:flex}.comment-form-done__text{margin:0}.comment-form-done__text:focus{outline:none}
