:root {
  --ink: #eaf4f7;
  --muted: #8da5ae;
  --dim: #617782;
  --bg: #06101a;
  --panel: #0a1722;
  --panel-2: #0e1e2a;
  --line: #203542;
  --mint: #39e6b0;
  --cyan: #48c7ef;
  --red: #ff6577;
  --amber: #f4bd55;
  --purple: #9a83ff;
  --radius: 18px;
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: radial-gradient(circle at 70% -20%, #113149 0, transparent 36%), var(--bg); color: var(--ink); }
button, select, input { font: inherit; }
button, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, select:focus-visible, input:focus-visible { outline: 3px solid rgba(72,199,239,.45); outline-offset: 2px; }
.topbar { min-height: 112px; padding: 11px clamp(18px,4vw,56px) 20px; display: grid; grid-template-columns: minmax(285px,1fr) auto minmax(285px,1fr); gap: 26px; align-items: center; overflow: hidden; border-bottom: 1px solid rgba(72,199,239,.3); background: radial-gradient(circle at 18% -80%,rgba(57,230,176,.28),transparent 42%),radial-gradient(circle at 82% -110%,rgba(72,199,239,.25),transparent 44%),linear-gradient(112deg,#061722 0%,#082437 48%,#071521 100%); box-shadow:0 12px 36px rgba(0,0,0,.24),inset 0 -1px rgba(255,255,255,.04); position: sticky; top: 0; z-index: 10; isolation:isolate; }
.topbar::after { content:""; position:absolute; inset:0; z-index:-2; opacity:.16; background-image:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.13) 50%,transparent 50.2%); background-size:90px 100%; mask-image:linear-gradient(to bottom,black,transparent 85%); }
.header-waves { position:absolute; inset:auto 0 0; height:74px; z-index:-1; pointer-events:none; opacity:.8; }
.header-waves svg { display:block; width:100%; height:100%; overflow:visible; }
.wave { fill:none; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.wave-mint { stroke:var(--mint); stroke-width:2.2; opacity:.52; filter:drop-shadow(0 0 6px rgba(57,230,176,.5)); }
.wave-cyan { stroke:var(--cyan); stroke-width:1.6; opacity:.34; }
.wave-red { stroke:var(--red); stroke-width:1.3; opacity:.22; }
.brand { display:flex; align-items:center; gap:13px; justify-self:start; min-width:0; z-index:1; }
.brand-copy { color:#fff; text-align:right; font-family:"Tahoma","Arial",sans-serif; line-height:1.25; text-shadow:0 2px 9px rgba(0,0,0,.48); }
.brand-copy strong,.brand-copy span { display:block; white-space:nowrap; }
.brand-copy strong { font-size:1.02rem; font-weight:800; }
.brand-copy span { margin-top:5px; font-size:.86rem; font-weight:700; color:#e7f2f5; }
.brand-divider { width:1px; height:61px; flex:0 0 1px; background:linear-gradient(transparent,rgba(57,230,176,.8) 18%,rgba(72,199,239,.62) 82%,transparent); }
.emblem-window { position:relative; display:block; width:78px; height:84px; flex:0 0 78px; overflow:hidden; }
.brand-logo { position:absolute; display:block; right:0; top:0; width:auto; height:84px; max-width:none; transform:translateY(-4px); filter:brightness(1.04) saturate(1.05) contrast(1.1) drop-shadow(0 3px 8px rgba(0,0,0,.36)); }
.title-lockup { justify-self:center; text-align:center; z-index:1; transform:translateY(-9px); }
.department-label { margin:0 0 5px; color:var(--mint); font-size:.72rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; text-shadow:0 0 13px rgba(57,230,176,.24); }
.site-title { color:#f4fbfd; text-align:center; white-space:nowrap; text-shadow:0 2px 18px rgba(72,199,239,.2); }
.title-signal { display:block; width:112px; height:2px; margin:9px auto 0; border-radius:99px; background:linear-gradient(90deg,transparent,var(--cyan) 20%,var(--mint) 52%,var(--red) 82%,transparent); box-shadow:0 0 13px rgba(57,230,176,.42); position:relative; }
.title-signal::after { content:""; position:absolute; width:7px; height:7px; left:50%; top:50%; border:2px solid var(--mint); border-radius:50%; background:#08202f; transform:translate(-50%,-50%); box-shadow:0 0 11px var(--mint); }
h1,h2,h3,p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: clamp(1.05rem,2vw,1.35rem); line-height: 1.25; letter-spacing: -.02em; }
h2 { margin-bottom: 0; font-size: 1.15rem; letter-spacing: -.015em; }
h3 { font-size: 1rem; }
.eyebrow,.section-kicker { margin-bottom: 4px; color: var(--mint); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.header-actions { display:flex; gap:9px; justify-self:end; z-index:1; }
.ghost-button { color:#d9e9ee; border:1px solid rgba(117,178,199,.28); background:rgba(5,19,29,.58); border-radius:10px; padding:10px 14px; cursor:pointer; backdrop-filter:blur(10px); }
.ghost-button:hover { border-color:rgba(72,199,239,.65); background:rgba(16,45,60,.78); }
.reset-button { color:#c6d7dc; border:1px solid var(--line); background:#0a1822; border-radius:10px; padding:10px 14px; cursor:pointer; }
.reset-button:hover { border-color:#3c5967; background:#10222f; }
.app-shell { width: min(1540px,100%); margin: 0 auto; padding: 22px clamp(14px,2.7vw,40px) 48px; display: grid; grid-template-columns: minmax(0,1.72fr) minmax(310px,.78fr); gap: 18px; align-items: start; }
.monitor-panel,.control-panel,.results-panel,.haemodynamic-strip { background: linear-gradient(145deg, rgba(14,30,42,.97), rgba(8,22,32,.98)); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 20px 60px rgba(0,0,0,.18); }
.monitor-panel { padding: 22px; overflow: hidden; }
.control-panel { padding: 22px; position: static; }
.section-heading { margin-bottom: 18px; }
.monitor-heading,.results-header { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.patient-status { display: flex; align-items: center; gap: 8px; color: #b8cbd1; font-size: .86rem; }
.patient-status span { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 14px var(--mint); }
.patient-status.running span { background: var(--amber); box-shadow: 0 0 14px var(--amber); animation: pulse 1s infinite; }
@keyframes pulse { 50% { opacity: .35; transform: scale(.8); } }
.vital-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.vital-card { min-width: 0; padding: 15px; border: 1px solid #1e3845; border-radius: 14px; background: rgba(5,17,26,.74); }
.vital-label { display: block; color: var(--muted); font-size: .76rem; min-height: 30px; }
.vital-card div { display: flex; gap: 7px; align-items: baseline; margin: 2px 0 5px; }
.vital-card strong { font-size: clamp(1.5rem,2.5vw,2.1rem); letter-spacing: -.05em; }
.vital-card div > span { font-size: .7rem; color: var(--muted); }
.vital-card small { font-size: .72rem; color: var(--dim); }
.heart-rate strong { color: var(--mint); }.pressure strong { color: var(--red); }.map strong { color: var(--amber); }.oxygen strong { color: var(--cyan); }
.trace-stack { display: grid; gap: 10px; margin-top: 12px; }
.trace-card { border: 1px solid #1b3340; border-radius: 14px; padding: 12px 14px 8px; background-color: #06121b; }
.trace-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.trace-label { display: flex; align-items: center; gap: 7px; color: #a8bdc4; font-size: .73rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.trace-dot { width: 7px; height: 7px; border-radius: 50%; }.trace-dot.ecg,.trace-dot.hr { background: var(--mint); box-shadow: 0 0 8px var(--mint); }
.trace-card canvas { display: block; width: 100%; height: 250px; }
.trace-style-switch{display:flex;gap:3px;padding:3px;border:1px solid #bcc8cc;border-radius:9px;background:#e4e9e8}.trace-style-switch button{border:0;border-radius:6px;padding:6px 9px;background:transparent;color:#40545c;font-size:.66rem;font-weight:800;cursor:pointer}.trace-style-switch button.active{background:#fff;color:#10202a;box-shadow:0 1px 4px rgba(13,35,45,.18)}
.trace-legend { display:flex; justify-content:flex-end; gap:14px; margin-top:8px; font-size:.72rem; font-weight:850; }.map-key{color:#101820}.video-hr-key{color:#d92337}.monitor-hr-key{color:#21e86c}.monitor-bp-key{color:#ff4438}.monitor-spo2-key{color:#70ecff}
.cal-trace-card { background:#f5f7f4; color:#13202a; border-color:#90a2a9; padding:14px 10px 9px; box-shadow:inset 0 0 0 1px #fff; }
.cal-trace-card .trace-label{color:#334a55}.axis-wrap{display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:stretch;gap:4px;margin-top:16px}.y-axis{text-align:center;color:#344b56;font-size:.67rem;font-weight:800;line-height:1.2;position:relative}.y-axis strong{position:absolute;top:-16px;left:0;right:0;font-size:.66rem;white-space:nowrap}.y-axis small{position:absolute;top:-5px;left:0;right:0;font-size:.58rem;font-weight:650}.axis-values{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:7px 0 5px;font-size:.7rem;font-variant-numeric:tabular-nums;color:#1f353e}.left-axis .axis-values{align-items:flex-end;padding-right:5px}.right-axis .axis-values{align-items:flex-start;padding-left:5px}.cal-trace-card canvas{border-left:1px solid #899ba2;border-right:1px solid #899ba2;background-color:#fff;background-image:linear-gradient(rgba(34,74,90,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(34,74,90,.08) 1px,transparent 1px);background-size:24px 24px}.cal-trace-card .time-axis{color:#5f747d;padding:5px 75px 0}.trace-note{margin:7px 76px 0;color:#52666f;font-size:.68rem;line-height:1.45}.trace-note strong:first-child{color:#101820}.trace-note strong:last-child{color:#c51f32}
.cal-trace-card.bedside-mode{background:#020807;color:#e9f8f4;border-color:#24423e;box-shadow:inset 0 0 0 1px #071411}.cal-trace-card.bedside-mode .trace-label{color:#b9d2ca}.cal-trace-card.bedside-mode .axis-wrap{grid-template-columns:minmax(0,1fr);margin-top:8px}.cal-trace-card.bedside-mode .y-axis{display:none}.cal-trace-card.bedside-mode canvas{border:1px solid #18332e;background-color:#010403;background-image:linear-gradient(rgba(62,126,110,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(62,126,110,.06) 1px,transparent 1px);background-size:24px 24px}.cal-trace-card.bedside-mode .time-axis{color:#6e8b82;padding:5px 8px 0}.cal-trace-card.bedside-mode .trace-note{margin:7px 8px 0;color:#8eaaa1}.cal-trace-card.bedside-mode .trace-note strong:nth-of-type(1){color:#21e86c}.cal-trace-card.bedside-mode .trace-note strong:nth-of-type(2){color:#ff4438}.cal-trace-card.bedside-mode .trace-note strong:nth-of-type(3){color:#70ecff}.cal-trace-card.bedside-mode .trace-style-switch{border-color:#24423e;background:#071411}.cal-trace-card.bedside-mode .trace-style-switch button{color:#78968d}.cal-trace-card.bedside-mode .trace-style-switch button.active{background:#15372e;color:#7fffb1;box-shadow:inset 0 0 0 1px #276951}
.time-axis { display: flex; justify-content: space-between; padding: 0 8px; color: var(--dim); font-size: .65rem; }
.control-group { margin-bottom: 17px; }
.control-group label,.control-group legend { display: block; color: #b8cbd1; font-size: .82rem; font-weight: 750; margin-bottom: 8px; }
.control-group select { width: 100%; border: 1px solid #29404d; border-radius: 11px; background: #07151f; color: var(--ink); padding: 12px 38px 12px 12px; }
.drug-class { margin: 7px 2px 0; color: var(--cyan); font-size: .75rem; }
.segmented-field { padding: 0; border: 0; }
.segmented { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; padding: 4px; background: #06131c; border: 1px solid #223846; border-radius: 12px; }
#routeControl { grid-template-columns: repeat(2,1fr); }
.segmented button { padding: 9px 7px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); cursor: pointer; font-size: .78rem; font-weight: 700; }
.segmented button.active { background: #16362f; color: var(--mint); box-shadow: inset 0 0 0 1px #286653; }
.segmented-field small { display: block; color: var(--dim); margin-top: 6px; font-size: .68rem; }
.switch-row { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 14px 0; margin-bottom: 18px; cursor: pointer; }
.switch-row > span:first-child { flex: 1; }.switch-row strong,.switch-row small { display: block; }.switch-row strong { font-size: .83rem; }.switch-row small { color: var(--dim); margin-top: 3px; font-size: .7rem; }
.switch-row input { position: absolute; opacity: 0; }.switch { width: 41px; height: 23px; background: #263947; border-radius: 99px; position: relative; transition: .2s; }.switch::after { content:""; position:absolute; width:17px; height:17px; border-radius:50%; background:#97aab1; left:3px; top:3px; transition:.2s; }.switch-row input:checked + .switch { background:#1c5e4c; }.switch-row input:checked + .switch::after { left:21px; background:var(--mint); }
.prediction-card { background: #07141e; border: 1px solid #223947; border-radius: 14px; padding: 14px; }
.prediction-title { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; font-size: .82rem; }.prediction-title span { width: 27px; height: 27px; display:grid; place-items:center; border:1px solid #315565; border-radius:8px; color:var(--cyan); font-size:.66rem; }
.prediction-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; }.prediction-row > span { color:#aabfc6; font-size:.77rem; }.prediction-row div { display:flex; gap:4px; }.prediction-row button { width:32px; height:30px; border:1px solid #29414e; border-radius:7px; background:#0a1c27; color:#8299a2; cursor:pointer; font-weight:800; }.prediction-row button.selected { color:#06121b; background:var(--cyan); border-color:var(--cyan); }
.prediction-hint { color: var(--dim); font-size: .68rem; margin: 9px 0 0; min-height: 1em; }
.primary-actions { margin-top: 14px; display: grid; gap: 8px; }.administer-button { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; border-radius:12px; background:linear-gradient(100deg,#34dba7,#45c9e8); color:#04131a; padding:13px 15px; cursor:pointer; font-weight:850; box-shadow:0 9px 25px rgba(57,230,176,.16); }.administer-button:hover { filter:brightness(1.08); }.administer-button:disabled { opacity:.48; cursor:not-allowed; }.pause-button { width:100%; display:flex; align-items:center; justify-content:center; gap:9px; border:1px solid #3b6677; border-radius:10px; background:#102633; color:var(--cyan); padding:10px 14px; cursor:pointer; font-weight:800; }.pause-button:hover:not(:disabled) { border-color:var(--cyan); background:#153241; }.pause-button[aria-pressed="true"] { border-color:var(--amber); background:rgba(255,193,92,.1); color:var(--amber); }.pause-button:disabled { opacity:.42; cursor:not-allowed; }.reset-button { width:100%; }
.haemodynamic-strip { grid-column:1/-1; padding:16px 20px; display:grid; grid-template-columns:minmax(260px,1.25fr) repeat(2,minmax(220px,.75fr)); gap:12px; align-items:stretch; }
.haemodynamic-intro { display:flex; flex-direction:column; justify-content:center; padding:3px 4px; }.haemodynamic-intro h2{margin-bottom:5px}.haemodynamic-intro small{color:var(--muted);font-size:.74rem;line-height:1.4}
.response-indicator { min-width:0; display:grid; grid-template-columns:52px minmax(0,1fr) 42px; gap:12px; align-items:center; padding:13px 14px; border:1px solid #29434f; border-radius:13px; background:#071722; transition:border-color .25s,background .25s,transform .25s; }
.indicator-abbreviation { width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#102734;color:var(--cyan);font-weight:900;font-size:.82rem;letter-spacing:.04em; }
.response-indicator div{min-width:0}.response-indicator strong,.response-indicator small{display:block}.response-indicator strong{font-size:.92rem}.response-indicator small{margin-top:4px;color:var(--muted);font-size:.72rem}.response-indicator b{font-size:1.65rem;text-align:center;color:var(--muted)}
.response-indicator.up{border-color:#286653;background:rgba(57,230,176,.07);transform:translateY(-1px)}.response-indicator.up .indicator-abbreviation,.response-indicator.up b{color:var(--mint)}
.response-indicator.down{border-color:#77404a;background:rgba(255,101,119,.07);transform:translateY(1px)}.response-indicator.down .indicator-abbreviation,.response-indicator.down b{color:var(--red)}
.response-indicator.same{border-color:#40515a}.response-indicator.same .indicator-abbreviation,.response-indicator.same b{color:var(--amber)}
.results-panel { grid-column: 1/-1; padding: 22px; }
.score-chip { border:1px solid #274655; background:#0a1a25; border-radius:999px; padding:8px 12px; color:#b6cbd2; font-size:.76rem; }
.empty-result { min-height: 170px; display: grid; place-items: center; align-content: center; gap: 10px; color: var(--muted); text-align: center; }.empty-result p { max-width: 500px; margin:0; line-height:1.55; }.empty-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; border:1px solid #2c4f5e; color:var(--cyan); font-weight:900; background:#0c2330; }
.mechanism-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin:4px 0 18px; }.mechanism-step { min-height:96px; display:flex; flex-direction:column; justify-content:center; padding:13px; border:1px solid #28505d; border-radius:13px; background:#091a25; position:relative; }.mechanism-step:not(:last-child)::after { content:"→"; position:absolute; right:-17px; top:50%; transform:translateY(-50%); color:var(--cyan); font-weight:900; }.mechanism-step small { color:var(--cyan); font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.mechanism-step strong { font-size:.84rem; line-height:1.35; margin-top:5px; }
.result-grid { display:grid; grid-template-columns:1.15fr 1fr .9fr; gap:12px; }.explanation-card { border:1px solid var(--line); border-radius:14px; padding:17px; background:rgba(5,16,25,.7); }.explanation-card h3 { margin-bottom:8px; }.explanation-card p { color:#a9bcc3; line-height:1.6; font-size:.84rem; margin-bottom:0; }.teaching-point { border-color:#4a4226; background:linear-gradient(135deg,rgba(244,189,85,.09),rgba(5,16,25,.7)); }.prediction-review-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; color:#9fb2b9; font-size:.77rem; }.prediction-review-row b.correct{color:var(--mint)}.prediction-review-row b.wrong{color:var(--red)}
.challenge-card { margin-top:12px; padding:18px; border:1px solid #2b4050; border-radius:14px; background:#07131d; display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:18px; align-items:center; }.challenge-card h3 { margin:0; line-height:1.45; }.challenge-options { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.challenge-options button { text-align:left; border:1px solid #29414f; border-radius:9px; background:#0b1c27; color:#b8c9cf; padding:10px; cursor:pointer; font-size:.77rem; }.challenge-options button:hover { border-color:#4d7281; }.challenge-options button.correct { border-color:var(--mint); color:var(--mint); background:rgba(57,230,176,.08); }.challenge-options button.incorrect { border-color:var(--red); color:var(--red); }.challenge-feedback { grid-column:2; min-height:1em; margin:0; color:var(--muted); font-size:.76rem; }
dialog { width:min(620px,calc(100% - 28px)); border:1px solid #2c4a58; border-radius:18px; padding:23px; color:var(--ink); background:#0b1b26; box-shadow:0 30px 100px #000; }dialog::backdrop{background:rgba(2,8,13,.78);backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head button{border:0;background:transparent;color:#b7c8ce;font-size:1.8rem;cursor:pointer}.dialog-head h2{font-size:1.35rem}dialog ol{list-style:none;padding:0;margin:22px 0;display:grid;gap:15px}dialog li{display:flex;gap:13px;align-items:start}dialog li>span{flex:0 0 30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#12352e;color:var(--mint);font-weight:900}dialog li strong{font-size:.9rem}dialog li p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}.dialog-note{border-top:1px solid var(--line);padding-top:14px;margin:0;color:var(--amber);font-size:.76rem;line-height:1.5}
.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,20px); opacity:0; pointer-events:none; padding:11px 16px; background:#dffcf3; color:#052218; border-radius:10px; font-weight:750; font-size:.82rem; box-shadow:0 15px 40px #0008; transition:.25s; z-index:30; }.toast.show{opacity:1;transform:translate(-50%,0)}
.quiz-dialog { width:min(780px,calc(100% - 28px)); max-height:88vh; overflow:auto; }.quiz-intro{color:var(--muted);font-size:.84rem}.quiz-question{border-top:1px solid var(--line);padding:16px 0}.quiz-question h3{line-height:1.45;margin-bottom:10px}.quiz-question label{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;margin:5px 0;border:1px solid #233c49;border-radius:9px;color:#afc1c7;font-size:.8rem;cursor:pointer}.quiz-question label:hover{background:#0d2330}.quiz-question label.correct{border-color:var(--mint);color:var(--mint)}.quiz-question label.incorrect{border-color:var(--red);color:var(--red)}.quiz-question input{margin-top:3px;accent-color:var(--cyan)}.quiz-footer{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;position:sticky;bottom:-23px;background:#0b1b26;padding:14px 0 23px}.quiz-result{padding:14px;border-radius:11px;background:#07151f;color:var(--mint);font-weight:800;text-align:center;min-height:48px}
@media(max-width:1180px){.topbar{grid-template-columns:auto 1fr;gap:12px 20px;padding-bottom:16px}.brand-logo{width:auto;height:78px;transform:translateY(-3px)}.emblem-window{width:72px;height:78px;flex-basis:72px}.brand-copy strong{font-size:.95rem}.brand-copy span{font-size:.8rem}.title-lockup{justify-self:end}.header-actions{grid-column:1/-1;justify-self:center}.header-waves{height:88px;opacity:.58}}
@media(max-width:1020px){.app-shell{grid-template-columns:1fr}.control-panel{position:static}.haemodynamic-strip,.results-panel{grid-column:auto}.haemodynamic-strip{grid-template-columns:1fr 1fr}.haemodynamic-intro{grid-column:1/-1}.vital-grid{grid-template-columns:repeat(2,1fr)}.result-grid{grid-template-columns:1fr 1fr}.prediction-review{grid-column:1/-1}.mechanism-flow{grid-template-columns:1fr}.mechanism-step{min-height:72px}.mechanism-step:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-20px;transform:translateX(-50%)}.challenge-card{grid-template-columns:1fr}.challenge-feedback{grid-column:1}}
@media(max-width:640px){.topbar{position:static;grid-template-columns:1fr;justify-items:center;padding:12px 16px 18px}.brand,.title-lockup,.header-actions{justify-self:center}.brand{gap:10px}.brand-copy strong{font-size:.94rem}.brand-copy span{font-size:.8rem}.brand-logo{width:auto;height:76px;transform:translateY(-2px)}.emblem-window{width:70px;height:76px;flex-basis:70px}.brand-divider{height:55px}.site-title{white-space:normal}.title-signal{margin-top:9px}.header-actions{grid-column:auto;width:100%;flex-direction:row;justify-content:center;flex-wrap:wrap}.header-waves{height:105px;opacity:.48}.ghost-button{font-size:.72rem;padding:8px}.app-shell{padding:12px}.monitor-panel,.control-panel,.results-panel,.haemodynamic-strip{padding:16px;border-radius:14px}.haemodynamic-strip{grid-template-columns:1fr}.haemodynamic-intro{grid-column:auto}.vital-grid{grid-template-columns:1fr 1fr}.vital-card{padding:12px}.vital-label{min-height:28px}.monitor-heading,.results-header{align-items:flex-start}.patient-status{font-size:.7rem}.result-grid{grid-template-columns:1fr}.prediction-review{grid-column:auto}.challenge-options{grid-template-columns:1fr}.score-chip{font-size:.68rem}.trace-head{align-items:flex-start;flex-direction:column}.trace-style-switch{width:100%}.trace-style-switch button{flex:1}.trace-legend{justify-content:flex-start;flex-wrap:wrap}.trace-card canvas{height:220px}.axis-wrap{grid-template-columns:48px minmax(0,1fr) 48px}.y-axis strong{font-size:.52rem;white-space:normal}.y-axis small{font-size:.48rem}.axis-values{font-size:.6rem}.cal-trace-card .time-axis{padding-left:53px;padding-right:53px}.trace-note{margin-left:53px;margin-right:53px}.cal-trace-card.bedside-mode .time-axis{padding-left:8px;padding-right:8px}.cal-trace-card.bedside-mode .trace-note{margin-left:8px;margin-right:8px}}
@media(max-width:640px){.title-lockup{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
