:root {
  color-scheme: dark;
  --ink: #f5f5f0;
  --muted: #a8a8a0;
  --panel: rgba(25, 25, 28, .86);
  --line: rgba(255, 255, 255, .12);
  --acid: #d8ff3e;
  --violet: #8b5cf6;
  --danger: #ff6b6b;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 15% 15%, rgba(139, 92, 246, .25), transparent 34rem),
    radial-gradient(circle at 85% 80%, rgba(216, 255, 62, .10), transparent 28rem),
    #09090b;
}
a { color: inherit; }
.shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.stage-bar {
  display: flex; justify-content: center; gap: 10px; align-items: center;
  min-height: 34px; padding: 7px 16px; color: #09090b; background: var(--acid);
  font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase;
}
.dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.nav { display:flex; justify-content:space-between; align-items:center; padding:24px 0; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; font-weight:900; letter-spacing:-.04em; font-size:21px; }
.brand-mark { display:grid; grid-template-columns:repeat(3, 4px); align-items:end; gap:3px; height:22px; }
.brand-mark i { display:block; width:4px; background:var(--acid); border-radius:3px; }
.brand-mark i:nth-child(1) { height:12px; }.brand-mark i:nth-child(2) { height:22px; }.brand-mark i:nth-child(3) { height:16px; }
.nav-links { display:flex; align-items:center; gap:18px; color:var(--muted); font-size:14px; }
.nav-links a { text-decoration:none; }.nav-links a:hover { color:var(--ink); }
.auth-layout { min-height:calc(100vh - 132px); display:grid; grid-template-columns:1.15fr .85fr; gap:72px; align-items:center; padding:40px 0 80px; }
.eyebrow { color:var(--acid); font-size:12px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
h1 { max-width:800px; margin:12px 0 18px; font-size:clamp(48px, 7vw, 92px); line-height:.93; letter-spacing:-.065em; }
h2 { margin:0 0 10px; font-size:30px; letter-spacing:-.04em; }
.lede { max-width:570px; color:var(--muted); font-size:18px; line-height:1.65; }
.feature-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.chip { border:1px solid var(--line); padding:9px 12px; border-radius:999px; color:#d4d4ce; font-size:12px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:24px; padding:30px; box-shadow:0 28px 80px rgba(0,0,0,.35); backdrop-filter:blur(16px); }
.card-copy { color:var(--muted); margin:0 0 24px; line-height:1.55; }
form { display:grid; gap:16px; }
label { display:grid; gap:8px; color:#d4d4ce; font-size:13px; font-weight:700; }
input { width:100%; border:1px solid var(--line); border-radius:12px; padding:14px 15px; background:#0e0e11; color:var(--ink); font:inherit; outline:none; }
input:focus { border-color:var(--acid); box-shadow:0 0 0 3px rgba(216,255,62,.10); }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; border:0; border-radius:12px; padding:0 18px; color:#09090b; background:var(--acid); font-weight:900; cursor:pointer; text-decoration:none; }
.button:hover { filter:brightness(.92); }.button.secondary { color:var(--ink); background:#27272a; }
.form-foot { margin:20px 0 0; color:var(--muted); font-size:14px; text-align:center; }.form-foot a { color:var(--acid); }
.notice { margin-bottom:18px; border-radius:12px; padding:12px 14px; background:rgba(255,107,107,.12); color:#ffc2c2; font-size:14px; }
.notice.success { color:#e9ff9e; background:rgba(216,255,62,.10); }
.dashboard { padding:42px 0 90px; }
.dash-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:30px; }
.dash-head h1 { font-size:clamp(44px,6vw,76px); margin-bottom:0; }
.balance { min-width:190px; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:var(--panel); }
.balance strong { display:block; color:var(--acid); font-size:34px; letter-spacing:-.04em; }.balance span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.grid { display:grid; grid-template-columns:1.3fr .7fr; gap:20px; }
.dropzone { min-height:300px; display:grid; place-items:center; text-align:center; border:1px dashed rgba(216,255,62,.45); border-radius:18px; background:rgba(216,255,62,.025); padding:32px; }
.drop-icon { font-size:44px; color:var(--acid); }.disabled-note { margin-top:12px; color:var(--muted); font-size:13px; }
.steps { display:grid; gap:18px; margin-top:22px; }.step { display:grid; grid-template-columns:32px 1fr; gap:12px; color:var(--muted); }.step b { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#09090b; background:var(--acid); }.step strong { display:block; color:var(--ink); margin-bottom:3px; }
@media (max-width: 820px) { .auth-layout,.grid { grid-template-columns:1fr; }.auth-layout { gap:34px; }.dash-head { align-items:start; flex-direction:column; }.nav-links span { display:none; } }
