*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#080d13;--panel:#0f1520;--panel2:#0c1219;--border:#1a2a3a;
  --text:#cdd9e5;--dim:#3d5266;
  --ecg:#00ff88;--spo2:#ff5050;--etco2:#f0c040;--bp:#40b8ff;
  --purple:#c084fc;--orange:#fb923c;--teal:#2dd4bf;--pink:#f472b6;
  --warn:#f59e0b;--crit:#ef4444;--ok:#22c55e;--neutral:#94a3b8;
}
html,body{background:var(--bg);color:var(--text);
  font-family:ui-monospace,'Cascadia Mono','JetBrains Mono','Roboto Mono',Menlo,Consolas,'DejaVu Sans Mono','Courier New',monospace;
  overflow-x:hidden}

/* ── HEADER ── */
header{display:flex;justify-content:space-between;align-items:center;
  padding:5px 14px;background:#05090e;border-bottom:2px solid var(--border);height:42px}
.h-logo{font-size:1.2em;font-weight:700;color:var(--ecg);letter-spacing:3px}
.h-logo span{color:var(--dim);font-size:.65em;margin-left:5px}
.h-center{text-align:center;font-size:.68em;color:var(--dim)}
.h-center strong{color:var(--text);font-size:1.1em;display:block}
#clock{font-size:1.6em;font-weight:700;color:var(--text);line-height:1;text-align:right}
#status{font-size:.6em;color:var(--ok);letter-spacing:1px;text-align:right}

/* ── ALARM ── */
/* Always present with a constant height so toggling an alarm never reflows the
   page; nowrap + ellipsis keeps it a single line regardless of how many alarms
   are active. Idle = quiet status strip; .active = red flashing alarm banner. */
#alarm-bar{display:block;padding:3px 14px;background:var(--panel2);
  border-bottom:1px solid var(--border);font-size:.68em;color:var(--dim);
  letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#alarm-bar.active{background:rgba(239,68,68,.12);border-bottom-color:rgba(239,68,68,.5);
  color:var(--crit);animation:alarm-flash 1.5s ease-in-out infinite}
@keyframes alarm-flash{0%,100%{opacity:1}50%{opacity:.6}}

/* ── WAVEFORMS ── */
.wave-section{background:var(--bg)}
.wave-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border);height:86px}
.wave-label{width:75px;display:flex;flex-direction:column;justify-content:center;
  padding:4px 7px;background:var(--panel);border-right:1px solid var(--border);flex-shrink:0}
.wl-name{font-size:.6em;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:1px}
.wl-val{font-size:1.65em;font-weight:700;line-height:1}
.wl-unit{font-size:.6em;color:var(--dim)}
.wave-canvas{flex:1;display:block;height:86px}

/* ── PRIMARY VITALS ── */
.vitals-bar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;
  background:var(--border);border-bottom:1px solid var(--border)}
.vbox{background:var(--panel);padding:7px 4px;text-align:center;cursor:default;
  position:relative;overflow:hidden;transition:background .15s}
.vbox::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;transition:background .3s}
.vbox.warn::after{background:var(--warn)}
.vbox.crit::after{background:var(--crit)}
.vbox.crit{animation:crit-pulse 1.3s ease-in-out infinite}
@keyframes crit-pulse{0%,100%{background:var(--panel)}50%{background:rgba(239,68,68,.07)}}
.v-name{font-size:.6em;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2px}
.v-val{font-size:1.95em;font-weight:700;line-height:1;transition:color .5s}
.v-unit{font-size:.6em;color:var(--dim);margin-top:2px}
.v-range{font-size:.6em;color:var(--dim);margin-top:1px}

/* ── SECONDARY PARAMS ── */
.sec-bar{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;
  background:var(--border);border-bottom:1px solid var(--border)}
.sbox{background:var(--panel2);padding:5px 3px;text-align:center}
.s-name{font-size:.6em;letter-spacing:.8px;text-transform:uppercase;color:var(--dim)}
.s-val{font-size:1.3em;font-weight:700;transition:color .5s}
.s-unit{font-size:.6em;color:var(--dim)}

/* ── TERTIARY PARAMS ── */
.tert-bar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;
  background:var(--border);border-bottom:1px solid var(--border)}
.tbox{background:#090e15;padding:4px 3px;text-align:center}
.t-name{font-size:.6em;letter-spacing:.5px;text-transform:uppercase;color:var(--dim)}
.t-val{font-size:1.2em;font-weight:700;transition:color .5s}
.t-unit{font-size:.6em;color:var(--dim)}

/* ── TREND CHARTS ── */
.trend-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);border-bottom:1px solid var(--border);height:95px}
.trend-box{background:var(--panel2);position:relative;overflow:hidden}
.trend-label{position:absolute;top:3px;left:6px;font-size:.6em;letter-spacing:.8px;z-index:1;text-transform:uppercase}
.trend-sel{position:absolute;top:2px;left:4px;z-index:2;max-width:calc(100% - 48px);
  font-family:inherit;font-size:.6em;letter-spacing:.5px;text-transform:uppercase;color:inherit;
  background:transparent;border:1px solid transparent;border-radius:3px;padding:1px 14px 1px 3px;
  cursor:pointer;-webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:right 5px top 7px,right 2px top 7px;background-size:3px 3px,3px 3px;background-repeat:no-repeat}
.trend-sel:hover,.trend-sel:focus{background-color:rgba(8,14,21,.92);border-color:var(--border);outline:none}
.trend-sel option,.trend-sel optgroup{background:var(--panel);color:var(--text);text-transform:none;letter-spacing:0;font-size:1.4em}
.trend-canvas{width:100%;height:100%;display:block}

