:root{color-scheme:dark;--bg-0: #070a0f;--bg-1: #0c1118;--bg-2: #121926;--line-0: rgba(255, 255, 255, .06);--line-1: rgba(255, 255, 255, .12);--fg-0: #edf1f7;--fg-1: #a6b0c0;--fg-2: #6b7689;--accent: #ffb357;--accent-2: #7fd1ff;--ok: #6ee7a8;--todo: #ffd400;--font-display: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-12: clamp(.6875rem, .66rem + .15vw, .75rem);--fs-14: clamp(.8125rem, .78rem + .2vw, .875rem);--fs-16: clamp(.9375rem, .9rem + .25vw, 1rem);--fs-20: clamp(1.125rem, 1.05rem + .4vw, 1.25rem);--fs-28: clamp(1.375rem, 1.2rem + .9vw, 1.75rem);--fs-40: clamp(1.75rem, 1.4rem + 1.8vw, 2.5rem);--fs-hero: clamp(3rem, 9vw, 7rem);--lh-body: 1.55;--measure: 68ch;--track-label: .04em;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--s-9: 6rem;--section-pad: clamp(96px, 14vh, 180px);--max-w: 1320px;--gutter: 24px;--nav-h: 48px;--r-card: 6px;--r-pill: 999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--t-fast: .18s;--t-base: .3s}@media(min-width:768px){:root{--gutter: 32px}}@media(min-width:1280px){:root{--gutter: 40px}}@media(prefers-contrast:more){:root{--line-0: rgba(255, 255, 255, .18);--line-1: rgba(255, 255, 255, .32);--fg-2: #8a94a6}}@font-face{font-family:Geist;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/geist-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/geist-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + var(--s-4))}body{min-height:100svh;background:var(--bg-0);color:var(--fg-0);font-family:var(--font-display);font-size:var(--fs-16);line-height:var(--lh-body);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"ss01" 0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img,picture,svg,video,canvas{display:block;max-width:100%}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}p,li,dd{max-width:var(--measure);text-wrap:pretty}h1,h2,h3,h4{font-weight:500;line-height:1.1;letter-spacing:-.02em;text-wrap:balance}ul[role=list],ol[role=list]{list-style:none;padding:0}a{color:inherit;text-decoration:underline;text-decoration-color:var(--line-1);text-underline-offset:.18em;text-decoration-thickness:1px;transition:text-decoration-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}a:hover{text-decoration-color:var(--accent);color:var(--fg-0)}::selection{background:#ffb35738;color:var(--fg-0)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{position:fixed;top:var(--s-2);left:var(--s-2);z-index:100;padding:var(--s-2) var(--s-3);background:var(--fg-0);color:var(--bg-0);font-family:var(--font-mono);font-size:var(--fs-12);text-decoration:none;border-radius:var(--r-card);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link:focus-visible{clip-path:none;width:auto;height:auto;outline-offset:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:var(--track-label)}.label{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}.muted{color:var(--fg-1)}.faint{color:var(--fg-2)}.ext:after{content:" ↗";font-family:var(--font-mono);font-size:.85em;opacity:.7}.wrap{width:min(100% - 2 * var(--gutter),var(--max-w));margin-inline:auto}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}.inset{grid-column:1 / -1}@media(min-width:1280px){.inset{grid-column:2 / 12}}.ruler{position:relative;height:9px;background:repeating-linear-gradient(to right,var(--line-1) 0 1px,transparent 1px 8px) top / 100% 4px no-repeat,repeating-linear-gradient(to right,var(--line-1) 0 1px,transparent 1px 80px) top / 100% 9px no-repeat,linear-gradient(var(--line-0),var(--line-0)) bottom / 100% 1px no-repeat}.btn{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--fs-14);letter-spacing:.02em;text-decoration:none;border:1px solid var(--line-1);color:var(--fg-0);transition:border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.btn:hover{border-color:var(--fg-1);color:var(--fg-0);transform:translateY(-1px)}.btn-primary{background:var(--fg-0);color:var(--bg-0);border-color:var(--fg-0)}.btn-primary:hover{background:#fff;color:var(--bg-0)}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--line-1);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-1)}.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--fg-2)}.pill[data-status=live]:before{background:var(--ok)}.pill[data-status=beta]:before,.pill[data-status=building]:before{background:var(--accent)}.card{position:relative;padding:var(--s-5);border:1px solid var(--line-0);border-radius:var(--r-card);background:var(--bg-1);transition:border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.card:hover{border-color:var(--line-1)}[data-dev] .todo,[data-dev] [data-todo]{outline:2px dashed var(--todo);outline-offset:2px;background:#ffd4001a;color:var(--todo)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background:#fff;color:#000}nav,canvas,.skip-link,.no-print{display:none!important}a{color:#000}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em}}
