:root,[data-theme=graphite]{--bg:#141517;--bg2:#22242a;--panel:#1c1d20;--line:#2c2e33;--text:#e6e7e9;--muted:#9a9ca3;--accent:#b8c0cc;--on-accent:#111}
[data-theme=slate]{--bg:#0f141b;--bg2:#1a2433;--panel:#151c26;--line:#253244;--text:#e3e9f2;--muted:#8d9bb0;--accent:#7aa2f7;--on-accent:#0b1020}
[data-theme=ember]{--bg:#17110f;--bg2:#2a1a14;--panel:#1f1714;--line:#3a2a23;--text:#f2e6df;--muted:#b09a8e;--accent:#f08a4b;--on-accent:#1a0d06}
[data-theme=moss]{--bg:#111512;--bg2:#1b251d;--panel:#171d18;--line:#28342a;--text:#e2ece3;--muted:#93a596;--accent:#8fcf8a;--on-accent:#0c160c}
[data-theme=phosphor]{--bg:#050805;--bg2:#0b160b;--panel:#091009;--line:#163016;--text:#b6ffb0;--muted:#5fae5a;--accent:#39ff6a;--on-accent:#021a06}
[data-theme=paper]{--bg:#f4f3ef;--bg2:#ffffff;--panel:#ffffff;--line:#dedbd3;--text:#1d1d1f;--muted:#666;--accent:#3a3d44;--on-accent:#fff}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:radial-gradient(ellipse at top,var(--bg2) 0,var(--bg) 60%) fixed;background-color:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh;transition:background-color .4s,color .4s}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip:focus{position:fixed;top:8px;left:8px;background:var(--panel);padding:8px 12px;z-index:9}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:16px 24px;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:10px;font-weight:600}
.logo{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--panel));border:1px solid var(--line)}
.nav nav{display:flex;gap:22px;align-items:center;color:var(--muted);font-size:.95rem}
.nav nav a:hover{color:var(--text)}
.theme-btn{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:6px 12px 6px 8px;font-size:.85rem}
.swatch{width:16px;height:16px;border-radius:50%;background:conic-gradient(var(--accent) 0 50%,var(--text) 0 75%,var(--bg) 0);border:1px solid var(--line)}
.theme-menu{position:absolute;right:24px;top:60px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;min-width:190px;box-shadow:0 12px 40px #0006}
.theme-menu button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:8px 10px;border-radius:8px;text-align:left;font-size:.9rem}
.theme-menu button:hover,.theme-menu button[aria-checked=true]{background:var(--line)}
.theme-menu .dot{width:14px;height:14px;border-radius:50%;border:1px solid #8884}
.theme-menu small{margin-left:auto;color:var(--muted)}
main{max-width:1100px;margin:0 auto;padding:0 24px}
.hero{text-align:center;padding:100px 0 80px}
.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
h1{font-size:clamp(2.8rem,8vw,5rem);letter-spacing:-.03em;margin:14px 0;background:linear-gradient(180deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.tagline{color:var(--muted);font-size:clamp(1rem,.85rem + 1.2vw,1.2rem);line-height:1.6;max-width:600px;margin:0 auto}
.typed-line{display:inline-block;white-space:nowrap;min-width:15ch;text-align:left;vertical-align:top;height:1.6em}
.ghost{display:none!important}
.live{white-space:nowrap}
.typed{color:var(--text);font-weight:600}
.caret{display:inline-block;width:2px;height:1.1em;background:var(--accent);vertical-align:-.15em;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font-weight:500;transition:.2s}
.btn:hover{border-color:var(--accent);transform:translateY(-1px)}
.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.btn.disabled{opacity:.8;cursor:not-allowed;transform:none}
.pill{font-size:.7rem;padding:2px 8px;border-radius:99px;background:var(--line);color:var(--accent);font-weight:500;vertical-align:middle}
.btn.primary .pill{background:color-mix(in srgb,var(--on-accent) 18%,transparent);color:inherit}
.hint{margin-top:22px;color:var(--muted);font-size:.85rem}
kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 6px;font:.8rem ui-monospace,monospace;background:var(--panel)}
h2{font-size:1.8rem;letter-spacing:-.02em;margin-bottom:28px}
.features,.try{padding:60px 0}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid article{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;transition:border-color .2s,transform .2s}
.grid article:hover{border-color:var(--accent);transform:translateY(-3px)}
.ico{color:var(--accent);font-size:1.2rem}
.grid h3{font-size:1.05rem;margin:8px 0}
.grid p{color:var(--muted);font-size:.95rem}
.soon{border-style:dashed!important}
.sub{color:var(--muted);margin:-18px 0 22px}
.term{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;max-width:760px}
.term-bar{display:flex;gap:6px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
.term-bar i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.term-bar span{margin-left:8px}
.term-out{padding:14px 16px 0;height:230px;overflow-y:auto;white-space:pre-wrap}
.term-out .cmd{color:var(--text)} .term-out .res{color:var(--muted)}
.term-in{display:flex;gap:8px;padding:8px 16px 14px}
.prompt{color:var(--accent)}
.term-in input{flex:1;background:none;border:0;outline:0;color:var(--text);font:inherit}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips button{background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:5px 12px;font:13px ui-monospace,monospace;color:var(--muted)}
.chips button:hover{color:var(--text);border-color:var(--accent)}
.about{padding:60px 0 100px;max-width:680px}
.about p{color:var(--muted);font-size:1.05rem}
footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:28px;font-size:.9rem}
.js .stagger{opacity:0;transform:translateY(12px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.js .stagger:nth-child(2){animation-delay:.08s}.js .stagger:nth-child(3){animation-delay:.16s}.js .stagger:nth-child(4){animation-delay:.24s}.js .stagger:nth-child(5){animation-delay:.32s}
@keyframes rise{to{opacity:1;transform:none}}
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s,border-color .2s}
.js .reveal.in{opacity:1;transform:none}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tagline{min-height:3.2em}.typed-line{display:block!important;min-width:0!important;text-align:center!important}.fixed{display:inline}.grid{grid-template-columns:1fr}.hide-sm{display:none}.hero{padding:64px 0 40px}.theme-menu{right:12px;left:12px}.term-out{height:200px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .stagger,.js .reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
