
:root{--bg:#080d13;--panel:#111923;--line:#2c3744;--text:#f4f7fb;--muted:#96a3b2;--gold:#f1c94b;--ok:#6be6a2;--danger:#ff6969;--warn:#f0a84a}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 0,#1d2937,#090e14 48%,#06090d);color:var(--text);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}.hidden{display:none!important}
button,input,select,textarea{font:inherit}button{cursor:pointer}header{height:74px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #202a35;background:#080d13f0;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.brand{font-size:25px;font-weight:1000;letter-spacing:.05em}.brand b{font-size:10px;color:var(--gold);vertical-align:top}.headerRight{display:flex;align-items:center;gap:10px}.presencePill{font-size:11px;color:#b8c4cf;border:1px solid #2f3a47;border-radius:999px;padding:7px 10px;background:#101720}.presencePill::first-letter{color:var(--ok)}
nav{display:flex;gap:5px;flex-wrap:wrap}nav button,.ghost,.secondary,.primary{padding:9px 12px;border-radius:10px;font-weight:850}.ghost,nav button{background:#121922;border:1px solid #2d3845;color:#fff}.secondary{background:#1c2631;border:1px solid #3a4858;color:#fff}.primary{background:var(--gold);border:0;color:#151515}.adminNav{opacity:.72}
main{padding:32px 4vw}.page{max-width:1280px;margin:auto}.maintenanceBanner,.connectionBanner{position:sticky;top:74px;z-index:25;padding:11px 4vw;text-align:center;font-size:12px;font-weight:850}.maintenanceBanner{background:#5a3114;color:#ffd9a8;border-bottom:1px solid #9c5d25}.connectionBanner{background:#4f1d24;color:#ffb9c0;border-bottom:1px solid #8a3441}
.authWrap{display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:center;min-height:72vh}.hero h1{font-size:clamp(52px,7vw,92px);line-height:.92;letter-spacing:-.06em;margin:18px 0}.hero em,.narrow em{font-style:normal;color:var(--gold)}.hero p{font-size:18px;line-height:1.6;color:#b6c0cb;max-width:700px}.heroStats{display:flex;gap:10px;margin-top:22px}.heroStats div{min-width:135px;padding:13px;border:1px solid #283442;background:#0e151d;border-radius:13px}.heroStats b{display:block;font-size:23px}.heroStats span{font-size:10px;color:var(--muted)}
.badge{display:inline-block;border:1px solid #374352;border-radius:999px;padding:6px 9px;background:#121922;color:#d4dde6;font-size:10px;font-weight:900;letter-spacing:.08em}.card{background:#111923e8;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 20px 60px #0005}.card h1,.card h2{margin-top:0}.authCard{min-height:350px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}.tabs button{padding:9px;border-radius:9px;border:1px solid #293541;background:#0c131b;color:#98a6b4}.tabs button.active{background:#25303c;color:#fff}
input,select,textarea{width:100%;background:#0b1118;border:1px solid #303c49;color:#fff;border-radius:9px;padding:10px;margin:5px 0 9px;outline:none}textarea{resize:vertical}.card form>button,.card>button{width:100%}.msg{color:#ff9393;font-size:11px;min-height:18px;margin-top:8px;line-height:1.5}.muted{color:var(--muted);font-size:12px;line-height:1.5}.authActions{display:flex;justify-content:space-between;gap:10px;margin-top:9px}.textButton{border:0;background:none;color:#d7bd63;padding:3px;font-size:11px;text-decoration:underline}.termsRow{display:flex;flex-direction:row;align-items:flex-start;gap:9px;margin:6px 0 12px;color:#aab6c2;font-size:11px;line-height:1.4}.termsRow input{width:auto;margin:2px 0}.termsRow .textButton{font-size:inherit}
.topGrid{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.wallet{font-size:18px;padding:10px 14px;border:1px solid #3b3420;background:#1c190d;border-radius:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.grid3 .card p{color:#98a5b3;font-size:12px}.dashboardColumns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.sectionHead span{font-size:11px;color:var(--muted)}
.listRow{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px;border-bottom:1px solid #28323d;font-size:12px;align-items:center}.listRow:last-child{border-bottom:0}.listRow small{color:#8d9aa7}.listRow button{padding:6px 9px;border:1px solid #354252;border-radius:8px;background:#19222c;color:#fff}.quietHint{margin-bottom:14px;padding:12px 14px;border:1px solid #4d4321;background:#201c0e;border-radius:12px;color:#dfcf8d;font-size:12px}.queueState{font-size:11px;color:#d9c66e;margin-top:8px}.matchCard button+button{margin-top:7px}
.narrow{max-width:620px;margin:5vh auto}.inline{display:grid;grid-template-columns:1fr auto;gap:8px}.inline button{height:42px;margin-top:5px}.skinPreview{height:74px;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;margin-bottom:10px;border:2px solid #e3e9ef}.skinPreview i{display:block}.shopItem.owned{box-shadow:0 0 0 1px var(--ok) inset}.verifiedBadge{display:inline-block;margin-bottom:10px;padding:6px 9px;border-radius:999px;background:#10271b;border:1px solid #275f40;color:#82efae;font-size:11px;font-weight:850}
.playerRow{display:flex;justify-content:space-between;align-items:center;padding:9px;border:1px solid #29343f;border-radius:9px;margin:6px 0;background:#0b1117}.playerIdentity{display:flex;align-items:center;gap:7px}.playerActions{display:flex;gap:5px;align-items:center}.reportBtn{padding:5px 7px!important;width:auto!important;font-size:9px!important;background:#24151a!important;border-color:#5c3039!important;color:#ffb5bd!important}
.rulesLayout{display:grid;grid-template-columns:1fr .8fr;gap:12px}.rulesList{padding-left:20px}.rulesList li{margin:10px 0;line-height:1.45;color:#c4ced8}
.gameGrid{height:calc(100vh - 138px);display:grid;grid-template-columns:230px minmax(0,1fr) 220px;gap:12px}.side{overflow:auto}.timer{display:flex;justify-content:space-between;padding:9px;border:1px solid #293440;background:#0b1117;border-radius:9px;margin-bottom:6px}.boardWrap{position:relative;min-height:0}.boardWrap canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:18px}.boardWrap #board{background:radial-gradient(circle at 50% 40%,#1b2835,#0a1118 72%);border:1px solid #293440}.boardWrap #fx{pointer-events:none}#banner,#toast,.risk{position:absolute;left:50%;transform:translateX(-50%);z-index:5;background:#090f16e8;border:1px solid #354353;border-radius:999px}#banner{top:15px;padding:8px 13px;font-size:11px;font-weight:900}#toast{top:56px;padding:8px 12px;opacity:0;transition:.2s;font-size:11px;white-space:nowrap}#toast.show{opacity:1}.risk{bottom:15px;width:260px;padding:8px 10px;display:grid;grid-template-columns:45px 1fr 45px;gap:8px;align-items:center;font-size:9px}.risk i{height:7px;background:#27313d;border-radius:999px;overflow:hidden}.risk i b{display:block;width:0;height:100%;background:linear-gradient(90deg,#6be6a2,#f1c94b,#ff6969)}
.overlay{position:fixed;inset:0;background:#04070bdb;display:flex;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(8px)}.modal{width:min(600px,92vw)}.scrollModal{max-height:82vh;overflow:auto}.modalHead{display:flex;align-items:center;justify-content:space-between}.compact{width:auto!important;padding:6px 9px}.smallBtn{width:auto!important;padding:6px 9px!important}
.adminStats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.adminStats div{padding:12px;border:1px solid #293440;background:#0b1117;border-radius:10px}.adminStats b{display:block;font-size:22px}.adminStats span{font-size:10px;color:var(--muted)}.grid2Admin{display:grid;grid-template-columns:.75fr 1.25fr;gap:12px;margin-bottom:12px}.switchRow{display:flex;align-items:center;gap:9px;font-size:12px}.switchRow input{width:auto}.adminUser,.reportRow{padding:10px;border:1px solid #2c3743;border-radius:10px;margin:7px 0;background:#0b1117;font-size:11px}.adminUserHead,.reportHead{display:flex;justify-content:space-between;gap:10px}.adminButtons{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.adminButtons button{width:auto!important;padding:5px 8px;font-size:9px}.dangerBtn{background:#421820!important;border:1px solid #80303e!important;color:#ffc0c7!important}.warnBtn{background:#3a2c13!important;border:1px solid #77571d!important;color:#ffe0a3!important}
@media(max-width:1080px){.authWrap{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}.dashboardColumns,.rulesLayout,.grid2Admin{grid-template-columns:1fr}.gameGrid{grid-template-columns:190px 1fr}.gameGrid>.side:last-child{display:none}.adminStats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){header{height:auto;min-height:70px;padding:12px 16px;align-items:flex-start}.headerRight{flex-direction:column;align-items:flex-end}nav{justify-content:flex-end}.brand{font-size:19px}.presencePill{font-size:9px}main{padding:18px}.hero h1{font-size:52px}.grid3,.dashboardColumns,.rulesLayout,.grid2Admin{grid-template-columns:1fr}.gameGrid{grid-template-columns:1fr;height:calc(100vh - 135px)}.gameGrid>.side{display:none}.boardWrap{height:calc(100vh - 150px)}.adminStats{grid-template-columns:1fr 1fr}.authActions{flex-direction:column}}
button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}
