.focus-status{display:grid;grid-template-columns:minmax(0,1fr) 25px;width:205px;max-width:47%;gap:0 5px}
.focus-status #focus-inspect{font:inherit;text-align:left;justify-content:start;min-width:0;min-height:27px;padding:0;border:0;white-space:normal;line-height:1.3}
.focus-status #clear-focus{padding:0;min-width:25px}
#focus-extra{grid-column:1/-1;border-top:1px solid #dcc28044;padding-top:5px;margin-top:3px}
#focus-health{font-size:9px;color:#f1db9e;font-variant-numeric:tabular-nums}
#focus-signal{font-size:10px;line-height:1.5;margin:3px 0;color:#d4e4c2}
.focus-status #focus-counter{width:100%;font:inherit;font-size:10px;min-height:31px;border:1px solid #9dbf9a;background:#245f56;margin:6px 0 2px;padding:4px 7px;border-radius:4px}
.focus-status.focus-compact{width:auto}.focus-status.focus-quiet{visibility:hidden}
#boss-response{display:flex;gap:10px;align-items:center;margin-top:7px}#boss-response[hidden]{display:none}
#boss-cast-progress{height:5px;background:#7f553c;border-radius:5px;overflow:hidden;flex:1}#boss-cast-fill{display:block;height:100%;background:#ffbd69}
#boss-counter{pointer-events:auto;min-height:30px;font-size:10px;padding:5px 10px;color:#fff0b8;background:#845330;border:1px solid #e4bd78;border-radius:4px}
#boss-counter:disabled{opacity:.7}
#boss-response[data-urgent=true] #boss-charge-time{color:#ffd0b2}
#boss-response[data-urgent=true] #boss-cast-fill{background:#ff926d}
#play.mobile-compact .boss-health{left:auto;right:8px;width:min(225px,54%);padding:5px 8px}
#round-advice #open-wave-recap{background:#24635b;color:#fff2c8;border-color:#24635b}
.overlay.wave-recap-overlay .modal{max-width:690px;padding:25px 29px;text-align:left}
.wave-recap-heading .eyebrow{margin:0 0 7px!important}.wave-recap-heading h2{font-size:28px!important;margin-bottom:10px}.wave-recap-heading>p:last-child{font-size:11px!important;line-height:1.6;margin:0 0 14px}
.wave-recap-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;padding:15px 0;margin:0 0 16px;border-block:1px solid #bbceb145}.wave-recap-kpis dt{font-size:10px;color:#6a7c63}.wave-recap-kpis dd{font-size:24px;font-weight:800;margin:4px 0 0;color:#225e52;font-variant-numeric:tabular-nums}
.wave-recap-plan{padding:14px 16px;background:#e9eedc;border:1px solid #becdad;border-radius:6px}.wave-recap-plan>strong{font-size:12px}.wave-recap-plan>p{font-size:11px!important;line-height:1.7;margin:7px 0 12px}.wave-recap-plan h3{font-size:12px;margin:8px 0}.wave-recap-roster{display:flex;flex-wrap:wrap;gap:7px 12px}.wave-recap-roster>span{display:flex;gap:4px;align-items:center;font-size:10px;white-space:nowrap}.wave-recap-roster img{width:22px;height:22px;object-fit:contain}.wave-recap-roster b{color:#936829}
.wave-recap-actions{display:flex;gap:10px;align-items:stretch;margin-top:16px}.overlay.wave-recap-overlay .modal .wave-recap-actions .primary{margin:0;min-height:44px;flex:1;font-size:12px}.wave-recap-actions .secondary{font-size:11px;flex:1;min-height:44px}
@media(max-width:520px){.focus-status{top:5px;right:6px;width:183px;padding:3px 5px 5px 8px;font-size:8px}.focus-status #focus-inspect{min-height:24px}.focus-status #clear-focus{min-height:24px}#focus-health{font-size:8px}#focus-signal{font-size:9px}.focus-status #focus-counter{min-height:29px;font-size:9px}#boss-response{gap:7px;margin-top:5px}#boss-counter{font-size:9px;min-height:28px;padding:4px 7px}#round-advice{gap:5px;padding-inline:8px}#round-advice #open-wave-recap{font-size:9px;padding:4px 6px}.overlay.wave-recap-overlay .modal{padding:22px 18px}.wave-recap-heading h2{font-size:24px!important}.wave-recap-kpis{gap:12px 10px}.wave-recap-kpis dt{font-size:9px}.wave-recap-kpis dd{font-size:22px}.wave-recap-plan{padding:11px 12px}.wave-recap-roster{gap:6px 9px}.wave-recap-roster>span{font-size:9px}.wave-recap-actions{flex-direction:column;gap:7px;margin-top:13px}}
@media(max-height:550px) and (orientation:landscape){.focus-status{max-width:29%;top:5px;width:190px;font-size:8px}#focus-health{font-size:8px}#focus-signal{font-size:9px}.focus-status #focus-counter{min-height:25px;margin-top:3px;font-size:9px}.overlay.wave-recap-overlay .modal{max-width:770px;padding:15px 22px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.wave-recap-heading{grid-column:1;grid-row:1}.wave-recap-heading h2{font-size:23px!important;margin-bottom:6px}.wave-recap-heading>p:last-child{font-size:10px!important;margin:0}.wave-recap-kpis{grid-column:1;grid-row:2;margin:0;padding:9px 0;gap:8px 12px}.wave-recap-kpis dt{font-size:9px}.wave-recap-kpis dd{font-size:21px}.wave-recap-plan{grid-column:2;grid-row:1/3;padding:11px 12px}.wave-recap-plan>p{font-size:10px!important;line-height:1.5;margin:6px 0}.wave-recap-plan h3{font-size:11px}.wave-recap-roster{gap:5px 8px}.wave-recap-roster>span{font-size:9px}.wave-recap-roster img{width:18px;height:18px}.wave-recap-actions{grid-column:1/-1;grid-row:3;margin-top:0;gap:12px}.overlay.wave-recap-overlay .modal .wave-recap-actions .primary,.wave-recap-actions .secondary{min-height:37px;font-size:11px}}
.boss-health:has(#boss-response:not([hidden]))~.leak-warning{top:var(--boss-warning-bottom,162px)}
.boss-health:has(#boss-response:not([hidden])) #boss-state{display:none}
#boss-charge-time{font-size:10px;color:#ffdb9b;font-variant-numeric:tabular-nums;white-space:nowrap}
#boss-drill-tip{display:block;margin-top:5px;font-size:11px;color:#ffe3a7;line-height:1.25}
#boss-drill-tip[hidden]{display:none}
#play.boss-drill-active #boss-health{left:8px;right:auto;width:min(207px,46%);padding:6px 8px;z-index:12}
#play.boss-drill-active #boss-state{display:none}
@media(max-width:700px) and (orientation:portrait){
 #play.boss-drill-active #boss-health{top:auto!important;bottom:8px}
}
@media(max-height:550px) and (orientation:landscape){
 .boss-health:has(#boss-response:not([hidden])){top:30px;padding:5px 8px}
 #boss-response{margin-top:4px;gap:6px}#boss-counter{min-height:28px;font-size:9px;padding:3px 7px}#boss-charge-time{font-size:9px}
 .boss-health:has(#boss-response:not([hidden])) #slam-readout{font-size:9px;line-height:1.35;margin-top:4px}
 .boss-health:has(#boss-response:not([hidden]))~#leak-warning{top:3px;min-height:24px;font-size:9px;line-height:1.2;padding:3px 7px}
}

/* One urgent alert, with enough room for a deliberate touch. */
#leak-warning{min-height:44px!important;max-width:min(270px,calc(100% - 20px));padding:6px 11px!important;line-height:1.35;text-align:center}
#leak-warning strong,#leak-warning span{display:block}
#leak-warning strong{font-size:11px;font-variant-numeric:tabular-nums}
#leak-warning span{font-size:10px;margin-top:2px}
#leak-warning[data-marked=true]{border-color:#e8c78b}#leak-warning[data-marked=true] span{color:#c8e2b9}
@media(pointer:coarse),(max-width:700px),(max-height:550px){
 #play #boss-counter,#play #focus-counter{min-height:44px!important;min-width:70px;padding:5px 9px!important;touch-action:manipulation}
}
.board:has(#leak-warning:not([hidden])) .board-badge{visibility:hidden}

.recap-range{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 8px;padding:6px 8px;border-left:3px solid #478e87;background:#dbeae0;color:#1d5753;font-size:11px}
.recap-range>strong{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.recap-range>small{grid-column:1/-1;font-size:9px;line-height:1.3;color:#456458}
#play .overlay.wave-recap-overlay .modal{display:flex;flex-direction:column;gap:0;overflow:hidden}
#play.mobile-compact .overlay.wave-recap-overlay{inset-block-start:50px}
.wave-recap-body{min-height:0;overflow:auto;overscroll-behavior:contain}
.wave-recap-actions{flex:none}
#recap-select-tower>b{white-space:nowrap;margin-inline-start:8px}
@media(max-height:550px) and (orientation:landscape){
 #play .overlay.wave-recap-overlay{padding:8px 12px}
 .wave-recap-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;align-items:start}
 .wave-recap-actions{margin-top:8px}
}
@media(max-width:520px) and (orientation:portrait){
 .wave-recap-actions:has(#recap-coverage){display:grid;grid-template-columns:1fr 1fr}
 .wave-recap-actions:has(#recap-coverage)>#close-wave-recap{grid-column:1/-1}
}

.wave-recap-actions #recap-rehearse{border-color:#8da983;background:#e6eed8;color:#245b51}
@media(max-width:520px) and (orientation:portrait){
 .wave-recap-actions:has(#recap-rehearse){display:grid;grid-template-columns:1fr 1fr}
}
@media(max-height:550px) and (orientation:landscape){
 .wave-recap-actions:has(#recap-rehearse)>button{min-width:0;min-height:44px}
}
.boss-heading{align-items:center;gap:6px}
#boss-phase{margin-inline-end:auto;padding:2px 5px;border-radius:3px;background:#7be8d31c;color:#aff2e0;white-space:nowrap;font-weight:750}
.boss-health[data-phase="2"]{border-color:#ed8d60}
.boss-health[data-phase="2"] #boss-phase{background:#ff9b6530;color:#ffe2bc}
.boss-health[data-phase="2"] #boss-fill{background:linear-gradient(90deg,#da523a,#ffb76c)}
.boss-track{position:relative}
.boss-track::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:#1c263a}
#boss-charge-time{order:-1;font-weight:750}
@media(max-height:550px) and (orientation:landscape){
 #play:not(.boss-drill-active) .boss-health{left:auto;right:8px;width:min(216px,55%)}
}
#play.mobile-compact .boss-health:has(#boss-response:not([hidden])){
 display:grid;grid-template-columns:minmax(0,1fr) auto;
 grid-template-areas:"heading counter" "health counter" "risk counter" "time counter";
 gap:3px 7px;
}
#play.mobile-compact .boss-health:has(#boss-response:not([hidden])) .boss-heading{grid-area:heading;margin:0;gap:4px}
#play.mobile-compact .boss-health:has(#boss-response:not([hidden])) .boss-meters{grid-area:health}
#play.mobile-compact .boss-health:has(#boss-response:not([hidden])) .boss-track{height:4px}
#play.mobile-compact .boss-health #slam-readout{grid-area:risk;margin:0}
#play.mobile-compact .boss-health #boss-response:not([hidden]){display:contents}
#play.mobile-compact .boss-health #boss-charge-time{grid-area:time}
#play.mobile-compact .boss-health #boss-cast-progress{display:none}
#play.mobile-compact .boss-health #boss-counter{grid-area:counter;align-self:center;max-width:87px;line-height:1.2}
#play.mobile-compact .boss-health:has(#boss-counter[hidden]){grid-template-columns:minmax(0,1fr) 0}
#play.mobile-compact.chapter-boss-active #boss-health{top:auto!important;bottom:8px;left:auto;right:8px;width:min(216px,56%)}
#play.mobile-compact.chapter-boss-active #boss-health~#leak-warning{top:8px}
#play.mobile-compact .boss-heading b,#play.mobile-compact #boss-hp{white-space:nowrap}
#play.mobile-compact #boss-phase{font-size:0;padding:2px 4px}
#play.mobile-compact #boss-phase::after{content:"Ⅰ";font-size:9px}
#play.mobile-compact .boss-health[data-phase="2"] #boss-phase::after{content:"Ⅱ"}

#play.mobile-compact.landscape-stage #boss-health[data-edge=bottom]{top:auto!important;bottom:8px;left:8px;right:auto}

.boss-meters{min-width:0}
.boss-track #boss-fill,.boss-track #boss-health-trail,.boss-armor-track>i{position:absolute;left:0;top:0;height:100%;display:block}
.boss-track #boss-fill{transition:none}
.boss-track #boss-health-trail{background:#fff0bf}
.boss-armor{display:flex;gap:5px;align-items:center;margin-top:4px;color:#aef5ff;font-size:9px;line-height:1.1;white-space:nowrap}
.boss-armor[hidden],.boss-hit-values[hidden]{display:none}
.boss-armor-track{position:relative;min-width:20px;flex:1;height:4px;background:#102a39;border-radius:4px;overflow:hidden}
#boss-shield-trail{background:#ddfaff}
#boss-shield-fill{background:#64cbe7}
.boss-hit-values{display:flex;justify-content:flex-end;gap:7px;margin-top:4px;font-size:11px;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
.boss-hit-values strong:empty{display:none}
#play.mobile-compact .boss-health:has(#boss-response:not([hidden])) .boss-hit-values{flex-wrap:wrap;gap:2px 6px;font-size:10px}
#boss-hit-hp{color:#ffe7ac}
#boss-hit-shield{color:#abf7ff}
.boss-health[data-hit="break"],.boss-health[data-hit="shield"]{box-shadow:inset 0 0 0 1px rgb(160 243 255 / var(--hit-bright,0))}
.boss-health[data-hit="hp"]{box-shadow:inset 0 0 0 1px rgb(255 210 142 / var(--hit-bright,0))}
#play.mobile-compact .boss-heading b{min-width:0;overflow:hidden;text-overflow:ellipsis}
#play.mobile-compact.landscape-stage #boss-health[data-side=left]{left:8px;right:auto}
#play.mobile-compact.landscape-stage #boss-health[data-side=right]{left:auto;right:8px}
#play.mobile-compact.landscape-stage #boss-health{width:min(204px,48%)}
#play.mobile-compact #boss-hp{font-size:10px}
#boss-charge-time{display:flex;align-items:center;gap:5px;min-width:0}
#boss-charge-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
#boss-charge-seconds{flex:none;color:#fff0bf}
#boss-response[data-urgent=true] #boss-charge-seconds{color:#ffbd99}

/* Let the boss heading span both columns so the name stays readable on phones. */
#play.mobile-compact .boss-health:has(#boss-response:not([hidden])){
 grid-template-areas:"heading heading" "health counter" "risk counter" "time counter";
}
#play.mobile-compact .boss-heading b{flex:1;white-space:normal;line-height:1.2;overflow-wrap:anywhere}
#play.mobile-compact #boss-charge-name{white-space:normal;line-height:1.2}

/* In landscape keep the charge cue at the edge and reserve the wider space for the map. */
#play.mobile-compact.landscape-stage #boss-health{
 width:min(186px,45%);padding:5px 7px;
}
#play.mobile-compact.landscape-stage #boss-health .boss-state{display:none}
#play.mobile-compact.landscape-stage #boss-counter{
 max-width:72px;
}
#play.mobile-compact.landscape-stage #boss-health .boss-hit-values{
 flex-wrap:wrap;margin-top:3px;gap:2px 6px;font-size:10px;
}

#boss-interrupt-window{color:#ffe2b1;font-size:10px;line-height:1.2}
#boss-response[data-counter="ready"] #boss-interrupt-window{color:#baffc4}
#boss-response[data-counter="late"] #boss-interrupt-window{color:#ffae99}
#boss-cast-progress{position:relative}
#boss-cast-progress::after{content:"";position:absolute;left:var(--interrupt-cutoff,100%);top:0;bottom:0;width:2px;background:#fff1cd}
#boss-action-result:not([hidden]){display:flex;flex-wrap:wrap;gap:3px 6px;margin-top:4px;font-size:10px;line-height:1.2}
#boss-action-result strong{padding:2px 4px;border-inline-start:2px solid currentColor;color:#baffc4;background:#102e38}
#boss-action-result #boss-break-result{color:#b4f2ff}
#boss-action-result #boss-phase-result{color:#ffd197}
#play.mobile-compact .boss-health:has(#boss-response:not([hidden])){
 grid-template-areas:"heading heading" "health counter" "risk counter" "time counter" "window counter";
}
#play.mobile-compact .boss-health #boss-interrupt-window{grid-area:window}
#play.mobile-compact.landscape-stage #boss-response[data-counter="ready"] #boss-counter{
 background:#c4e9ac;color:#17382d;border-color:#e6ffc6;
}
#play.mobile-compact.landscape-stage #boss-counter:disabled{background:#423c34;color:#e5d7b9}

#boss-focus-row:not([hidden]){display:flex;align-items:center;gap:5px;margin-top:4px;color:#baf4f8}
#boss-focus-hint{flex:1;font-size:10px;line-height:1.25}
#boss-focus-action{pointer-events:auto;min-height:40px;min-width:58px;padding:4px 6px;border:1px solid #b1f3ed;border-radius:4px;background:#bceee3;color:#183a37;font-size:10px;font-weight:800}
#play.mobile-compact #boss-focus-action{min-height:44px}
#boss-health[data-changing-phase="true"] #boss-phase{color:#211d30;background:#ffd197}
#boss-response[data-phase-two="true"] #boss-charge-name{color:#ffc89f}

#play.mobile-compact.landscape-stage .board:has(#boss-health:not([hidden])) #battle-coach{
 display:none;
}

#boss-firing-towers{display:block;color:#caffb9;font-size:10px;line-height:1.2;margin-top:4px;overflow-wrap:anywhere}
#boss-firing-towers[hidden]{display:none}
#boss-hit-source{margin-inline-end:auto;color:#e7e7c8;font-weight:700;white-space:normal}
#boss-hit-source:empty{display:none}
#boss-hit-values[data-hero="true"] #boss-hit-hp{color:#ffdaa0;font-weight:900}
#boss-hit-values[data-hero="true"] #boss-hit-source{color:#fff0c3}

#boss-hit-values[data-outcome="miss"] #boss-hit-source,
#boss-hit-values[data-outcome="blocked"] #boss-hit-source{color:#e7d7bf}
#boss-hit-values[data-outcome="shield"] #boss-hit-source{color:#abf7ff}
#boss-hit-values[data-outcome="health"] #boss-hit-source{color:#ffdf9e}

#boss-field-pulse:not([hidden]){display:block;margin-top:3px;color:#bde5f3;font-size:10px;line-height:1.25}
#boss-field-pulse[data-soon="true"]{color:#ffe4a2}

#boss-cast-progress[data-interruptible="false"]::after{display:none}
.boss-opening-copy{flex:1;min-width:0}
#boss-focus-hint{display:block}
.boss-opening-clock{
 display:flex;align-items:center;gap:5px;margin-top:3px;color:#bceee3;
 font-size:10px;line-height:1.1;font-variant-numeric:tabular-nums;
}
.boss-opening-clock>span{height:3px;flex:1;position:relative;border-radius:2px;background:#65a29d40}
#boss-opening-fill{
 position:absolute;inset:0 auto 0 0;border-radius:2px;background:#9de7de;
}
#boss-opening-time{min-width:27px;text-align:end}
#play.mobile-compact.landscape-stage #boss-health:has(#boss-response:not([hidden])){
 grid-template-areas:"heading heading" "health counter" "risk counter" "time counter" "charge counter" "window counter";
}
#play.mobile-compact.landscape-stage #boss-cast-progress{
 display:block;grid-area:charge;height:3px;margin:0 0 1px;
}
#play.mobile-compact.landscape-stage #boss-counter{
 min-height:44px;padding-inline:5px;min-width:44px;
}
