:root{--ink: #0A0A0A;--ink-2: #101012;--ink-3: #16171A;--rule: rgba(234, 234, 234, .07);--rule-strong: rgba(234, 234, 234, .16);--bone: #EAEAEA;--bone-2: #B5B5B5;--bone-3: #7A7A7A;--bone-4: #444444;--ember: #CCFF00;--ember-soft: rgba(204, 255, 0, .12);--signal: #5EEAD4;--warning: #FF6B6B;--bg: var(--ink);--bg-2: var(--ink-2);--bg-3: var(--ink-3);--fg: var(--bone);--fg-2: var(--bone-2);--fg-3: var(--bone-3);--fg-4: var(--bone-4);--accent: var(--ember);--accent-soft: var(--ember-soft);--accent-ink: #0A0A0A;--display: "Geist", ui-sans-serif, system-ui, sans-serif;--sans: "Geist", ui-sans-serif, system-ui, sans-serif;--serif: "Geist", ui-sans-serif, system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--max: 1320px;--gutter: 32px;--col: minmax(0, 1fr);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--dur-press: .16s}:root[data-theme=paper]{--bg: #F5F5F3;--bg-2: #ECECEA;--bg-3: #E2E2DF;--fg: #0A0A0A;--fg-2: #2A2A2A;--fg-3: #5A5A5A;--fg-4: #8A8A8A;--rule: rgba(10, 10, 10, .1);--rule-strong: rgba(10, 10, 10, .22);--accent: #5E7A00;--accent-soft: rgba(94, 122, 0, .1);--accent-ink: #FFFFFF}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:400;font-feature-settings:"ss01","ss03","tnum";line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .5s cubic-bezier(.2,.8,.2,1),color .5s cubic-bezier(.2,.8,.2,1);overflow-x:hidden}#root{padding-top:28px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,var(--rule) 1px,transparent 1px);background-size:100px 100%;opacity:.5;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 8%,black 92%,transparent 100%)}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.02em}p{margin:0}.display{font-family:var(--display);font-weight:600;line-height:.94;letter-spacing:-.045em}.display-thin{font-family:var(--display);font-weight:300;line-height:.96;letter-spacing:-.04em}.ital{font-style:normal;color:var(--accent)}.mono{font-family:var(--mono);font-weight:400;font-feature-settings:"ss01","ss02","zero"}.index-tag{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--fg-3);display:inline-flex;align-items:center;gap:10px}.index-tag .coord{color:var(--fg);background:var(--bg-3);border:1px solid var(--rule-strong);padding:3px 8px 2px}.index-tag .label{text-transform:uppercase;letter-spacing:.18em}.frame{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.grid-12{display:grid;grid-template-columns:repeat(12,var(--col));column-gap:24px}.hr{height:1px;background:var(--rule);border:0;width:100%}.status-strip{position:fixed;top:0;left:0;right:0;z-index:31;height:28px;display:flex;align-items:center;border-bottom:1px solid var(--rule);background:var(--bg);font-family:var(--mono);font-size:10.5px;color:var(--fg-3);letter-spacing:.04em}.status-strip .seg{padding:0 14px;border-right:1px solid var(--rule);height:100%;display:flex;align-items:center;gap:8px;white-space:nowrap}.status-strip .seg:last-child{border-right:0}.status-strip .dot{width:6px;height:6px;background:var(--accent)}.progress-bar{position:fixed;top:28px;left:0;height:1px;background:var(--accent);z-index:32;transform-origin:0 0;width:100%}@media(max-width:1100px){:root{--gutter: 24px}}@media(max-width:760px){:root{--gutter: 16px}body:before{background-size:60px 100%;opacity:.35}.status-strip{font-size:9.5px}.status-strip .seg{padding:0 10px;gap:6px}.status-strip .seg.s-hide-md{display:none}.index-tag{font-size:10px;gap:8px}.index-tag .coord{padding:2px 6px 1px}}@media(max-width:540px){:root{--gutter: 14px}.status-strip .seg.s-hide-sm{display:none}.status-strip .seg{padding:0 8px}}@media(pointer:coarse){.cursor-only{display:none!important}}@media(max-width:760px){main section{padding-top:64px!important;padding-bottom:64px!important}main section[id=index]{padding-top:96px!important;padding-bottom:80px!important}.display{letter-spacing:-.04em!important}h1.display{line-height:.96!important}}@media(max-width:540px){main section{padding-top:48px!important;padding-bottom:48px!important}main section[id=index]{padding-top:80px!important;padding-bottom:60px!important}}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.lnk{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--rule-strong);padding-bottom:1px;transition:color .25s,border-color .25s}.lnk:hover{color:var(--accent);border-color:var(--accent)}a,button{cursor:pointer}a,button,[role=button]{touch-action:manipulation}.press{transition:transform var(--dur-press) var(--ease-out)}.press:active{transform:scale(.96)}.btn-solid{transition:transform var(--dur-press) var(--ease-out),background-color .25s var(--ease-out),color .25s var(--ease-out)}.btn-solid:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.btn-solid:hover{transform:translate(4px)}}.minor-case{transition:background-color .2s var(--ease-out)}.minor-case:active{background:color-mix(in oklab,var(--fg) 5%,transparent)}@media(hover:hover)and (pointer:fine){.minor-case:hover{background:color-mix(in oklab,var(--fg) 3%,transparent)}}.contact-email{color:var(--fg);border-bottom:1px solid var(--fg);transition:transform .35s var(--ease-out),color .25s,border-color .25s}@media(hover:hover)and (pointer:fine){.contact-email:hover{transform:translate(8px);color:var(--accent);border-color:var(--accent)}}.skip-link{position:fixed;top:-64px;left:12px;z-index:50;background:var(--accent);color:var(--accent-ink);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;text-decoration:none;transition:top .2s var(--ease-out)}.skip-link:focus-visible{top:34px;outline:none}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule-strong);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--fg-4)}
