:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#244842;background:#edf3f2}*{box-sizing:border-box}body{margin:0;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom))}button,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #d6e2dd;border-radius:12px;background:#fff;min-height:44px;padding:10px 15px;touch-action:manipulation}button:hover{background:#e5f0e9}button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #e7aa4e;outline-offset:3px}button:disabled{opacity:.5;cursor:default}button[aria-disabled=true]{opacity:.5}header{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:1240px;margin:auto}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-size:23px;font-weight:800;letter-spacing:-1px}.brand b{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px;color:#769087}.mark{width:43px;height:43px;background:#216953;color:white;border-radius:14px;display:grid;place-items:center;font-size:23px;letter-spacing:-6px;padding-right:6px}.header-tools{display:flex;gap:6px}.header-tools button{font-size:12px;background:transparent}.training-note{max-width:1240px;margin:20px auto 0;padding:10px 15px;border-radius:10px;border:1px solid #e6dcc6;background:#f6f1e5;color:#85704c;font-size:11px}.training-note span{font-size:9px;font-weight:800;letter-spacing:1px;margin-right:12px}main{max-width:1240px;margin:0 auto}.intro{display:flex;align-items:center;justify-content:space-between;margin:28px 0 22px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#728f83}h1{font-size:36px;font-weight:600;letter-spacing:-1.6px;margin:9px 0 7px}p{line-height:1.65}h2{font-size:25px;letter-spacing:-.8px;line-height:1.2;margin:15px 0 10px}.intro p{font-size:13px;color:#7a9188;margin:0}.quiet{background:transparent;font-size:12px}.workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,1fr);gap:22px}.practice{background:#f9fbf9;border:1px solid #d8e4de;border-radius:24px;overflow:hidden}.stage-heading{padding:15px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4ece7;font-size:10px;letter-spacing:1.4px;color:#71877c}.stage-heading i{display:inline-block;width:6px;height:6px;background:#66aa80;border-radius:50%;margin-right:7px}.stage-heading button{border:0;background:#edf3ed;font-size:10px;min-height:32px;padding:7px 10px}.simulation{padding:22px 15px 6px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;background:radial-gradient(ellipse at 35% 50%,#f1f4ea,transparent 70%)}.anatomy{min-width:0}.anatomy svg{width:100%;display:block;overflow:visible;touch-action:none}.zone{cursor:pointer;touch-action:none}.zone rect,.zone path{fill:#ffffff30;stroke:#8aa891;stroke-width:2;stroke-dasharray:5 4}.zone text{fill:#6a8f75;font-size:17px}.zone:hover rect,.zone:hover path{fill:#e8c87866}.zone:focus{outline:none}.zone:focus rect,.zone:focus path{stroke:#c18b3b;stroke-width:4}.unguided .zone rect,.unguided .zone path{fill:transparent;stroke:transparent}.unguided .zone text{opacity:0}.applied{pointer-events:none}.device-area{padding:8px 8px 5px}.aed{background:linear-gradient(145deg,#fff,#e2e9e4);border:1px solid #ced8d1;box-shadow:0 12px 0 #d3dcd5,0 18px 25px #2d514221,inset 0 0 0 5px #f4f6ee;border-radius:28px;padding:18px 16px 14px;position:relative}.device-name{font-size:14px;font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:7px}.device-name>span{font-size:22px;color:#397f64;letter-spacing:-5px;margin-right:7px}.device-name small{font-size:7px;color:#86988b;margin-left:auto}.screen{background:#243e38;color:#edf5d4;border:5px solid #d6ded2;border-radius:12px;padding:12px 10px;margin-top:13px;min-height:137px;box-shadow:inset 0 3px 8px #0003}.screen-head{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:1px;color:#9eba99}#led{width:5px;height:5px;background:#84928a;border-radius:50%}.powered #led{background:#b9e480;box-shadow:0 0 6px #b9e480}#screen-text{font-family:ui-monospace,monospace;font-size:14px;line-height:1.5;margin-top:13px;min-height:42px}.wave{width:100%;height:22px;margin-top:8px;opacity:.5}.wave path{stroke:#b3d590;fill:none;stroke-width:1.5}.device-buttons{display:flex;justify-content:space-around;gap:16px;margin:18px 0 14px}.device-buttons button{background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:60px}.device-buttons button>span{width:51px;height:51px;display:grid;place-items:center;border-radius:50%;font-size:29px;color:white;border:4px solid #e1e9db;box-shadow:0 3px 0 #235c4522;background:#4e9063}.device-buttons small{font-size:7px;letter-spacing:1.4px;color:#6f8575}#shock>span{background:#d2aa66;font-size:32px}#shock.armed>span{background:#df873e;box-shadow:0 0 0 5px #efb47f44}#shock.armed{opacity:1}.connector{width:100%;border:1px dashed #a4b7ab;background:#edf2e9;font-size:10px;min-height:35px;padding:5px}.connector span{font-size:18px;vertical-align:middle;margin-right:5px}.connector.connected{border-style:solid;color:#297455}.speaker{text-align:center;letter-spacing:5px;font-size:9px;line-height:6px;color:#becbc0;margin-top:16px}.packet-area{margin-top:26px}#packet{width:100%;background:#eee9d7;border:1px dashed #c6b990;font-size:11px}#pads{display:flex;gap:8px}.pad{flex:1;background:#faf5e8;border:2px solid #d9b26c;box-shadow:0 3px 0 #e7e2d7;min-height:63px;touch-action:none;padding:7px 4px;user-select:none}.pad b{display:block;font-size:20px;font-weight:500}.pad span{font-size:9px}.pad:last-child{border-color:#8db8a8}.pad.selected{outline:3px solid #dfa753;outline-offset:2px}.anatomy-note{font-size:11px;color:#83988b;padding:16px 22px;line-height:1.6;border-top:1px solid #e4ece7;margin-top:10px}.coach,.scenario-card{background:#fff;border:1px solid #d8e4de;border-radius:20px;padding:22px}.coach{box-shadow:0 5px 20px #315c4605}.coach-top{display:flex;justify-content:space-between;align-items:center}#step-count{font-size:11px;color:#6c8c7e}#prompt-description{font-size:13px;color:#6f8479;margin:0 0 15px}#actions{display:grid;gap:8px}#actions button{font-size:13px;text-align:left}.primary,#actions button.primary{background:#256c54;color:white;border-color:#256c54}.primary:hover{background:#19563f}.progress{height:4px;background:#e8efe9;border-radius:9px;margin-top:20px;overflow:hidden}#progress-fill{height:100%;background:#5c9c75;transition:width .3s}.lesson-meta{display:flex;justify-content:space-between;font-size:9px;color:#83968b;margin-top:9px;gap:8px}#feedback{font-size:12px;line-height:1.55;color:#916635;margin-top:10px}#feedback:empty{display:none}.scenario-card{margin-top:15px;background:#f5f8f3;padding:18px 22px}.scenario-card label{display:block;font-size:12px;margin:13px 0 7px}select{width:100%;padding:10px;border:1px solid #d6e0d5;border-radius:10px;color:#436354;background:white;font-size:12px}.scenario-card p{font-size:10px;color:#859588;margin:9px 0}.stats{display:flex;gap:20px;font-size:9px;color:#819583;border-top:1px solid #dce5d9;padding-top:12px}.stats b{display:block;color:#42634d;font-size:19px;font-weight:500}.reminder{padding:17px 8px;color:#869487;font-size:11px}.reminder b{color:#657f6c;font-size:11px}.reminder p{margin:5px 0}.bottom-line{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#81988a;margin-top:14px}.bottom-line button{background:none;border:0;font-size:11px}dialog{width:min(470px,92vw);border:1px solid #d2e1d6;border-radius:23px;padding:27px;color:#315345;max-height:88dvh}dialog::backdrop{background:#1c413969;backdrop-filter:blur(5px)}dialog p,dialog li{font-size:13px;line-height:1.65;color:#75897c}dialog a{color:#276f57}dialog button{margin-top:8px}.stars{font-size:35px;color:#d6a351;letter-spacing:8px}.muted{font-size:11px}.beat{font-size:36px;text-align:center;font-weight:600;color:#307457}.drill-info{font-size:10px;color:#7b8a80}.pulse-button{min-height:64px!important;text-align:center!important;font-size:17px!important}.pulse-button:active{transform:scale(.97)}[hidden]{display:none!important}
@media(max-width:800px){body{padding:12px}.workspace{grid-template-columns:1fr;gap:14px}.intro{margin:21px 0 16px}h1{font-size:29px}.intro p{font-size:11px}.eyebrow{font-size:8px}.brand{font-size:20px}.header-tools{gap:2px}.header-tools button{padding:6px 9px;font-size:10px}.mark{width:37px;height:37px}.training-note{font-size:10px;padding:9px 10px;margin-top:15px}.training-note span{font-size:8px;margin-right:5px}.simulation{max-width:650px;margin:auto;padding:10px 8px 3px;grid-template-columns:1.2fr 1fr}.stage-heading{padding:10px 14px;font-size:9px}.device-area{padding:6px}.aed{padding:13px 10px 11px;border-radius:21px}.device-name{font-size:11px}.device-name small{font-size:6px}.screen{padding:8px 7px;margin-top:8px;min-height:107px;border-width:3px}#screen-text{font-size:11px;margin-top:10px;min-height:33px}.screen-head{font-size:6px}.device-buttons{gap:7px;margin:11px 0}.device-buttons button{min-width:44px}.device-buttons button>span{width:43px;height:43px;font-size:24px}.device-buttons small{font-size:6px}.speaker{margin-top:12px}.connector{font-size:9px}.packet-area{margin-top:20px}.pad{min-height:56px}.pad span{font-size:8px}.anatomy-note{padding:11px 14px;font-size:10px}.coach{padding:20px}.coach h2{font-size:23px}.scenario-card{margin-top:12px}.reminder{padding-bottom:0}#restart{font-size:10px;padding:8px}.bottom-line{font-size:9px}.wave{height:15px}.simulation .anatomy{align-self:center}.practice{border-radius:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
#mobile-cue{display:none}@media(max-width:800px){body{padding-bottom:84px}#mobile-cue{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#244e45f5;border:1px solid #ffffff40;box-shadow:0 5px 20px #25453633;color:#fff;padding:9px 10px 9px 14px;border-radius:15px;z-index:5}#cue-title{font-size:12px}#see-step{font-size:10px;background:#ffffff13;color:#fff;border-color:#ffffff26;white-space:nowrap}}
