/* Large, student-readable expedition console. */
.classroom-hud{--hud-accent:#8de4b8;--hud-tint:#5ddda31c;position:fixed;z-index:9;left:24px;right:24px;bottom:24px;display:grid;grid-template-columns:minmax(270px,.95fr) minmax(280px,1.7fr) minmax(245px,.85fr);gap:24px;align-items:stretch;min-height:170px;max-height:190px;padding:18px 22px;color:#f6f7e9;background:linear-gradient(115deg,#122b2bef,#142b2de6 52%,#10272aed);border:1px solid #c4e2cf35;border-radius:18px;box-shadow:0 14px 44px #081f2a40,inset 0 1px 0 #e2f6dd0b;backdrop-filter:blur(20px);font-family:'DM Sans',system-ui,sans-serif;pointer-events:none;isolation:isolate}
.classroom-hud[data-state=warning]{--hud-accent:#ffd080;--hud-tint:#ffd0801a;border-color:#ffd08070}
.classroom-hud[data-state=danger],.classroom-hud[data-state=disaster]{--hud-accent:#ff9b75;--hud-tint:#ff9b751f;border-color:#ff9b75a8;box-shadow:0 12px 48px #31170f44,0 0 0 3px #ff9b7512,inset 0 0 48px #ff814013}
.classroom-hud[data-state=paused],.classroom-hud[data-state=ended]{--hud-accent:#d1dace;--hud-tint:#d1dace15}
.hud-primary,.hud-graph-panel,.hud-pressure-panel{min-width:0;display:flex;flex-direction:column}
.hud-source{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750;line-height:1.2;letter-spacing:1.2px;color:#c6d9cc;white-space:nowrap}
.hud-source-dot{width:6px;height:6px;border-radius:50%;background:#f0ba67;box-shadow:0 0 9px #f0ba673a;flex-shrink:0}
.classroom-hud[data-source=live] .hud-source-dot{background:#8de4b8;box-shadow:0 0 9px #8de4b85c}
.hud-source-note{color:#829e94;font-size:8px;font-weight:500;letter-spacing:1px;margin-left:auto}
.hud-volume-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:1;margin:7px 0 10px}
.hud-status-copy{min-width:0}
.hud-status{display:block;font-family:'Manrope',system-ui,sans-serif;color:var(--hud-accent);font-size:clamp(25px,2.1vw,38px);font-weight:850;line-height:1.05;letter-spacing:-1.3px;white-space:nowrap}
.classroom-hud[data-state=ended] .hud-status{font-size:25px;white-space:normal;line-height:1.15}
.hud-instruction{margin:7px 0 0;font-size:11px;line-height:1.4;color:#bacdc0;max-width:215px}
.hud-number{display:flex;align-items:baseline;gap:4px;flex-shrink:0;white-space:nowrap;color:#fbfbe9;font-family:'Manrope',system-ui,sans-serif}
.hud-number strong{font-size:clamp(36px,3.1vw,51px);font-weight:750;letter-spacing:-2px;line-height:1}
.hud-number>span{font-size:10px;color:#93b0a3;font-weight:550}
.hud-level-track{height:8px;position:relative;border-radius:7px;background:#d2e7d817;overflow:visible}
.hud-level-fill{height:100%;width:0;display:block;border-radius:7px;background:var(--hud-accent);transition:width .12s linear;box-shadow:0 0 10px var(--hud-tint)}
.hud-goal-marker{position:absolute;left:40%;top:-3px;width:2px;height:14px;background:#f0f3d7;border-radius:2px;box-shadow:0 0 0 2px #142d2aa6}
.hud-scale{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:8px;font-weight:650;letter-spacing:1px;color:#90ad9e}
.hud-scale b{color:#dae6d1;font-weight:700}
.hud-graph-panel{padding:0 23px;border-inline:1px solid #d9eadb20}
.hud-graph-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:18px;color:#c4d9c9;font-size:9px;font-weight:700;letter-spacing:1px;white-space:nowrap}
.hud-graph-period{font-size:8px;font-weight:500;color:#7e9e8e;letter-spacing:.6px}
.hud-graph-goal{font-size:9px;letter-spacing:.5px;color:#eff2d9;font-weight:600;background:#c3dcb719;border:1px solid #e1e8c326;padding:4px 7px;border-radius:5px}
.hud-graph-wrap{position:relative;flex:1;min-height:76px;margin-top:4px}
.hud-graph-wrap .hud-graph{width:100%;height:100%;position:absolute;inset:0;display:block}
.hud-graph-scale{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;color:#789b87;font-weight:650;margin-top:3px}
.hud-event{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#ffe3bc;background:#ad512f60;border:1px solid #ffb07f60;border-radius:5px;padding:5px 8px;white-space:nowrap}
.hud-event[hidden]{display:none}
.hud-graph-header:has(.hud-event:not([hidden]))>span:first-child{display:none}
.hud-pressure-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;margin-top:-3px}
.hud-pressure-heading>span{font-size:9px;font-weight:750;letter-spacing:1.2px;color:#a4bfae;line-height:1.5;max-width:100px}
.hud-pressure-heading>strong{color:var(--hud-accent);font-size:34px;font-family:'Manrope',system-ui,sans-serif;letter-spacing:-1.7px;font-weight:750;line-height:1}
.hud-pressure-track{height:9px;background:#e6eadc19;border-radius:5px;overflow:hidden;margin:9px 0 12px}
.hud-pressure-track>span{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#d6b268,var(--hud-accent));transition:width .2s linear}
.hud-progress-state{display:block;color:var(--hud-accent);font:800 clamp(17px,1.6vw,24px)/1.2 'Manrope',system-ui,sans-serif;letter-spacing:-.5px;white-space:nowrap}
.hud-pressure-hint{display:block;font-size:10px;line-height:1.45;color:#9ebaa8;margin-top:6px;max-width:280px}
@media(min-width:1700px){.classroom-hud{grid-template-columns:minmax(330px,.9fr) minmax(400px,1.8fr) minmax(275px,.8fr);gap:30px;min-height:180px}.hud-status{font-size:38px}.hud-source{font-size:11px}.hud-instruction{font-size:12px}.hud-pressure-hint{font-size:11px}.hud-progress-state{font-size:24px}.hud-graph-header,.hud-graph-goal{font-size:10px}}
@media(max-width:1150px){.classroom-hud{left:18px;right:18px;bottom:18px;grid-template-columns:minmax(235px,.95fr) minmax(230px,1.3fr) minmax(200px,.8fr);gap:17px;padding:16px 18px;min-height:164px;max-height:180px}.hud-graph-panel{padding:0 16px}.hud-source-note,.hud-graph-period{display:none}.hud-status{font-size:27px}.hud-number strong{font-size:38px}.hud-instruction{font-size:10px}.hud-pressure-heading>strong{font-size:30px}.hud-progress-state{font-size:18px}.hud-pressure-hint{font-size:9px}.hud-graph-header{font-size:8px}.hud-graph-goal{font-size:8px;padding:4px 5px}.hud-event{font-size:8px;padding:5px}}
@media(max-width:850px){.classroom-hud{grid-template-columns:210px minmax(190px,1fr) 185px;gap:14px;padding:15px 16px}.hud-graph-panel{padding:0 13px}.hud-number{gap:3px}.hud-number strong{font-size:35px}.hud-number>span{font-size:8px}.hud-volume-row{gap:8px}.hud-status{font-size:25px}.hud-source{font-size:8px}.hud-instruction{font-size:9px}.hud-progress-state{font-size:16px}.hud-pressure-hint{font-size:8px}.hud-event{font-size:7px;letter-spacing:.6px}.hud-graph-goal{font-size:7px}.hud-scale{font-size:7px}}
@media(max-width:720px){.classroom-hud{left:12px;right:12px;bottom:12px;grid-template-columns:minmax(160px,1fr) minmax(150px,1fr);grid-template-rows:81px 63px;gap:10px 16px;padding:14px 15px;min-height:182px;max-height:190px;border-radius:14px}.hud-primary{grid-column:1;grid-row:1}.hud-pressure-panel{grid-column:2;grid-row:1;padding-left:15px;border-left:1px solid #d9eadb20}.hud-graph-panel{grid-column:1/3;grid-row:2;border:0;border-top:1px solid #d9eadb20;padding:8px 0 0}.hud-source{font-size:7px;letter-spacing:.8px}.hud-volume-row{margin:5px 0 6px;flex:1;align-items:center;gap:8px}.hud-status{font-size:24px;letter-spacing:-.9px}.hud-instruction{display:none}.hud-number strong{font-size:31px}.hud-number>span{font-size:7px}.hud-level-track{height:6px}.hud-goal-marker{height:12px}.hud-scale{font-size:6px;margin-top:5px;letter-spacing:.8px}.hud-pressure-heading{min-height:22px;margin-top:0}.hud-pressure-heading>span{font-size:6px;letter-spacing:.9px;max-width:none}.hud-pressure-heading>strong{font-size:25px}.hud-pressure-track{height:6px;margin:6px 0 7px}.hud-progress-state{font-size:15px;letter-spacing:-.3px}.hud-pressure-hint{font-size:7px;line-height:1.3;margin-top:4px;max-width:none}.hud-graph-header{min-height:15px;font-size:7px;letter-spacing:.7px}.hud-graph-goal{font-size:6px;padding:2px 5px}.hud-event{font-size:7px;letter-spacing:.7px;padding:3px 6px}.hud-graph-wrap{min-height:0;margin-top:2px}.hud-graph-scale{display:none}.classroom-hud[data-state=ended] .hud-status{font-size:18px}}
@media(max-width:380px){.classroom-hud{left:8px;right:8px;bottom:8px;grid-template-columns:minmax(135px,1fr) minmax(130px,1fr);gap:10px 11px;padding:13px 12px}.hud-status{font-size:21px}.hud-number strong{font-size:28px}.hud-pressure-panel{padding-left:10px}.hud-progress-state{font-size:13px}.hud-pressure-hint{font-size:6px}.hud-source{font-size:6px}.hud-scale{font-size:5px}.hud-number>span{font-size:6px}.hud-pressure-heading>span{font-size:5px}.hud-pressure-heading>strong{font-size:23px}}
@media(max-height:600px) and (min-width:721px){.classroom-hud{bottom:12px;left:12px;right:12px;min-height:140px;max-height:150px;padding:12px 17px}.hud-graph-wrap{min-height:60px}.hud-instruction{font-size:9px;margin-top:4px}.hud-status{font-size:26px}.hud-number strong{font-size:37px}.hud-pressure-track{margin:6px 0 8px}.hud-pressure-hint{font-size:8px}.hud-progress-state{font-size:18px}}
@media(prefers-reduced-motion:reduce){.classroom-hud *{transition:none!important}}

.classroom-hud[data-state=recovering] .hud-status{font-size:clamp(22px,1.8vw,30px);letter-spacing:-1px}
@media(max-width:850px){.classroom-hud[data-state=recovering] .hud-status{font-size:21px}}
@media(max-width:720px){.classroom-hud[data-state=recovering] .hud-status{font-size:19px;letter-spacing:-.8px}}
@media(max-width:380px){.classroom-hud[data-state=recovering] .hud-status{font-size:16px}}
@media(min-width:1000px){
  .classroom-hud{grid-template-columns:minmax(290px,1.12fr) minmax(270px,1.6fr) minmax(225px,.8fr);min-height:180px;max-height:190px}
  .hud-status{font-size:clamp(32px,3vw,48px);line-height:1.02}
  .hud-number strong{font-size:clamp(46px,4.4vw,68px)}
  .hud-number>span{font-size:9px}
  .hud-volume-row{gap:12px}
  .hud-instruction{font-size:10.5px;max-width:230px}
  .classroom-hud[data-state=recovering] .hud-status{font-size:clamp(27px,2.55vw,40px)}
}
