:root{color-scheme:dark;--bg:#071019;--panel:#0d1824;--ink:#eef7ff;--muted:#aabaca;--accent:#67e8f9;--danger:#fb7185;--gold:#fbbf24}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 0,#12263a,#050a10 65%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}body{min-height:100dvh}
.topbar{min-height:78px;padding:12px clamp(14px,2vw,28px);display:flex;align-items:center;gap:22px;border-bottom:1px solid #26384a;background:#071019eb;backdrop-filter:blur(12px);position:relative;z-index:5}.topbar>div:first-child{flex-shrink:0}h1{font-size:clamp(1.2rem,2.4vw,1.8rem);margin:0;letter-spacing:.025em}.topbar p{margin:2px 0 0;color:var(--muted);font-size:.8rem}.controls{margin-left:auto;display:flex;gap:8px;align-items:end;flex-wrap:wrap;justify-content:flex-end}.controls label{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);display:grid;gap:4px}button,select,input{border:1px solid #38516a;border-radius:9px;background:#122235;color:var(--ink);padding:9px 11px;font:inherit;min-height:42px}button{cursor:pointer}button:hover,select:hover,button:focus-visible,input:focus-visible{border-color:var(--accent);outline:2px solid transparent;box-shadow:0 0 0 2px #67e8f94a}.menu{display:none;margin-left:auto}
main{display:grid;grid-template-columns:minmax(0,1fr) 284px;min-height:calc(100dvh - 79px)}.stage{position:relative;min-height:580px;overflow:hidden}#scene{position:absolute;inset:0;touch-action:none;outline-offset:-5px}#scene canvas{display:block;width:100%;height:100%}.hud{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.hud span{background:#071019e0;border:1px solid #31465a;padding:8px 12px;border-radius:999px;backdrop-filter:blur(8px)}.panel{background:#09131eed;border-left:1px solid #26384a;padding:20px;overflow:auto}.panel h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.11em;color:var(--accent);margin:12px 0}.panel p,.panel li{color:#c2d0dc;font-size:.87rem;line-height:1.55}#log{padding-left:24px;max-height:34vh;overflow:auto}.legend{display:grid;gap:6px;color:var(--muted);font-size:.8rem}.legend span:nth-child(1){color:var(--gold)}.legend span:nth-child(2){color:#5eead4}.legend span:nth-child(3){color:var(--danger)}.panel label[for="moveInput"]{display:block;margin-top:18px;color:#c8d6e3;font-size:.8rem}#moveForm{display:flex;gap:5px;margin:7px 0}#moveInput{min-width:0;flex:1;width:80px}.modal{position:fixed;inset:0;z-index:20;background:#000b;display:grid;place-items:center}.hidden{display:none}.dialog{background:#0d1824;border:1px solid #456078;border-radius:16px;padding:22px;box-shadow:0 30px 90px #000}.dialog button{font-size:1rem;margin:5px;min-width:58px}#toast{position:fixed;top:88px;left:50%;transform:translateX(-50%);z-index:30;background:#0b1621ed;border:1px solid #39526a;border-radius:999px;padding:9px 16px;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1}
@media(max-width:1100px){.menu{display:block}.controls{display:none;position:absolute;top:calc(100% - 2px);left:8px;right:8px;padding:12px;background:#0b1621;border:1px solid #334b62;border-radius:12px;box-shadow:0 20px 50px #000b}.controls.open{display:flex}.controls label{flex:1 1 140px}.controls select{width:100%}}
@media(max-width:850px){main{grid-template-columns:1fr;grid-template-rows:minmax(480px,68dvh) auto}.stage{min-height:480px}.panel{border-left:0;border-top:1px solid #26384a}.panel #log{max-height:180px}}
@media(max-width:520px){.topbar{min-height:64px}.topbar p{display:none}.stage{min-height:445px}.hud{font-size:.73rem;left:8px;right:8px;bottom:8px}.hud span{padding:7px 9px}.panel{padding:14px}.menu{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* JR-BATTLE-GLASS-20260924-V2 */
.setup-panel,
.panel,
.controls,
.handheld-console{
    background:rgba(7,16,25,.56)!important;
    border-radius:18px!important;
    -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
    backdrop-filter:blur(18px) saturate(125%)!important;
}

.setup-panel{
    border-radius:24px!important;
}

.controls button,
.controls select,
.setup-grid select,
.setup-actions button{
    border-radius:12px!important;
}


/* JR-TRUE-BATTLE-GAME-GLASS-V3 */
.setup-panel,
.panel,
.controls,
.handheld-console{
    background:rgba(7,16,25,.26)!important;
    border-radius:20px!important;
    -webkit-backdrop-filter:blur(4px) saturate(110%)!important;
    backdrop-filter:blur(4px) saturate(110%)!important;
}

.setup-panel{
    border:1px solid rgba(103,232,249,.30)!important;
}

.controls button,
.controls select,
.setup-grid select,
.setup-actions button{
    border-radius:12px!important;
}
