@font-face{font-family:Sora;src:url(../fonts/Sora-VF.subset.woff2)format("woff2");font-display:swap}@font-face{font-family:Figtree;src:url(../fonts/Figtree-VF.subset.woff2)format("woff2");font-display:swap}:root{color:#f8f4e8;font-synthesis:none;background:#08071d;font-family:Figtree,Arial,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% 20%,#1c1550 0,#08071d 48%,#050411 100%);margin:0;overflow:hidden}button{font:inherit;cursor:pointer}#game{touch-action:none;outline:none;width:100%;height:100%;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}.topbar,.panel,.choice-panel,.rules-panel{pointer-events:auto}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(110deg,#0a091feb,#22134ac7);border:1px solid #beb7ff3d;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:10px 12px 10px 16px;display:flex;position:absolute;top:18px;left:20px;right:20px;box-shadow:0 18px 60px #00000057,inset 0 1px #ffffff14}.brand{letter-spacing:.13em;white-space:nowrap;align-items:center;gap:9px;font:800 clamp(.9rem,1.55vw,1.16rem) Sora,sans-serif;display:flex}.brand-mark{color:#5cf5ff;border:2px solid #b956ff;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;box-shadow:0 0 16px #742bff}.brand small{letter-spacing:.05em;color:#bdb6d7;font:600 .68rem Figtree,sans-serif}.turn-chip{--team:#f7d93e;border:1px solid color-mix(in srgb,var(--team),transparent 48%);background:#ffffff0f;border-radius:12px;align-items:center;gap:9px;margin-left:auto;padding:7px 13px;display:flex}.turn-chip b,.turn-chip small{display:block}.turn-chip b{font:700 .88rem Sora,sans-serif}.turn-chip small{color:#c7c1df;font-size:.72rem}.turn-orb{background:var(--team);width:14px;height:14px;box-shadow:0 0 17px var(--team);border-radius:99px}.top-actions,.choice-actions{align-items:center;gap:8px;display:flex}.primary,.violet,.ghost{border:0;border-radius:10px;padding:9px 12px;font-weight:800;transition:transform .16s,filter .16s}.primary:hover,.violet:hover,.ghost:hover{filter:brightness(1.12);transform:translateY(-1px)}.primary{color:#13101e;background:#f7d93e;box-shadow:0 4px #a86d00}.violet{color:#fff;background:#7b2cff;box-shadow:0 4px #3c0f9b}.ghost{color:#eee9ff;background:#ffffff13;border:1px solid #ffffff24}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0b23db;border:1px solid #b6b0ff33;border-radius:16px;width:260px;padding:15px 16px;position:absolute;box-shadow:0 15px 42px #0000004d}.inspector-panel{top:99px;left:20px}.log-panel{top:99px;right:20px}.slaveyard-panel{width:300px;bottom:20px;right:20px}.eyebrow{letter-spacing:.16em;color:#a79ed5;margin:0 0 8px;font:800 .66rem Sora,sans-serif}.panel-title-row{justify-content:space-between;align-items:center;display:flex}.count-badge{color:#fff;background:#7b2cff;border-radius:99px;place-items:center;min-width:22px;height:22px;font-size:.75rem;font-weight:800;display:grid}.power-panel{text-align:center;pointer-events:none;background:linear-gradient(110deg,#3b2704f0,#251243eb);border:1px solid #f7d93ed1;border-radius:14px;min-width:min(520px,100vw - 40px);padding:11px 18px;position:absolute;top:96px;left:50%;transform:translate(-50%);box-shadow:0 0 32px #f7d93e33}.power-panel strong{color:#fff5b5;font:800 .96rem Sora,sans-serif;display:block}.power-panel span{color:#f8eec7;margin-top:4px;font-size:.75rem;line-height:1.35;display:block}.power-panel .eyebrow{color:#f7d93e;margin-bottom:4px}.spectator-panel{text-align:center;pointer-events:none;background:linear-gradient(110deg,#07222ef0,#27104aeb);border:1px solid #5cf5df9e;border-radius:14px;width:min(610px,100vw - 40px);padding:11px 15px;position:absolute;top:160px;left:50%;transform:translate(-50%);box-shadow:0 0 32px #5cf5df2e}.spectator-panel strong{color:#eaffff;font:800 .92rem Sora,sans-serif;display:block}.spectator-panel>span{color:#c6e8e8;margin-top:3px;font-size:.72rem;display:block}.spectator-panel .eyebrow{color:#5cf5df;margin-bottom:4px}.spectator-scoreboard{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:9px;display:flex}.spectator-team{border-left:3px solid var(--team);text-align:left;background:#ffffff0f;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:flex}.spectator-team b{color:var(--team);font:800 .68rem Sora,sans-serif}.spectator-team small{color:#d8e5e6;font-size:.62rem}button:disabled{cursor:not-allowed;opacity:.48;filter:saturate(.5)}.inspector{align-items:flex-start;gap:10px;display:flex}.piece-dot{--team:#fff;background:var(--team);color:#17122e;width:40px;height:40px;box-shadow:0 0 18px color-mix(in srgb,var(--team),transparent 45%);border-radius:12px;flex:none;place-items:center;font:900 1.1rem Sora,sans-serif;display:grid}.inspector strong,.zone-preview strong{font:800 .98rem Sora,sans-serif;display:block}.inspector span,.zone-preview span{color:#cec7e6;margin-top:2px;font-size:.74rem;display:block}.inspector p,.zone-preview p{color:#e5e1f5;margin:6px 0 0;font-size:.79rem;line-height:1.35}.hint{color:#b9b2ce;border-top:1px solid #ffffff17;margin-top:13px;padding-top:10px;font-size:.72rem;line-height:1.3}.speedway-ready,.power-ready{border-radius:7px;padding:6px 7px;font-weight:700}.speedway-ready{background:#f7f1dc1f;color:#f7f1dc!important}.power-ready{background:#f7d93e26;color:#fff5b5!important}.move-log{gap:7px;max-height:188px;padding-right:3px;display:grid;overflow:auto}.move-log p{color:#d6d0e9;background:#ffffff09;border-left:2px solid #564f87;border-radius:0 7px 7px 0;margin:0;padding:7px 8px;font-size:.76rem;line-height:1.28}.move-log p.newest{color:#fff;background:#5cf5df14;border-left-color:#5cf5df}.move-log::-webkit-scrollbar{width:5px}.move-log::-webkit-scrollbar-thumb{background:#554c85;border-radius:9px}.slaveyard{flex-wrap:wrap;gap:7px;display:flex}.slave-piece{--team:#fff;border:1px solid color-mix(in srgb,var(--team),transparent 55%);color:#fff;text-align:left;background:#ffffff0e;border-radius:9px;align-items:center;gap:5px;max-width:128px;padding:7px;display:flex}.slave-piece:hover{background:color-mix(in srgb,var(--team),transparent 85%)}.slave-piece b{font:700 .72rem Sora,sans-serif}.slave-piece small{color:#c7c1dc;font-size:.63rem;display:block}.slave-hat{color:var(--team);text-shadow:0 0 8px var(--team);font-size:.85rem}.empty-state{color:#aca6c3;margin:0;font-size:.75rem;line-height:1.4}.choice-panel{text-align:center;background:linear-gradient(120deg,#1d0c42f5,#071e3deb);border:1px solid #8359ffa6;border-radius:18px;min-width:min(465px,100vw - 40px);padding:15px 18px;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 0 45px #7b2cff6b}.choice-panel strong{font:800 1.08rem Sora,sans-serif}.choice-panel p{color:#d7d1f0;margin:5px 0 12px;font-size:.8rem}.choice-actions{justify-content:center}.journey-panel{text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#081331e6,#240b4cdb);border:1px solid #5cf5ffad;border-radius:18px;min-width:min(360px,100vw - 40px);padding:18px 22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 42px #5cf5ff47,inset 0 0 24px #7b2cff29}.journey-panel strong{color:#65f8ff;text-shadow:0 0 18px #5cf5ffb3;font:800 clamp(1.8rem,5vw,2.8rem) Sora,sans-serif;display:block}.journey-panel span{color:#e7e5ff;margin-top:4px;font-size:.78rem;display:block}.journey-panel .eyebrow{color:#ff91f3;margin-bottom:2px}.rules-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a081df5;border:1px solid #b3a2ff70;border-radius:22px;width:min(800px,100vw - 34px);max-height:min(650px,100vh - 34px);padding:30px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 28px 100px #0000009e}.rules-panel h2{max-width:480px;margin:0 0 20px;font:800 clamp(1.4rem,3vw,2rem)/1.12 Sora,sans-serif}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rules-grid article{background:linear-gradient(135deg,#8151ff21,#4adfd20d);border:1px solid #ffffff14;border-radius:12px;padding:12px}.rules-grid h3{color:#fbeb90;margin:0 0 5px;font:800 .8rem Sora,sans-serif}.rules-grid p{color:#e1dcf4;margin:0;font-size:.79rem;line-height:1.4}.close-button{color:#fff;background:#ffffff1a;border:0;border-radius:50%;width:30px;height:30px;font-size:1.4rem;position:absolute;top:12px;right:14px}.hidden{display:none!important}@media (max-width:900px){.topbar{gap:8px;top:10px;left:10px;right:10px}.brand small,.top-actions .ghost{display:none}.inspector-panel{width:235px;top:86px;left:10px}.spectator-panel{width:min(580px,100vw - 280px);top:138px;left:auto;right:10px;transform:none}.log-panel{width:245px;top:auto;bottom:12px;left:10px}.slaveyard-panel{width:225px;bottom:12px;right:10px}.move-log{max-height:108px}.rules-grid{grid-template-columns:1fr}.rules-panel{padding:26px 19px}}@media (max-width:620px){.topbar{min-height:54px;padding:8px 9px}.brand{letter-spacing:.07em;font-size:.78rem}.brand-mark{width:22px;height:22px}.turn-chip{padding:5px 7px}.turn-chip small{display:none}.top-actions .primary{padding:7px 8px;font-size:.72rem}.top-actions #ai-toggle{display:none}.power-panel{min-width:calc(100vw - 20px);padding:8px 12px;top:72px}.power-panel span{font-size:.7rem}.spectator-panel{width:auto;padding:8px 10px;top:116px;left:10px;right:10px}.spectator-panel strong{font-size:.78rem}.spectator-panel>span{font-size:.66rem}.spectator-scoreboard{gap:4px;margin-top:6px}.spectator-team{gap:4px;padding:4px 5px}.spectator-team small{display:none}.inspector-panel{width:calc(100% - 20px);padding:10px 12px;top:128px}.hint,.log-panel{display:none}.slaveyard-panel{width:auto;padding:10px 12px;bottom:10px;left:10px;right:10px}.choice-panel{padding:12px;bottom:96px}.journey-panel{min-width:260px;padding:14px;top:43%}.choice-actions{flex-direction:column}.choice-actions button{width:100%}.rules-panel{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}}
