:root{--bg:#0f1218;--surface:#171b24;--surface-2:#1f242f;--line:#2b3240;--ink:#e8eaf0;--muted:#a3abbb;--faint:#6f7988;--accent:#8894f5;--accent-ink:#0f1218;--good:#5bbd8a;--warn:#e4805f;--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.01em}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.nav{justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.brand,.nav{display:flex;align-items:center}.brand{gap:10px;font-family:var(--display);font-weight:700;font-size:1.15rem}.brand .dot{width:12px;height:12px;border-radius:4px;background:var(--accent)}.brand small{font-weight:400;color:var(--faint);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.brand small,.btn{font-family:var(--body)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accent-ink);font-weight:600;border:none;border-radius:10px;padding:11px 18px;font-size:.95rem;cursor:pointer}.btn:hover{filter:brightness(1.07)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.6;cursor:default}.hero{padding:72px 0 56px}.eyebrow{font-family:var(--body);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500}.hero h1{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:700;margin:14px 0 0;line-height:1.08;max-width:16ch}.hero p{color:var(--muted);font-size:1.1rem;max-width:58ch;margin:18px 0 0}.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;padding:10px 0 70px}@media (max-width:720px){.features{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}.card h3{margin:0 0 6px;font-size:1.05rem}.card p{margin:0;color:var(--muted);font-size:.92rem}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}.auth-card h2{margin:0 0 4px;font-size:1.4rem}.auth-card .sub{color:var(--muted);font-size:.9rem;margin:0 0 22px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.82rem;color:var(--muted)}.field input{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:11px 13px;color:var(--ink);font-size:.95rem;font-family:var(--body)}.field input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.err{background:rgba(228,128,95,.12);border:1px solid var(--warn);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:.86rem;margin-bottom:14px}.hint{font-size:.78rem;color:var(--faint);margin-top:16px;text-align:center}.dash{padding:28px 0 60px}.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}.dash-head h1{font-size:1.7rem;margin:0}.dash-head .meta{color:var(--muted);font-size:.9rem;margin-top:4px}.tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}@media (max-width:720px){.tiles{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}.tile .n{font-family:var(--display);font-weight:700;font-size:1.9rem}.tile .l{color:var(--muted);font-size:.84rem;margin-top:2px}.section-title{font-size:1.1rem;margin:34px 0 14px}.mods{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:720px){.mods{grid-template-columns:1fr}}.mod{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px 16px}.mod b{font-size:.95rem}.mod span{display:block;color:var(--faint);font-size:.8rem;margin-top:3px}.mod.soon{opacity:.6}.pill{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:2px 8px;margin-left:6px}