:root{--bg:#05070a;--bg2:#0a0d12;--bg3:#0f1420;--wire:rgba(96,165,250,.12);--cyan:#60A5FA;--gold:#FBBF24;--green:#4ADE80;--orange:#FB923C;--mag:#C840EB;--text:#DDE8FF;--dim:rgba(221,232,255,.56);--ghost:rgba(221,232,255,.3);--sans:"Barlow",system-ui,sans-serif;--cond:"Barlow Condensed",sans-serif;--mono:"JetBrains Mono",monospace;--lane:var(--cyan)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--lane)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--wire)}.brand{font-family:var(--cond);font-weight:900;font-size:22px;letter-spacing:.02em;text-transform:uppercase;color:var(--text);text-decoration:none}.brand b{color:var(--orange)}.tag{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 18px}.card{width:100%;max-width:520px;background:var(--bg2);border:1px solid var(--wire);border-radius:16px;padding:34px 30px;box-shadow:0 30px 80px -40px #000c}.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--lane);margin-bottom:14px}h1{font-family:var(--cond);font-weight:900;font-style:italic;text-transform:uppercase;font-size:34px;line-height:1.02;margin:0 0 12px}.lead{color:var(--dim);font-size:15px;margin:0 0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 18px;border-radius:10px;font-family:var(--sans);font-weight:700;font-size:15px;border:0;cursor:pointer;text-decoration:none;transition:filter .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--lane);color:#04121f}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--wire);margin-top:10px}.steps{display:flex;gap:6px;margin:0 0 22px}.steps i{flex:1;height:3px;border-radius:2px;background:var(--bg3)}.steps i.on{background:var(--lane)}.field{margin:0 0 16px}.field label{display:block;font-size:12px;color:var(--dim);margin-bottom:6px}.field input{width:100%;padding:12px 14px;background:var(--bg3);border:1px solid var(--wire);border-radius:9px;color:var(--text);font-size:15px;font-family:var(--sans)}.field input:focus{outline:0;border-color:var(--lane)}.wallet-chip{font-family:var(--mono);font-size:12px;color:var(--dim);background:var(--bg3);border:1px solid var(--wire);border-radius:8px;padding:9px 12px;margin:0 0 18px;word-break:break-all}.msg{font-size:13.5px;padding:11px 14px;border-radius:9px;margin:14px 0 0}.msg.err{background:#fb71851a;border:1px solid rgba(251,113,133,.4);color:#fda4af}.msg.ok{background:#4ade801a;border:1px solid rgba(74,222,128,.4);color:#86efac}.cf-turnstile{margin:0 0 16px}.success-mark{font-size:46px;line-height:1;margin:0 0 10px}footer{padding:18px 22px;border-top:1px solid var(--wire);color:var(--ghost);font-size:11.5px;text-align:center}.nonaffil{max-width:640px;margin:0 auto}.card.mini{text-align:center}.mini-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:min(340px,86vw);aspect-ratio:1;margin:10px auto 16px;border-radius:8px;overflow:hidden;box-shadow:0 12px 40px -18px #000000b3}.mini-board .sq{position:relative;display:flex;align-items:center;justify-content:center}.mini-board .sq.light{background:#eeeed2}.mini-board .sq.dark{background:#769656}.mini-board .piece{width:88%;height:88%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.45))}.mini-board .coord{position:absolute;font-family:var(--mono);font-size:9px;font-weight:700;line-height:1;opacity:.85}.mini-board .coord.rank{top:2px;left:2px}.mini-board .coord.file{bottom:1px;right:3px}.mini-board .sq.light .coord{color:#769656}.mini-board .sq.dark .coord{color:#eeeed2}.granted{font-size:12px;color:var(--dim);margin:0 0 14px;font-family:var(--mono)}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}.choice{padding:12px;border-radius:9px;background:var(--bg3);border:1px solid var(--wire);color:var(--text);font-family:var(--mono);font-size:15px;cursor:pointer}.choice.on{border-color:var(--lane);background:#60a5fa1f}
