*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--paper: #EDEAE3;--paper-2: #E6E2DA;--panel: #F5F3EE;--ink: #16171A;--ink-2: #3E4046;--ink-3: #6E7178;--rule: #C9C4B8;--rule-strong: #16171A;--grid: rgba(22, 23, 26, .055);--signal: #C4341C;--signal-ink: #FFFFFF;--sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--maxw: 1240px;--gutter: clamp(1.25rem, 4vw, 3rem);--rule-w: 1px}[data-theme=dark]{--paper: #101114;--paper-2: #16171B;--panel: #1A1C21;--ink: #E8E6E1;--ink-2: #B4B2AC;--ink-3: #7C7F86;--rule: #2E3138;--rule-strong: #E8E6E1;--grid: rgba(232, 230, 225, .05);--signal: #FF5436;--signal-ink: #101114}html{font-size:16px;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--sans);background-color:var(--paper);background-image:linear-gradient(var(--grid) var(--rule-w),transparent var(--rule-w)),linear-gradient(90deg,var(--grid) var(--rule-w),transparent var(--rule-w));background-size:32px 32px;color:var(--ink);font-size:.95rem;line-height:1.65;-webkit-font-smoothing:antialiased;font-feature-settings:"ss02" 1}img,svg{display:block;max-width:100%}a{color:inherit}::selection{background:var(--signal);color:var(--signal-ink)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.display{font-size:clamp(2.6rem,6.2vw,5.4rem);font-weight:600;line-height:.98;letter-spacing:-.035em;text-wrap:balance}.h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:600;line-height:1.1;letter-spacing:-.025em}.h3{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.body-lg{font-size:1.05rem;line-height:1.7;color:var(--ink-2);max-width:62ch}.muted{color:var(--ink-3)}.meta{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.signal{color:var(--signal)}.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}.clause{border-top:var(--rule-w) solid var(--rule);padding-block:clamp(3.5rem,7vw,6rem)}.clause-head{display:grid;grid-template-columns:6rem 1fr;gap:1.5rem;align-items:start;margin-bottom:3rem}.clause-num{position:relative;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.1em;color:var(--signal);padding-top:.55rem}.clause-num:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--signal);transform-origin:0 50%;transition:transform .7s cubic-bezier(.22,1,.36,1)}@media(max-width:720px){.clause-head{grid-template-columns:1fr;gap:.75rem}.clause-num{padding-top:0}.clause-num:before{display:none}}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.7rem 1.1rem;border:var(--rule-w) solid var(--rule-strong);background:transparent;color:var(--ink);cursor:pointer;transition:background .15s linear,color .15s linear}.btn:hover{background:var(--ink);color:var(--paper)}.btn--signal{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.btn--signal:hover{background:transparent;color:var(--signal)}.nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem var(--gutter);border-bottom:var(--rule-w) solid var(--rule);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nav-id{display:flex;align-items:baseline;gap:.6rem;text-decoration:none}.nav-id b{font-size:.95rem;font-weight:600;letter-spacing:-.02em}.nav-links{display:flex;gap:1.4rem;list-style:none}.nav-links a{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-decoration:none;color:var(--ink-3);transition:color .15s linear}.nav-links a:hover{color:var(--signal)}.nav-tools{display:flex;align-items:center;gap:.75rem}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border:var(--rule-w) solid var(--rule);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .15s linear,color .15s linear}.icon-btn:hover{border-color:var(--signal);color:var(--signal)}.icon-btn svg{width:15px;height:15px}.icon-btn .sun{display:none}[data-theme=dark] .icon-btn .sun{display:block}[data-theme=dark] .icon-btn .moon{display:none}@media(max-width:720px){.nav-links{display:none}}.hero{padding-block:clamp(3rem,8vw,6.5rem) clamp(2.5rem,5vw,4rem)}.hero-top{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2rem}.hero-display{margin-bottom:2rem}.hero-grid{display:grid;grid-template-columns:1fr 320px;gap:clamp(2rem,5vw,4rem);align-items:start;border-top:2px solid var(--rule-strong);padding-top:1.75rem}@media(max-width:860px){.hero-grid{grid-template-columns:1fr}}.hero-portrait{position:relative;border:var(--rule-w) solid var(--rule)}.hero-portrait img{width:100%;height:auto;filter:grayscale(1) contrast(1.05)}[data-theme=dark] .hero-portrait img{filter:grayscale(1) contrast(1.05) brightness(.85)}.figcap{font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;color:var(--ink-3);padding:.5rem .6rem;border-top:var(--rule-w) solid var(--rule);display:flex;justify-content:space-between;gap:.5rem}.status{display:inline-flex;align-items:center;gap:.5rem}.status-dot{width:6px;height:6px;background:var(--signal);flex-shrink:0;animation:blink 1.6s steps(1,end) infinite}@keyframes blink{0%,60%{opacity:1}61%,to{opacity:.25}}@media(prefers-reduced-motion:reduce){.status-dot{animation:none}}.kv{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.25rem}.kv dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:.15rem}.kv dd{font-size:.88rem;color:var(--ink-2)}.spec{border:var(--rule-w) solid var(--rule);background:var(--panel);margin-bottom:1.5rem}.spec-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1rem;border-bottom:var(--rule-w) solid var(--rule);background:var(--paper-2)}.spec-body{display:grid;grid-template-columns:1.05fr .95fr}@media(max-width:900px){.spec-body{grid-template-columns:1fr}}.spec-text{padding:clamp(1.25rem,3vw,2rem)}.spec-fig{border-left:var(--rule-w) solid var(--rule);background:var(--paper-2);display:grid;place-items:center;padding:1.25rem;min-height:260px}@media(max-width:900px){.spec-fig{border-left:none;border-top:var(--rule-w) solid var(--rule)}}.spec-fig svg{width:100%;height:auto}.spec-title{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin-bottom:.5rem}.spec-title a{text-decoration:none}.spec-title a:hover{color:var(--signal)}.spec-thesis{font-size:.98rem;line-height:1.6;color:var(--ink-2);margin-bottom:1.25rem;max-width:52ch}.figures{display:flex;flex-wrap:wrap;gap:1.75rem;padding-block:1rem;border-top:var(--rule-w) solid var(--rule);border-bottom:var(--rule-w) solid var(--rule);margin-bottom:1.25rem}.figure-n{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.figure-l{font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:.3rem}.stack-run{font-family:var(--mono);font-size:.7rem;color:var(--ink-3);line-height:1.9;letter-spacing:.02em}.stack-run span:after{content:" · ";color:var(--rule)}.stack-run span:last-child:after{content:""}.readmore{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--signal);text-decoration:none;display:inline-flex;gap:.4rem;border-bottom:1px solid currentColor;padding-bottom:2px}.readmore:hover{gap:.7rem}.ruled{width:100%;border-collapse:collapse}.ruled th{font-family:var(--mono);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:.5rem .75rem .5rem 0;border-bottom:var(--rule-w) solid var(--rule-strong)}.ruled td{padding:.85rem .75rem .85rem 0;border-bottom:var(--rule-w) solid var(--rule);vertical-align:top;font-size:.88rem;color:var(--ink-2)}.ruled tr:hover td{background:var(--panel)}.ruled .c-year{font-family:var(--mono);font-size:.72rem;color:var(--signal);white-space:nowrap}.ruled .c-what{color:var(--ink);font-weight:500}@media(max-width:720px){.ruled .c-note{display:none}}.doc{display:grid;grid-template-columns:6rem 1fr;gap:1.5rem}@media(max-width:720px){.doc{grid-template-columns:1fr}}.doc-margin{font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;color:var(--ink-3);line-height:1.6}.doc-body p{margin-bottom:1.1rem;max-width:64ch;color:var(--ink-2)}.doc-body p:last-child{margin-bottom:0}.doc-body strong{color:var(--ink);font-weight:600}.colophon{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem)}@media(max-width:860px){.colophon{grid-template-columns:1fr}}.field{margin-bottom:.9rem}.field label{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.3rem}.field input,.field textarea{width:100%;padding:.6rem .7rem;border:var(--rule-w) solid var(--rule);background:var(--panel);color:var(--ink);font-family:var(--mono);font-size:.82rem}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus{outline:none;border-color:var(--signal)}.form-note{font-family:var(--mono);font-size:.7rem;color:var(--ink-3);min-height:1.2em;margin-top:.5rem}.form-note.error{color:var(--signal)}.form-note.ok{color:var(--ink)}.linklist{list-style:none;border-top:var(--rule-w) solid var(--rule)}.linklist a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:var(--rule-w) solid var(--rule);text-decoration:none;font-size:.9rem;transition:color .15s linear,padding-left .15s linear}.linklist a:hover{color:var(--signal);padding-left:.4rem}.linklist .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.linklist a:hover .k{color:var(--signal)}.foot{border-top:var(--rule-w) solid var(--rule);padding:1.25rem var(--gutter);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:var(--ink-3)}.cs-head{padding-block:clamp(2.5rem,6vw,4.5rem) 2rem}.cs-title{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;letter-spacing:-.035em;line-height:1;margin:.75rem 0 1rem}.cs-thesis{font-size:1.05rem;line-height:1.65;color:var(--ink-2);max-width:58ch}.prose{max-width:68ch}.prose h2{font-size:1.35rem;font-weight:600;letter-spacing:-.02em;margin:2.5rem 0 .9rem;padding-top:.75rem;border-top:var(--rule-w) solid var(--rule)}.prose h3{font-size:1rem;font-weight:600;margin:1.5rem 0 .5rem}.prose p{margin-bottom:1.05rem;color:var(--ink-2)}.prose ul{margin:0 0 1.05rem 1.1rem;color:var(--ink-2)}.prose li{margin-bottom:.35rem}.prose li::marker{color:var(--signal)}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--signal)}.prose code{font-family:var(--mono);font-size:.85em;background:var(--panel);border:var(--rule-w) solid var(--rule);padding:.05rem .3rem}.progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--signal);transform:scaleX(var(--p, 0));transform-origin:0 50%;z-index:200;pointer-events:none;will-change:transform}@media(prefers-reduced-motion:no-preference){.rise.in{animation:rise-in .55s cubic-bezier(.22,1,.36,1) backwards}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}.hero-top,.hero-display,.hero-grid>div>*,.hero-portrait{animation:draft .7s cubic-bezier(.22,1,.36,1) backwards}.hero-top{animation-delay:.05s}.hero-display{animation-delay:.14s}.hero-grid>div>.body-lg{animation-delay:.24s}.hero-grid>div>.kv{animation-delay:.32s}.hero-grid>div>div{animation-delay:.4s}.hero-portrait{animation-delay:.3s}@keyframes draft{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero-grid{animation:rule-in .9s cubic-bezier(.22,1,.36,1) .2s backwards}@keyframes rule-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.clause-num.in:before{animation:draw-rule .7s cubic-bezier(.22,1,.36,1) backwards}@keyframes draw-rule{0%{transform:scaleX(0)}}.ruled tbody tr.in{animation:row-in .45s ease-out backwards}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}}.fig.drawn line,.fig.drawn rect,.fig.drawn path,.fig.drawn circle{animation:draw-stroke .75s cubic-bezier(.65,0,.35,1) backwards;animation-delay:var(--d, 0ms)}@keyframes draw-stroke{0%{stroke-dashoffset:var(--len, 0)}}.fig .stamp{transform-box:fill-box;transform-origin:0 50%}.fig.drawn .stamp{animation:stamp-in .5s cubic-bezier(.22,1,.36,1) backwards;animation-delay:var(--d, 0ms)}@keyframes stamp-in{0%{transform:scaleX(0)}}.fig.drawn text{animation:type-on .3s linear backwards;animation-delay:var(--d, 0ms)}@keyframes type-on{0%{opacity:0}}}.spec{transition:border-color .25s ease,transform .25s ease}.spec:hover{border-color:var(--ink-3)}.spec:has(.spec-title a:hover){border-color:var(--signal)}.btn{transition:background .15s linear,color .15s linear,border-color .15s linear,transform .08s ease-out}.btn:active{transform:translateY(1px)}.icon-btn:active{transform:scale(.94)}.spec-title a{background-image:linear-gradient(var(--signal),var(--signal));background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease,color .2s ease}.spec-title a:hover{background-size:100% 1px}.readmore{transition:gap .2s ease,letter-spacing .2s ease}.readmore:hover{letter-spacing:.09em}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:0 50%;transition:transform .25s ease}.nav-links a:hover:after{transform:scaleX(1)}.figures>div{transition:transform .2s ease}.figures>div:hover .figure-n{color:var(--signal)}.figure-n{transition:color .2s ease}@media(prefers-reduced-motion:reduce){.progress{display:none}}