/* ── CONTROLS ── */
.controls{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--border)}
.ctrl-panel{padding:10px 12px}
.ctrl-panel+.ctrl-panel{border-left:1px solid var(--border)}
.ctrl-title{font-size:.6em;letter-spacing:2px;text-transform:uppercase;color:var(--dim);
  margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.poke-btn{font-family:inherit;font-size:1em;letter-spacing:.5px;text-transform:none;color:#f43f5e;
  background:rgba(244,63,94,.1);border:1px solid #f43f5e;border-radius:4px;padding:2px 9px;cursor:pointer;transition:all .12s}
.poke-btn:hover{background:rgba(244,63,94,.25)}
.poke-btn:active{transform:scale(.93)}

/* Sliders */
.slider-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}
.sl-item{display:flex;flex-direction:column;gap:2px}
.sl-header{display:flex;justify-content:space-between;font-size:.62em}
.sl-name{color:var(--dim);text-transform:uppercase;letter-spacing:.5px}
.sl-cur{color:var(--text);font-weight:700}
input[type=range]{width:100%;height:3px;-webkit-appearance:none;
  background:linear-gradient(to right,var(--ecg) 0%,var(--ecg) var(--pct,50%),var(--border) var(--pct,50%));
  border-radius:2px;outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;
  border-radius:50%;background:var(--ecg);cursor:pointer;transition:transform .1s}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.3)}
.reset-btn{margin-top:7px;padding:4px 12px;background:transparent;color:var(--dim);
  border:1px solid var(--border);border-radius:3px;cursor:pointer;font-family:inherit;
  font-size:.6em;letter-spacing:1px;text-transform:uppercase;transition:all .2s}
.reset-btn:hover{background:var(--border);color:var(--text)}

/* ── MEDICATION CARDS ── */
.meds-grid{display:flex;flex-direction:column;gap:9px}
.med-cat{display:flex;flex-direction:column;gap:4px}
.med-cat-title{font-size:.6em;letter-spacing:1.2px;text-transform:uppercase;color:var(--neutral);
  font-weight:700;padding:5px 6px;border:1px solid var(--border);border-radius:4px;background:#0a1018;
  display:flex;align-items:center;gap:7px;cursor:pointer;font-family:inherit;text-align:left;width:100%}
