/* Boss status stays inside the battlefield even when the team rail is off screen. */
#round-status .hud-label{display:none}
#round-status #wave{font-size:clamp(18px,2.5cqw,28px)!important;white-space:nowrap}
#board #boss-health{position:absolute;top:var(--boss-top,68px);left:50%;transform:translateX(-50%);z-index:9;display:grid;grid-template-columns:44px minmax(0,1fr);gap:7px;width:min(400px,46%);box-sizing:border-box;min-height:0;margin:0;padding:6px;border:2px solid #ffcf4b;border-radius:6px 14px;background:linear-gradient(120deg,#53217d,#25103f);box-shadow:0 3px 0 #976025}
#board #boss-health[hidden]{display:none!important}
#board #boss-health .boss-shield{width:44px;height:52px;overflow:hidden;background:#dcae43;clip-path:polygon(8% 0,92% 0,100% 15%,93% 83%,50% 100%,7% 83%,0 15%)}
#board #boss-health canvas{width:100%;height:100%;object-fit:cover}
#board #boss-health .boss-info{min-width:0}
#board #boss-health .boss-heading{display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:space-between}
#board #boss-health strong{font:900 16px/1.15 Barlow,Arial,sans-serif;color:#fff4d6;text-transform:uppercase}
#board #boss-health .boss-round{font:800 12px/1.2 Barlow,Arial,sans-serif;color:#ffdc69}
#board #boss-health .boss-track{height:12px;margin:5px 0 3px;border:1px solid #ffd957;border-radius:4px;background:#170d26;overflow:hidden}
#board #boss-health .boss-track i{display:block;height:100%;background:linear-gradient(#fff4a8,#ffca35,#ec9a13)}
#board #boss-health .boss-hp-value{font:800 13px/1.2 Barlow,Arial,sans-serif;color:#ffe571;font-variant-numeric:tabular-nums}
#board #boss-health .boss-mechanic{display:block;font:600 12px/1.25 Barlow,Arial,sans-serif;color:#ddc5f2;margin-top:3px}
#hero-shop .compact-portrait.mirrored-portrait{transform:none}
#hero-shop .kid-stat-track{height:18px;padding:0;gap:1px;border-radius:9px;align-items:stretch;overflow:hidden}
#hero-shop .kid-stat-track i{height:100%;min-height:0}
#hero-shop .kid-stat-track i:first-child{border-radius:8px 0 0 8px}
#hero-shop .kid-stat-track i:last-child{border-radius:0 8px 8px 0}
/* Settings uses the same purple, gold and bold type as the mission screens. */
#game-menu{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 24px);padding:22px;border:3px solid #ffd45b;border-radius:16px;background:linear-gradient(145deg,#322046,#171125);color:#fff2d5;box-shadow:0 0 0 100vmax #080714c9,0 8px 0 #0c0816;overflow:auto;font:700 16px/1.4 Barlow,Arial,sans-serif}
#game-menu .settings-heading{margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #705281;font:900 28px/1.1 Barlow,Arial,sans-serif;color:#ffdc66;letter-spacing:.04em}
#game-menu>.btn{margin:0 6px 12px 0}
#game-menu .btn{font:800 16px/1.2 Barlow,Arial,sans-serif;min-height:44px;padding:11px 15px;background:#49315d;color:#fff3da;border:1px solid #b28bcf;border-radius:8px}
#game-menu #menu-close{background:#ffda49;color:#24162f;border-color:#fff1a3}
#game-menu details.utility{margin:12px 0 0;padding:0;border:1px solid #705685;border-radius:10px;background:#241830;overflow:hidden}
#game-menu details.utility>summary{padding:14px 16px;font:800 18px/1.2 Barlow,Arial,sans-serif;color:#ffe396;cursor:pointer;background:#372246}
#game-menu details.utility[open]{padding:0 16px 16px}
#game-menu details.utility[open]>summary{margin:0 -16px 14px;border-bottom:1px solid #705685}
#game-menu .options-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#game-menu h2{font:800 20px/1.2 Barlow,Arial,sans-serif;color:#fff2c8;margin:0 0 12px}
#game-menu label{display:block;color:#eee1f8;margin:12px 0;font-size:16px}
#game-menu input[type=range]{display:block;width:100%;accent-color:#ffd64e;margin-top:10px;min-height:28px}
#game-menu .audio-mixer label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:8px 10px;margin:7px 0;border:1px solid #654b79;border-radius:8px;background:#1d1429}
#game-menu .audio-mixer output{min-width:48px;text-align:right;color:#ffdf68;font-variant-numeric:tabular-nums}
#game-menu .audio-mixer input[type=range]{grid-column:1/-1;margin:4px 0 0}
#game-menu .audio-help{padding:10px 12px;border-left:4px solid #ffd64e;border-radius:4px;background:#382644;color:#f1e5f6}
#game-menu select{width:100%;padding:10px;border:1px solid #a381b8;border-radius:7px;background:#171125;color:#fff;font:700 16px Barlow,Arial,sans-serif}
#game-menu p{font-size:15px;line-height:1.45;color:#e0cee9}
@media(max-width:540px){#game-menu{padding:15px}#game-menu .options-grid{grid-template-columns:1fr}#game-menu .settings-heading{font-size:24px}}

#board #boss-health .boss-heading{margin-bottom:2px}
#board #boss-health .boss-meter-row{display:block}
#board #boss-health .boss-round{padding:0;border:0;background:none}
#board #boss-health .boss-hp-value{font-size:12px}
@media(max-width:600px){#board #boss-health{top:var(--boss-top,68px);width:min(340px,calc(100% - 16px));grid-template-columns:36px minmax(0,1fr);gap:6px;padding:5px}#board #boss-health .boss-shield{width:36px;height:48px}#board #boss-health strong{font-size:14px}}

#board #boss-health{grid-template-columns:62px minmax(0,1fr)}
#board #boss-health .boss-shield{width:62px;height:66px;padding:2px}
#board #boss-health .boss-shield canvas{object-fit:contain;clip-path:none}
/* Accessible page title without changing the locked start-screen composition. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Quality-of-life controls and safe destructive actions. */
.save-status{min-height:1.4em;color:#9fe6d3!important}.run-summary{display:grid;gap:4px;margin:12px 0;padding:11px;border:1px solid #6c5a7b;border-radius:8px;background:#191224}.run-summary b{color:#ffdc78}.run-summary span{font-size:13px;color:#dfd5e8}.qol-settings{margin-top:16px;padding-top:16px;border-top:1px solid #705281}.qol-settings .check-setting{display:flex!important;gap:9px;align-items:center}.qol-settings input[type=checkbox]{width:20px;height:20px;accent-color:#ffd64e}.btn.danger{background:#7f2633!important;border-color:#ff8c9c!important}.confirm-dialog{width:min(440px,calc(100vw - 24px));padding:0;border:2px solid #e6c45f;border-radius:14px;background:#1d1528;color:#fff4db;box-shadow:0 20px 70px #000c;font:600 16px/1.45 Barlow,Arial,sans-serif}.confirm-dialog::backdrop{background:#070912cc;backdrop-filter:blur(4px)}.confirm-dialog form{padding:22px}.confirm-dialog h2{margin:0 0 8px;color:#ffdc68}.confirm-dialog form>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.mobile-team-toggle{display:none}
body.large-text{font-size:18px}body.large-text .hud-label,body.large-text .control-label{font-size:12px!important}body.high-contrast .placement-status{padding:7px 10px;background:#07111bea;border:2px solid #8effd0;color:#fff}body.high-contrast #exact-panel .hero-state.selected{box-shadow:inset 0 0 0 4px #fff36b}body.reduce-effects *,body.reduce-effects *::before,body.reduce-effects *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}body.reduce-effects .cinematic-glow,body.reduce-effects .cinematic-shimmer,body.reduce-effects .cinematic-city-lights,body.reduce-effects .cinematic-weapon-lights{display:none!important}
@media(max-width:700px){#game-shell{--rail:280px}.layout{grid-template-columns:1fr!important}.hero-dock{position:fixed!important;z-index:1200;top:0;right:0;bottom:0;width:min(280px,86vw)!important;height:100dvh!important;transform:translateX(102%);transition:transform .2s ease;box-shadow:-12px 0 30px #050711aa}.mobile-team-open .hero-dock{transform:translateX(0)}.mobile-team-toggle{display:block;position:fixed;z-index:1250;right:8px;bottom:8px;min-height:44px;padding:8px 13px;border:2px solid #f0cf69;border-radius:8px;background:#241734;color:#fff3cf;font:800 14px Barlow,Arial,sans-serif;box-shadow:0 4px 14px #0009}.mobile-team-open .mobile-team-toggle{right:min(288px,88vw)}#battle-frame{width:100vw!important}.battle-hud{right:8px!important}.shop{right:8px!important;max-width:calc(100vw - 16px)!important}.confirm-dialog form>div .btn{flex:1;min-width:145px}}
