:root{--ground:#0b0b0d;--surface:#16161a;--raised:#1f1f24;--face:#2a2a30;--edge:#050506;--ink:#f5f5f7;--muted:#a1a1a8;--hair:#2c2c32;--accent:#6cb8ff;--ok:#4ad08a;--warn:#ffc24a;--bad:#ff6b6b;--spectrum:linear-gradient(90deg,#ff8a3d,#ff4d7d,#8b5cff,#2fa8ff)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.55 "Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.nav{position:sticky;top:0;z-index:5;background:rgba(11,11,13,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--hair)}
header.nav .wrap{display:flex;align-items:center;gap:20px;height:60px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600;letter-spacing:-.2px}
.brand:hover{text-decoration:none}
.mark{width:26px;height:26px;border-radius:8px;background:var(--face);box-shadow:0 3px 0 var(--edge);position:relative;overflow:hidden}
.mark:after{content:"";position:absolute;left:5px;right:5px;bottom:7px;height:2px;border-radius:2px;background:var(--spectrum);box-shadow:0 0 6px rgba(139,92,255,.7)}
nav.links{margin-left:auto;display:flex;gap:22px;font-size:14px}nav.links a{color:var(--muted)}nav.links a:hover{color:var(--ink);text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:0 28px;border-radius:999px;font-weight:600;font-size:15px;border:0;cursor:pointer;text-decoration:none!important}
.btn-primary{background:var(--ink);color:var(--ground)}
.btn-ghost{background:var(--raised);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair)}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
h1,h2,h3{font-family:"Inter Tight","Inter",sans-serif;letter-spacing:-.022em;line-height:1.05;margin:0;font-weight:600}
h1{font-size:clamp(40px,7vw,76px);font-weight:650}
h2{font-size:clamp(30px,4.4vw,48px);font-weight:650}
h3{font-size:19px;font-weight:600;letter-spacing:-.01em}
.dim{color:var(--muted)}
.lead{font-size:clamp(17px,2.1vw,20px);color:var(--muted);max-width:620px}
section{padding:96px 0;border-top:1px solid var(--hair)}
.hero{padding-top:88px;padding-bottom:72px;border-top:0;text-align:center}
.hero .lead{margin:22px auto 30px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.slit{height:3px;border-radius:3px;background:var(--spectrum);box-shadow:0 0 18px rgba(139,92,255,.55)}
.card{background:#141418;border-radius:24px;padding:28px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:820px){.grid2,.grid3,.grid4{grid-template-columns:1fr}nav.links a.hide-s{display:none}section{padding:72px 0}}
/* before / after */
.ba{max-width:640px;margin:46px auto 0;text-align:left}
.said{font-size:17px;color:var(--muted);line-height:1.7}
.said s{opacity:.38;text-decoration-thickness:1.5px}
.composer{margin-top:14px;background:var(--raised);border:1px solid var(--hair);border-radius:18px;padding:16px 18px;font-size:17px}
.pill{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--hair);font-size:13px;color:var(--muted)}
.pill b{color:var(--ink);font-weight:600}.pill .u{display:inline-block;width:28px;height:2px;border-radius:2px;background:var(--spectrum)}
/* pad */
.pad{background:#000;border-radius:44px;padding:18px;max-width:360px;margin:0 auto;border:1px solid var(--hair)}
.pad .tgt{text-align:center;margin:6px 0 16px}
.keys{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.key{background:var(--face);border-radius:28px;box-shadow:0 7px 0 var(--edge);padding:18px 16px 22px;min-height:118px;position:relative}
.key .n{font-weight:600;font-size:16px}.key .s{font-size:12.5px;color:var(--muted);margin-top:4px}
.key .r{position:absolute;left:16px;right:16px;bottom:13px;height:3px;border-radius:3px;background:#4a4a52}
.key.live .r{background:var(--spectrum);box-shadow:0 0 12px rgba(139,92,255,.8)}
.key.wide{grid-column:1/3;min-height:92px}
ul.ticks{list-style:none;padding:0;margin:20px 0 0}ul.ticks li{padding:9px 0 9px 28px;position:relative;color:var(--muted)}
ul.ticks li:before{content:"";position:absolute;left:2px;top:17px;width:12px;height:2px;border-radius:2px;background:var(--spectrum)}
ul.ticks b{color:var(--ink);font-weight:600}
.form{display:flex;gap:10px;max-width:460px;margin:26px auto 0}
.form input{flex:1;height:46px;border-radius:14px;border:1px solid var(--hair);background:var(--surface);color:var(--ink);padding:0 16px;font:inherit;font-size:15px;min-width:0}
.form input:focus{outline:2px solid var(--accent);outline-offset:1px}
.note{font-size:13px;color:var(--muted);margin-top:12px;min-height:20px}
footer{border-top:1px solid var(--hair);padding:36px 0 56px;font-size:13px;color:var(--muted)}
footer .wrap{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
footer nav{display:flex;gap:18px}footer a{color:var(--muted)}
/* prose pages */
.doc{max-width:760px;padding:64px 20px 40px;margin:0 auto}
.doc h1{font-size:clamp(34px,5vw,48px);margin-bottom:10px}
.doc h2{font-size:24px;margin:44px 0 12px}
.doc h3{margin:26px 0 8px}
.doc p,.doc li{color:#d4d4d9}.doc li{margin:6px 0}
.doc table{width:100%;border-collapse:collapse;font-size:14.5px;margin:14px 0;display:block;overflow-x:auto}
.doc th,.doc td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--hair)}
.doc th{color:var(--muted);font-weight:600;font-size:13px}
.doc code{font:13px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--raised);padding:2px 6px;border-radius:6px}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;position:relative;padding:4px 0 18px 48px}
.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:10px;background:var(--face);box-shadow:0 3px 0 var(--edge);display:grid;place-items:center;font-weight:600;font-size:14px}
