:root{--bg:#0e0f11;--surface:#17181b;--surface-2:#1d1e22;--border:#26282c;--text:#edeae4;--muted:#8a8a8a;--accent:#ff4d1f;--accent-2:#ff8a3d;--accent-text:#ff6a3d;--ok:#3ddc84;--todo-bg:#ff4d1f1f;--font-sans:"Geist", "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--gutter:clamp(16px, 4vw, 40px);--max:1200px;--radius:10px;--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:dark}:root[data-theme=light]{--bg:#f2efea;--surface:#faf8f4;--surface-2:#ebe7e0;--border:#d9d3c9;--text:#111;--muted:#5f5b55;--accent-text:#c2360c;--ok:#138a4a;--todo-bg:#ff4d1f24;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#f2efea;--surface:#faf8f4;--surface-2:#ebe7e0;--border:#d9d3c9;--text:#111;--muted:#5f5b55;--accent-text:#c2360c;--ok:#138a4a;color-scheme:light}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px}a:hover{color:var(--accent-text)}h1,h2,h3{letter-spacing:-.025em;margin:0;font-weight:600;line-height:1.08}p{margin:0}::selection{background:var(--accent);color:#0e0f11}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}button{font:inherit;color:inherit}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:13px}.label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px}.label b{color:var(--accent-text);font-weight:500}.section{border-top:1px solid var(--border);padding-block:clamp(64px,10vw,120px)}.section__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:32px;display:flex}.section__title{font-size:clamp(28px,4vw,44px)}.btn{border:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);cursor:pointer;transition:border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--text)}.btn--accent{background:var(--accent);border-color:var(--accent);color:#0e0f11;font-weight:500}.btn--accent:hover{background:var(--accent-2);border-color:var(--accent-2);color:#0e0f11}.btn-text{cursor:pointer;font-family:var(--font-mono);color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:4px 2px;font-size:13px;text-decoration:none}.btn-text:hover,.btn-text[aria-pressed=true]{color:var(--text)}.todo{background:var(--todo-bg);color:var(--accent-text);border:1px dashed var(--accent);font-family:var(--font-mono);border-radius:4px;padding:0 6px;font-size:.85em}.status{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status--shipped{color:var(--ok)}.status--training{color:var(--accent-2)}.status--training:before{animation:1.6s ease-in-out infinite pulse}.status--planned{color:var(--muted)}.status--planned:before{background:0 0;border:1px solid}@keyframes pulse{50%{opacity:.3}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:#0e0f11;font-family:var(--font-mono);padding:8px 12px;font-size:13px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.prose{max-width:70ch}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:2.2em;font-size:clamp(24px,3vw,30px)}.prose h3{margin-top:1.8em;font-size:20px}.prose a{color:var(--accent-text)}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.4em}.prose img{border-radius:var(--radius);border:1px solid var(--border);background:#fff}.prose em{color:var(--muted)}.prose code{font-family:var(--font-mono);background:var(--surface-2);border-radius:4px;padding:.1em .35em;font-size:.88em}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);margin-inline:0;padding-left:16px}.prose table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.prose th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-weight:500}.prose .figure-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.prose .embed{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;height:800px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
