:root{color-scheme:dark;--bg:#0c121c;--panel:#172231;--line:#2b3b4d;--mint:#b8f47a;--muted:#a2b1c3;--touch:62px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#233447 0,transparent 60%),var(--bg);color:#edf2f8;font:15px system-ui,Segoe UI,sans-serif}button,input,select{font:inherit}button{border:1px solid #3c4c5c;border-radius:9px;background:#202e3e;color:#edf2f8;padding:13px 18px;cursor:pointer;font-weight:650;transition:background .15s,transform .15s}button:hover{background:#34485c}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:3px}button:disabled{opacity:.4;cursor:default}.primary{background:var(--mint);color:#152317;border-color:var(--mint)}.primary:hover{background:#d4ff9d}button span{float:right;margin-left:28px}a{color:inherit}header{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:0 4vw;gap:15px}.brand{text-decoration:none;letter-spacing:2px;font-weight:900;font-size:16px}.brand span{color:var(--mint)}.brand b{color:#7e8d9e;font-size:11px;margin-left:15px}.tag{font-size:10px;letter-spacing:2px;color:var(--muted)}#home{display:grid;grid-template-columns:1fr 1.05fr;min-height:calc(100svh - 144px);align-items:center;padding:24px 4vw;gap:2vw}.eyebrow{color:var(--mint);letter-spacing:2.5px;font-size:11px;font-weight:750;margin-bottom:25px}h1{font-size:clamp(46px,5.7vw,94px);line-height:.96;letter-spacing:-4px;margin:0;position:relative;font-weight:950}h1 em{font-style:normal;color:var(--mint)}h1>span{color:#ffbd6b;font-size:.55em;position:absolute;top:0;margin-left:15px;transform:rotate(15deg)}.hero p{color:var(--muted);font-size:19px;line-height:1.7;margin:25px 0}.heroActions{max-width:420px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.heroActions .primary{grid-column:1/3;text-align:left;padding:18px}.subActions{display:flex;gap:5px;margin:16px 0 32px}.subActions button{border:0;background:none;font-size:12px;padding:10px;color:var(--muted)}.heroFoot{display:flex;gap:22px;font-size:9px;letter-spacing:1px;color:#8092a7}.heroArt{position:relative;border:1px solid #3b4c5d;border-radius:24px;overflow:hidden;box-shadow:0 40px 90px #0008;transform:rotate(-2deg);background:#101e2a}.heroArt canvas{display:block;width:100%;height:auto}.artLabel{display:flex;align-items:center;gap:10px;padding:18px 24px;background:#172332;font-size:11px;letter-spacing:2px}.artLabel i{width:7px;height:7px;background:var(--mint);border-radius:50%}.artLabel span{margin-left:auto;font-size:9px;color:#90a4b8}footer{display:flex;justify-content:space-between;margin:0 4vw;height:60px;align-items:center;border-top:1px solid var(--line);font-size:9px;letter-spacing:2px;color:#8293a5}dialog{width:min(740px,94vw);max-height:90svh;border:1px solid #455567;border-radius:18px;background:#111d2b;color:#eaf0f9;padding:30px;box-shadow:0 30px 100px #000b}dialog::backdrop{background:#030912ce;backdrop-filter:blur(8px)}.close{float:right;padding:2px 12px;font-size:25px}h2{margin:5px 0 12px;font-size:30px;letter-spacing:-1px}h3{font-size:14px;color:var(--mint);margin:25px 0 12px}p{line-height:1.6}.muted{color:var(--muted);font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#b3c3d4}input,select{background:#0b1420;border:1px solid #405268;border-radius:7px;color:#fff;padding:11px;width:100%;min-width:0}input[type=checkbox]{width:20px;height:20px}.check{flex-direction:row;align-items:center}.seat{padding:12px;border:1px solid #304559;border-radius:9px;margin:8px 0;display:grid;grid-template-columns:30px 1fr 1fr;gap:10px;align-items:center}.badge{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:7px;font-weight:800}.wide{width:100%;margin-top:20px}.roomCode{font-size:40px;letter-spacing:8px;color:var(--mint);font-weight:850}.copyRow input{flex:1}.powerGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.powerGrid div{background:#1c2c3d;border-radius:8px;padding:12px;font-size:12px}.powerGrid b{display:block;color:#b8f47a;margin-bottom:5px}.stat{background:#1d2c3c;padding:18px;border-radius:10px}.stat strong{font-size:28px;display:block;color:var(--mint)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#e2f3d0;color:#122316;padding:12px 20px;border-radius:8px;z-index:20;max-width:90%;display:none}body.playing{height:100dvh;overflow:hidden}body.playing header{height:48px}body.playing header .tag{display:none}body.playing #footer{display:none}#play{height:calc(100dvh - 48px);padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:6px;max-width:1300px;margin:auto}[hidden]{display:none!important}#scorebar{display:flex;justify-content:center;gap:8px;flex-shrink:0}.score{padding:7px 14px;border:1px solid #3a5065;background:#172333;border-radius:9px;font-size:12px;display:flex;align-items:center;gap:8px}.score.dead{opacity:.45}.score strong{font-size:21px;color:#fff}#arenaWrap{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}#arena{max-width:100%;max-height:100%;aspect-ratio:15/11;object-fit:contain;border:1px solid #526479;border-radius:12px;box-shadow:0 10px 60px #0008;touch-action:none}#announcement{position:absolute;pointer-events:none;text-align:center;background:#0b1426dd;padding:12px 25px;border-radius:12px;border:1px solid #7a9bba;font-weight:850;font-size:clamp(18px,3vw,36px);max-width:90%}#announcement:empty{display:none}#gameInfo{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#b8cbdc;min-height:24px;align-items:center}#inventory{font-weight:bold;color:#e0efc6}#touch{display:none;justify-content:space-between;align-items:center;flex-shrink:0;touch-action:none;user-select:none;-webkit-user-select:none}#dpad{width:calc(var(--touch)*3);height:calc(var(--touch)*2);display:grid;grid-template:1fr 1fr/1fr 1fr 1fr;gap:3px}#dpad button{padding:0;font-size:24px;background:#25394d}.up{grid-area:1/2}.left{grid-area:2/1}.down{grid-area:2/2}.right{grid-area:2/3}.touchActions{display:flex;gap:10px;align-items:center}.touchActions button{width:calc(var(--touch)*1.25);height:calc(var(--touch)*1.25);padding:0;border-radius:50%;font-size:12px}#touchBomb{background:var(--mint);color:#182514}#touchSpecial{border:2px solid #9c9efc}body.leftHand #touch{flex-direction:row-reverse}#tutorialBar{padding:8px;background:#23364c;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:12px}#tutorialText{flex:1}.key{font-size:11px;padding:7px;min-width:65px}.settingsRows{display:grid;grid-template-columns:1fr 1fr;gap:12px}#resultScores{font-size:20px}.tip{border-left:3px solid var(--mint);padding-left:15px;color:#b9c9da}
@media(pointer:coarse){#touch{display:flex}}body.forceTouch #touch{display:flex}@media(max-width:850px){#home{grid-template-columns:1fr;padding-top:30px}.heroArt{max-width:500px;margin:20px auto}.heroFoot{gap:10px}.tag{display:none}h1{font-size:65px}.hero p{font-size:16px}.heroActions{max-width:none}.heroArt canvas{max-height:400px}.score{padding:4px 8px;font-size:10px}.score strong{font-size:16px}#gameInfo{font-size:9px}.brand b{display:none}.heroArt{transform:none}footer{font-size:8px;gap:15px}.powerGrid{grid-template-columns:1fr}.grid{gap:10px}.settingsRows{grid-template-columns:1fr}.seat{grid-template-columns:25px 1fr 1fr}.seat select{font-size:11px;padding:8px}}@media(max-height:540px) and (pointer:coarse){#touch{position:absolute;left:8px;right:8px;bottom:10px;pointer-events:none}#touch>*{pointer-events:auto}#arenaWrap{margin:0 155px}#gameInfo{margin:0 150px}body{--touch:46px}#scorebar{height:30px}body.playing header{height:38px}#play{height:calc(100dvh - 38px)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.heroArt{transform:none}}
.score{min-width:0}.score span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score strong{flex-shrink:0}

/* Games navigation uses normal header/menu flow, never the playfield overlay. */
a.return-games{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 10px;box-sizing:border-box;color:inherit;font:600 13px/1.25 system-ui,sans-serif;letter-spacing:normal;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;border-radius:5px}
a.return-games:hover{background:#ffffff14}a.return-games:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.subActions{flex-wrap:wrap}
