@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/jetbrains-mono-latin-400-normal-3OOWLGQ2.woff2") format("woff2"),url("./media/jetbrains-mono-latin-400-normal-WDD34GPP.woff") format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/jetbrains-mono-latin-500-normal-V4XIP5OW.woff2") format("woff2"),url("./media/jetbrains-mono-latin-500-normal-ETEQEOVZ.woff") format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-latin-400-normal-55WT6UWF.woff2") format("woff2"),url("./media/inter-latin-400-normal-FR5HOXA4.woff") format("woff")}:root{color-scheme:dark;--bg: #070b09;--surface: #0c120f;--surface-2: #111a15;--border: #1d2b23;--border-strong: #2f4539;--text: #d9e6de;--muted: #93a89b;--faint: #71877a;--accent: #39ff88;--accent-rgb: 57 255 136;--amber: #ffb547;--amber-rgb: 255 181 71;--danger: #ff6b6b;--info: #5ce1e6;--syn-kw: #5ce1e6;--syn-type: #39ff88;--syn-str: #ffb547;--syn-fn: #e6f4ec;--syn-num: #ff9e64;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "Source Code Pro", Consolas, monospace;--font-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--gutter: clamp(16px, 4vw, 32px);--container: 1120px;--nav-h: 56px}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--font-mono);font-weight:500;line-height:1.2}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit}button{font:inherit;color:inherit}pre,code,kbd,samp,.mono{font-family:var(--font-mono)}::selection{background:rgb(var(--accent-rgb)/.25);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.section{padding-block:clamp(72px,10vw,120px)}.section-head{max-width:64ch;margin-bottom:clamp(32px,5vw,56px)}.section-head h2{font-size:clamp(24px,3.4vw,36px)}.label{display:flex;gap:.8ch;margin-bottom:14px;font:500 13px/1.4 var(--font-mono);letter-spacing:.04em;color:var(--accent)}.label .idx{color:var(--faint)}.lead{margin-top:16px;max-width:62ch;font-size:clamp(15px,1.4vw,17px);color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:.8ch;min-height:44px;padding:10px 18px;border:1px solid var(--accent);background:var(--accent);color:var(--bg);font:500 13.5px/1 var(--font-mono);text-decoration:none;cursor:pointer;transition:box-shadow .25s var(--ease),transform .25s var(--ease),background .25s}.btn:hover{box-shadow:0 0 22px rgb(var(--accent-rgb)/.35);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--ghost{background:transparent;color:var(--accent)}.btn--ghost:hover{background:rgb(var(--accent-rgb)/.08)}@media(hover:hover)and (pointer:fine){::-webkit-scrollbar{width:10px;height:10px;background:var(--surface)}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--surface)}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{min-height:32px;min-width:32px;border:2px solid transparent;border-radius:3px;background:rgb(var(--accent-rgb)/.45) padding-box}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:var(--accent) padding-box}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgb(var(--accent-rgb)/.45) var(--surface)}}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d, 0ms)}.reveal.is-in{opacity:1;transform:none}body:before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.016) 0 1px,transparent 1px 4px)}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){body:before{animation:crt-flicker 7s steps(1) infinite}}@keyframes crt-flicker{0%,92%,to{opacity:1}93%{opacity:.6}94%{opacity:1}96%{opacity:.75}97%{opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
