/* present tab styles — split out of index.html. */
/* Fullscreen overlay: dark "backstage" pre-flight, pale patient-facing deck. */
#present-overlay{position:fixed;inset:0;z-index:9000;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
#present-overlay[hidden]{display:none;}
#present-overlay .pv-stage{position:absolute;inset:0;display:none;}
#present-overlay.stage-preflight #pv-preflight{display:block;}
#present-overlay.stage-deck #pv-deck{display:block;}
#present-overlay.stage-exit #pv-exit{display:flex;}

/* ── Pre-flight (private, NOT shared) ── */
#pv-preflight{overflow-y:auto;background:#14211E;color:#DCE7DE;}
.pv-wrap{max-width:860px;margin:0 auto;padding:28px 28px 60px;}
.pv-private{display:flex;align-items:center;gap:12px;background:#B4735A;color:#fff;border-radius:12px;padding:14px 18px;font-size:14px;font-weight:600;margin-bottom:8px;}
.pv-private .pv-dot{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25);flex:none;}
.pv-lede{font-size:12.5px;color:#9DB3A5;margin:0 2px 22px;line-height:1.5;}
.pv-card{background:#1C2C28;border:1px solid #2C4038;border-radius:14px;padding:18px 20px;margin-bottom:16px;}
.pv-card h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7FA891;margin:0 0 12px;font-weight:600;}
.pv-say{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-style:normal;font-weight:400;font-size:16.5px;line-height:1.62;color:#EAF2EC;border-left:3px solid #6FA783;padding-left:15px;}
.pv-rows{display:flex;flex-direction:column;gap:10px;}
.pv-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:10px 0;border-top:1px solid #2C4038;}
.pv-row:first-child{border-top:none;}
.pv-dont,.pv-do{font-size:13.5px;line-height:1.45;}
.pv-dont{color:#D98C74;}.pv-dont b,.pv-do b{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-weight:600;}
.pv-dont b{color:#B4735A;}.pv-do{color:#BFE0CC;}.pv-do b{color:#6FA783;}
.pv-warn{margin-top:12px;font-size:12.5px;color:#E4B9A6;background:rgba(180,115,90,.14);border-radius:8px;padding:9px 12px;}
.pv-note details{border-top:1px solid #2C4038;padding:11px 0;}
.pv-note details:first-of-type{border-top:none;}
.pv-note summary{cursor:pointer;font-size:13.5px;font-weight:600;color:#EAF2EC;list-style:none;display:flex;justify-content:space-between;}
.pv-note summary::-webkit-details-marker{display:none;}
.pv-note summary::after{content:'+';color:#7FA891;}
.pv-note details[open] summary::after{content:'–';}
.pv-note p{font-family:"Newsreader",Georgia,serif;font-weight:300;font-size:15px;line-height:1.6;color:#C7D6CB;margin:10px 0 2px;white-space:pre-line;}
.pv-check{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.pv-check li{display:flex;gap:10px;font-size:13.5px;color:#C7D6CB;}
.pv-check li::before{content:'□';color:#7FA891;}
.pv-actions{display:flex;gap:12px;align-items:center;margin-top:8px;}
.pv-btn{font-family:inherit;cursor:pointer;border:none;border-radius:10px;font-size:14px;font-weight:600;padding:12px 22px;}
.pv-btn-go{background:#6FA783;color:#0E1614;}
.pv-btn-go:hover{background:#7FB893;}
.pv-btn-ghost{background:none;color:#9DB3A5;border:1px solid #2C4038;}
.pv-btn-ghost:hover{color:#DCE7DE;}
.pv-launch-note{font-size:12px;color:#9DB3A5;margin-top:10px;}

/* ── Deck (patient-facing) ── */
#pv-deck{background:#E8EEDD;}
#present-overlay .deck-slide{position:absolute;inset:0 0 92px 0;display:none;flex-direction:column;align-items:center;justify-content:center;padding:clamp(28px,5vw,80px) clamp(24px,6vw,110px);color:#20403A;}
#present-overlay .deck-slide.active{display:flex;}
#present-overlay .deck-slide .eyebrow{font-size:clamp(10px,.85vw,13px);letter-spacing:.22em;text-transform:uppercase;color:#4E6B62;margin-bottom:clamp(14px,1.6vw,22px);}
#present-overlay .deck-slide h1{font-family:"Newsreader",Georgia,serif;font-weight:300;font-style:italic;font-size:clamp(28px,3.9vw,58px);line-height:1.08;text-align:center;letter-spacing:-.01em;max-width:22ch;margin-bottom:clamp(24px,3.4vw,52px);}
#present-overlay .deck-slide figure{width:100%;max-width:1080px;display:flex;justify-content:center;margin:0;}
#present-overlay .deck-slide svg{width:100%;height:auto;overflow:visible;}
#present-overlay .deck-slide .key{display:flex;gap:clamp(20px,3.4vw,56px);flex-wrap:wrap;justify-content:center;margin-top:clamp(20px,2.4vw,34px);padding-top:clamp(16px,1.8vw,24px);border-top:1px solid rgba(32,64,58,.16);width:100%;max-width:840px;}
#present-overlay .deck-slide .key div{display:flex;align-items:baseline;gap:10px;max-width:34ch;}
#present-overlay .deck-slide .key b{font-weight:500;font-size:clamp(10px,.8vw,12px);letter-spacing:.14em;text-transform:uppercase;color:#B4735A;white-space:nowrap;}
#present-overlay .deck-slide .key b.alt{color:#4E837B;}
#present-overlay .deck-slide .key span{font-family:"Newsreader",Georgia,serif;font-weight:300;font-size:clamp(14px,1.15vw,18px);line-height:1.4;color:#20403A;}
#present-overlay .deck-slide .caption{font-family:"Newsreader",Georgia,serif;font-weight:300;font-size:clamp(15px,1.3vw,20px);line-height:1.5;color:#4E6B62;text-align:center;max-width:56ch;margin-top:clamp(20px,2.4vw,34px);}
/* SVG element classes */
#present-overlay .col-label{font-family:"Newsreader",Georgia,serif;font-size:clamp(22px,2.6vw,40px);font-weight:300;fill:#20403A;}
#present-overlay .col-sub{font-size:11px;letter-spacing:.16em;fill:#4E6B62;}
#present-overlay .rule{stroke:rgba(32,64,58,.16);stroke-width:1;}
#present-overlay .dot{fill:#4E837B;opacity:0;}
#present-overlay .dot-ghost{fill:#20403A;opacity:.07;}
#present-overlay .tag{font-size:12px;letter-spacing:.1em;fill:#4E6B62;text-transform:uppercase;}
#present-overlay .tag-strong{font-size:12px;letter-spacing:.1em;fill:#B4735A;text-transform:uppercase;}
#present-overlay .heat{stroke:#B4735A;stroke-width:2.5;fill:none;stroke-linecap:round;opacity:.6;}
#present-overlay .tissue{fill:#B4735A;opacity:.85;}
#present-overlay .flow{stroke:#4E837B;stroke-width:2.5;fill:none;stroke-linecap:round;}
#present-overlay .flow-dash{stroke:#20403A;stroke-width:2;fill:none;opacity:.22;stroke-dasharray:6 7;stroke-linecap:round;}
#present-overlay .block{stroke:#B4735A;stroke-width:3.5;stroke-linecap:round;}
#present-overlay .fade{opacity:0;}
#present-overlay .draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);}
#present-overlay .van{opacity:0;transform:translate(160px,183px);}
/* animation triggers (restart when a slide is (re)shown via .go) */
#present-overlay .deck-slide.go .dot{animation:deckpop .34s cubic-bezier(.2,.9,.3,1.4) forwards;}
#present-overlay .deck-slide.go .fade{animation:deckfade .6s ease forwards;}
#present-overlay .deck-slide.go .draw{animation:deckdraw 1s ease forwards;}
#present-overlay .deck-slide.go .van{animation:deckdrive 1.6s cubic-bezier(.3,.7,.4,1) 2.6s forwards;}
@keyframes deckpop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes deckfade{to{opacity:1}}
@keyframes deckdraw{to{stroke-dashoffset:0}}
@keyframes deckdrive{0%{opacity:0;transform:translate(160px,183px)}15%{opacity:1}100%{opacity:1;transform:translate(600px,183px)}}
@media (prefers-reduced-motion:reduce){#present-overlay .dot,#present-overlay .fade,#present-overlay .van{opacity:1!important;}#present-overlay .van{transform:translate(600px,183px)!important;}#present-overlay .draw{stroke-dashoffset:0!important;}}
/* deck compliance footer + controls */
#present-overlay .deck-compliance{position:absolute;left:0;right:0;bottom:0;padding:14px clamp(20px,4vw,44px);border-top:1px solid rgba(32,64,58,.16);background:#E8EEDD;font-size:clamp(10px,.78vw,12px);line-height:1.45;color:#4E6B62;max-width:70ch;}
#present-overlay .deck-controls{position:absolute;left:50%;bottom:104px;transform:translateX(-50%) translateY(14px);display:flex;align-items:center;gap:10px;background:rgba(20,33,30,.92);border-radius:999px;padding:7px 8px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 8px 30px rgba(0,0,0,.22);}
#present-overlay .deck-controls.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
#present-overlay .dc-btn{font-family:inherit;cursor:pointer;border:none;background:none;color:#DCE7DE;font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;display:flex;align-items:center;gap:6px;}
#present-overlay .dc-btn:hover:not(:disabled){background:rgba(255,255,255,.12);}
#present-overlay .dc-btn:disabled{opacity:.35;cursor:default;}
#present-overlay .dc-ind{font-size:12px;color:#9DB3A5;min-width:44px;text-align:center;font-variant-numeric:tabular-nums;}
#present-overlay .dc-end{color:#E4B9A6;}
#present-overlay .dc-sep{width:1px;height:18px;background:rgba(255,255,255,.14);}

/* ── Exit checkpoint ── */
#pv-exit{align-items:center;justify-content:center;background:rgba(20,33,30,.96);padding:24px;}
.pv-exit-card{max-width:460px;background:#1C2C28;border:1px solid #2C4038;border-radius:16px;padding:26px;text-align:center;color:#DCE7DE;}
.pv-exit-card .pv-x{font-size:34px;line-height:1;margin-bottom:12px;}
.pv-exit-card h2{font-size:19px;font-weight:600;margin:0 0 10px;}
.pv-exit-card p{font-size:14px;line-height:1.55;color:#B9CCC0;margin:0 0 22px;}
.pv-exit-card p b{color:#E4B9A6;}
.pv-exit-actions{display:flex;flex-direction:column;gap:10px;}
.pv-btn-danger{background:#B4735A;color:#fff;}
.pv-btn-danger:hover{background:#c4805f;}
@media (max-width:640px){.pv-row{grid-template-columns:1fr;gap:6px;}}

