/* The app is the presentation. Only a cursor, phrase subtitle and bottom rail. */
body.demo-active{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.demo-active .mode-switch{display:flex}body.demo-active .circulation-profiles{display:block}.demo-active .arterial-compliance{display:block}
body.demo-active #demo-coach{margin:0;position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:none;transform:none;border:0;border-top:1px solid #dce2e6;border-radius:0;padding:0 20px env(safe-area-inset-bottom);overflow:visible;background:#fff;box-shadow:none;color:#172127;z-index:1100;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.presentation-rail{height:42px;display:flex;gap:16px;align-items:center;max-width:1200px;margin:auto;font-size:11px;line-height:1.2;color:#626e76}
.presentation-controls{display:flex;gap:6px;align-items:center;margin-left:auto;flex-shrink:0}.presentation-controls button{font:inherit;font-size:12px;border:0;border-radius:6px;background:transparent;color:#172127;padding:6px 10px;min-height:34px}
.presentation-controls button:hover{background:#eaf0f3}.presentation-controls button:focus-visible{outline:2px solid #488ca3;outline-offset:1px}
body.demo-active #demo-coach h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
body.demo-active #demo-coach p.presentation-subtitle{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(650px,calc(100vw - 28px));min-height:0;margin:0;padding:9px 17px;border:1px solid rgba(230,234,237,.7);border-radius:9px;background:#fff;color:#111;font:500 19px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.012em;text-align:center;text-wrap:balance;box-shadow:0 2px 12px #1c2f3a08;pointer-events:none}
body.demo-active #demo-coach p.presentation-subtitle:empty{display:none}
.presentation-progress{display:contents}.presentation-progress input[type=range]{flex:1;min-width:30px;width:100px;height:20px;margin:0;border:0;padding:0;accent-color:#6495a6;cursor:pointer}.presentation-progress input:focus-visible{outline:2px solid #488ca3;outline-offset:3px}
#demo-count{white-space:nowrap;font-variant-numeric:tabular-nums;color:#626e76}#demo-timing{white-space:nowrap;font-size:10px}#demo-timing:empty{display:none}
.demo-active #demo-exit{display:none}.presentation-host{padding-bottom:115px!important}.demo-active #build-form footer{display:flex}.demo-active .case-abstract-scroll{padding-bottom:125px}
.demo-active .demo-cursor{margin:0;padding:0;border:0;background:transparent;inset:0 auto auto 0;overflow:visible;width:22px;height:28px;z-index:1200;pointer-events:none}.demo-active .demo-cursor path{fill:#202b32;stroke:white;stroke-width:1.4}.demo-active .demo-cursor:after{display:none}.demo-active .demo-cursor[data-click] svg{transform:scale(.9);transform-origin:4px 3px}
.goal-rationale{margin:12px 0;color:var(--soft);font-size:11px;line-height:1.65}.goal-rationale summary{cursor:pointer}.goal-rationale p{margin:8px 0}
@media(max-width:650px){body.demo-active #demo-coach{padding-left:8px;padding-right:8px}.presentation-rail{height:42px;gap:8px}.presentation-controls{gap:0}.presentation-controls button{padding:6px 8px;font-size:11px;min-height:36px}#demo-tag,#demo-timing{display:none}#demo-count{font-size:10px}body.demo-active #demo-coach p.presentation-subtitle{font-size:17px;line-height:1.4;padding:8px 12px;bottom:calc(100% + 9px)}}
@media(prefers-reduced-motion:reduce){.demo-active *{scroll-behavior:auto!important}.demo-active .demo-cursor{transition:none!important}}

/* Never position the circulation underneath the fixed application header. */
body.demo-active .scene-card{position:relative;top:auto}
body.demo-active #live-strip{display:none}
body.demo-active #demo-coach .presentation-status{position:absolute;bottom:calc(100% + 10px);right:14px;max-width:min(450px,calc(100vw - 28px));font-size:12px;line-height:1.4;color:#52616a;background:#fff;padding:8px 12px;border-radius:8px;margin:0}
body.demo-active #demo-coach .presentation-status:empty{display:none}
body.demo-active #demo-coach:has(.presentation-subtitle:not(:empty)) .presentation-status{bottom:calc(100% + 100px)}
.presentation-progress input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;box-shadow:none}
.presentation-progress input[type=range]::-webkit-slider-runnable-track{height:3px;background:#dce7eb;border-radius:3px}
.presentation-progress input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;border:0;border-radius:50%;background:#6495a6}
.presentation-progress input[type=range]::-moz-range-track{height:3px;background:#dce7eb;border-radius:3px}
.presentation-progress input[type=range]::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#6495a6}

/* Keep view changes connected while the Demo continues its audio clock. */
html:active-view-transition:has(body.demo-active)::view-transition-old(root),
html:active-view-transition:has(body.demo-active)::view-transition-new(root){animation-duration:650ms;animation-timing-function:ease-in-out}

/* Plain overlays: avoid native popover/compositor dependencies during playback. */
body.demo-active #demo-coach[hidden],body.demo-active #demo-cursor[hidden]{display:none!important}
body.demo-active #demo-cursor{filter:none}
