:root{--bg:#10131a;--card:#1a1f2b;--fg:#eef1f7;--mut:#9aa4b8;--acc:#ff6b3d;--ok:#35c27a;--bad:#e5484d;--line:#2a3142}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.wrap{max-width:520px;margin:0 auto;padding:16px}
.wide{max-width:1000px}
h1{font-size:26px;margin:8px 0 4px}h2{font-size:18px;margin:0 0 8px}
.mut{color:var(--mut)}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0}
input{width:100%;padding:13px;border-radius:10px;border:1px solid var(--line);background:#0e1119;color:var(--fg);font-size:17px;margin:6px 0}
input.code{text-align:center;letter-spacing:.3em;font-size:26px;text-transform:uppercase}
button,.btn{display:inline-block;width:100%;padding:14px;border:0;border-radius:10px;background:var(--acc);color:#fff;font-size:17px;font-weight:600;margin:6px 0;cursor:pointer;text-align:center;text-decoration:none}
button.sec{background:#2a3142}button.sm{width:auto;padding:8px 14px;font-size:14px;margin:0}
button:disabled{opacity:.5}
.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:700;background:#2a3142}
.badge.hider{background:#7c4dff}.badge.catcher{background:var(--acc)}.badge.centre{background:var(--ok)}
.role{text-align:center;padding:40px 16px}
.role .big{font-size:44px;font-weight:800;margin:10px 0}
.row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
.row:last-child{border:0}
.bigcode{font-size:38px;letter-spacing:.25em;text-align:center;font-weight:800;margin:8px 0;font-family:ui-monospace,Menlo,monospace}
.err{color:var(--bad);min-height:22px}
.ok{color:var(--ok)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.grid{grid-template-columns:1fr}}
.qr{background:#fff;border-radius:12px;padding:10px;display:block;margin:10px auto;width:240px;max-width:100%}
