/* The App owns this product stage; shared shell and program scenes stay untouched. */
body[data-route="app"] .app-story [hidden]{display:none!important}
.app-story-stage{position:relative;isolation:isolate;max-width:1800px;margin-inline:auto}
.app-story-art{position:relative;aspect-ratio:16/9;overflow:hidden}
.app-story-art img,.app-story-art video{display:block;width:100%;height:100%;object-fit:contain}
.app-story-art video{position:absolute;inset:0;opacity:0;pointer-events:none}
.app-story-stage[data-playing] video{opacity:1}
.app-story-motion{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--paper) 85%,transparent);color:var(--ink-soft);cursor:pointer}
.app-story-motion:hover,.app-story-motion:focus-visible{background:var(--paper);color:var(--ink)}
.app-story-motion[data-motion-action="pause"] .app-motion-play,.app-story-motion:not([data-motion-action="pause"]) .app-motion-pause{display:none}
.app-story-art [data-hero-theme="dark"]{display:none}
html[data-theme="dark"] .app-story-art [data-hero-theme="light"]{display:none}
html[data-theme="dark"] .app-story-art [data-hero-theme="dark"]{display:block}
body[data-route="app"] .app-story-stage h1{position:absolute;z-index:2;top:5%;left:var(--page-gutter);margin:0;max-width:6.4em;font:600 clamp(36px,4.3vw,72px)/1.04 var(--sans);letter-spacing:-.04em;color:var(--ink);text-wrap:balance}
.app-story-hero-footer{display:flex;align-items:center;gap:var(--space-2);min-height:64px;border-bottom:1px solid var(--line);padding:var(--space-2) var(--page-gutter)}
.app-story-explore{display:flex;flex:1;min-width:0;gap:var(--space-3);align-items:center;justify-content:center;min-height:44px;font-size:14px;text-align:center}
.app-story-explore svg{flex:none}
.app-story-explorer{padding-block:var(--space-16) var(--space-12);scroll-margin-top:calc(var(--hub-header-height,82px) + 24px)}
.app-story-explorer-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);margin-bottom:var(--space-8)}
.app-story-explorer h2{font:550 clamp(30px,3vw,44px)/1.12 var(--sans);letter-spacing:-.035em;margin:0}
.app-story-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--line)}
.app-story-tabs a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:var(--space-3) var(--space-4);font-size:15px;color:var(--ink-soft);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.app-story-tabs a[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}
.app-story-tabs a:hover{color:var(--ink);background:var(--card)}
.app-story :is(a,button):focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.app-story-panel{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr);align-items:center;gap:var(--space-12);min-height:490px;padding-block:var(--space-6);scroll-margin-top:calc(var(--hub-header-height,82px) + 24px)}
.app-story-panel>span:empty{position:absolute;scroll-margin-top:calc(var(--hub-header-height,82px) + 24px)}
.app-story-explorer:not([data-app-enhanced]) .app-story-panel+.app-story-panel{margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--line)}
.app-story-panel-copy h3{font:550 clamp(28px,2.8vw,40px)/1.15 var(--sans);letter-spacing:-.035em;max-width:13ch;margin:0 0 var(--space-5)}
.app-story-panel-copy p{font-size:17px;line-height:1.65;color:var(--ink-soft);max-width:30ch;margin:0 0 var(--space-5)}
.app-story-panel-copy>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.app-story-screen,.app-story-sharing{margin:0;min-width:0}
.app-story-screen img{display:block;width:100%;height:420px;object-fit:contain;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm)}
.app-story :is(.app-story-screen,.app-story-sharing) figcaption{margin-top:var(--space-3);font-size:12px;color:var(--ink-faint);line-height:1.5;text-align:right}
.app-story-sharing{padding:var(--space-6) var(--space-10);background:var(--card);border-radius:var(--radius-sm)}
.app-sharing-sheet{max-width:560px;margin:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-8)}
.app-sharing-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:13px;color:var(--ink-soft)}
.app-sharing-people{display:flex;padding-left:8px}
.app-sharing-people i{display:grid;place-items:center;width:34px;height:34px;margin-left:-8px;border-radius:50%;background:var(--chip);border:2px solid var(--paper);color:var(--ink);font:500 12px var(--sans)}
.app-sharing-sheet h4{font:550 24px/1.2 var(--sans);letter-spacing:-.025em;margin:var(--space-6) 0}
.app-sharing-sheet ul{list-style:none;padding:0;margin:0}
.app-sharing-sheet li{display:flex;align-items:center;gap:var(--space-4);padding-block:var(--space-4);border-top:1px solid var(--line-soft);font-size:15px}
.app-sharing-sheet li small{display:block;font-size:12px;line-height:1.5;color:var(--ink-soft);margin-top:4px}
.app-file-mark{display:grid;place-items:center;width:34px;height:42px;flex:none;border:1px solid currentColor;border-radius:4px;color:var(--file-note);font:550 16px var(--sans)}
.app-file-mark[data-kind="cards"]{color:var(--file-cards)}
.app-file-mark[data-kind="questions"]{color:var(--file-mcq)}
.app-sharing-footer{font-size:12px;color:var(--ink-soft);padding-top:var(--space-5);border-top:1px solid var(--line-soft)}
.app-story-finish{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);border-top:1px solid var(--line);padding-block:var(--space-16)}
.app-story-finish h2{font:550 clamp(34px,4vw,56px)/1.08 var(--sans);letter-spacing:-.035em;margin:0 0 var(--space-6)}
.app-story-grit{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--ink-soft)}
.app-story-actions{display:grid;grid-template-columns:auto auto;align-items:center;gap:var(--space-4) var(--space-6)}
.app-story-actions>a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
@media(min-width:1600px){.app-story-art{max-height:880px}.app-story-art img,.app-story-art video{object-fit:contain}.app-story-stage h1{left:max(var(--page-gutter),calc((100% - 1564px)/2))}}
@media(max-width:1000px){.app-story-explorer-head{align-items:flex-start;flex-direction:column;gap:var(--space-5)}.app-story-panel{grid-template-columns:minmax(180px,.7fr) minmax(0,1.4fr);gap:var(--space-6);min-height:400px}.app-story-screen img{height:340px}.app-story-sharing{padding:var(--space-5)}.app-sharing-sheet{padding:var(--space-5)}.app-story-finish{gap:var(--space-6)}}
@media(max-width:600px){body[data-route="app"] .app-story-stage h1{position:static;font-size:44px;max-width:none;text-align:center;padding:var(--space-8) var(--page-gutter) var(--space-5)}.app-story-hero-footer{min-height:56px;padding-block:var(--space-1)}.app-story-explorer{padding-block:var(--space-10) var(--space-8)}.app-story-explorer-head{gap:var(--space-5);margin-bottom:var(--space-5)}.app-story-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%}.app-story-tabs a{font-size:13px;padding-inline:4px}.app-story-panel{grid-template-columns:minmax(0,1fr);gap:var(--space-6);padding:0;min-height:0}.app-story-panel-copy h3{font-size:28px;max-width:none;margin-bottom:var(--space-3)}.app-story-panel-copy p{font-size:16px;max-width:34ch;margin-bottom:4px}.app-story-screen img{height:auto;aspect-ratio:1.6;object-fit:contain}.app-story-sharing{padding:var(--space-4)}.app-sharing-sheet{padding:var(--space-4)}.app-sharing-sheet h4{font-size:22px}.app-story-finish{align-items:flex-start;flex-direction:column;padding-block:var(--space-10)}.app-story-finish h2{font-size:38px;margin-bottom:var(--space-4)}.app-story-actions{width:100%;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-4)}.app-story-grit{font-size:13px}}
@media(prefers-reduced-motion:reduce){.app-story-art video{display:none}}
