:root{--bg: #0b0d12;--surface: #161a23;--surface-2: #1c212c;--surface-3: #262c39;--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .16);--text: #eef1f6;--text-dim: #9aa4b4;--text-faint: #6b7686;--brand: #ff7a1a;--brand-2: #ff9124;--brand-soft: rgba(255, 122, 26, .14);--ok: #35d07f;--ok-soft: rgba(53, 208, 127, .14);--danger: #ff5a5f;--danger-soft: rgba(255, 90, 95, .14);--warn: #f5a623;--radius: 16px;--radius-sm: 10px;--shadow: 0 20px 60px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 700px at 50% -10%,rgba(255,122,26,.14),transparent 60%),radial-gradient(800px 500px at 90% 10%,rgba(255,145,36,.07),transparent 55%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:-.01em}h1,h2,h3{letter-spacing:-.02em;font-weight:800;margin:0}.wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:560px;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;margin-bottom:22px}.brand .dot{width:14px;height:14px;border-radius:5px;background:var(--brand);box-shadow:0 0 18px var(--brand)}.brand small{color:var(--text-dim);font-weight:600}.lead{color:var(--text-dim);font-size:15px;margin:6px 0 24px;line-height:1.5}h1{font-size:26px}label{display:block;font-size:13px;color:var(--text-dim);margin:0 0 8px;font-weight:600}input{width:100%;padding:16px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface-2);color:var(--text);font-size:20px;outline:none;text-align:center;letter-spacing:.14em;font-family:ui-monospace,Menlo,monospace;text-transform:uppercase;font-weight:700}input:focus{border-color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface-2);color:var(--text);font-weight:700;font-size:15px;cursor:pointer;transition:transform .05s,background .15s;width:100%}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:#1a1000}.btn.primary:hover{background:var(--brand-2)}.btn.ghost{background:transparent}.err{color:var(--danger);font-size:14px;margin:16px 0 0;padding:12px 14px;background:var(--danger-soft);border-radius:10px;border:1px solid rgba(255,90,95,.3)}.muted{color:var(--text-dim)}.faint{color:var(--text-faint);font-size:13px}.q{margin:22px 0}.q h3{font-size:16px;margin-bottom:12px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{padding:20px;border-radius:var(--radius-sm);border:2px solid var(--line-2);background:var(--surface-2);cursor:pointer;text-align:center;font-weight:700;font-size:16px;transition:border-color .15s,background .15s}.choice:hover{border-color:var(--line-2);background:var(--surface-3)}.choice.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-2)}.choice .os-ic{font-size:26px;display:block;margin-bottom:6px}.counter{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-weight:700;font-size:14px}.counter.low{background:#f5a62324;color:var(--warn)}.counter.zero{background:var(--danger-soft);color:var(--danger)}.dl{display:flex;flex-direction:column;gap:14px;margin:22px 0}.dl-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2)}.dl-item h3{font-size:16px}.dl-item .sub{color:var(--text-dim);font-size:13px;margin-top:3px}.dl-btn{width:auto;padding:12px 22px}.step-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.link-btn{background:none;border:none;color:var(--brand-2);font-weight:700;cursor:pointer;padding:0;font-size:14px}.ok-banner{padding:12px 14px;background:var(--ok-soft);border-radius:10px;border:1px solid rgba(53,208,127,.3);color:var(--ok);font-size:14px;margin-top:14px}
