:root{--bg: #121014;--panel: #17161a;--panel-2: #1c1a20;--line: #2e2b33;--line-strong: #46414f;--ink: #ece8ee;--muted: #8f879a;--accent: #e24fd8;--green: #52c98a;--yellow: #e0b34d;--red: #e8766c;--cyan: #5ec8d8;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;overflow-x:clip}body{margin:0;color:var(--ink);font-family:var(--mono);line-height:1.65;font-size:15px;overflow-x:clip}::selection{background:var(--accent);color:#121014}a{color:var(--accent);text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:1060px;margin:0 auto;padding:0 20px}.topbar{border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(6px);z-index:10}.topbar .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding-top:12px;padding-bottom:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:600}.brand .cursor{color:var(--accent);animation:blink 1.2s steps(1) infinite}.topbar nav{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;font-size:.9rem;min-width:0}.topbar nav a{color:var(--muted);text-decoration:none;white-space:nowrap}.topbar nav a:hover{color:var(--ink)}.topbar .langs{display:flex;align-items:center;gap:10px;border-left:1px solid var(--line);padding-left:14px}@media(max-width:480px){.topbar nav{gap:4px 12px;font-size:.85rem}.topbar .langs{gap:8px;padding-left:10px}}.hero{padding:72px 0 56px;border-bottom:1px solid var(--line)}.kicker{color:var(--accent);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}h1{font-size:clamp(2rem,5.4vw,3.6rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 20px;font-weight:700;text-wrap:balance;max-width:18em}h1 .dim{color:var(--muted)}h1 .hl{color:var(--accent)}.sub{color:var(--muted);max-width:46em;margin:0 0 32px}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}.btn{font-family:var(--mono);font-size:.95rem;padding:11px 20px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);text-decoration:none;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#121014;font-weight:700}.btn.primary:hover{filter:brightness(1.1)}.term{border:1px solid var(--line-strong);background:var(--panel)}.term-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.78rem}.term-bar .sq{width:9px;height:9px;background:var(--line-strong);display:inline-block}.term-bar .sq.pink{background:var(--accent)}.term-body{padding:18px 20px 22px;overflow-x:auto}.term-body pre{margin:0;font-size:.85rem;line-height:1.75;min-width:640px}.g{color:var(--green);font-weight:700}.y{color:var(--yellow);font-weight:700}.r{color:var(--red);font-weight:700}.c{color:var(--cyan);font-weight:700}.m{color:var(--accent);font-weight:700}.d{color:var(--muted)}.b{font-weight:700}.type-cursor{display:inline-block;width:.55em;height:1.05em;background:var(--accent);vertical-align:text-bottom;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}[data-line]{visibility:hidden}[data-line].on{visibility:visible}@media(prefers-reduced-motion:reduce){.brand .cursor,.type-cursor{animation:none}}section{padding:56px 0;border-bottom:1px solid var(--line)}.sec-label{color:var(--muted);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px}.sec-label:before{content:"## ";color:var(--accent)}h2{font-size:1.7rem;letter-spacing:-.01em;margin:0 0 28px;font-weight:700;text-wrap:balance}.grid3{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-strong)}.grid3>div{padding:22px;border-right:1px solid var(--line-strong)}.grid3>div:last-child{border-right:none}@media(max-width:760px){.grid3{grid-template-columns:1fr}.grid3>div{border-right:none;border-bottom:1px solid var(--line-strong)}.grid3>div:last-child{border-bottom:none}}.cell-title{font-weight:700;margin:0 0 8px}.cell-title:before{content:"▸ ";color:var(--accent)}.grid3 p{color:var(--muted);font-size:.9rem;margin:0}.feat{border:1px solid var(--line-strong)}.feat-row{display:grid;grid-template-columns:240px 1fr;border-bottom:1px solid var(--line)}.feat-row:last-child{border-bottom:none}.feat-row .k{padding:16px 20px;border-right:1px solid var(--line);color:var(--accent);font-weight:700;font-size:.9rem}.feat-row .v{padding:16px 20px;color:var(--muted);font-size:.9rem}.feat-row .v code{color:var(--ink);background:var(--panel-2);padding:.1em .4em}@media(max-width:700px){.feat-row{grid-template-columns:1fr}.feat-row .k{border-right:none;padding-bottom:0}}.step{display:grid;grid-template-columns:64px 1fr;gap:0 20px;margin-bottom:26px}.step>div{min-width:0}.step-no{font-size:1.6rem;font-weight:700;color:var(--accent);border:1px solid var(--line-strong);height:56px;display:flex;align-items:center;justify-content:center}.step h3{margin:4px 0 8px;font-size:1.05rem}.step p{color:var(--muted);margin:0 0 10px;font-size:.92rem;max-width:52em}pre.code{background:var(--panel);border:1px solid var(--line);padding:14px 16px;overflow-x:auto;font-size:.85rem;margin:0 0 8px}pre.code .cmt{color:var(--muted)}pre.code .p{color:var(--accent)}.roadmap{display:flex;flex-wrap:wrap;gap:10px}.roadmap span{border:1px solid var(--line-strong);padding:7px 14px;font-size:.85rem;color:var(--muted)}.roadmap span.done{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,var(--line-strong))}.roadmap span.done:before{content:"✓ "}.roadmap span:before{content:"→ ";color:var(--accent)}footer{padding:36px 0 56px;color:var(--muted);font-size:.85rem}footer .wrap{display:flex;gap:20px;flex-wrap:wrap;align-items:center}footer a{color:var(--muted)}footer a:hover{color:var(--ink)}.doc h1{font-size:2.1rem;margin-top:48px}.doc section{border-bottom:none;padding:28px 0 0}.doc table{border-collapse:collapse;width:100%;font-size:.88rem;margin:14px 0}.doc th{text-align:left;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line-strong);padding:8px 12px}.doc td{border-bottom:1px solid var(--line);padding:9px 12px;vertical-align:top}.doc td code{background:var(--panel-2);padding:.1em .4em}.note{border:1px solid var(--line-strong);border-left:3px solid var(--accent);background:var(--panel);padding:12px 16px;font-size:.9rem;color:var(--muted);margin:14px 0}
