:root{--bg:#0b0d12;--panel:#161a23;--line:#343945;--ink:#f7f5f0;--muted:#b9bdc6;--accent:#f26a57;--blue:#77cce4;--green:#a7d8ae;--amber:#f0c27a;--red:#f17b70}
*{box-sizing:border-box}
html,body{height:100%;background:var(--bg);color:var(--ink)}
body{font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC",Arial,sans-serif}
.reveal{font-family:inherit;color:var(--ink);background:var(--bg)}
.reveal .slides section{height:720px;text-align:left;overflow:hidden;background:radial-gradient(circle at 75% 10%,#24212a 0,transparent 35%),var(--bg)}
.reveal .slides section::after{content:"";position:absolute;left:48px;bottom:43px;width:46px;height:4px;background:var(--accent);border-radius:9px}
.reveal .slides section.chapter{background:radial-gradient(circle at 72% 52%,rgba(242,106,87,.20),transparent 38%),linear-gradient(135deg,#0b0d12,#171820)}
.reveal .slides section.chapter.blue{background:radial-gradient(circle at 72% 52%,rgba(119,204,228,.18),transparent 38%),linear-gradient(135deg,#0b0d12,#151a21)}
.reveal .slides section.cover{background:radial-gradient(circle at 80% 60%,rgba(242,106,87,.23),transparent 39%),linear-gradient(135deg,#0b0d12,#171820)}
.reveal .slides section.end{background:radial-gradient(circle at 50% 55%,rgba(119,204,228,.16),transparent 40%),#0b0d12}
.slide{height:100%;display:flex;flex-direction:column;padding:93px 76px 83px;position:relative;z-index:1}
.slide.compact{padding-top:80px}
.kicker{color:var(--accent);font:800 16px/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.kicker.blue{color:var(--blue)}
.reveal h1,.reveal h2,.reveal h3,.reveal p{margin:0;text-transform:none;letter-spacing:normal}
.reveal h1,.reveal h2,.reveal h3{font-family:inherit;font-weight:900;color:var(--ink);line-height:1.16}
.reveal h1{font-size:65px}.reveal h2{font-size:54px}.reveal h3{font-size:31px}
.reveal p,.reveal li{font-size:29px;line-height:1.45;color:var(--muted)}
.reveal strong{color:var(--ink)}
.accent{color:var(--accent)}.blue-text{color:var(--blue)}.green-text{color:var(--green)}.amber-text{color:var(--amber)}
.lede{font-size:29px!important;color:var(--muted)!important;margin-top:20px!important;max-width:1000px}
.small{font-size:21px!important;color:var(--muted)!important}
.tiny{font-size:17px!important;color:var(--muted)!important}
.source{position:absolute;bottom:24px;left:76px;font:15px/1.2 Arial,sans-serif;color:#88909b;max-width:850px}
.source a{color:#9bcadd;text-decoration:none}
.chapter-no{font:900 180px/.85 Arial,sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.07);position:absolute;right:90px;top:170px}
.chapter .chapter-main{margin:auto 0}.chapter h1{font-size:79px;max-width:880px}.chapter .lede{max-width:820px}
.cover h1{font-size:82px;max-width:930px;margin-top:10px}.cover .lede{max-width:850px;font-size:33px!important}.cover .strap{margin-top:38px;font-weight:700;font-size:22px;color:var(--ink)}
.hero-line{display:flex;gap:32px;align-items:center;margin-top:auto}.hero-line .chev{font-size:48px;color:var(--accent)}
.pill{display:inline-block;border:1px solid rgba(242,106,87,.55);color:var(--accent);padding:10px 16px;border-radius:100px;font-size:19px;font-weight:800;letter-spacing:.03em}
.pill.blue{color:var(--blue);border-color:rgba(119,204,228,.55)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:40px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.card{background:rgba(255,255,255,.047);border:1px solid var(--line);border-radius:20px;padding:28px;min-height:215px}
.card.important{border-color:rgba(242,106,87,.55);background:rgba(242,106,87,.08)}
.card.good{border-color:rgba(167,216,174,.50);background:rgba(167,216,174,.07)}
.card h3{font-size:29px;margin-bottom:13px}.card p{font-size:24px}.card .label{font:900 18px Arial,sans-serif;letter-spacing:.1em;color:var(--accent);margin-bottom:10px}.card.good .label{color:var(--green)}
.number{font:900 134px/.9 Arial,sans-serif;letter-spacing:-.08em;color:var(--accent)}.number.blue-text{color:var(--blue)}
.number-row{display:flex;gap:30px;align-items:center;margin-top:50px}.number-row p{font-size:35px;max-width:660px;color:var(--ink)}
.superline{font-size:43px!important;color:var(--ink)!important;font-weight:800;line-height:1.3!important;margin-top:22px!important}
.flow{display:flex;gap:12px;align-items:stretch;margin-top:48px}.flow .step{flex:1;border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:18px;padding:26px 18px;min-height:155px}.flow .step b{display:block;color:var(--accent);font:900 20px Arial,sans-serif;margin-bottom:17px}.flow .step strong{font-size:28px}.flow .arrow{align-self:center;color:var(--accent);font-size:42px}
.band{margin-top:35px;border-left:5px solid var(--accent);padding:18px 27px;background:rgba(242,106,87,.085);border-radius:0 16px 16px 0;font-size:28px;color:var(--ink);line-height:1.4}.band.blue{border-color:var(--blue);background:rgba(119,204,228,.08)}.band.green{border-color:var(--green);background:rgba(167,216,174,.08)}
.split{display:grid;grid-template-columns:1fr 450px;gap:38px;align-items:center;flex:1}.split.wide{grid-template-columns:1fr 500px}.split.reverse{grid-template-columns:480px 1fr}
.split .text-stack p{margin-top:17px}.split .text-stack ul{padding-left:30px;margin:17px 0}.split .text-stack li{margin-bottom:10px}
.diagram{width:100%;height:345px;background:radial-gradient(circle at 50% 45%,rgba(119,204,228,.08),transparent 70%),rgba(255,255,255,.035);border:1px solid var(--line);border-radius:23px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.diagram svg{width:100%;height:100%}.diagram .caption{position:absolute;bottom:16px;left:20px;right:20px;text-align:center;font-size:17px;color:var(--muted);z-index:2}
.diagram .signal{transform-origin:center;animation:pulse 1.3s infinite}.diagram .move-down{animation:down 1.05s ease-in-out infinite}.diagram .move-up{animation:up 1.2s ease-in-out infinite}.diagram .beat{transform-origin:50% 50%;animation:beat .9s ease-in-out infinite}.diagram .sway{transform-origin:50% 50%;animation:sway 1.2s ease-in-out infinite}.diagram .travel{animation:travel 2s linear infinite}.diagram .flash{animation:flash 1.3s infinite}
@keyframes pulse{0%,100%{opacity:.25;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes down{0%,100%{transform:translateY(-17px)}50%{transform:translateY(17px)}}
@keyframes up{0%,100%{transform:translateY(13px)}50%{transform:translateY(-13px)}}
@keyframes beat{0%,100%{transform:scale(1)}45%{transform:scale(1.18)}}
@keyframes sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes travel{0%{transform:translateX(-95px);opacity:0}25%{opacity:1}75%{opacity:1}100%{transform:translateX(120px);opacity:0}}
@keyframes flash{0%,100%{opacity:.3}50%{opacity:1}}
.motion-paused .diagram *,.motion-paused .animated,.motion-paused .count-dots i{animation-play-state:paused!important}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.compare .wrong,.compare .right{border-radius:18px;padding:23px 28px;min-height:165px;border:1px solid var(--line)}.compare .wrong{background:rgba(241,123,112,.08);border-color:rgba(241,123,112,.45)}.compare .right{background:rgba(167,216,174,.08);border-color:rgba(167,216,174,.5)}.compare b{font-size:20px;letter-spacing:.1em;color:var(--red);display:block;margin-bottom:12px}.compare .right b{color:var(--green)}.compare strong{display:block;font-size:28px;line-height:1.25}.compare p{font-size:20px;margin-top:7px}
.big-quote{font-size:61px!important;font-weight:900;color:var(--ink)!important;line-height:1.3!important;max-width:1000px}
.badge-row{display:flex;flex-wrap:wrap;gap:15px;margin-top:33px}.badge-row span{border:1px solid var(--line);border-radius:12px;padding:14px 20px;font-size:24px;font-weight:700;background:rgba(255,255,255,.04)}
.count-dots{display:flex;gap:10px;margin-top:36px}.count-dots i{width:28px;height:28px;border-radius:50%;background:var(--accent);animation:flash 1.5s infinite}.count-dots i:nth-child(2){animation-delay:.2s}.count-dots i:nth-child(3){animation-delay:.4s}.count-dots i:nth-child(4){animation-delay:.6s}.count-dots i:nth-child(5){animation-delay:.8s}
.video-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;margin-top:28px;align-items:stretch}.video-box{height:390px;background:linear-gradient(145deg,#202632,#10131a);border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.video-box iframe{width:100%;height:100%;border:0}.video-box .play-video{border:1px solid rgba(255,255,255,.35);background:var(--accent);border-radius:50%;width:100px;height:100px;color:#fff;font-size:50px;cursor:pointer;transition:transform .2s}.video-box .play-video:hover{transform:scale(1.08)}.video-box .video-watermark{position:absolute;top:24px;left:24px;font:800 18px Arial,sans-serif;letter-spacing:.12em;color:var(--blue)}.video-side{display:flex;flex-direction:column;gap:14px}.video-side p{font-size:24px}.video-side .watch{margin-top:auto}.reveal a.watch{display:inline-block;color:var(--ink);background:rgba(119,204,228,.13);border:1px solid rgba(119,204,228,.45);padding:12px 19px;border-radius:10px;font-size:18px;text-decoration:none}.video-credit{font-size:17px!important;color:#9ca5b2!important}
.timeline{display:flex;gap:4px;align-items:end;margin-top:auto}.timeline span{flex:1;border-top:4px solid var(--line);padding-top:17px;font-size:18px;color:var(--muted)}.timeline span.active{border-color:var(--accent);color:var(--ink)}
.end h1{font-size:80px;text-align:center;margin:auto}.end .lede{text-align:center;margin:0 auto 90px!important}
.chrome-top{position:fixed;top:24px;left:38px;right:38px;z-index:20;display:flex;justify-content:space-between;font:800 14px Arial,sans-serif;letter-spacing:.13em;color:#d5d7dc;pointer-events:none}
.deck-controls{position:fixed;right:31px;bottom:21px;z-index:50;background:rgba(13,15,20,.94);border:1px solid #565a64;border-radius:999px;display:flex;align-items:center;gap:7px;padding:7px 11px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.deck-controls button{font:800 20px inherit;color:var(--ink);border:0;background:transparent;border-radius:50%;min-width:40px;height:40px;cursor:pointer}.deck-controls button.primary{background:var(--accent);width:43px}.deck-controls button:hover{background:#363c48}.deck-controls button.primary:hover{background:#d95545}.deck-controls button[aria-pressed="true"]{color:var(--accent)}.deck-time{font:800 16px Arial,sans-serif;color:var(--ink);padding:0 10px}.deck-controls #notesBtn,.deck-controls #motionBtn{font-size:16px;padding:0 8px}
.notes-panel{position:fixed;z-index:100;right:0;top:0;bottom:0;width:min(470px,95vw);padding:30px 30px 60px;background:#191d25;border-left:1px solid #49505d;box-shadow:-20px 0 70px rgba(0,0,0,.45);overflow:auto}.notes-panel[hidden]{display:none}.notes-head{display:flex;justify-content:space-between;align-items:center;color:var(--accent);font:800 15px Arial,sans-serif;letter-spacing:.12em}.notes-head button{border:0;background:transparent;color:var(--ink);font-size:32px;cursor:pointer}.notes-panel h2{font-size:29px;line-height:1.2;margin:25px 0}.notes-panel p,.notes-panel li{font-size:18px;color:#d3d6dd;line-height:1.6;margin:12px 0}.notes-panel .nt{color:var(--blue);font-weight:800;margin-top:20px}.notes-panel a{color:var(--blue);overflow-wrap:anywhere}.notes-panel .duration{color:var(--amber);font-weight:800}
.hint{position:fixed;bottom:30px;left:38px;z-index:22;font:14px Arial,sans-serif;color:#818995}
.reveal .controls,.reveal .progress,.reveal .slide-number{display:none!important}
@media(max-width:760px){.chrome-top{top:12px;left:14px;right:14px;font-size:10px}.deck-controls{right:8px;bottom:8px;gap:0;transform:scale(.9);transform-origin:right bottom}.hint{display:none}}
@media(prefers-reduced-motion:reduce){.diagram *, .animated,.count-dots i{animation:none!important;transition:none!important}}
.source{bottom:22px;left:120px;color:#9da6b3;max-width:750px}
.deck-controls button{font-family:inherit;font-size:20px;font-weight:800}
.deck-controls a#notesBtn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 9px;border-radius:20px;color:var(--ink);font-size:16px;font-weight:800;text-decoration:none}.deck-controls a#notesBtn:hover{background:#363c48}
.notes-panel h2{color:var(--ink);font-weight:900}
.hint{display:none}
/* 2026 visual revision: quiet medical grid, consistent iconography, readable motion cues. */
.reveal .slides section{background-color:#0e131a;background-image:radial-gradient(circle at 85% 20%,rgba(119,204,228,.10),transparent 35%),linear-gradient(rgba(145,177,194,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(145,177,194,.035) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}
.reveal .slides section::before{content:"+";position:absolute;right:42px;top:77px;font:900 104px/1 Arial,sans-serif;color:rgba(119,204,228,.085);z-index:0}
.reveal .slides section.cover::before,.reveal .slides section.chapter::before{content:"✚";font-size:315px;right:94px;top:170px;color:rgba(242,106,87,.09)}
.reveal .slides section.chapter.blue::before{color:rgba(119,204,228,.08)}
.reveal .slides section.end::before{content:"✚";font-size:260px;right:80px;top:205px}
.slide{z-index:1}.card{backdrop-filter:blur(5px);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.card .label::before{content:"✚";display:inline-grid;place-items:center;width:27px;height:27px;margin-right:11px;border:1px solid currentColor;border-radius:7px;font:900 15px Arial,sans-serif;vertical-align:1px}
.diagram{height:366px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(165deg,rgba(119,204,228,.10),rgba(255,255,255,.025));border-color:#526271;box-shadow:0 20px 48px rgba(0,0,0,.16)}
.diagram svg{height:315px;flex:none;width:100%}.diagram .caption{position:static;width:100%;height:50px;display:flex;align-items:center;justify-content:center;padding:3px 14px 12px;color:#dbe4e9;background:rgba(12,17,23,.72);font-size:15px;font-weight:700;line-height:1.25}
.diagram svg .svg-label{fill:#77cce4;font-size:17px;font-weight:900;letter-spacing:2px}.diagram svg .svg-callout{fill:#f7f5f0;font-size:20px;font-weight:900}.diagram svg .svg-note{fill:#bbcbd4;font-size:16px;font-weight:700}.diagram svg .anatomy-fill{fill:#273746;stroke:#93c9d7;stroke-width:4}.diagram svg .anatomy-line,.diagram svg .anatomy-guide{fill:none;stroke:#94b6c4;stroke-width:4;stroke-linecap:round}.diagram svg .anatomy-guide{stroke-dasharray:8 7;opacity:.7}.diagram svg .airway-tube{fill:none;stroke:#77cce4;stroke-width:17;stroke-linecap:round}.diagram svg .food-route{fill:none;stroke:#e7ba78;stroke-width:6;stroke-linecap:round}.diagram svg .danger-solid{fill:#f26a57;stroke:#ffe0d8;stroke-width:3}.diagram svg .person-head,.diagram svg .person-body{fill:#263b4a;stroke:#9dd6e4;stroke-width:5}.diagram svg .person-limb{fill:none;stroke:#9dd6e4;stroke-width:16;stroke-linecap:round;stroke-linejoin:round}.diagram svg .rescuer-head,.diagram svg .rescuer-body{fill:#4b3a35;stroke:#e8aa85;stroke-width:5}.diagram svg .rescuer-arm{fill:none;stroke:#e8aa85;stroke-width:15;stroke-linecap:round;stroke-linejoin:round}.diagram svg .hand{fill:#d99976;stroke:#ffe1cd;stroke-width:3}.diagram svg .target-ring{fill:rgba(242,106,87,.32);stroke:#f26a57;stroke-width:5}.diagram svg .floor{fill:none;stroke:#536776;stroke-width:5;stroke-linecap:round}.diagram svg .callout-line{fill:none;stroke:#f26a57;stroke-width:3}.diagram svg .motion-cue,.diagram svg .flow-air{fill:none;stroke:#f26a57;stroke-width:7;stroke-linecap:round}.diagram svg .navel{fill:#f0c27a}.diagram svg .device{fill:#263b4a;stroke:#9dd6e4;stroke-width:6}.diagram svg .screen{fill:#0c1820;stroke:#6799a8;stroke-width:2}.diagram svg .ecg{fill:none;stroke:#f26a57;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.diagram svg .power{fill:#f26a57}.diagram svg .wire{fill:none;stroke:#e1b47e;stroke-width:4}.diagram svg .pad{fill:#f1bd82;stroke:#ffe1bb;stroke-width:3}.diagram svg .big-metric{fill:#f7f5f0;font:900 65px Arial,sans-serif}.diagram svg .rhythm-line{fill:none;stroke:#77cce4;stroke-width:6}.diagram svg .rhythm-dot{fill:#f26a57}
.diagram-airway .danger-solid{animation:pulse 2s ease-in-out 3}.diagram-back .motion-cue{animation:back-cue 1.4s ease-in-out 3}.diagram-back .target-ring{animation:pulse 1.4s ease-in-out 3}.diagram-thrust .motion-cue{animation:thrust-cue 1.4s ease-in-out 3}.diagram-thrust .target-ring{animation:pulse 1.4s ease-in-out 3}.diagram-compression .motion-cue{animation:press-cue 1.1s ease-in-out 4}.diagram-aed .screen{animation:pulse 1.5s ease-in-out 2}.diagram-pulse .rhythm-dot{animation:pulse 1s ease-in-out 4}.diagram-pulse .rhythm-dot:nth-of-type(2){animation-delay:.15s}.diagram-pulse .rhythm-dot:nth-of-type(3){animation-delay:.3s}.diagram-pulse .rhythm-dot:nth-of-type(4){animation-delay:.45s}.diagram-pulse .rhythm-dot:nth-of-type(5){animation-delay:.6s}
@keyframes back-cue{0%,100%{transform:translate(-7px,-9px);opacity:.5}50%{transform:translate(5px,5px);opacity:1}}@keyframes thrust-cue{0%,100%{transform:translate(8px,8px);opacity:.5}50%{transform:translate(-4px,-5px);opacity:1}}@keyframes press-cue{0%,100%{transform:translateY(-9px);opacity:.5}50%{transform:translateY(5px);opacity:1}}
.mnemonic{gap:11px}.mnemonic .step{padding:24px 15px;min-height:185px}.mnemonic .step b{font-size:27px;color:var(--blue)}.mnemonic .step strong{font-size:23px;line-height:1.3}.mnemonic + .band{margin-top:27px}
.motion-paused .diagram svg *{animation-play-state:paused!important}
.count-dots i{animation-iteration-count:3}
@media(prefers-reduced-motion:reduce){.diagram svg *{animation:none!important}}
