:root{color:#221e1a;background:#d8d2c6;font-family:Outfit,Avenir Next,Segoe UI,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden}button,input{font:inherit}button{background:#221e1a;color:#f6f1e6;border:0;border-radius:999px;padding:8px 14px;cursor:pointer}button:hover{background:#3a332c}button.ghost{background:transparent;color:#221e1a;border:1px solid #c9c1b3}button.ghost:hover{background:#efe8db}button[aria-pressed=true]{background:#0e5e59;color:#f4fffc;border-color:#0e5e59}button:disabled{opacity:.45;cursor:default}#app{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}header{display:flex;align-items:center;gap:24px;padding:10px 18px;background:#f6f1e6;border-bottom:1px solid #ddd4c6}.brand{display:flex;gap:12px;align-items:center;min-width:220px}.brand h1{margin:0;font-family:Fraunces,Palatino,serif;font-size:26px;font-weight:560;letter-spacing:-.03em}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#6e675d}.mark{width:36px;height:36px;border-radius:50%;border:2px solid #0e5e59;background:conic-gradient(from 40deg,#0e5e59 0 25%,transparent 0 50%,#c9842a 0 75%,transparent 0)}.case-meta{flex:1}.case-meta strong{display:block;font-family:Fraunces,Palatino,serif;font-size:20px;font-weight:560}.case-meta span{color:#5e584e;font-size:14px}.header-actions{display:flex;gap:8px}main{display:grid;grid-template-columns:minmax(0,1fr) 400px;min-height:0;overflow:hidden}#viewport{position:relative;background:#1c2320;min-height:0;height:100%;overflow:hidden}#viewport canvas{display:block}#viewport.labels-off .tag{display:none}#alarm-banner{position:absolute;z-index:3;left:14px;right:14px;top:14px;background:#8c3d24;color:#fff8f3;padding:8px 12px;border-radius:10px;font-weight:640}#view-toolbar{position:absolute;z-index:3;left:14px;bottom:40px;display:flex;flex-wrap:wrap;gap:6px}#view-toolbar button{background:#f6f1e6f0;color:#221e1a}#view-hint{position:absolute;z-index:3;left:14px;bottom:12px;margin:0;color:#d9d3c6;font-size:13px}.tag{pointer-events:none;font:520 11px/1.2 Outfit,sans-serif;background:#f6f1e6f0;color:#221e1a;padding:2px 7px;border-radius:999px;border:1px solid rgba(34,30,26,.15);white-space:nowrap}.patient-tag{background:#0e5e59;color:#f4fffc}aside{overflow:auto;background:#efeae0;border-left:1px solid #ddd4c6;padding:16px 16px 24px}#chooser h2,#coach h2{font-family:Fraunces,Palatino,serif;font-weight:560;letter-spacing:-.03em;margin:4px 0 8px}.lede{margin-top:0;color:#4e4942}.group-label{margin:16px 0 8px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#6e675d}.card{display:block;width:100%;text-align:left;background:#f6f1e6;color:#221e1a;border:1px solid #ddd4c6;border-radius:14px;padding:12px 14px;margin-bottom:8px}.card:hover{border-color:#0e5e59;background:#fbf7ef}.card strong{display:block;font-family:Fraunces,Palatino,serif;font-size:18px;font-weight:560}.card span{display:block;margin-top:4px;color:#4e4942;font-size:14px}.monitor-wrap{background:#101614;border-radius:16px;padding:8px;box-shadow:inset 0 0 0 1px #24312c}#monitor{width:100%;height:auto;display:block;border-radius:10px}#coach{padding-top:8px}.coach-head{display:flex;justify-content:space-between;align-items:center;gap:8px}#coach-text,#diag{color:#3c3832}#schematic{width:100%;height:auto;margin:8px 0}#schematic .node,#schematic circle{fill:#f6f1e6;stroke:#8a8174}#schematic text{fill:#221e1a;font:600 11px Outfit,sans-serif}#schematic .label{fill:#5c564c;font-size:10px}#schematic path{fill:none;stroke:#c8c0b2;stroke-width:4;stroke-linecap:round}#schematic.on-circle #path-circle,#schematic.on-nrb #path-nrb{stroke:#0e5e59}#schematic.patient-on #node-patient{fill:#0e5e59;stroke:#0e5e59}#schematic.patient-on .light{fill:#f4fffc}#goals{list-style:none;padding:0;margin:8px 0}#goals li{position:relative;padding:5px 0 5px 22px;color:#3c3832}#goals li:before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;border:2px solid #8a8174}#goals li[data-ok=yes]:before{background:#0e5e59;border-color:#0e5e59}#goals li[data-now=yes]{font-weight:640}#tour-nav{display:flex;align-items:center;gap:8px;margin:8px 0}#btn-reveal,#debrief{margin-top:8px}#debrief{background:#f6f1e6;border-radius:14px;padding:12px 14px;border:1px solid #ddd4c6}#debrief h3{margin:0 0 6px;font-family:Fraunces,Palatino,serif;font-weight:560}#debrief .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}#dock{background:#f6f1e6;border-top:1px solid #ddd4c6;padding:12px 16px 10px;max-height:34vh;overflow:auto}#part-head{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:baseline}#part-name{margin:0;font-family:Fraunces,Palatino,serif;font-size:22px;font-weight:560}#part-body{margin:0;color:#4e4942}#live-readout{margin:8px 0;color:#0e5e59;font-weight:520;min-height:1.2em}#controls{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end}.slider{display:flex;flex-direction:column;gap:4px;min-width:160px;font-size:13px}.slider input{width:180px;accent-color:#0e5e59}.choice{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.choice span{font-size:13px;color:#5c564c;width:100%}.choice button{background:transparent;color:#221e1a;border:1px solid #c9c1b3}.choice button[aria-pressed=true]{background:#0e5e59;color:#f4fffc;border-color:#0e5e59}#part-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}#part-list button{background:transparent;color:#221e1a;border:1px solid #d5cec2;padding:4px 8px;font-size:12px}#part-list button[aria-pressed=true]{background:#0e5e59;color:#fff;border-color:#0e5e59}footer{padding:6px 16px 12px;color:#5c564c;font-size:12px;background:#efeae0}@media(max-width:980px){html,body{height:auto;min-height:100%;overflow:auto}#app{height:auto;min-height:100dvh;max-height:none;overflow:visible}header{flex-wrap:wrap}main{grid-template-columns:1fr;overflow:visible}#viewport{height:52vh;min-height:320px}#dock{max-height:none}#part-head{grid-template-columns:1fr}aside{border-left:0;border-top:1px solid #ddd4c6;overflow:visible}}