.med-cat-title:hover{background:#0d141e;color:var(--text)}
.med-cat.open .med-cat-title{color:var(--text);border-color:var(--dim)}
.med-cat-caret{display:inline-block;transition:transform .15s}
.med-cat.open .med-cat-caret{transform:rotate(90deg)}
.med-cat-name{flex:1}
.med-cat-count{font-size:.9em;color:var(--dim);background:var(--border);border-radius:7px;padding:0 6px;font-variant-numeric:tabular-nums}
.med-cat-grid{display:none;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:5px;margin-top:2px}
.med-cat.open .med-cat-grid{display:grid}
.mc-section + .mc-section{border-top:1px solid var(--border)}
.mc-sec-label{display:block;font-size:.6em;letter-spacing:.6px;text-transform:uppercase;color:var(--dim);padding:3px 5px 0}
.med-card{border:1px solid var(--border);background:#090e16;border-radius:5px;
  overflow:hidden;border-left-width:3px;transition:border-color .2s}
.med-card.infusion-running{border-color:var(--ecg)!important;box-shadow:0 0 8px rgba(0,255,136,.12)}
.mc-head{padding:5px 6px 3px;border-bottom:1px solid var(--border);position:relative}
.mc-name{display:block;font-size:.65em;font-weight:700;margin-bottom:1px;padding-right:48px}
.mc-class{display:block;font-size:.6em;color:var(--dim);letter-spacing:.3px}
.mc-route{color:var(--neutral);font-weight:700}
.mc-count{position:absolute;top:5px;right:6px;font-size:.6em;font-weight:700;color:#05090e;
  padding:1px 5px;border-radius:8px;letter-spacing:.3px;font-variant-numeric:tabular-nums}
.mc-doses{display:flex;flex-wrap:wrap;gap:3px;padding:4px 5px}
/* Dose labels stay on ONE line; buttons size to their content and wrap to extra
   rows when they don't fit, so the card grows taller instead of clipping text. */
.dose-btn{flex:1 1 auto;min-width:max-content;padding:3px 5px;background:var(--panel2);
  border:1px solid var(--border);border-radius:3px;cursor:pointer;font-family:inherit;
  font-size:.6em;color:var(--dim);text-align:center;transition:all .15s;white-space:nowrap}
.dose-btn:hover{background:var(--border);color:var(--text)}
.dose-btn.sel{background:rgba(0,255,136,.1);border-color:var(--ecg);color:var(--ecg)}
.mc-custom-toggle{flex:0 0 auto;min-width:20px;max-width:24px;font-size:.7em;line-height:1;padding:3px 0}
/* Custom dose row — collapsed until the ✎ toggle is pressed */
.mc-custom{display:none;align-items:center;flex-wrap:wrap;gap:3px;padding:0 5px 4px}
.mc-custom.open{display:flex}
.mc-custom-range{flex:1 1 100%;width:100%;margin:1px 0 2px;height:14px;accent-color:var(--ecg);cursor:pointer}
.mc-custom-input{flex:1;min-width:0;width:100%;padding:2px 4px;background:var(--panel2);
  border:1px solid var(--border);border-radius:3px;color:var(--text);font-family:inherit;font-size:.6em}
.mc-custom-input:focus{outline:none;border-color:var(--ecg)}
.mc-custom-input.bad{border-color:var(--crit);background:rgba(239,68,68,.1)}
.mc-custom-input::-webkit-outer-spin-button,.mc-custom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mc-custom-unit{font-size:.6em;color:var(--dim);white-space:nowrap}
.mc-custom-go{flex:0 0 auto;padding:2px 7px;background:rgba(0,255,136,.08);border:1px solid var(--ecg);
  border-radius:3px;cursor:pointer;font-family:inherit;font-size:.6em;color:var(--ecg);transition:all .15s}
.mc-custom-go:hover{background:rgba(0,255,136,.2)}
.infusion-toggle{width:calc(100% - 10px);margin:0 5px 4px;padding:3px;
  background:transparent;border:1px solid var(--border);border-radius:3px;
  cursor:pointer;font-family:inherit;font-size:.6em;color:var(--dim);
  text-align:center;transition:all .15s;letter-spacing:.3px}
.infusion-toggle:hover{background:var(--border);color:var(--text)}
.infusion-toggle.on{background:rgba(0,255,136,.08);border-color:var(--ecg);color:var(--ecg)}
.mc-status{padding:3px 6px 5px;border-top:1px solid var(--border)}
.mc-bars{display:flex;flex-direction:column;gap:2px;margin-bottom:2px}
.mc-bar-track{height:3px;background:var(--border);border-radius:2px}
.mc-bar-fill{height:100%;border-radius:2px;width:0%;transition:width .25s linear}
.mc-info{font-size:.6em;color:var(--dim);display:flex;justify-content:space-between}
.mc-info .mc-pct{font-weight:700}

/* ── DIAGNOSTICS & SUPPORT ── */
.dx-section{display:grid;grid-template-columns:1.1fr 1fr 1.4fr;gap:1px;background:var(--border);
  border-bottom:1px solid var(--border)}
.dx-col{background:var(--panel2);padding:9px 12px;min-width:0}
.dx-results-col{background:#090e15}
.dx-title{font-size:.6em;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);
  font-weight:700;margin-bottom:7px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.dx-o2{display:flex;flex-wrap:wrap;gap:4px}
.dx-o2-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 7px;
  background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;
  font-family:inherit;font-size:.6em;color:var(--dim);transition:all .15s}
.dx-o2-btn small{font-size:.85em;color:var(--neutral)}
.dx-o2-btn:hover{background:var(--border);color:var(--text)}
.dx-o2-btn.sel{background:rgba(103,232,249,.12);border-color:#67e8f9;color:#67e8f9}
.dx-o2-btn.sel small{color:#67e8f9}
.dx-o2-status{font-size:.6em;color:#67e8f9;margin-top:7px;letter-spacing:.5px;font-weight:700}
.dx-orders{display:flex;flex-wrap:wrap;gap:5px}
.dx-order-btn{padding:5px 11px;background:var(--panel);border:1px solid var(--border);border-radius:4px;
  cursor:pointer;font-family:inherit;font-size:.6em;color:var(--text);letter-spacing:.5px;transition:all .15s}
.dx-order-btn:hover{background:var(--border)}
.dx-order-btn.dx-ekg{border-color:var(--ecg);color:var(--ecg);background:rgba(0,255,136,.06)}
.dx-order-btn.dx-cxr{border-color:#67e8f9;color:#67e8f9;background:rgba(103,232,249,.06)}
/* stored snapshot studies (EKG / imaging) in the results panel */
.dx-study{flex:0 0 auto;display:flex;flex-direction:column;gap:3px;cursor:pointer;
  background:#090e16;border:1px solid var(--border);border-radius:5px;padding:4px;transition:border-color .15s}
.dx-study:hover{border-color:var(--ecg)}
.dx-thumb{width:104px;height:74px;object-fit:cover;background:#000;border-radius:3px;display:block}
.dx-study-meta{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-size:.6em}
.dx-study-title{font-weight:700;color:var(--text)}
.cxr-credit2{display:block;font-size:.82em;color:var(--dim);margin-top:6px}
.cxr-credit2 a{color:var(--bp)}
/* Chest X-ray viewer overlay */
.cxr-overlay{display:none;position:fixed;inset:0;z-index:110;background:rgba(5,9,14,.97);
  flex-direction:column;padding:12px 18px;backdrop-filter:blur(2px)}
.cxr-body{flex:1;display:flex;gap:18px;min-height:0;align-items:stretch;margin-top:8px}
.cxr-img{max-height:100%;max-width:70%;object-fit:contain;background:#000;
  border:1px solid var(--border);border-radius:4px;align-self:center}
.cxr-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;padding-top:4px}
.cxr-finding{display:flex;flex-direction:column;gap:7px}
.cxr-finding b{font-size:.95em;color:var(--text)}
.cxr-finding span{font-size:.74em;color:var(--dim);line-height:1.55}
.cxr-acq{color:var(--warn);font-size:.82em;letter-spacing:1px}
.cxr-credit{font-size:.62em;color:var(--dim);margin-top:auto;border-top:1px solid var(--border);padding-top:9px;line-height:1.5}
.cxr-credit a{color:var(--bp)}
@media (max-width:760px){.cxr-body{flex-direction:column}.cxr-img{max-width:100%;max-height:60%}}
.dx-results{display:flex;gap:8px;overflow-x:auto;max-height:170px}
.dx-empty{font-size:.62em;color:var(--dim);padding:8px 2px}
.lab-card{flex:0 0 auto;min-width:150px;background:var(--panel);border:1px solid var(--border);
  border-radius:5px;padding:5px 7px;height:fit-content}
.lab-head{display:flex;justify-content:space-between;font-size:.62em;font-weight:700;color:var(--text);
  border-bottom:1px solid var(--border);padding-bottom:3px;margin-bottom:3px}
.lab-t{color:var(--dim);font-weight:400}
.lab-pending{font-size:.6em;color:var(--warn);padding:6px 0;text-align:center;font-style:italic}
.lab-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.6em;padding:1px 0}
.lab-n{color:var(--dim)}
.lab-v{color:var(--text);font-weight:700;white-space:nowrap}
.lab-v small{color:var(--dim);font-weight:400;font-size:.85em;margin-left:2px}
.lab-v b{color:var(--warn);margin-left:3px}
.lab-ref{color:var(--dim);font-size:.85em;white-space:nowrap}
.lab-row.lab-abn .lab-v{color:var(--warn)}
.lab-row.lab-crit .lab-v{color:var(--crit)}
.lab-row.lab-crit .lab-v b{color:var(--crit)}

/* 12-lead ECG overlay */
.ecg12-overlay{display:none;position:fixed;inset:0;z-index:110;background:rgba(5,9,14,.97);
  flex-direction:column;padding:10px 14px}
.ecg12-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ecg12-title{font-size:.8em;font-weight:700;letter-spacing:2px;color:var(--ecg);text-transform:uppercase}
.ecg12-sub{color:var(--dim);font-weight:400;letter-spacing:.5px;text-transform:none;margin-left:8px}
.ecg12-info{background:#0a0f17;border:1px solid var(--border);border-radius:4px;padding:7px 12px;
  margin-bottom:8px;display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline}
.ecg12-m{font-size:.66em;color:var(--text);font-family:'Courier New',monospace;letter-spacing:.3px}
.ecg12-m b{color:var(--dim);font-weight:700;margin-right:4px;text-transform:uppercase;font-size:.85em}
.ecg12-interp{flex-basis:100%;font-size:.74em;font-weight:700;color:#00e0a0;letter-spacing:.5px;
  margin-top:3px;font-family:'Courier New',monospace}
.ecg12-interp.ecg12-hidden{color:var(--dim);font-weight:400;font-style:italic}
.ecg12-paper{flex:1;display:flex;flex-direction:column;gap:5px;min-height:0;
  background:#fff;border-radius:4px;padding:4px}
.ecg12-row{flex:1;width:100%;display:block;min-height:0}
.ecg12-rhythm{flex:0 0 18%}

/* ── FOOTER ── */
footer{padding:4px 14px;background:#05090e;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;font-size:.6em;color:var(--dim)}

/* ── ARRHYTHMIA / DEVICE PANEL ── */
.arr-section{display:grid;grid-template-columns:auto 1fr;gap:1px;background:var(--border);
  border-bottom:1px solid var(--border)}
.arr-left{background:var(--panel2);padding:8px 10px}
.arr-title{font-size:.6em;letter-spacing:2px;text-transform:uppercase;color:var(--dim);
  margin-bottom:6px;border-bottom:1px solid var(--border);padding-bottom:4px}
.arr-grid{display:flex;flex-wrap:wrap;gap:4px}
.arr-btn{padding:4px 8px;background:transparent;border:1px solid var(--border);border-radius:3px;
  cursor:pointer;font-family:inherit;font-size:.6em;letter-spacing:.5px;color:var(--dim);
  transition:all .15s;text-transform:uppercase}
.arr-btn:hover{background:rgba(255,255,255,.05)}
.arr-btn.active{background:rgba(0,255,136,.06);border-color:var(--ecg)!important;
  color:var(--ecg)!important;font-weight:700}
.device-right{background:var(--panel2);padding:8px 12px;display:flex;gap:16px;align-items:flex-start}
.dev-group{display:flex;flex-direction:column;gap:4px}
.dev-title{font-size:.6em;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);
  margin-bottom:3px;border-bottom:1px solid var(--border);padding-bottom:3px}
.defib-btn{padding:5px 10px;background:rgba(239,68,68,.12);border:1px solid #ef4444;
  border-radius:3px;cursor:pointer;font-family:inherit;font-size:.6em;color:#ef4444;
  letter-spacing:.5px;transition:all .15s;font-weight:700}
.defib-btn:hover{background:rgba(239,68,68,.25)}
.cardio-btn{padding:5px 10px;background:rgba(245,158,11,.1);border:1px solid var(--warn);
  border-radius:3px;cursor:pointer;font-family:inherit;font-size:.6em;color:var(--warn);
  letter-spacing:.5px;transition:all .15s}
.cardio-btn:hover{background:rgba(245,158,11,.2)}
.shock-row{display:flex;gap:4px;flex-wrap:wrap}
.pacer-controls{display:flex;gap:10px;align-items:flex-start}
.pacer-ctrl{display:flex;flex-direction:column;gap:2px;font-size:.6em;color:var(--dim)}
.pacer-ctrl input[type=range]{width:90px;height:3px;margin-top:2px}
.pacer-ctrl span{color:var(--text);font-weight:700;font-size:1.1em}
.pacer-toggle{padding:5px 10px;background:transparent;border:1px solid var(--border);
  border-radius:3px;cursor:pointer;font-family:inherit;font-size:.6em;color:var(--dim);
  letter-spacing:.5px;transition:all .15s;margin-top:2px}
.pacer-toggle:hover{background:var(--border);color:var(--text)}
.pacer-toggle.on{background:rgba(0,255,136,.08);border-color:var(--ecg);color:var(--ecg)}
.pacer-status{font-size:.6em;letter-spacing:.5px;margin-top:3px;font-weight:700;min-height:14px}
.shock-feedback{font-size:.6em;letter-spacing:.5px;min-height:14px;margin-top:3px}
.morph-row{display:flex;align-items:center;gap:8px;margin-top:8px;
  border-top:1px solid var(--border);padding-top:8px}
.morph-row label{font-size:.6em;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.morph-row select{flex:1;min-width:0;background:var(--panel);color:var(--text);
  border:1px solid var(--border);border-radius:3px;padding:3px 6px;font-family:inherit;
  font-size:.62em;letter-spacing:.5px;cursor:pointer}
.morph-row select:focus{outline:none;border-color:var(--ecg)}

/* ── HEADER: ANALYTICS TOGGLE ── */
.h-right{display:flex;align-items:center;gap:12px}
.analytics-toggle{padding:5px 11px;background:transparent;border:1px solid var(--border);
  border-radius:4px;cursor:pointer;font-family:inherit;font-size:.62em;color:var(--dim);
  letter-spacing:1px;text-transform:uppercase;transition:all .15s;white-space:nowrap}
.analytics-toggle:hover{background:var(--border);color:var(--text)}
a.analytics-toggle{text-decoration:none;display:inline-block}
.analytics-toggle.on{background:rgba(0,255,136,.1);border-color:var(--ecg);color:var(--ecg)}

/* ── SETUP / CONFIG OVERLAY ── */
.config-overlay{display:none;position:fixed;inset:0;z-index:110;background:rgba(5,9,14,.78);
  align-items:center;justify-content:center;backdrop-filter:blur(2px)}
.config-panel{width:min(700px,92vw);max-height:88vh;display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 44px rgba(0,0,0,.6)}
.config-head{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;
  border-bottom:1px solid var(--border);font-size:.72em;font-weight:700;letter-spacing:1.5px;color:var(--ecg)}
.config-body{padding:16px 18px;overflow-y:auto}
.config-body .slider-grid{grid-template-columns:1fr 1fr;gap:13px 22px}
.config-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 16px;border-top:1px solid var(--border)}
.config-msg{font-size:.62em;min-height:14px}
.config-btns{display:flex;gap:8px}
.config-btn{padding:6px 13px;background:transparent;border:1px solid var(--border);border-radius:4px;
  cursor:pointer;font-family:inherit;font-size:.62em;color:var(--text);letter-spacing:.5px;transition:all .15s}
.config-btn:hover{background:var(--border)}
.config-btn.save{border-color:var(--ecg);color:var(--ecg);background:rgba(0,255,136,.08)}
.config-btn.save:hover{background:rgba(0,255,136,.2)}

/* ── MONITOR MENU ── */
.monitor-menu{width:270px}
.mon-row{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:7px 6px;border-radius:4px;transition:background .15s}
.mon-row:hover{background:rgba(255,255,255,.04)}
.mon-label{font-size:.66em;color:var(--text);font-weight:700;letter-spacing:.3px}
.mon-select{background:var(--panel2);color:var(--text);border:1px solid var(--border);
  border-radius:4px;font-family:inherit;font-size:.62em;padding:3px 6px;cursor:pointer;outline:none}
.mon-select:focus{border-color:var(--ecg)}
.mon-toggle{cursor:pointer}
.mon-toggle .dbg-check{margin:0}
.mon-sep{font-size:.6em;color:var(--muted,#7a8a9a);font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;margin:8px 6px 2px;padding-top:7px;border-top:1px solid var(--border)}
.mon-slider{flex:1;max-width:120px;accent-color:var(--ecg);cursor:pointer}

/* ── DEBUG MENU ── */
.debug-menu{display:none;position:fixed;top:46px;right:10px;z-index:120;width:310px;
  background:var(--panel);border:1px solid var(--border);border-radius:6px;
  box-shadow:0 8px 26px rgba(0,0,0,.55);padding:6px}
.debug-head{font-size:.6em;letter-spacing:1.5px;text-transform:uppercase;color:var(--neutral);
  font-weight:700;padding:5px 6px 7px;border-bottom:1px solid var(--border);margin-bottom:4px}
.debug-body{display:flex;flex-direction:column;gap:2px}
.dbg-row{display:flex;gap:9px;align-items:flex-start;padding:7px 6px;border-radius:4px;cursor:pointer;transition:background .15s}
.dbg-row:hover{background:rgba(255,255,255,.04)}
.dbg-check{margin-top:2px;accent-color:var(--ecg);cursor:pointer;flex-shrink:0;width:13px;height:13px}
.dbg-text{display:flex;flex-direction:column;gap:3px}
.dbg-label{font-size:.68em;color:var(--text);font-weight:700;letter-spacing:.3px}
.dbg-desc{font-size:.6em;color:var(--dim);line-height:1.45}
.dbg-id{display:inline-block;background:var(--border);color:var(--ecg);font-size:.82em;font-weight:700;
  padding:0 4px;border-radius:3px;margin-right:5px;letter-spacing:.5px;font-family:'Courier New',monospace}
/* drill-down navigation */
.dbg-back{font-size:.6em;color:var(--neutral);padding:5px 6px;cursor:pointer;letter-spacing:.5px;
  border-radius:4px;transition:background .15s}
.dbg-back:hover{background:rgba(255,255,255,.05);color:var(--text)}
.dbg-nav{display:flex;justify-content:space-between;align-items:center;padding:8px 6px;border-radius:4px;
  cursor:pointer;transition:background .15s}
.dbg-nav:hover{background:rgba(255,255,255,.05)}
.dbg-arrow{color:var(--dim);font-size:1.1em}
/* select / radio control */
.dbg-select{padding:7px 6px}
.dbg-select>.dbg-label{margin-bottom:2px}
.dbg-select>.dbg-desc{margin-bottom:6px}
.dbg-opt{display:flex;gap:8px;align-items:flex-start;padding:6px;border-radius:4px;cursor:pointer;transition:background .15s}
.dbg-opt:hover{background:rgba(255,255,255,.04)}
.dbg-opt input{margin-top:2px;accent-color:var(--ecg);cursor:pointer;flex-shrink:0;width:13px;height:13px}
.dbg-opt-text{display:flex;flex-direction:column;gap:3px}
.dbg-opt-label{font-size:.64em;color:var(--text);font-weight:700}

/* ── TREND ANALYTICS OVERLAY ── */
.analytics-overlay{display:none;position:fixed;inset:0;z-index:100;
  background:rgba(5,9,14,.97);flex-direction:column;backdrop-filter:blur(2px)}
.an-topbar{display:flex;justify-content:space-between;align-items:center;
  padding:9px 16px;background:#05090e;border-bottom:2px solid var(--border);flex-shrink:0}
.an-title{font-size:.82em;font-weight:700;letter-spacing:2px;color:var(--ecg);text-transform:uppercase}
.an-sub{color:var(--dim);font-weight:400;letter-spacing:.5px;margin-left:8px;text-transform:none}
.an-topbar-right{display:flex;align-items:center;gap:14px}
.an-window{font-size:.62em;color:var(--dim);letter-spacing:.5px}
.an-reset{padding:5px 11px;background:transparent;border:1px solid var(--border);
  border-radius:4px;cursor:pointer;font-family:inherit;font-size:.62em;color:var(--dim);
  letter-spacing:1px;text-transform:uppercase;transition:all .15s}
.an-reset:hover{background:var(--border);color:var(--text)}
.an-close{padding:5px 13px;background:rgba(239,68,68,.12);border:1px solid var(--crit);
  border-radius:4px;cursor:pointer;font-family:inherit;font-size:.62em;color:var(--crit);
  letter-spacing:1px;text-transform:uppercase;transition:all .15s}
.an-close:hover{background:rgba(239,68,68,.25)}
.an-body{flex:1;display:flex;min-height:0}
.an-main{flex:1;display:flex;flex-direction:column;min-width:0;padding:10px 12px;overflow:hidden}
/* large shared chart */
.an-bigwrap{position:relative;flex:1 1 auto;min-height:140px;margin-bottom:8px;
  border:1px solid var(--border);border-radius:4px;background:#070b11;overflow:hidden}
.an-big{width:100%;height:100%;display:block}
.an-legend{position:absolute;top:7px;left:9px;display:flex;flex-wrap:wrap;gap:4px 14px;
  max-width:72%;pointer-events:none}
.an-leg-item{display:inline-flex;align-items:baseline;gap:5px;font-size:.6em}
.an-leg-dot{width:8px;height:8px;border-radius:2px;align-self:center}
.an-leg-name{color:var(--dim);letter-spacing:.4px}
.an-leg-val{font-weight:700;font-variant-numeric:tabular-nums}
.an-leg-u{color:var(--dim);font-size:.85em}
.an-big-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:var(--dim);font-size:.66em;letter-spacing:.5px;pointer-events:none}
.an-tip{position:absolute;display:none;z-index:3;pointer-events:none;max-width:240px;
  background:rgba(8,13,20,.96);border:1px solid var(--border);border-radius:5px;
  padding:6px 8px;font-size:.6em;line-height:1.5;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.an-tip-t{color:var(--text);font-weight:700;margin-bottom:3px;font-variant-numeric:tabular-nums}
.an-tip-ev{margin-bottom:3px;padding-bottom:3px;border-bottom:1px solid var(--border)}
.an-tip-ev div{color:var(--text);display:flex;align-items:center;gap:5px}
.an-tip-evdot,.an-tip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}
.an-tip-vals div{color:var(--dim);display:flex;align-items:center;gap:5px}
.an-tip-vals b{color:var(--text);font-variant-numeric:tabular-nums}
/* discrete (categorical) state strips below the shared chart */
.an-strips{flex-shrink:0;display:flex;flex-direction:column;gap:3px}
.an-strips:not(:empty){margin-bottom:7px}
.an-strip{display:flex;align-items:center;gap:8px}
.an-strip-label{flex:0 0 120px;font-size:.6em;color:var(--dim);text-align:right;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-strip-cv{flex:1;height:18px;display:block;border:1px solid var(--border);border-radius:3px}
.an-chip-disc .an-chip-cur{font-size:.62em}
.an-timeline{width:100%;height:48px;display:block;flex-shrink:0;cursor:crosshair;
  border:1px solid var(--border);border-radius:4px;margin-bottom:8px;background:#0a0f17}
.an-big{cursor:crosshair}
/* parameter palette (toggle tiles) */
.an-palette-title{font-size:.6em;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);
  margin-bottom:5px;flex-shrink:0}
.an-palette-hint{text-transform:none;letter-spacing:.3px;opacity:.8}
.an-grid{flex:0 0 auto;max-height:42%;overflow-y:auto;display:grid;gap:6px;align-content:start;
  grid-template-columns:repeat(auto-fill,minmax(118px,1fr));padding-right:4px}
.an-grp{grid-column:1/-1;font-size:.6em;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ecg);opacity:.85;padding:7px 2px 3px;border-bottom:1px solid var(--border);margin-top:3px}
.an-grp:first-child{margin-top:0}
.an-chip{background:#090e16;border:1px solid var(--border);border-radius:5px;
  padding:4px 6px 5px;display:flex;flex-direction:column;cursor:pointer;text-align:left;
  font-family:inherit;transition:border-color .12s,background .12s;border-left:3px solid var(--border)}
.an-chip:hover{background:#0d141e;border-color:var(--dim)}
.an-chip.sel{border-color:var(--pc);border-left-color:var(--pc);background:#0c1420}
.an-chip-head{display:flex;justify-content:space-between;align-items:baseline;gap:4px}
.an-chip-name{font-size:.6em;font-weight:700;letter-spacing:.3px;text-transform:uppercase;
  color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-chip.sel .an-chip-name{color:var(--pc)}
.an-chip-cur{font-size:.74em;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0}
.an-chip-cv{width:100%;height:26px;display:block;margin-top:2px}
.an-side{width:248px;flex-shrink:0;background:#05090e;border-left:1px solid var(--border);
  display:flex;flex-direction:column;min-height:0}
.an-side-title{font-size:.6em;letter-spacing:2px;text-transform:uppercase;color:var(--dim);
  padding:10px 12px 7px;border-bottom:1px solid var(--border);flex-shrink:0}
.an-log{flex:1;overflow-y:auto;padding:4px 0}
.an-log-empty{padding:14px 14px;font-size:.62em;color:var(--dim);line-height:1.6}
.an-log-row{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:.62em;
  border-bottom:1px solid rgba(26,42,58,.4)}
.an-log-num{font-weight:700;min-width:26px;flex-shrink:0}
.an-log-t{color:var(--dim);min-width:34px;flex-shrink:0;font-variant-numeric:tabular-nums}
.an-log-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.an-log-label{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:760px){.an-side{display:none}}

/* ── PATIENT PORTRAIT ── */
.portrait-panel{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:10px 6px;border-right:1px solid var(--border);background:var(--panel);overflow:hidden}
.portrait-title{font-size:.6em;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
#patient-face{display:block}
.wellness-bar{width:76px;height:4px;background:var(--border);border-radius:2px;margin-top:5px}
.wellness-fill{height:100%;border-radius:2px;transition:width .8s,background .5s}
.wellness-label{font-size:.6em;letter-spacing:.5px;margin-top:3px;text-align:center;font-weight:700}

/* Arcade vitality (life) bar */
.lifebar-wrap{margin-top:8px;width:100%;text-align:center}
.lifebar-label{font-size:.6em;letter-spacing:.5px;color:var(--crit);font-weight:700;margin-bottom:3px}
.lifebar-label span{color:var(--text)}
.lifebar-track{position:relative;width:100%;height:9px;background:#1a0e0e;border:1px solid var(--border);
  border-radius:3px;overflow:hidden}
.lifebar-fill{position:absolute;left:0;top:0;bottom:0;background:#22c55e;transition:width .25s,background .4s}
.lifebar-perm{position:absolute;right:0;top:0;bottom:0;background:repeating-linear-gradient(45deg,
  #3a0f12,#3a0f12 3px,#511418 3px,#511418 6px);border-left:1px solid rgba(239,68,68,.5)}

/* ── CASE LIBRARY & BUILDER ── */
.config-btn.danger{border-color:rgba(239,68,68,.5);color:#fca5a5}
.config-btn.danger:hover{background:rgba(239,68,68,.18)}
.cases-overlay{display:none;position:fixed;inset:0;z-index:108;background:rgba(5,9,14,.97);
  flex-direction:column;padding:0 0 6px;backdrop-filter:blur(2px)}
.cases-body{flex:1;min-height:0;overflow-y:auto;padding:14px 18px}
.cases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.case-card{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--border);
  border-radius:8px;padding:12px 13px;transition:border-color .15s}
.case-card:hover{border-color:var(--ecg)}
.case-card-head{display:flex;justify-content:space-between;align-items:baseline}
.case-name{font-weight:700;font-size:.82em;color:var(--text)}
.case-tags{display:flex;flex-wrap:wrap;gap:5px}
.case-tag{font-size:.6em;letter-spacing:.5px;padding:2px 7px;border-radius:10px;
  background:#0c1320;border:1px solid var(--border);color:var(--dim)}
.case-tag.builtin{border-color:rgba(56,189,248,.4);color:#7dd3fc}
.case-tag.diff-beginner{border-color:rgba(34,197,94,.4);color:#86efac}
.case-tag.diff-intermediate{border-color:rgba(245,158,11,.4);color:#fcd34d}
.case-tag.diff-advanced{border-color:rgba(239,68,68,.4);color:#fca5a5}
.case-blurb{font-size:.64em;line-height:1.5;color:var(--dim);flex:1}
.case-card-foot{display:flex;gap:6px;flex-wrap:wrap}

/* editor */
.cases-editor{max-width:880px;margin:0 auto}
.ce-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ce-title{font-weight:700;font-size:.78em;letter-spacing:1px;color:var(--ecg);flex:1}
.ce-head-btns{display:flex;gap:8px}
.ce-grid{display:flex;flex-direction:column;gap:14px}
.ce-sec{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px}
.ce-sec-title{font-size:.66em;font-weight:700;letter-spacing:1px;color:var(--text);
  margin-bottom:10px;text-transform:uppercase}
.ce-hint{font-weight:400;letter-spacing:0;text-transform:none;color:var(--dim)}
.ce-field{display:flex;flex-direction:column;gap:4px;margin-bottom:9px}
.ce-field>span{font-size:.6em;color:var(--dim);letter-spacing:.5px}
.ce-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ce-check{flex-direction:row;align-items:center;gap:8px}
.ce-check>input{width:auto;margin:0;flex:none}
.ce-check>span{font-size:.7em;color:var(--fg);letter-spacing:0}
.cases-editor input,.cases-editor textarea,.cases-editor select{font-family:inherit;font-size:.66em;
  background:#0a0f18;border:1px solid var(--border);border-radius:4px;color:var(--text);padding:5px 7px}
.cases-editor input:focus,.cases-editor textarea:focus,.cases-editor select:focus{outline:none;border-color:var(--ecg)}
.ce-sys{margin-top:6px}
.ce-sys-title{font-size:.6em;color:var(--neutral);text-transform:uppercase;letter-spacing:.6px;
  margin:8px 0 5px;padding-bottom:2px;border-bottom:1px solid var(--border);font-weight:700}
.ce-pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 12px}
.ce-pp{display:flex;align-items:center;gap:5px;font-size:.6em;color:var(--dim)}
.ce-pp>span{flex:1;min-width:0}
.ce-pp input,.ce-pp select{width:64px}
.ce-pp select{width:auto;max-width:96px}
.ce-pp em{font-style:normal;width:42px}
.ce-pp.ce-held>span::before{content:'◆ ';color:var(--warn);font-size:.85em}
/* clickable initial-value button (opens the popup slider) */
.ce-ppval{flex:0 0 auto;min-width:74px;max-width:120px;text-align:right;
  background:var(--panel);border:1px dashed var(--border);border-radius:4px;color:var(--dim);
  padding:4px 8px;font-family:inherit;font-size:1.05em;font-style:italic;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .12s,color .12s}
.ce-ppval:hover{border-color:var(--ecg);color:var(--text)}
/* changed = solid accent border, bright, bold tint; default = dashed/italic/dim */
.ce-ppval.set{color:var(--text);border:1px solid var(--ecg);font-style:normal;font-weight:600;
  background:rgba(0,255,136,.07)}
/* popup slider */
.ce-slider-pop{position:fixed;z-index:300;display:none;width:282px;
  background:var(--panel2);border:1px solid var(--ecg);border-radius:8px;
  padding:12px 14px;box-shadow:0 14px 40px rgba(0,0,0,.6)}
.ce-pop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.ce-pop-title{font-size:.74em;font-weight:700;color:var(--text)}
.ce-pop-x{background:none;border:none;color:var(--dim);cursor:pointer;font-size:.85em;padding:0 2px}
.ce-pop-x:hover{color:var(--text)}
.ce-pop-readout{display:flex;align-items:baseline;gap:7px;margin-bottom:11px}
.ce-pop-readout input{width:96px;font-size:1.25em;font-weight:700;color:var(--ecg);
  background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-family:inherit}
.ce-pop-readout input::-webkit-outer-spin-button,
.ce-pop-readout input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ce-pop-readout input[type=number]{-moz-appearance:textfield}
.ce-pop-unit{font-size:.64em;color:var(--dim)}
.ce-pop-track{position:relative;height:22px;display:flex;align-items:center}
.ce-pop-track input[type=range]{width:100%;position:relative;z-index:2;margin:0;cursor:pointer}
.ce-pop-nr{position:absolute;top:50%;transform:translateY(-50%);height:6px;z-index:1;
  background:rgba(34,197,94,.30);border:1px solid rgba(34,197,94,.6);border-radius:3px}
.ce-pop-meta{display:flex;justify-content:space-between;gap:6px;margin-top:5px;font-size:.56em;color:var(--dim)}
.ce-pop-nrtxt{color:var(--ok);text-align:center;flex:1}
.ce-pop-foot{display:flex;justify-content:space-between;gap:8px;margin-top:13px}
.ce-pop-foot .config-btn{font-size:.62em}
/* discrete (rhythm/qrsMorph) select — highlight when changed from default */
.ce-ppsel{flex:0 0 auto;max-width:118px}
.ce-ppsel.set{border-color:var(--ecg);color:var(--text)}
/* imaging value button (initial value + timeline event) */
.ce-imgbtn{flex:0 0 auto;max-width:140px;display:flex;align-items:center;gap:6px;
  background:var(--panel);border:1px dashed var(--border);border-radius:4px;color:var(--dim);
  padding:3px 7px;font-family:inherit;font-size:1em;cursor:pointer;
  white-space:nowrap;overflow:hidden;transition:border-color .12s,color .12s}
.ce-imgbtn:hover{border-color:var(--ecg);color:var(--text)}
.ce-imgbtn.set{border:1px solid var(--ecg);color:var(--text)}
.ce-imgbtn-lbl{overflow:hidden;text-overflow:ellipsis}
.ce-thumbmini{width:22px;height:22px;object-fit:cover;border-radius:2px;flex:0 0 auto}
/* imaging thumbnail picker popup */
.ce-img-pop{width:auto;max-width:min(560px,92vw)}
.ce-imggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:9px;
  max-height:60vh;overflow-y:auto}
.ce-imgcard{border:1px solid var(--border);border-radius:6px;padding:5px;cursor:pointer;
  background:var(--panel);text-align:center;transition:border-color .12s,background .12s}
.ce-imgcard:hover{border-color:var(--ecg)}
.ce-imgcard.sel{border-color:var(--ecg);background:rgba(0,255,136,.08)}
.ce-imgcard img{width:100%;height:84px;object-fit:cover;border-radius:3px;display:block;background:#000}
.ce-imgcard span{display:block;margin-top:4px;font-size:.56em;line-height:1.3;color:var(--dim)}
.ce-imgcard.sel span{color:var(--text)}
.ce-imgcard-auto{width:100%;height:84px;display:flex;align-items:center;justify-content:center;
  border-radius:3px;background:repeating-linear-gradient(45deg,#1a2230,#1a2230 6px,#141a24 6px,#141a24 12px);
  color:var(--dim);font-size:.7em;letter-spacing:1px;font-weight:700}
.ce-row{display:flex;gap:6px;margin-bottom:6px}
.ce-row input{flex:1}
.ce-tl-row{display:flex;align-items:center;gap:6px;margin-bottom:7px;flex-wrap:wrap}
.ce-num{width:62px}
.ce-grow{flex:1;min-width:140px}
.ce-lbl{font-size:.6em;color:var(--dim)}
.ce-disabled{opacity:.6}
.ce-soon{font-size:.62em;color:var(--dim);line-height:1.5}

/* running HUD — compact, collapsible chip nested in the title bar */
.case-hud{position:fixed;top:5px;left:50%;transform:translateX(-50%);z-index:120;
  display:none;flex-direction:column;align-items:center;width:max-content;max-width:min(440px,92vw)}
.cc-chip{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;
  background:rgba(10,16,24,.96);border:1px solid var(--ecg);border-radius:14px;
  padding:5px 13px;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.cc-chip:hover{border-color:var(--text)}
.cc-name{font-size:.72em;font-weight:700;color:var(--ecg);white-space:nowrap}
.cc-clock{font-size:.72em;font-variant-numeric:tabular-nums;color:var(--text)}
.cc-caret{font-size:.6em;color:var(--dim)}
.cc-pop{display:none;margin-top:6px;width:min(300px,86vw);
  background:rgba(10,16,24,.97);border:1px solid var(--ecg);border-radius:8px;
  padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.55);backdrop-filter:blur(3px)}
.case-hud.expanded .cc-pop{display:block}
.cc-pop-title{font-size:.58em;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.cc-end{width:100%;margin-top:8px}
.ch-objs{margin:4px 0 0;padding-left:16px;font-size:.62em;line-height:1.55;color:var(--dim)}
.ch-banner{margin-top:8px;display:flex;flex-direction:column;gap:5px;width:min(300px,86vw)}
.ch-msg{font-size:.62em;line-height:1.4;color:#fde68a;background:rgba(245,158,11,.12);
  border-left:2px solid var(--warn);border-radius:3px;padding:5px 7px}
/* the case chip becomes the title while a case runs */
body.case-active .h-center{visibility:hidden}
