:root{color-scheme:dark;--bg:#07111f;--card:#0f1b2d;--line:#26364f;--text:#edf5ff;--muted:#9fb0c6;--brand:#4fd1c5;--err:#ff6b6b;--warn:#ffd166}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#17365f,#07111f 55%);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);padding:20px}.card{width:min(560px,100%);background:rgba(15,27,45,.92);border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 20px 80px #0008}.wide{width:min(980px,100%)}.badge{display:inline-block;color:#001b1a;background:var(--brand);padding:6px 10px;border-radius:999px;font-weight:800}h1{margin:18px 0 10px;font-size:34px}.muted{color:var(--muted);line-height:1.6}.stats{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.stats span{background:#0a1424;border:1px solid var(--line);padding:10px 12px;border-radius:12px}button{width:100%;border:0;border-radius:14px;padding:15px 18px;background:linear-gradient(135deg,#4fd1c5,#63b3ed);color:#04111d;font-size:18px;font-weight:800;cursor:pointer}button:disabled{opacity:.55}.register{display:block;text-align:center;text-decoration:none;margin-top:12px;width:100%;border-radius:14px;padding:14px 18px;background:#16243a;border:1px solid var(--line);color:var(--text);font-size:16px;font-weight:800}.secondary{margin:12px 0;background:#23344f;color:var(--text)}.result{margin-top:20px;padding:18px;border-radius:16px;border:1px solid var(--line);background:#081323}.result.hidden{display:none}.result code{display:block;word-break:break-all;font-size:22px;background:#020813;padding:16px;border-radius:12px;border:1px dashed var(--brand);color:var(--brand)}.copy{margin:12px 0 4px;background:#23344f;color:var(--text);font-size:16px}.err{border-color:var(--err);color:var(--err)}.warn{color:var(--warn)}textarea{width:100%;min-height:160px;border-radius:14px;background:#07111f;color:var(--text);border:1px solid var(--line);padding:14px;margin:12px 0;font-size:15px}.list{margin-top:18px}.row{display:grid;grid-template-columns:1fr 100px 1fr;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px}.row code{word-break:break-all}.row.available span{color:var(--brand)}.row.claimed span{color:var(--warn)}.row.used{opacity:.45}@media(max-width:640px){.row{grid-template-columns:1fr}.card{padding:22px}h1{font-size:28px}}
