:root{--bg:#f6f7f9;--surface:#fff;--surface-alt:#eef1f5;--text:#15181d;--text-dim:#5b6472;--border:#d9dee6;--accent:#1b5fbe;--accent-text:#fff;--warn-bg:#fff6e0;--warn-border:#e0b64a;--warn-text:#6b4a05;--stage-prep:#2f6fd0;--stage-main:#c2700c;--stage-final:#1f8a4c;--stage-prep-soft:#e4edfb;--stage-main-soft:#fbeedb;--stage-final-soft:#e1f3e8;--radius:12px;--radius-sm:8px;--tap:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#11141a;--surface:#1a1f27;--surface-alt:#222935;--text:#eef1f6;--text-dim:#9aa5b4;--border:#2f3744;--accent:#5b9bf5;--accent-text:#0b0e13;--warn-bg:#2e2510;--warn-border:#7d6320;--warn-text:#f0d79a;--stage-prep:#7aa9f0;--stage-main:#e3a254;--stage-final:#62c48b;--stage-prep-soft:#1d2a3d;--stage-main-soft:#332715;--stage-final-soft:#16301f}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);overflow-wrap:break-word;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}button{font:inherit;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:0 16px}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.editor{gap:12px;margin-top:12px;display:grid}.editor-status{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);gap:6px;padding:12px;font-size:14px;display:grid}.editor-status p{margin:0}.editor-dim{color:var(--text-dim);font-size:13px}.editor-warn,.editor-pending{border-radius:var(--radius-sm);background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);padding:8px 10px;font-size:13px}.editor-actions{grid-template-columns:1fr;gap:8px;display:grid}@media (width>=560px){.editor-actions{grid-template-columns:repeat(3,1fr)}}.editor-count{color:var(--text-dim);margin:0;font-size:13px}.edit-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.edit-step{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);gap:10px;padding:12px;display:grid}.edit-step[data-stage=prep]{border-left-color:var(--stage-prep)}.edit-step[data-stage=main]{border-left-color:var(--stage-main)}.edit-step[data-stage=final]{border-left-color:var(--stage-final)}.edit-head{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.edit-field{gap:4px;display:grid}.edit-inline{flex:130px;min-width:0}.edit-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:12px}.edit-hint{text-transform:none;letter-spacing:0;opacity:.85}.edit-step select,.edit-step input,.edit-step textarea{font:inherit;width:100%;min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:8px 10px}.edit-step textarea{resize:vertical;line-height:1.4}.edit-row{gap:8px;display:flex}.edit-row input{flex:auto}.edit-row button{flex:none}.edit-delete{min-height:40px;color:var(--warn-text);background:var(--warn-bg);border-color:var(--warn-border);flex:none;padding:0 12px}.edit-verbatim{border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--text-dim);margin:0;padding:8px 10px;font-size:13px}.library{gap:8px;margin-top:16px;display:grid}.library h2{margin:0;font-size:16px}.library-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.library-item{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.library-open{text-align:left;background:0 0;border:none;flex:auto;gap:2px;min-width:0;padding:0;display:grid}.library-title{font-weight:600}.library-meta{color:var(--text-dim);font-size:12px}.library-tag{background:var(--stage-final-soft);color:var(--stage-final);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.library-tag[data-kind=draft]{background:var(--warn-bg);color:var(--warn-text)}.library-remove{flex:none;min-height:40px;padding:0 12px}.visual{gap:6px;margin:0;display:grid}.visual-svg{border-radius:var(--radius-sm);background:var(--surface-alt);width:100%;height:auto;display:block}.visual[data-playing=false] .visual-svg *{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.visual .visual-svg *{animation:none!important}}.visual-caption{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.visual-note{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.visual{--skin:#e8b08c;--skin-dark:#d1976f;--equip:#6b7585;--equip-dark:#4a5361;--cuff:#3f6fb5;--water:#5aa9e6;--soap:#cfe4f5;--skin-line:#a86f48}@media (prefers-color-scheme:dark){.visual{--skin:#c7916c;--skin-dark:#a97553;--equip:#7b8697;--equip-dark:#59616f;--cuff:#4e82cc;--water:#4b93cc;--soap:#9fc2dc;--skin-line:#8a5c3e}}.skin{fill:var(--skin)}.skin-shade{fill:var(--skin-dark)}.metal{fill:var(--equip)}.table,.chair-seat{fill:var(--equip-dark)}.chair,.figure-body{stroke:var(--equip);stroke-width:7px;stroke-linecap:round}.figure{fill:var(--equip)}.ring{fill:#e8c75a}.watch{fill:var(--equip-dark)}.bottle{fill:var(--soap)}.bottle-alt{fill:#a7d9c0}.drop{fill:var(--soap)}.bubble{fill:var(--soap);opacity:.85}.towel{fill:#f2f4f8}.towel-line{stroke:#d4d9e2;stroke-width:2px}.water-fill{fill:var(--water)}.fingertip{fill:var(--skin-dark)}.cuff{fill:var(--cuff)}.cuff-band{fill:#2d5590}.tube{stroke:var(--equip);stroke-width:4px;stroke-linecap:round}.bulb{fill:var(--equip)}.valve{fill:#c0563f}.valve-open{fill:#4e9a63}.air-line{stroke:var(--water);stroke-width:3px;stroke-linecap:round}.membrane{fill:var(--equip);stroke:var(--equip-dark);stroke-width:3px}.fossa{fill:#c0563f;opacity:.75}.wave{stroke:#c0563f;stroke-width:3px;stroke-linecap:round}.gauge-face{fill:var(--equip-dark)}.gauge-inner{fill:#f4f6fa}.gauge-tick{stroke:var(--equip);stroke-width:2px}.gauge-needle{stroke:#c0563f;stroke-width:3.5px;stroke-linecap:round}.gauge-pin{fill:var(--equip-dark)}.gauge-reading{fill:var(--equip-dark);text-anchor:middle;font-size:13px;font-weight:700}.arrow-line{stroke:var(--text-dim);stroke-width:3px;stroke-linecap:round}.arrow-head{fill:var(--text-dim)}.arrow-dim{opacity:.55}.measure-line{stroke:var(--stage-main);stroke-width:2.5px;stroke-linecap:round}.tag-bg{fill:var(--surface);stroke:var(--border);stroke-width:1px}.tag-accent{fill:var(--stage-main-soft);stroke:var(--stage-main)}.tag-text{fill:var(--text-dim);text-anchor:middle;font-size:12px;font-weight:600}.tag-text-accent{fill:var(--stage-main)}.bubble-box{fill:var(--surface);stroke:var(--border);stroke-width:2px}.bubble-text{fill:var(--text);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}@keyframes rub-x{0%,to{transform:translate(-11px)}50%{transform:translate(11px)}}@keyframes rub-y{0%,to{transform:translateY(-7px)}50%{transform:translateY(7px)}}.rub-x{animation:1.1s ease-in-out infinite rub-x}.rub-x-reverse{animation:1.1s ease-in-out infinite reverse rub-x}.rub-y{animation:1.2s ease-in-out infinite rub-y}.rub-y-reverse{animation:1.2s ease-in-out infinite reverse rub-y}@keyframes spin{to{transform:rotate(360deg)}}.spin-slow{transform-box:fill-box;transform-origin:50%;animation:3.2s linear infinite spin}@keyframes orbit{to{transform:rotate(360deg)}}.orbit{animation:2.4s linear infinite orbit}@keyframes pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.pulse{transform-origin:136px 121px;transform-box:view-box;animation:.9s ease-in-out infinite pulse}@keyframes fade-pulse{0%,to{opacity:.15}50%{opacity:1}}.fade-pulse{animation:1.1s ease-in-out infinite fade-pulse}.fade-pulse-late{animation:1.1s ease-in-out .55s infinite fade-pulse}@keyframes drop-fall{0%{opacity:0;transform:translateY(0)}15%{opacity:1}70%{opacity:1;transform:translateY(44px)}to{opacity:0;transform:translateY(52px)}}.drop-fall{animation:1.8s ease-in infinite drop-fall}@keyframes water-flow{0%{opacity:.5;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}to{opacity:.5;transform:scaleY(.4)}}.water{transform-origin:top;transform-box:fill-box;animation:1.1s ease-in-out infinite water-flow}@keyframes bubble-rise{0%{opacity:0;transform:translateY(6px)scale(.6)}40%{opacity:.9}to{opacity:0;transform:translateY(-16px)scale(1.1)}}.bubble-1{animation:2.2s ease-out infinite bubble-rise}.bubble-2{animation:2.2s ease-out .4s infinite bubble-rise}.bubble-3{animation:2.2s ease-out .9s infinite bubble-rise}.bubble-4{animation:2.2s ease-out 1.4s infinite bubble-rise}@keyframes slide-off{0%,20%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(-6px,-34px)}to{opacity:0;transform:translate(-8px,-44px)}}.slide-off{animation:2.6s ease-in-out infinite slide-off}.slide-off-late{animation:2.6s ease-in-out .8s infinite slide-off}@keyframes cuff-slide-on{0%{opacity:0;transform:translate(46px)}45%,to{opacity:1;transform:translate(0)}}.cuff-slide-on{animation:2.8s ease-out infinite cuff-slide-on}@keyframes cuff-slide-off{0%,35%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(52px)}}.cuff-slide-off{animation:2.6s ease-in infinite cuff-slide-off}@keyframes cuff-inflate{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.1)}}.cuff-inflate{transform-origin:50%;transform-box:fill-box;animation:1.2s ease-in-out infinite cuff-inflate}@keyframes cuff-deflate{0%{transform:scaleY(1.1)}to{transform:scaleY(.98)}}.cuff-deflate{transform-origin:50%;transform-box:fill-box;animation:4s ease-out infinite cuff-deflate}.cuff-deflate-full{opacity:.85}@keyframes squeeze{0%,to{transform:scale(1)}50%{transform:scale(.84,.92)}}.squeeze{animation:.8s ease-in-out infinite squeeze}@keyframes air-out{0%{opacity:0;transform:translate(0)}30%{opacity:.9}to{opacity:0;transform:translate(16px,-12px)}}.air-1{animation:1.4s ease-out infinite air-out}.air-2{animation:1.4s ease-out .5s infinite air-out}.needle-zero{transform:rotate(0)}@keyframes needle-rise{0%{transform:rotate(0)}70%,to{transform:rotate(228deg)}}.needle-rise{animation:2.4s ease-out infinite needle-rise}@keyframes needle-fall{0%{transform:rotate(228deg)}to{transform:rotate(10deg)}}.needle-fall{animation:5s linear infinite needle-fall}@keyframes needle-hold-high{0%,to{transform:rotate(170deg)}50%{transform:rotate(166deg)}}.needle-hold-high{animation:1s ease-in-out infinite needle-hold-high}@keyframes needle-hold-low{0%,to{transform:rotate(104deg)}50%{transform:rotate(101deg)}}.needle-hold-low{animation:1.2s ease-in-out infinite needle-hold-low}@keyframes wave-out{0%{opacity:0;transform:translate(-6px)}40%{opacity:1}to{opacity:0;transform:translate(6px)}}.wave-1{animation:.9s ease-out infinite wave-out}.wave-2{animation:.9s ease-out .15s infinite wave-out}.wave-3{animation:.9s ease-out .3s infinite wave-out}@keyframes waves-fade{0%{opacity:1}to{opacity:.1}}.waves-fading{animation:3s ease-out infinite waves-fade}@keyframes drop-in{0%{opacity:0;transform:translateY(-26px)}55%,to{opacity:1;transform:translateY(0)}}.drop-in{animation:2.4s ease-out infinite drop-in}@keyframes lift-away{0%,30%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-46px)}}.lift-away{animation:2.6s ease-in infinite lift-away}@keyframes speak-in{0%{opacity:0;transform:scale(.9)}25%,to{opacity:1;transform:scale(1)}}.speak-in{transform-origin:112px 74px;transform-box:view-box;animation:2.6s ease-out infinite speak-in}@keyframes rock{0%,to{transform:rotate(-13deg)}50%{transform:rotate(13deg)}}.rock-slow{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite rock}.tips{stroke:var(--skin);stroke-linecap:round;fill:none}.hand-fill{fill:var(--skin);stroke:var(--skin-line);stroke-width:2.4px;stroke-linejoin:round}.hand-thenar{stroke:none}.hand-thumb{fill:none;stroke:var(--skin);stroke-width:15px;stroke-linecap:round;paint-order:stroke}.hand-crease path{fill:none;stroke:var(--skin-line);stroke-width:1.8px;stroke-linecap:round;opacity:.5}.hand-shade .hand-fill{fill:var(--skin-dark)}.hand-shade .hand-thumb{stroke:var(--skin-dark)}@keyframes circle-move{0%{transform:translate(0)}25%{transform:translate(9px,5px)}50%{transform:translateY(10px)}75%{transform:translate(-9px,5px)}to{transform:translate(0)}}.circle-move{animation:2.4s linear infinite circle-move}.visual{--body:#d9a883;--body-line:#a8794f;--blood:#c0392b;--bandage:#eef1f6;--gear:#5a6474;--alert:#e0a63f}@media (prefers-color-scheme:dark){.visual{--body:#bb8c62;--body-line:#8a5c3e;--blood:#cf4a3a;--bandage:#dfe4ec;--gear:#6e7889;--alert:#e3a254}}.body{fill:var(--body);stroke:var(--body-line);stroke-width:2.2px;stroke-linejoin:round}.body-dim{opacity:.75}.rescuer{fill:var(--gear)}.rescuer-body{stroke:var(--gear);stroke-width:8px;stroke-linecap:round}.wound{fill:var(--blood);stroke:#8e2b20;stroke-width:2px}.blood-drop{fill:var(--blood)}.mouth{fill:#7d2f26}.foreign{fill:var(--gear)}.bandage{fill:var(--bandage);stroke:#c3cad6;stroke-width:1.5px}.bandage-core{fill:#c3cad6}.bandage-tail{stroke:var(--bandage);stroke-width:11px;stroke-linecap:round}.napkin{fill:var(--bandage);stroke:#c3cad6;stroke-width:1.5px}.tourniquet{fill:#3d4b63}.tourniquet-band{fill:#27324a}.tourniquet-ghost{fill:none;stroke:var(--alert);stroke-width:3px;stroke-dasharray:7 6}.stick,.splint{fill:#9a6b3f}.cold-pack{fill:#a9d2ee;stroke:#7fb4d8;stroke-width:2px}.snowflake{stroke:#2f6fd0;stroke-width:3px;stroke-linecap:round}.lens{fill:#aac8f04d;stroke:var(--gear);stroke-width:4px}.lens-handle{stroke:var(--gear);stroke-width:7px;stroke-linecap:round}.warning{fill:var(--alert)}.warning-mark{fill:#2a1d05;text-anchor:middle;font-size:30px;font-weight:800}.check-mark{stroke:var(--stage-final);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.cross-mark{fill:var(--blood);text-anchor:middle;font-size:34px;font-weight:800}.cross-small{font-size:24px}.gloved .hand-fill{fill:#cfe4f5;stroke:#9db9cf}.gloved .hand-thumb{stroke:#cfe4f5}.gloved .hand-crease path{stroke:#9db9cf}.aed-body{fill:var(--gear)}.aed-screen{fill:#1d2531}.aed-power{fill:#8d97a7}.aed-power-on{fill:#4e9a63}.pad{fill:#e8e2d2;stroke:var(--gear);stroke-width:2px}.pad-wire{stroke:var(--gear);stroke-width:3px}.bolt{fill:var(--alert)}.phone{fill:var(--gear)}.phone-screen{fill:#1d2531}.phone-number{fill:#eef1f6;text-anchor:middle;font-size:26px;font-weight:800}.phone-button{fill:#8d97a7}.note{fill:var(--bandage);stroke:#c3cad6;stroke-width:2px}.note-time{fill:#1d2531;text-anchor:middle;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.cycle-text{fill:var(--text);text-anchor:middle;font-size:46px;font-weight:800}.bubble-line{fill:var(--text);text-anchor:middle;font-size:17px;font-weight:700}.bubble-small{fill:var(--text);text-anchor:middle;font-size:14px;font-weight:600}.breath{stroke:#5aa9e6;stroke-width:5px;stroke-linecap:round}.pulse-carotid{transform-origin:152px 92px;transform-box:view-box;animation:.9s ease-in-out infinite pulse}@keyframes press-down{0%,to{transform:translateY(0)}50%{transform:translateY(13px)}}.press{animation:.75s ease-in-out infinite press-down}@keyframes shake{0%,to{transform:translate(-5px)}50%{transform:translate(5px)}}.shake{animation:.5s ease-in-out infinite shake}@keyframes pan-x{0%,to{transform:translate(-34px)}50%{transform:translate(34px)}}.pan-x{animation:3s ease-in-out infinite pan-x}@keyframes breath-in{0%{opacity:0;transform:translate(14px)}40%{opacity:1}to{opacity:0;transform:translate(-10px)}}.breath-in{animation:2s ease-in-out infinite breath-in}@keyframes flash{0%,70%,to{opacity:.25}80%{opacity:1}}.flash{animation:1.6s ease-in-out infinite flash}@keyframes blood-fall{0%{opacity:0;transform:translateY(-6px)}30%{opacity:1}to{opacity:0;transform:translateY(16px)}}.blood-1{animation:1.6s ease-in infinite blood-fall}.blood-2{animation:1.6s ease-in .45s infinite blood-fall}.blood-3{animation:1.6s ease-in .9s infinite blood-fall}@keyframes twist-turn{0%,to{transform:rotate(-20deg)}50%{transform:rotate(32deg)}}.twist{animation:2.2s ease-in-out infinite twist-turn}@keyframes stretch{0%,to{opacity:.55}50%{opacity:1}}.stretch{animation:1.4s ease-in-out infinite stretch}.tourniquet-band.stretch{stroke:#3d4b63;stroke-width:13px;stroke-linecap:round}@keyframes pack-in{0%{opacity:.3}60%,to{opacity:1}}.pack-in{animation:1.8s ease-out infinite pack-in}.pack-press{animation:1.8s ease-in-out infinite press-down}.arm-highlight{animation:2.4s ease-in-out infinite alternate fade-pulse}@keyframes roll{0%,to{opacity:.45}50%{opacity:1}}.roll-arrow{color:var(--accent);animation:1.6s ease-in-out infinite roll}.look{animation:1.8s ease-in-out infinite fade-pulse}.cold{animation:2s ease-in-out infinite fade-pulse}.hands-away{opacity:.5}.body-accent{fill:var(--body-line)}.eye{fill:#2c3340}.cloth{fill:#4e5b70}.roll{fill:var(--bandage);stroke:#c3cad6;stroke-width:2px}.kerchief{fill:var(--bandage);stroke:#c3cad6;stroke-width:2px;opacity:.92}.kerchief-fold{fill:#c3cad6}.film{fill:#aad2f073;stroke:#7fb4d8;stroke-width:2.5px}.tie-cut{stroke:var(--surface-alt);stroke-width:3px;stroke-linecap:round}.collar{fill:var(--bandage);stroke:#c3cad6;stroke-width:2px}.collar-band{fill:#c3cad6}.board{fill:#9a6b3f}@keyframes slide-away{0%,25%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(34px)}}.slide-away{animation:2.6s ease-in-out infinite slide-away}@keyframes run-draw{0%{opacity:.2}60%,to{opacity:1}}.run{animation:1.8s ease-out infinite run-draw}@keyframes cover-in{0%{opacity:.25}70%,to{opacity:1}}.cover-in{animation:2.2s ease-out infinite cover-in}@keyframes bend{0%,to{transform:skew(0)}50%{transform:skew(-5deg)}}.bend{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite bend}.splint-frame{fill:#8d97a7;stroke:#5a6474;stroke-width:2px}.splint-rung{fill:#5a6474}.kerchief-tie{stroke:var(--bandage);stroke-width:9px;stroke-linecap:round}.tie-ends{stroke:#9aa5b4;stroke-width:9px;stroke-linecap:round}.knot{fill:var(--bandage);stroke:#8d97a7;stroke-width:2.5px}.copy-arrow{stroke:var(--stage-main);stroke-width:5px;stroke-linecap:round}.copy-head{fill:var(--stage-main)}.joint{fill:var(--body-line);opacity:.45}.rib{stroke:var(--body-line);stroke-width:3px;stroke-linecap:round;opacity:.5}.player{gap:12px;margin-top:12px;display:grid}.voice-note{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.voice-note.warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:var(--radius-sm);padding:10px 12px}.voice-note select{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:36px;color:var(--text);padding:0 8px}.slide{border-radius:var(--radius);border:1px solid var(--border);border-top:5px solid var(--border);background:var(--surface);flex-direction:column;gap:12px;min-height:300px;padding:16px;display:flex;position:relative}.slide[data-stage=prep]{border-top-color:var(--stage-prep)}.slide[data-stage=main]{border-top-color:var(--stage-main)}.slide[data-stage=final]{border-top-color:var(--stage-final)}.slide-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.slide-form{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);text-align:right;font-size:12px}.slide-body{align-items:flex-start;gap:12px;display:flex}.slide-number{background:var(--surface-alt);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;font-weight:800;display:inline-flex}.slide-text{margin:0;font-size:19px;line-height:1.4}.slide-line[data-state=past]{opacity:.45}.slide-line[data-state=future]{opacity:.7}.accent{color:inherit;background:0 0;border-bottom:2px solid;padding-bottom:1px;font-weight:800}.slide[data-stage=prep] .accent{color:var(--stage-prep)}.slide[data-stage=main] .accent{color:var(--stage-main)}.slide[data-stage=final] .accent{color:var(--stage-final)}.slide-footnote{border-left:2px solid var(--border);color:var(--text-dim);margin:0;padding-left:10px;font-size:13px}.player-done{border-radius:var(--radius-sm);background:var(--stage-final-soft);color:var(--stage-final);text-align:center;margin:0;padding:10px 12px;font-weight:600}.captions{border-radius:var(--radius);color:#f4f6fa;border:1px solid var(--border);background:#10131a;align-items:center;min-height:72px;padding:12px 14px;display:flex}.captions p{margin:0;font-size:16px;line-height:1.4}.captions .accent{color:#ffd98a}.progress{gap:3px;display:flex}.progress-seg{background:var(--border);border:none;border-radius:3px;flex:1 1 0;min-width:0;height:10px;min-height:0;padding:0}.progress-seg[data-state=done]{opacity:.75}.progress-seg[data-state=done][data-stage=prep],.progress-seg[data-state=current][data-stage=prep]{background:var(--stage-prep)}.progress-seg[data-state=done][data-stage=main],.progress-seg[data-state=current][data-stage=main]{background:var(--stage-main)}.progress-seg[data-state=done][data-stage=final],.progress-seg[data-state=current][data-stage=final]{background:var(--stage-final)}.progress-seg[data-state=current]{height:14px;margin-top:-2px}.controls{align-items:center;gap:8px;display:flex}.control{flex:auto;font-size:20px;line-height:1}.control-main{flex:2 auto;font-size:24px}.counter{text-align:right;min-width:56px;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:14px}.modes{gap:6px;display:grid}.mode-row{background:var(--surface-alt);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:6px;padding:4px;display:grid}@media (width>=620px){.mode-row{grid-template-columns:repeat(4,1fr)}}.mode{color:var(--text-dim);border-radius:var(--radius-sm);background:0 0;border:none;padding:0 8px;font-size:14px;font-weight:600}.mode[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.mode-hint{color:var(--text-dim);margin:0;font-size:13px}.repeat-banner{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.repeat-banner[data-phase=pause]{background:var(--stage-main-soft);color:var(--stage-main)}.repeat-banner[data-phase=replay]{background:var(--stage-final-soft);color:var(--stage-final)}.repeat-left{text-align:center;font-variant-numeric:tabular-nums;min-width:24px;font-size:18px}.repeat-track{background:#80808040;border-radius:3px;flex:auto;height:6px;overflow:hidden}.repeat-fill{transform-origin:0;background:currentColor;height:100%;transition:transform .12s linear;display:block}.exam{gap:12px;display:grid}.exam-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.exam-clock{font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.exam-count{color:var(--text-dim);flex:auto;font-size:13px}.exam-bar button{min-height:40px;padding:0 14px}.exam-grid{gap:8px;margin:0;padding:0;list-style:none;display:grid}.exam-step{text-align:left;border-radius:var(--radius);border:1px solid var(--border);border-left:4px solid var(--border);background:var(--surface);align-items:flex-start;gap:12px;width:100%;min-height:56px;padding:12px;display:flex}.exam-step[data-stage=prep]{border-left-color:var(--stage-prep)}.exam-step[data-stage=main]{border-left-color:var(--stage-main)}.exam-step[data-stage=final]{border-left-color:var(--stage-final)}.exam-number{background:var(--surface-alt);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-weight:800;display:inline-flex}.exam-text{flex:auto;font-size:15px;font-weight:400;line-height:1.4}.cheatsheet{gap:10px;display:grid}.cheat-bar{align-items:center;gap:10px;display:flex}.cheat-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:13px}.cheat-list{gap:8px;max-height:60vh;margin:0;padding:0;scroll-padding:40% 0;list-style:none;display:grid;overflow-y:auto}.cheat-item{border-radius:var(--radius-sm);border-left:4px solid var(--border);background:var(--surface);cursor:pointer;gap:10px;padding:10px 12px;transition:opacity .15s linear;display:flex}.cheat-item[data-stage=prep]{border-left-color:var(--stage-prep)}.cheat-item[data-stage=main]{border-left-color:var(--stage-main)}.cheat-item[data-stage=final]{border-left-color:var(--stage-final)}.cheat-item[data-state=past]{opacity:.4}.cheat-item[data-state=future]{opacity:.75}.cheat-item[data-state=current]{opacity:1;outline:2px solid var(--accent)}.cheat-number{font-variant-numeric:tabular-nums;flex:none;width:26px;font-weight:800}.cheat-body{gap:2px;display:grid}.cheat-stage{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:11px}.cheat-text{font-size:15px;line-height:1.35}.record-bar{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.record-bar span{flex:auto}.record-bar button{flex:none;min-height:38px;padding:0 14px}.record-bar[data-state=recording]{background:#c0563f1f;border-color:#c0563f}.record-bar[data-state=done]{border-color:var(--stage-final);background:var(--stage-final-soft)}.record-bar[data-state=error]{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn-text)}.record-dot{background:#c0563f;border-radius:50%;flex:none;width:11px;height:11px;animation:1.1s ease-in-out infinite rec-blink}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.25}}.record-note{color:var(--text-dim);margin:0;font-size:13px}.player[data-recording=true] .modes,.player[data-recording=true] .voice-note,.player[data-recording=true] .progress,.player[data-recording=true] .controls{display:none}.player[data-recording=true] .record-bar{z-index:10;opacity:.35;width:auto;max-width:300px;position:fixed;bottom:12px;right:12px}.player[data-recording=true] .record-bar:hover{opacity:1}.app[data-recording=true] .app-head,.app[data-recording=true] .sources,.app[data-recording=true] .tabs,.app[data-recording=true] .library,.app[data-recording=true] .app-bar{display:none}.app{max-width:760px;margin:0 auto;padding:16px 16px 48px}.app-head h1{margin:8px 0;font-size:22px;line-height:1.25}.lede,.note,.protocol-meta{color:var(--text-dim);margin:8px 0;font-size:14px}.note.error{color:var(--warn-text);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-sm);padding:12px}.sources{flex-wrap:wrap;gap:8px;margin:16px 0 8px;display:flex}.sources button{flex:auto;min-width:140px}.protocol-head h2{margin:24px 0 4px;font-size:19px}.stage h3{align-items:center;gap:8px;margin:24px 0 8px;font-size:15px;display:flex}.stage-count{color:var(--text-dim);font-size:13px;font-weight:400}.badge{border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-block}.badge[data-stage=prep]{background:var(--stage-prep-soft);color:var(--stage-prep)}.badge[data-stage=main]{background:var(--stage-main-soft);color:var(--stage-main)}.badge[data-stage=final]{background:var(--stage-final-soft);color:var(--stage-final)}.steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.step{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius);padding:12px}.step[data-stage=prep]{border-left-color:var(--stage-prep)}.step[data-stage=main]{border-left-color:var(--stage-main)}.step[data-stage=final]{border-left-color:var(--stage-final)}.step-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.step-number{background:var(--surface-alt);border-radius:50%;justify-content:center;align-items:center;min-width:26px;height:26px;font-size:14px;font-weight:700;display:inline-flex}.step-form,.step-verbatim{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:12px}.step-verbatim{border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-weight:600}.step-text{margin:0}.step-footnote{border-left:2px solid var(--border);color:var(--text-dim);margin:8px 0 0;padding-left:10px;font-size:14px}.warnings{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-sm);color:var(--warn-text);margin-top:10px;padding:10px 12px;font-size:13px}.warnings-title{margin:0 0 6px;font-weight:700}.warnings ul{gap:6px;margin:0;padding-left:18px;display:grid}.warn-code{opacity:.8;font-family:ui-monospace,Consolas,monospace;font-size:12px}.warn-before{opacity:.85;display:block}.tabs{background:var(--surface-alt);border-radius:var(--radius);gap:6px;margin-top:16px;padding:4px;display:flex}.tab{color:var(--text-dim);border-radius:var(--radius-sm);background:0 0;border:none;flex:1 1 0;font-weight:600}.tab[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.tab-badge{background:var(--warn-border);min-width:20px;color:var(--warn-text);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:12px;display:inline-block}.tab-badge[data-kind=draft]{background:var(--warn-border);color:var(--warn-text);min-width:18px;padding:1px 5px}.app-bar{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;font-size:13px;display:flex}.app-bar[data-kind=offline]{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.app-bar[data-kind=ready]{background:var(--stage-final-soft);border-color:var(--stage-final);color:var(--stage-final)}.app-bar[data-kind=update]{background:var(--stage-prep-soft);border-color:var(--stage-prep);color:var(--stage-prep)}.app-bar span{flex:auto}.app-bar button{flex:none;min-height:36px;padding:0 12px}
