/* High-definition battlefield presentation. Touch controls retain their hit areas. */
.mode-grid{grid-template-columns:repeat(2,1fr)}
.assault-brief{padding:16px;border-left:3px solid #9acaba;background:#192e34;margin-bottom:22px}.assault-brief h3{font-size:14px;color:#d7e5d6}.assault-brief p{font-size:12px;line-height:1.8;color:#aec4c9;margin-top:8px}
.deploy{font-size:12px;min-height:40px;padding:8px 14px;margin:0 0 8px}
body.assault-playing .game-screen{max-width:720px}body.assault-playing .battle-footer{justify-content:center;padding:8px 0}body.assault-playing .battle-footer span{display:none}body.assault-playing .buff-status{text-align:center}body.assault-playing .deploy{display:block;margin:0 auto 6px}body.assault-playing .net-stats{text-align:center}
body.assault-playing .game-screen .battle-frame{width:min(100%,calc((100dvh - 270px)*.60465))}
@media(pointer:coarse),(max-width:640px){body.assault-playing .game-screen .battle-frame{width:min(100%,calc((100dvh - 340px)*.60465))}body.assault-playing .mission-bar{margin-bottom:5px}body.assault-playing .mission-bar button{display:none}body.assault-playing .touch-controls{padding-top:0;padding-bottom:8px}body.assault-playing .dpad{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,36px)}body.assault-playing .buff-status{font-size:10px}body.assault-playing .battle-footer{font-size:9px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){body.assault-playing .game-screen .battle-frame{width:min(100%,calc((100dvh - 150px)*.60465))}body.assault-playing .game-toolbar{margin-bottom:3px}body.assault-playing .mission-bar{display:none}body.assault-playing .battle-footer,body.assault-playing .buff-status{display:none}body.assault-playing .deploy{position:fixed;right:25px;top:25px;z-index:2}}
:root{--bg:#0d151c;--panel:#17252e;--line:#31434e;--text:#e6ecee;--muted:#9cadb6;--accent:#dfbd7f;--ink:#172129;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.net-stats{font-size:10px;line-height:1.5;color:#8ea9b4;min-height:15px;margin:0}.net-stats.warning{color:#edb779}
.campaign-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.campaign-options button{font-size:13px;background:#162731}.seed-entry{display:flex;gap:8px;margin-top:8px}.seed-entry input{min-width:0}.seed-entry button{font-size:12px}.seed-entry+p{margin-bottom:24px}#powerupManual{font-size:12px;color:#a9bdc7;margin-top:14px;line-height:1.9}#powerupManual summary{cursor:pointer;color:#dec694}#powerupManual ul{padding-left:20px}.mission-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:#d7c193;margin-bottom:10px}.mission-bar button{overflow-wrap:anywhere;max-width:100%;text-align:left}.buff-status{font-size:12px;line-height:1.7;min-height:20px;color:#9edacc;margin:0 0 5px;overflow-wrap:anywhere}#roomMeta{overflow-wrap:anywhere}#copySeed{margin-top:12px}.game-screen:has(.mission-bar:not([hidden])) .battle-frame{width:min(100%,calc((100dvh - 270px)*var(--battle-ratio,1.307692)))}
@media(pointer:coarse),(max-width:640px){.game-screen:has(.mission-bar:not([hidden])) .battle-frame{width:min(100%,calc((100dvh - 380px)*var(--battle-ratio,1.307692)))}.mission-bar{font-size:11px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){.mission-bar{margin-bottom:4px}.mission-bar .quiet{font-size:9px;min-height:22px;padding:2px}.game-screen:has(.mission-bar:not([hidden])) .battle-frame{width:min(100%,calc((100dvh - 130px)*var(--battle-ratio,1.307692)))}.buff-status{font-size:9px;min-height:14px}}
body{background:radial-gradient(ellipse at 16% 20%,#253b454d,transparent 60%),#0d151c}
.masthead{border-color:#30414c}.mark{border-radius:4px;background:linear-gradient(135deg,#ead5a7,#bb9459)}
h1>span{letter-spacing:-4px;font-weight:800}h1 i{color:#dfbd7f}.eyebrow{color:#9bbcc4}
.preview-frame{max-width:none;padding:8px;background:#1c2b34;border:1px solid #4d6069;border-radius:8px;box-shadow:0 18px 60px #0005}
.preview-frame canvas,.battle-frame canvas{image-rendering:auto;border-radius:3px}
.preview-caption{font-size:10px;color:#a8bcc4;letter-spacing:.6px;padding:12px 3px 4px}
.section-number{background:#243943;color:#d4c099;border-color:#45606a;border-radius:5px}
input,.field input{background:#13212a;border-color:#3a505d;border-radius:5px}
button{border-radius:5px;border-color:#3e535e;transition:background-color .15s,border-color .15s}
.choice{background:#182833;padding:15px 12px}.choice small{color:#a6bbc4}
.selected{background:#3c3b30!important;border-color:#d8b779!important;color:#f3dcac!important}
.primary{background:linear-gradient(135deg,#e5cc99,#c5a46b);border-color:#e2c898;box-shadow:0 5px 18px #0003;color:#1a252c}.primary:hover:not(:disabled){background:#ecd4a6}
.secondary{background:#243944}.difficulty button,.stage-grid button{background:#162731}.stage-grid button{letter-spacing:1px}
.field-manual{border-color:#304550}.page-footer{border-color:#273b48;color:#829ba7}
.battle-frame{border:4px solid #344a57;border-radius:7px;background:#111d25;box-shadow:0 0 0 1px #5b70794a,0 22px 70px #0007;overflow:hidden}
.game-toolbar{margin-bottom:14px}.quiet{background:#182934;color:#b8c9d1;border-color:#3c5260}.battle-footer{color:#95acb8}
.game-overlay{background:#0c1923ed;backdrop-filter:blur(5px)}.game-overlay h2{color:#e9cea1}.game-overlay p:not(.eyebrow){color:#b7c9d2}
.room-code{background:#1b303c;border:1px solid #375364;border-radius:8px}.players li{border-color:#304958}
.dpad button{background:linear-gradient(#304958,#213642);border-color:#4b6675;border-radius:7px;color:#d2e0e6}.dpad-center{background:#182b36;border-radius:5px}
.fire{background:radial-gradient(circle at 35% 25%,#eed6a5,#b48d50);border-color:#dcc89c;color:#29313a;box-shadow:0 5px 0 #68573c,0 9px 22px #0004}
.touch-hint{color:#8da8b6}.connection.online{color:#9ccebb}
@media(max-width:640px){.intro{grid-template-columns:1fr}.intro h1>span{font-size:48px;line-height:1;display:inline-block;margin:8px 0 16px}.intro h1>span br{display:none}.intro h1>span i{margin-left:8px}.intro h1{font-size:12px}.preview-frame{width:100%}.preview-caption{font-size:10px}.battle-frame{border-width:3px}.lobby{gap:25px}}
