.episodes-page{--ep-gold:#d2b67e;--ep-muted:#aeb8c1;--ep-ink:#0b1018;max-width:1320px;color:#eee9df}
.episode-beta{display:inline-flex;align-items:center;border:1px solid #d2b67e70;border-radius:3px;padding:.4rem .7rem;color:#ead7ad;font-size:.875rem;line-height:1.5;background:#171b21}
.episode-library-heading{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin:1.2rem 0 2rem}.episode-library-heading h1{font:400 clamp(2rem,4vw,3.4rem)/1.2 Georgia,serif;margin:.6rem 0}.episode-library-heading .eyebrow{margin:0}
.episode-feature{position:relative;isolation:isolate;min-height:570px;display:flex;align-items:center;overflow:hidden;border:1px solid #7c95ab45;background:#0b1018}.episode-feature-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;z-index:-2}.episode-feature:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080e17f5, #080e17b8 37%,#080e1720 70%),linear-gradient(0deg,#080e17a0,transparent 60%)}.episode-feature-copy{padding:3.5rem 3rem;max-width:650px}.episode-feature-copy h2{font:400 clamp(3rem,5.5vw,5.7rem)/1.04 Georgia,serif;letter-spacing:-.035em;margin:1.5rem 0 1rem;max-width:8em;text-wrap:balance}.episode-subtitle{font:400 clamp(1rem,2vw,1.5rem)/1.6 Georgia,serif;color:#d8cdb5;margin:.5rem 0 1.2rem}.episode-feature-meta{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;margin:1.7rem 0 2rem;color:#c6cbd2;font-size:.9rem;line-height:1.5}.episode-frame-mark{position:absolute;right:1.5rem;bottom:1.4rem;color:#e0ded9b0;font:.875rem monospace;letter-spacing:.18em}.episode-library-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:1.5rem 0;color:var(--ep-muted);font-size:.95rem;line-height:1.8}.episode-library-bottom p{max-width:640px;margin:0}.episode-library-bottom>span{font-size:.875rem;text-align:right}
.episode-invitation{position:relative;display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:2rem;min-height:270px;margin:2.5rem 0;border:1px solid #7c95ab45;background:#0d1520;text-decoration:none!important;color:inherit;overflow:hidden}.episode-invitation>img{width:100%;height:100%;object-fit:cover;object-position:75% center}.episode-invitation>span{display:flex;flex-direction:column;justify-content:center;align-items:start;gap:.8rem;padding:1.5rem 2rem 1.5rem 0}.episode-invitation-kicker{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;font-size:.9rem;color:var(--ep-muted)}.episode-invitation strong{font:400 clamp(1.8rem,3vw,3rem)/1.2 Georgia,serif;color:#eee9df}.episode-invitation small{font-size:1rem;color:#c8c7c1;line-height:1.6}.episode-invitation-cta{font-size:.95rem;color:var(--ep-gold);border-bottom:1px solid #d2b67e70;padding-bottom:.2rem}.episode-invitation:hover{border-color:#d2b67e90}
.episode-chapter-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin:1.5rem 0}.episode-chapter-heading .eyebrow{margin:0 0 .6rem}.episode-chapter-heading h1{font:400 clamp(2rem,3.5vw,3.4rem)/1.15 Georgia,serif;margin:0 0 .5rem;letter-spacing:-.02em}.episode-chapter-heading .episode-subtitle{font-size:1.05rem;margin:.4rem 0 0}.episode-chapter-facts{display:flex;flex-direction:column;align-items:end;gap:.7rem;max-width:340px;text-align:right}.episode-chapter-facts>span:last-child:not(.episode-beta){font-size:.875rem;line-height:1.6;color:var(--ep-muted)}.episode-source-note{line-height:1.8;color:var(--ep-muted)}
.episode-player{--episode-text-size:21px;position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);grid-template-rows:auto minmax(0,1fr) auto;min-height:620px;height:min(760px,80svh);background:#0b111b;border:1px solid #7991a640;overflow:hidden;color:#eee9df;scroll-margin-top:90px}.episode-player[hidden],.episode-workbench[hidden]{display:none}.episode-player-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem 1rem;padding:.85rem 1.2rem;border-bottom:1px solid #8397a32e;background:#0a1018;color:#c2cbd3;font-size:.875rem;line-height:1.5}.episode-primary-audio{display:flex;gap:.5rem;flex-wrap:wrap}.episode-player button,.episode-reading-tools button,.episode-import-actions>button:not(.button){border:1px solid #7b8e9d60;background:#111b27;color:#eee9df;padding:.6rem .8rem;font-size:.9rem;line-height:1.5;min-height:44px;cursor:pointer}.episode-player button:hover,.episode-reading-tools button:hover{border-color:#d2b67e}.episode-player button:disabled,.episode-reading-tools button:disabled{opacity:.4;cursor:default}.episode-player [data-narration=play]{border-color:#d2b67e9a;color:#ecd4a5;background:#d2b67e10}.episode-player button[aria-pressed=true],.episode-reading-tools button[aria-pressed=true]{background:#d2b67e18;border-color:#d2b67e;color:#eed8ad}
.episode-art-stage{position:relative;isolation:isolate;margin:0;min-width:0;overflow:hidden;background:#080d17;border-right:1px solid #7991a62e}.episode-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center;z-index:-2;animation:episode-drift 38s ease-in-out infinite alternate}.episode-art-stage:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080e17ed,transparent 42%,#080e1730)}.episode-art-caption{position:absolute;bottom:3.2rem;left:2rem;right:2rem;text-shadow:0 2px 14px #000}.episode-art-caption>span{font-size:.875rem;color:#d4d5d7;line-height:1.6}.episode-art-caption h2{font:400 clamp(1.8rem,3vw,2.9rem)/1.16 Georgia,serif;max-width:12em;margin:.6rem 0;color:#f0e8d9}.episode-art-credit{position:absolute;bottom:1rem;left:2rem;font-size:.8125rem;line-height:1.6;color:#aeb7c3}.episode-player[data-mood=loss] .episode-backdrop{filter:grayscale(.8) brightness(.62)}.episode-player[data-mood=aftermath] .episode-backdrop{filter:saturate(.6)}.episode-player[data-mood=warmth] .episode-art-stage{background:#221810}
.episode-screen{position:relative;overflow-y:auto;overscroll-behavior:contain;padding:2.4rem 2.2rem;min-width:0;min-height:0;scrollbar-color:#8c9ba455 #0b111b;scrollbar-width:thin;background:linear-gradient(140deg,#111b27,#0c1119)}.episode-passage{max-width:720px;margin:auto;animation:episode-arrive .35s ease-out}.episode-passage>.eyebrow{font-size:.8125rem;line-height:1.6;color:#9fb0bd;margin:0 0 1.6rem;letter-spacing:.12em}.episode-prose{font:400 var(--episode-text-size)/1.85 Georgia,serif;overflow-wrap:anywhere;color:#e8e5dd}.episode-prose p{margin:0 0 1.1em}.episode-dialogue{color:#f3d6a4}.episode-prose.speaking{border-left:2px solid #d2b67e80;padding-left:1rem}
.episode-player-bottom{grid-column:1/-1;padding:.8rem 1.2rem 1rem;border-top:1px solid #7991a62e;background:#0a1018}.episode-progress-row{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;line-height:1.5;color:#b0bdc7}.episode-progress{height:3px;background:#7b91a82f;margin:.75rem 0 .85rem}.episode-progress i{display:block;height:100%;width:0;background:#d2b67e;transition:width .25s}.episode-controls{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:.6rem;max-width:560px;margin:auto}.episode-controls [data-episode-action=next]{background:#d2b67e;color:#101716;border-color:#d2b67e;font-weight:600}.episode-end{margin:auto;text-align:center}.episode-end h2{font:400 clamp(2rem,3vw,3rem)/1.2 Georgia,serif;overflow-wrap:anywhere;margin:1rem 0}.episode-end p{line-height:1.8}.episode-end .button{display:table;margin:1.5rem auto}.episode-end .text-link{display:block;margin:1rem 0}.episode-end small{font-size:.875rem;color:var(--ep-muted)}
.episode-reading-tools{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem;padding:1.2rem 0 .5rem}.episode-reading-tools>div{display:flex;align-items:center;gap:.4rem}.episode-tool-label{font-size:.875rem;margin-right:.3rem}.episode-reading-tools label{display:grid;gap:.35rem;font-size:.875rem;color:#b4c0cc}.episode-reading-tools select,.episode-import input[type=text],.episode-import textarea{background:#111b27;color:#eee9df;border:1px solid #7b8e9d60;border-radius:0;padding:.65rem;font:inherit;line-height:1.6}.episode-reading-tools select{font-size:.9rem;min-height:44px}.episode-music-note,.episode-keyboard-note,.episode-local-note{font-size:.875rem;line-height:1.75;color:var(--ep-muted)}.episode-workbench .tts-panel{margin:1.5rem 0;background:#101823;border-color:#7b8e9d50}.episode-workbench .tts-panel summary{color:#d6dce1;font-size:1rem}.episode-workbench .tts-panel select{background:#0d1520;color:#eae6dd;border-color:#7b8e9d60}.episode-workbench .narration-settings,.episode-workbench .tts-controls,.episode-workbench .narration-footer{flex-wrap:wrap}
.episode-scene-list,.episode-transcript{border-top:1px solid #7b8e9d40;margin-top:1.3rem}.episodes-page summary{cursor:pointer;font-size:1rem;line-height:1.7;padding:1rem 0;color:#d6dce1}.episode-scene-list>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:.25rem 0 1.5rem}.episode-scene-list button{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.5rem .7rem;text-align:left;border:1px solid #7b8e9d40;background:#101823;color:#eee9df;padding:0 1rem 1rem;min-height:44px;cursor:pointer;overflow:hidden}.episode-scene-list button>img{grid-column:1/-1;display:block;width:calc(100% + 2rem);max-width:none;height:110px;object-fit:cover;object-position:75% center;margin:0 -1rem .5rem}.episode-scene-list button span{color:var(--ep-gold);font-size:.875rem;line-height:1.6}.episode-scene-list button strong{font-size:1rem;font-weight:400;line-height:1.6;overflow-wrap:anywhere}.episode-scene-list button small{grid-column:2;font-size:.8125rem;color:var(--ep-muted)}.episode-scene-list button[aria-current=step]{border-color:#d2b67e;background:#d2b67e0b}.episode-transcript article{max-width:760px;margin:1.5rem auto 2rem;font-family:Georgia,serif;line-height:1.85;overflow-wrap:anywhere;color:#e8e5dd}.episode-transcript h2{font:400 1.5rem/1.3 Georgia,serif;margin:2.5rem 0 1rem;color:var(--ep-gold)}.episode-transcript p{margin:0 0 1.2em}
.episode-import{border:1px solid #7b8e9d35;padding:0 1.2rem;margin:2rem 0 1rem;background:#0e1620}.episode-import form{padding:.5rem 0 1rem;display:grid;gap:1.1rem}.episode-import form>p{font-size:1rem;color:var(--ep-muted);line-height:1.8}.episode-import label:not(.episode-file-label){display:grid;gap:.5rem;font-size:1rem}.episode-import textarea{width:100%;resize:vertical;min-height:200px;font-size:1rem}.episode-import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.episode-file-label{display:grid;gap:.4rem;font-size:.875rem;color:var(--ep-muted)}.episode-file-label input{font-size:.875rem;max-width:250px}.episode-file-label input::file-selector-button{padding:.6rem;border:1px solid #7b8e9d60;background:#111b27;color:#eee9df;cursor:pointer}.episode-message{font-size:1rem;line-height:1.65;color:#e9d3a4}.episode-message:empty{margin:0}.episode-player:fullscreen{width:100%;height:100svh;max-height:none;min-height:0;border:0;grid-template-columns:minmax(0,1fr) minmax(400px,.75fr)}.episode-player:fullscreen .episode-screen{padding:3rem clamp(2rem,4vw,5rem)}.episode-calm .episode-backdrop,.episode-calm .episode-passage{animation:none}.episode-calm .episode-progress i{transition:none}.episodes-page :focus-visible,.episode-invitation:focus-visible{outline:2px solid #dfc894;outline-offset:4px}
@keyframes episode-drift{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes episode-arrive{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.episode-player{grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.episode-screen{padding:1.6rem}.episode-art-caption{left:1.4rem;right:1.4rem}.episode-art-credit{left:1.4rem}.episode-feature-copy{padding:2.5rem 2rem}.episode-scene-list>div{grid-template-columns:repeat(2,minmax(0,1fr))}.episode-chapter-facts{max-width:240px}}
@media(max-width:720px){.episode-library-heading{align-items:start;margin-top:.5rem;gap:1rem;flex-wrap:wrap}.episode-feature{min-height:620px;align-items:end}.episode-feature-art{object-position:76% center}.episode-feature:after{background:linear-gradient(0deg,#080e17fd,#080e17d9 40%,#080e1720 82%)}.episode-feature-copy{padding:2rem 1.4rem;max-width:none}.episode-feature-copy h2{font-size:clamp(2.7rem,10vw,4.5rem);max-width:10em}.episode-frame-mark{top:1.3rem;bottom:auto}.episode-library-bottom{display:block}.episode-library-bottom>span{display:block;text-align:left;margin-top:.75rem}.episode-invitation{grid-template-columns:1fr;gap:0}.episode-invitation>img{height:220px}.episode-invitation>span{padding:1.5rem}.episode-chapter-heading{display:block;margin:1.5rem 0}.episode-chapter-facts{align-items:start;max-width:none;text-align:left;margin-top:1rem;flex-direction:row;flex-wrap:wrap}.episode-player{display:flex;flex-direction:column;height:auto;min-height:0}.episode-player-top{padding:.8rem;gap:.6rem}.episode-player-top>span{width:100%}.episode-primary-audio{gap:.4rem}.episode-player button{font-size:.875rem;padding:.55rem .6rem}.episode-art-stage{height:280px;flex-shrink:0;border:0;border-bottom:1px solid #7991a62e}.episode-backdrop{object-position:70% 48%}.episode-art-caption{bottom:2.4rem}.episode-art-caption h2{font-size:1.8rem}.episode-art-credit{bottom:.7rem;font-size:.8125rem}.episode-screen{padding:1.5rem 1.2rem;min-height:280px;max-height:55svh;flex:none}.episode-player-bottom{padding:.85rem .9rem;flex-shrink:0}.episode-progress-row{flex-wrap:wrap;gap:.25rem;font-size:.8125rem}.episode-controls{gap:.4rem}.episode-controls button{padding:.65rem .25rem}.episode-scene-list button>img{height:100px}.episode-scene-list button strong{font-size:.95rem}.episode-keyboard-note{display:none}.episode-player:fullscreen{display:grid;grid-template-columns:1fr;grid-template-rows:auto 26svh minmax(0,1fr) auto;height:100svh}.episode-player:fullscreen .episode-art-stage{height:auto}.episode-player:fullscreen .episode-screen{padding:1rem 1.2rem;min-height:0;max-height:none}.episode-player:fullscreen .episode-art-caption{bottom:1rem}.episode-player:fullscreen .episode-art-credit{display:none}.episode-player:fullscreen .episode-art-caption h2{font-size:1.4rem}.episode-workbench .narration-settings{display:flex;flex-wrap:wrap}.episode-workbench .voice-choice{width:100%}}
@media(max-width:390px){.episode-scene-list>div{grid-template-columns:1fr}.episode-primary-audio{flex:1}.episode-primary-audio button{padding:.5rem}.episode-controls{grid-template-columns:1fr 1.3fr 1fr}}
@media(prefers-reduced-motion:reduce){.episode-backdrop,.episode-passage{animation:none}.episode-progress i{transition:none}}
html[data-motion=quiet] .episode-backdrop,html[data-motion=quiet] .episode-passage{animation:none}
.episode-static-prose{font:400 1.2rem/1.9 Georgia,serif;max-width:760px;margin:2rem auto;color:#e8e5dd}.episode-static-prose p{margin:0 0 1.3em}

/* Chapter 1's moving stage. The environment is hand-drawn SVG and the cast
   uses the same named-square visual language as Battle Mode. */
.episode-stage-poster{position:relative;overflow:hidden;isolation:isolate;background:#343c39;min-height:260px}.episode-stage-poster>svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.episode-poster-square{position:absolute;transform:translate(-50%,-100%);display:grid;place-items:center;width:70px;height:70px;border:2px solid var(--cast-color);background:#111e26e8;color:#f7f2e7;font:600 1rem/1.5 system-ui;box-shadow:0 8px 15px #0005}.episode-feature>.episode-stage-poster{position:absolute;inset:0;z-index:-2}.episode-feature>.episode-stage-poster .episode-poster-square{width:86px;height:86px;left:73%!important}.episode-feature>.episode-stage-poster .episode-poster-square:last-child{left:87%!important}.episode-invitation>.episode-stage-poster{min-height:270px}.episode-invitation>.episode-stage-poster .episode-poster-square{width:58px;height:58px;font-size:.875rem}
.episode-player{display:flex;flex-direction:column;height:auto;min-height:0;border-radius:5px;background:#0b1118}.episode-player-top{flex:none;padding:.65rem 1rem}.episode-player-top>span{font-size:.875rem}.episode-theatre{position:relative;isolation:isolate;aspect-ratio:5/3;max-height:610px;min-height:440px;overflow:hidden;background:#293b44;color:#eee9df}.episode-stage-world{position:absolute;inset:0;overflow:hidden}.episode-set,.episode-stage-atmosphere,.episode-stage-props,.episode-stage-cast,.episode-stage-shot{position:absolute;inset:0;pointer-events:none}.episode-set>svg{display:block;width:100%;height:100%}.episode-stage-atmosphere{z-index:2}.episode-stage-props{z-index:3}.episode-stage-cast{z-index:4}.episode-stage-shot{z-index:5}.episode-stage-heading{position:absolute;top:1.3rem;left:1.5rem;right:1.5rem;z-index:10;pointer-events:none}.episode-stage-heading>span{display:inline-block;font-size:.875rem;line-height:1.6;color:#dadbd6;text-shadow:0 2px 8px #000}.episode-stage-heading h2{font:400 clamp(1.4rem,2.4vw,2rem)/1.3 Georgia,serif;margin:.25rem 0;text-shadow:0 2px 12px #000}.episode-stage-note{position:absolute;bottom:.75rem;left:1rem;right:1rem;z-index:10;pointer-events:none;color:#e7e4d8;font:.875rem/1.5 system-ui;text-shadow:0 1px 7px #000}.episode-character{position:absolute;left:var(--actor-x);top:var(--actor-y);transform:translate(-50%,-100%);transition:left 1.4s ease-in-out,top 1.4s ease-in-out,opacity .8s;will-change:left,top;width:70px}.episode-character[hidden]{display:none}.episode-character-square{display:flex;flex-direction:column;justify-content:center;align-items:center;width:70px;height:70px;border:2px solid var(--cast-color);border-radius:2px;background:linear-gradient(150deg,#21313cea,#111b22f5);color:#faf6ea;box-shadow:0 5px 14px #0005;position:relative;z-index:2;transition:transform .3s,border-color .3s;overflow:hidden}.episode-character-square>span{font:600 1rem/1.35 system-ui;margin:0;max-width:100%;overflow-wrap:anywhere}.episode-character-square>small{font:.875rem/1.4 system-ui;color:var(--cast-color);margin-top:.2rem}.episode-character-shadow{position:absolute;bottom:-7px;left:2px;right:2px;height:13px;border-radius:50%;background:#101b2370;filter:blur(3px)}.episode-character.is-speaking .episode-character-square{border-width:3px;transform:translateY(-5px);background:linear-gradient(150deg,#2b4050fa,#162733fa)}.episode-character.is-speaking:after{content:"";position:absolute;top:-16px;left:30px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--cast-color);z-index:3}.episode-character[data-state=running] .episode-character-square{animation:stage-step .32s ease-in-out 8 alternate;transform:rotate(5deg)}.episode-character[data-state=walking] .episode-character-square{animation:stage-step .65s ease-in-out 4 alternate}.episode-character[data-state=playing] .episode-character-square{animation:stage-step 1s ease-in-out infinite alternate}.episode-character[data-state=startled] .episode-character-square{animation:stage-startle .5s ease-out}.episode-character[data-state=reaching] .episode-character-square{transform:rotate(8deg) translateX(6px)}.episode-character[data-state=shielding] .episode-character-square{transform:rotate(-19deg);width:84px}.episode-character[data-state=fallen] .episode-character-square,.episode-character[data-state=exhausted] .episode-character-square{transform:rotate(-9deg);filter:saturate(.5)}.episode-character[data-state=lost]{opacity:.25}.episode-character[data-state=lost] .episode-character-square{filter:grayscale(1);border-color:#8d928f;transform:rotate(-18deg)}.episode-character[data-state=trapped] .episode-character-square{transform:rotate(14deg);filter:brightness(.75)}.episode-character-item{position:absolute;width:100px;height:50px;left:48px;top:19px;z-index:4;transform:rotate(-7deg);transform-origin:15px 50%;animation:stage-item-arrive .35s ease-out}.episode-character-item>svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 2px #0004)}.episode-character[data-item=bread] .episode-character-item{width:55px;left:44px;top:26px}.episode-character[data-item=knife] .episode-character-item{width:80px;top:28px}.episode-character[data-state=aiming] .episode-character-item{animation:stage-recoil .45s ease-out .8s}
.episode-speech-box{position:absolute;left:var(--bubble-left,30%);top:var(--bubble-top,27%);width:min(380px,36%);max-width:calc(100% - 1.5rem);padding:.8rem 1rem;background:#111b24f5;border:1px solid var(--speaker-color,#ceb788);border-top:3px solid var(--speaker-color,#ceb788);border-radius:5px;box-shadow:0 6px 24px #0004;z-index:20;animation:stage-bubble .2s ease-out}.episode-speech-box[hidden]{display:none}.episode-speech-box:after{content:"";position:absolute;left:var(--tail-left,50%);bottom:-8px;width:13px;height:13px;background:#111b24;border-right:1px solid var(--speaker-color);border-bottom:1px solid var(--speaker-color);transform:rotate(45deg)}.episode-speech-box>strong{font:600 .875rem/1.5 system-ui;color:var(--speaker-color);display:block;margin:0 0 .35rem}.episode-speech-box>p{font:400 1.0625rem/1.55 Georgia,serif;color:#f1ebdf;margin:0;overflow-wrap:anywhere}.episode-speech-pages{display:flex;gap:.4rem;margin-top:.5rem}.episode-speech-pages:empty{display:none}.episode-speech-pages button{padding:.2rem .5rem;min-height:28px;min-width:30px;font-size:.875rem;line-height:1.5}.episode-screen{flex:none;padding:1.1rem 1.5rem;max-height:240px;min-height:125px;border-top:1px solid #687f8638;background:#0e1720}.episode-passage{max-width:1050px}.episode-passage>.eyebrow{font-size:.8125rem;margin:0 0 .45rem}.episode-prose{font-size:var(--episode-text-size);line-height:1.75}.episode-prose p{margin:0}.episode-player-bottom{flex:none}.episode-controls{max-width:620px;grid-template-columns:1fr 1.6fr 1fr}.episode-controls [data-episode-action=auto]{border-color:#d2b67e;color:#f6d99e;background:#d2b67e15;font-weight:600}.episode-controls [data-episode-action=next]{background:#1b2b35;color:#e8e6df;border-color:#708a945c;font-weight:400}.episode-scene-list button>img{object-position:center;height:110px}
.episode-stage-atmosphere>i{position:absolute;left:var(--p-x);top:var(--p-y);animation:stage-wind var(--p-speed) linear infinite;animation-delay:var(--p-delay);width:var(--p-size);height:1px;background:#d6e0df40;transform:rotate(-8deg)}.episode-theatre[data-weather=snow] .episode-stage-atmosphere>i{height:var(--p-size);border-radius:50%;background:#e8ede5bb;animation-name:stage-snow}.episode-theatre[data-weather=dust] .episode-stage-atmosphere>i{height:var(--p-size);border-radius:50%;filter:blur(5px);background:#c4b99a50;animation-name:stage-dust}.episode-theatre[data-weather=dust] .episode-set:after{content:"";position:absolute;inset:0;background:#b3a58d26;pointer-events:none}.set-flame{animation:stage-candle 1.8s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 100%}.episode-theatre[data-action=tremor] .episode-stage-world,.episode-theatre[data-action=collapse] .episode-stage-world{animation:stage-tremor .65s ease-in-out}.episode-theatre[data-action=escape] .episode-set{animation:stage-tremor 1.6s ease-in-out}
.stage-blanket{position:absolute;left:44%;top:63%;width:30%;height:13%;background:#7a79666e;transform:skew(-7deg);border:2px solid #90886d80;border-radius:7% 20% 8% 8%;display:flex;justify-content:space-around}.stage-blanket span{height:100%;border-left:2px solid #343c3670;transform:rotate(12deg)}.stage-basket{position:absolute;left:60%;top:59%;width:9%;height:9%;background:repeating-linear-gradient(2deg,#745237 0 4px,#9d7552 5px 7px);border-radius:5% 5% 42% 42%;border:2px solid #483c2b}.stage-basket>svg{position:absolute;width:80%;height:90%;top:-46%;left:6%}.stage-basket>svg:nth-child(2){left:23%;transform:rotate(12deg);top:-23%}.stage-basket>i{position:absolute;left:7%;right:7%;top:-44%;height:70%;border:4px solid #9a7751;border-bottom:0;border-radius:50% 50% 0 0}.stage-table-bread{position:absolute;left:45%;top:66%;width:12%;height:6%;display:flex;transform:rotate(-4deg)}.stage-table-bread svg{width:60%;height:100%}.stage-target{position:absolute;left:var(--target-x);top:var(--target-y);width:45px;height:65px;transform:translate(-50%,-100%);animation:stage-target-sway 3.4s ease-in-out infinite alternate}.stage-target>i{position:absolute;width:7px;height:100%;left:19px;background:#6b5138}.stage-target>b{position:absolute;top:2px;left:0;width:45px;height:45px;border-radius:50%;border:5px solid #574c3b;background:radial-gradient(circle,#6b5041 0 16%,#b9a27a 18% 37%,#6d5e49 39% 53%,#a58e69 55% 100%);box-shadow:0 4px 4px #0003}.stage-target-hit{position:absolute;width:55px;height:55px;border:2px solid #ccbb8f;border-radius:50%;transform:translate(-50%,-100%);animation:stage-target-break .7s ease-out .85s both}.episode-theatre[data-action=shot] .stage-target:first-child{animation:stage-target-shatter 1.2s ease-out .8s forwards}.stage-projectile{position:absolute;left:36%;top:70%;width:35%;height:2px;background:linear-gradient(90deg,transparent,#e5eee5);transform:rotate(-6deg);opacity:0;animation:stage-shot .35s linear .8s forwards}.stage-beam{position:absolute;width:42%;height:21px;background:repeating-linear-gradient(2deg,#574634 0 4px,#72634b 5px 7px);border:2px solid #958369;box-shadow:0 8px 12px #0004;left:30%;top:71%;transform:rotate(14deg);z-index:7}.falling-beam{animation:stage-beam-fall 1.5s ease-in both;top:0}.fallen-beam{top:73%}.stage-falling-stone{position:absolute;left:43%;width:35px;height:25px;background:#a0937c;clip-path:polygon(10% 15%,75% 0,100% 60%,64% 100%,0 85%);animation:stage-stone-fall 1.7s ease-in both}.stage-falling-stone.second{left:76%;animation-delay:.4s;width:45px}
.episode-player:fullscreen{display:flex;width:100%;height:100svh;overflow:auto}.episode-player:fullscreen .episode-theatre{flex:1;aspect-ratio:auto;min-height:260px;max-height:none}.episode-player:fullscreen .episode-screen{max-height:24svh;min-height:90px;padding:.85rem 1.5rem}.stage-paused *{animation-play-state:paused!important}.stage-calm *,.episode-calm .episode-theatre *{animation:none!important;transition:none!important}.episode-end{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center}.episode-end .eyebrow{width:100%;margin:0}.episode-end h2{font-size:1.6rem;margin:.2rem 0}.episode-end .button,.episode-end .text-link{display:inline-block;margin:.4rem}.episode-end small{width:100%}
@keyframes stage-step{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-5px) rotate(3deg)}}
@keyframes stage-startle{0%,100%{transform:translateX(0)}30%{transform:translateX(-7px) rotate(-5deg)}60%{transform:translateX(5px)}}
@keyframes stage-item-arrive{from{opacity:0;transform:rotate(-24deg) scale(.6)}to{opacity:1;transform:rotate(-7deg) scale(1)}}
@keyframes stage-recoil{50%{transform:translateX(-8px) rotate(-10deg)}}
@keyframes stage-bubble{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes stage-wind{from{transform:translateX(200px) rotate(-8deg);opacity:0}20%,80%{opacity:.7}to{transform:translateX(-300px) rotate(-8deg);opacity:0}}
@keyframes stage-snow{from{transform:translate(-40px,-200px);opacity:0}15%,80%{opacity:.85}to{transform:translate(110px,350px);opacity:0}}
@keyframes stage-dust{from{transform:translate(-60px,15px) scale(.6);opacity:.1}50%{opacity:.8}to{transform:translate(120px,-70px) scale(1.7);opacity:0}}
@keyframes stage-candle{from{opacity:.75;transform:scaleX(.83) scaleY(.91)}to{opacity:1;transform:scaleX(1.1) scaleY(1.05)}}
@keyframes stage-tremor{0%,100%{transform:translate(0)}20%{transform:translate(3px,2px)}40%{transform:translate(-3px,-2px)}60%{transform:translate(2px,-1px)}80%{transform:translate(-2px,1px)}}
@keyframes stage-target-sway{from{transform:translate(-50%,-100%) rotate(-9deg)}to{transform:translate(-50%,-100%) rotate(9deg)}}
@keyframes stage-target-break{from{opacity:0;transform:translate(-50%,-100%) scale(.3)}30%{opacity:.8}to{opacity:0;transform:translate(-50%,-100%) scale(2.2)}}
@keyframes stage-target-shatter{0%{opacity:1}25%{transform:translate(-40%,-90%) rotate(13deg)}100%{opacity:.1;transform:translate(10%,-40%) rotate(40deg)}}
@keyframes stage-shot{0%{opacity:0;width:0}30%{opacity:1;width:35%}100%{opacity:0;width:35%}}
@keyframes stage-beam-fall{from{transform:translateY(-150px) rotate(-17deg)}to{transform:translateY(350px) rotate(14deg)}}
@keyframes stage-stone-fall{from{top:-40px;transform:rotate(0)}to{top:75%;transform:rotate(180deg)}}
@media(max-width:980px){.episode-theatre{min-height:410px}.episode-speech-box{width:min(380px,45%)}.episode-feature>.episode-stage-poster .episode-poster-square{left:77%!important}.episode-feature>.episode-stage-poster .episode-poster-square:last-child{left:92%!important}}
@media(max-width:720px){.episode-theatre{aspect-ratio:1.15;min-height:370px;max-height:560px}.episode-stage-heading{top:.8rem;left:1rem;right:1rem}.episode-stage-heading h2{font-size:1.35rem;max-width:18em}.episode-speech-box{left:4%!important;top:22%!important;width:92%;max-width:92%;padding:.65rem .85rem}.episode-speech-box>p{font-size:1rem;line-height:1.5}.episode-speech-box:after{display:none}.episode-character,.episode-character-square{width:56px}.episode-character-square{height:56px}.episode-character-square>span{font-size:.875rem}.episode-character-square>small{font-size:.875rem;margin-top:0}.episode-character.is-speaking:after{left:23px}.episode-character-item{left:38px;width:80px}.episode-character[data-item=bread] .episode-character-item{left:34px;width:45px}.episode-character[data-state=shielding] .episode-character-square{width:63px}.episode-stage-note{font-size:.8125rem}.episode-screen{padding:1rem;min-height:155px;max-height:280px}.episode-prose{font-size:max(17px,calc(var(--episode-text-size) - 2px));line-height:1.65}.episode-controls{grid-template-columns:1fr 1.6fr 1fr}.episode-player:fullscreen{display:flex}.episode-player:fullscreen .episode-theatre{min-height:320px;flex:1}.episode-player:fullscreen .episode-screen{padding:.65rem 1rem;max-height:23svh;min-height:90px}.episode-player:fullscreen .episode-stage-heading h2{font-size:1.25rem}.episode-feature>.episode-stage-poster .episode-poster-square{top:43%!important;left:35%!important}.episode-feature>.episode-stage-poster .episode-poster-square:last-child{left:61%!important}.episode-invitation>.episode-stage-poster{min-height:250px}.stage-basket{width:15%;left:57%}.stage-beam{height:16px}.stage-blanket{left:33%;width:50%}}
@media(max-width:390px){.episode-theatre{min-height:400px}.episode-speech-box>p{font-size:1rem}.episode-stage-heading h2{font-size:1.2rem}.episode-screen{min-height:170px}.episode-player button{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.episode-theatre *{animation:none!important;transition:none!important}}
html[data-motion=quiet] .episode-theatre *{animation:none!important;transition:none!important}
.episode-controls{grid-template-columns:1fr 1fr}.episode-player-top>[data-episode-action=auto]{border-color:#d2b67e;color:#f6d99e;background:#d2b67e15;font-weight:600}
@media(max-width:720px){.episode-speech-box{top:var(--mobile-bubble-top,22%)!important}}

/* Forest training and the journey below the water. */
.episode-feature+.episode-feature{margin-top:2rem}.episode-feature:has([id=episode-title-chapter-2]) .episode-feature-copy h2{font-size:clamp(2.8rem,5vw,5.2rem)}
.episode-theatre[data-weather=leaves] .episode-stage-atmosphere>i{width:8px;height:4px;border-radius:75% 10%;background:#9b966470;animation-name:stage-leaf}.episode-theatre[data-weather=embers] .episode-stage-atmosphere>i{height:var(--p-size);border-radius:50%;background:#e6b46785;animation-name:stage-ember}.episode-theatre[data-weather=bubbles] .episode-stage-atmosphere>i{width:calc(var(--p-size)*2);height:calc(var(--p-size)*2);background:none;border:1px solid #b8d5d76f;border-radius:50%;animation-name:stage-bubble-rise}.episode-theatre[data-action=dive] .episode-character-shadow{display:none}.episode-character[data-state=swimming] .episode-character-square{animation:stage-swim 2.5s ease-in-out infinite alternate;transform:rotate(11deg);background:#203e53e8}.episode-character[data-state=swimming]{transition-duration:2.6s}.episode-character[data-state=hidden]{opacity:.17;filter:blur(1px)}.episode-character[data-state=sitting] .episode-character-square{transform:translateY(12px) rotate(-4deg)}.episode-character[data-state=crouching] .episode-character-square{transform:translateY(11px) scaleY(.83) rotate(-7deg)}.episode-character[data-state=hesitant] .episode-character-square{transform:rotate(-6deg)}.episode-character[data-state=reloading] .episode-character-item{animation:stage-reload 2s ease-in-out}.episode-character[data-state=riding] .episode-character-square{animation:stage-carriage-bounce 1.2s ease-in-out infinite alternate;background:#243438c7}.episode-character[data-state=soaked] .episode-character-square{border-bottom-color:#b0d8df;box-shadow:0 6px 16px #12507980}.episode-character[data-stage-actor=fox] .episode-character-square{width:49px;height:49px;background:#514036;border-radius:5px}.episode-character[data-stage-actor=fox] .episode-character-square>small{font-size:.8125rem}.episode-character[data-item=pistol] .episode-character-item{width:68px;left:46px;top:25px}.episode-character[data-item=cigarette] .episode-character-item{width:65px;top:7px;left:46px}.episode-character[data-item=meal] .episode-character-item{width:70px;top:38px;left:39px}
.stage-red-target{width:43px}.stage-red-target>b{background:#a85642;border-color:#704331;border-radius:4px;box-shadow:inset 0 0 0 5px #bc6c52}.stage-red-target>i{background:#756243;height:115%}.episode-theatre[data-action=drill] .stage-red-target>b{animation:stage-red-impact 1.2s ease-out calc(1.2s + var(--target-delay)) both}.stage-drill-shot{position:absolute;left:var(--shot-x);top:var(--shot-y);width:24%;height:2px;background:linear-gradient(90deg,#f0e1b4,#dbe4d1,transparent);opacity:0;animation:stage-drill-shot .4s linear var(--shot-delay) both}.stage-drill-shot:before{content:"";position:absolute;left:-5px;top:-5px;width:12px;height:12px;background:#dfcca0;border-radius:50%;opacity:.6}.stage-loose-magazine{position:absolute;left:52%;top:78%;width:12px;height:25px;border:2px solid #8f9f94;background:#293e42;animation:stage-magazine-drop 1.3s ease-out both;transform:rotate(22deg)}.stage-camp-kit{position:absolute;left:22%;top:74%;width:11%;height:9%;transform:rotate(-9deg);background:#6d6b50;border:2px solid #303e35;border-radius:35% 25% 12% 15%}.stage-camp-kit>i{position:absolute;inset:3px 16% 60%;border:2px solid #8e8a6d;border-radius:50%}.stage-camp-kit>span{position:absolute;left:4%;right:4%;top:50%;border-top:3px solid #8c896a}.stage-campfire{position:absolute;left:54%;top:73%;width:115px;height:87px;transform:translate(-50%,-50%)}.campfire-light{position:absolute;width:265px;height:140px;left:50%;top:61%;transform:translate(-50%,-50%);border-radius:50%;background:#d5aa6633;filter:blur(24px);animation:stage-firelight 3s ease-in-out infinite alternate}.campfire-log{position:absolute;left:10px;top:62px;width:93px;height:12px;background:#6b4930;border:2px solid #a17449;transform:rotate(18deg);border-radius:4px}.campfire-log.second{transform:rotate(-18deg)}.campfire-flame{position:absolute;left:35px;top:5px;width:48px;height:65px;border-radius:60% 30% 40% 50%;background:linear-gradient(0deg,#dfbc74,#c9814b);transform:rotate(-12deg);animation:stage-fire-flame 1.7s ease-in-out infinite alternate;transform-origin:center bottom}.campfire-flame.second{left:20px;top:20px;width:31px;height:47px;transform:rotate(-28deg);animation-delay:-.6s;background:#c2894c}.campfire-flame.third{left:69px;top:21px;width:29px;height:48px;transform:rotate(13deg);animation-delay:-.9s;background:#e0ac6a}.campfire-smoke{position:absolute;left:25px;top:-72px;width:64px;height:113px;border-radius:50%;background:#b7b6a313;filter:blur(10px);animation:stage-smoke 7s linear infinite}.stage-cooking-meat{position:absolute;left:51%;top:70%;width:70px;height:52px;transform:rotate(-11deg)}.stage-cooking-meat>i{position:absolute;width:5px;height:88px;background:#a29879;left:34px;top:-15px}.stage-cooking-meat>b{position:absolute;left:13px;top:6px;width:43px;height:27px;border-radius:36%;background:#8d6142;border:3px solid #b48a58}.stage-cigarette-smoke{position:absolute;left:44%;top:56%;width:12px;height:42px;background:#b1c1b63c;filter:blur(5px);border-radius:50%;animation:stage-smoke 5s linear infinite}.item-cigarette-smoke{animation:stage-smoke 4s ease-in-out infinite}
.stage-carriage{position:absolute;left:29%;top:54%;width:54%;height:38%;z-index:3}.stage-carriage>svg{width:100%;height:100%;filter:drop-shadow(0 9px 5px #102a2a66);animation:stage-carriage-bounce 1.2s ease-in-out infinite alternate}.carriage-wheel{animation:stage-wheel 2.5s linear infinite}.carriage-horse-leg{animation:stage-horse-leg .7s ease-in-out infinite alternate;transform-origin:500px 143px}.carriage-horse-leg.second{animation-delay:-.35s}.episode-theatre[data-action=carriage] .episode-set{animation:stage-road-drift 4s ease-in-out infinite alternate}.stage-code-lock{position:absolute;left:68%;top:40%;width:48px;height:73px;border:2px solid #89adb4;background:#1f3b48;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px;z-index:6}.stage-code-lock>span{grid-column:1/-1;color:#c5d7c5;font:600 .875rem/1 monospace;text-align:center;margin:1px 0 5px;letter-spacing:1px}.stage-code-lock>i{width:6px;height:6px;display:block;background:#9aa99e;border-radius:1px}.episode-theatre[data-action=airlock] .stage-code-lock>span{animation:stage-code 1s steps(3) 2}.stage-draining-water{position:absolute;inset:40% 0 0;background:#639bb755;border-top:2px solid #a4c4c67a;transform-origin:bottom;animation:stage-drain 4.5s ease-in-out both;z-index:5}.stage-waiting-members{position:absolute;left:76%;top:37%;width:17%;display:flex;justify-content:space-between;gap:4px}.stage-waiting-members>span{display:grid;place-items:center;width:37px;height:38px;border:1px solid #a0afb0;background:#263e47;font:.625rem/1.3 system-ui;color:#ccd3c9;opacity:.67}.set-fish{animation:stage-fish var(--fish-speed,18s) ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.set-water-line{animation:stage-water 4s ease-in-out infinite alternate}.episode-theatre[data-environment=underwater] .episode-speech-box{background:#102d40f5}
.episode-cast-voices{border:1px solid #7b8e9d40;padding:0 1.2rem 1.2rem;margin-top:1.5rem;background:#0d1720}.episode-cast-voices>p{font-size:1rem;line-height:1.7;color:var(--ep-muted);margin:.25rem 0 1.2rem}.episode-cast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.episode-cast-card{display:flex;flex-direction:column;gap:.65rem;background:#13212b;border:1px solid #74878d35;padding:1rem}.episode-cast-card>strong{font:600 1rem/1.5 system-ui;color:#e8d5b1}.episode-cast-card>span{font:.875rem/1.5 system-ui;color:#a9b7b9}.episode-cast-card label{display:grid;gap:.4rem;font:400 .875rem/1.5 system-ui;color:#c5cbc5}.episode-cast-card select{width:100%;min-width:0;min-height:44px;background:#0b1720;color:#e5e9df;border:1px solid #73878a70;padding:.55rem .4rem;font:400 .875rem/1.6 system-ui}.episode-cast-tone{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.episode-cast-card button{margin-top:auto;min-height:44px;padding:.6rem;border:1px solid #b69a6660;background:#8c754410;color:#ead9b4;font:400 .9rem/1.5 system-ui;cursor:pointer}.episode-cast-voices .episode-cast-note{font:.875rem/1.6 system-ui;margin:1.1rem 0 0}
@keyframes stage-leaf{from{opacity:0;transform:translate(100px,-30px) rotate(0)}25%,75%{opacity:.7}to{opacity:0;transform:translate(-140px,100px) rotate(120deg)}}
@keyframes stage-ember{from{opacity:0;transform:translate(-10px,200px)}30%{opacity:.7}to{opacity:0;transform:translate(38px,-180px)}}
@keyframes stage-bubble-rise{from{opacity:0;transform:translate(-10px,190px)}25%,75%{opacity:.7}to{opacity:0;transform:translate(10px,-350px)}}
@keyframes stage-swim{from{transform:rotate(6deg) translateY(0)}to{transform:rotate(13deg) translateY(-7px)}}
@keyframes stage-reload{0%,100%{transform:rotate(-7deg)}40%{transform:rotate(-49deg) translateY(9px)}70%{transform:rotate(-35deg)}}
@keyframes stage-red-impact{0%,75%{transform:rotate(0);opacity:1}85%{transform:rotate(14deg);opacity:.8}100%{transform:rotate(-5deg);opacity:.55}}
@keyframes stage-drill-shot{0%{opacity:0;width:0}20%{opacity:.8;width:20%}100%{opacity:0;width:23%}}
@keyframes stage-magazine-drop{from{transform:translateY(-27px) rotate(-17deg);opacity:0}50%{opacity:1}to{transform:translateY(20px) rotate(30deg);opacity:.6}}
@keyframes stage-firelight{from{opacity:.7;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}
@keyframes stage-fire-flame{from{height:51px;opacity:.8}to{height:65px;opacity:1}}
@keyframes stage-smoke{from{opacity:.05;transform:translateY(0) scale(.6)}40%{opacity:.6}to{opacity:0;transform:translate(18px,-55px) scale(1.5)}}
@keyframes stage-carriage-bounce{from{transform:translateY(0)}to{transform:translateY(-3px)}}
@keyframes stage-wheel{to{transform:rotate(360deg)}}
@keyframes stage-horse-leg{from{transform:rotate(-6deg)}to{transform:rotate(7deg)}}
@keyframes stage-road-drift{from{transform:translateX(-5px) scale(1.03)}to{transform:translateX(5px) scale(1.03)}}
@keyframes stage-code{from{opacity:.45}to{opacity:1}}
@keyframes stage-drain{from{transform:scaleY(1)}to{transform:scaleY(0)}}
@keyframes stage-fish{from{translate:-24px 3px}to{translate:38px -5px}}
@keyframes stage-water{from{opacity:.2;translate:-10px 0}to{opacity:.5;translate:10px 0}}
@media(max-width:980px){.episode-cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.episode-character[data-item=pistol] .episode-character-item{width:52px;left:37px;top:17px}.episode-character[data-item=cigarette] .episode-character-item{width:49px;left:35px;top:6px}.episode-character[data-item=meal] .episode-character-item{width:59px;left:29px;top:29px}.stage-campfire{width:93px;height:70px;left:57%;top:76%;scale:.8}.stage-cooking-meat{left:54%;top:74%;scale:.8}.stage-carriage{left:15%;width:78%;top:60%;height:30%}.stage-code-lock{width:36px;height:62px;left:71%;top:43%;padding:5px;gap:3px}.stage-waiting-members>span{width:21px;height:24px;font-size:.625rem}.episode-cast-grid{grid-template-columns:1fr}.stage-red-target{scale:.8}.episode-stage-heading>span{max-width:90%;font-size:.8125rem}.episode-feature+.episode-feature{margin-top:1.25rem}}

/* Chapter 3: still water, formal seating, then a stark training floor. */
.episode-theatre[data-environment=conference-room] .episode-stage-world,
.episode-theatre[data-environment=fischer-office] .episode-stage-world,
.episode-theatre[data-environment=leichen-corridor] .episode-stage-world,
.episode-theatre[data-environment=training-pit] .episode-stage-world{transform-origin:50% 70%}
.set-water-light{animation:stage-water-light 8s ease-in-out infinite alternate}
.stage-food-platter{position:absolute;left:40%;top:70%;width:13%;height:8%;display:flex;align-items:center;transform:rotate(-5deg);filter:drop-shadow(0 3px 2px #0005)}
.stage-food-platter>svg{width:72%;height:100%}.stage-food-platter>svg+svg{width:45%;margin-left:-25%}
.episode-character-item[hidden]{display:none}
.episode-character[data-item=uniform] .episode-character-item{width:66px;height:49px;left:46px;top:28px;transform:rotate(9deg)}
.stage-uniform-flight{position:absolute;left:60%;top:66%;width:66px;height:49px;animation:stage-uniform-toss .6s ease-in-out both}
.stage-uniform-flight>svg{width:100%;height:100%}
.episode-character[data-state=leaning] .episode-character-square{transform:translateY(7px) rotate(-5deg)}
.episode-character[data-state=standing] .episode-character-square{transform:translateY(-6px)}
.episode-character[data-state=tense] .episode-character-square{transform:rotate(-4deg);border-bottom-width:4px}
.episode-character[data-state=amused] .episode-character-square{animation:stage-step .5s ease-in-out 2 alternate}
.episode-character[data-state=catching] .episode-character-square{animation:stage-catch .5s ease-out}
.episode-character[data-state=guarding] .episode-character-square{transform:rotate(-4deg);border-bottom-width:4px}
.episode-character[data-state=knuckles] .episode-character-square{animation:stage-knuckles .3s ease-in-out 3 alternate}
.episode-character[data-state=shooting-low] .episode-character-square{transform:translateY(20px) rotate(-22deg) scaleY(.75)}
.episode-character[data-state=grappling] .episode-character-square{transform:translateY(14px) rotate(-30deg)}
.episode-character[data-state=lifting] .episode-character-square{transform:rotate(16deg)}
.episode-character[data-state=off-balance] .episode-character-square{transform:rotate(23deg)}
.episode-character[data-state=lifted] .episode-character-square{transform:rotate(63deg)}
.episode-character[data-state=slammed] .episode-character-square{animation:stage-slam .42s ease-out both}
.episode-character[data-state=rolling] .episode-character-square{animation:stage-roll .65s ease-in-out both}
.episode-character[data-state=stomp-ready] .episode-character-square{transform:translateY(-15px) rotate(10deg)}
.episode-character[data-state=stomping] .episode-character-square{animation:stage-stomp .38s ease-in both}
.episode-theatre[data-environment=training-pit] .episode-character[data-state=fallen] .episode-character-square{transform:translateY(6px) rotate(80deg);filter:saturate(.6)}
.episode-theatre[data-environment=training-pit] .episode-character:is([data-state=advancing],[data-state=shooting-low],[data-state=grappling],[data-state=rolling],[data-state=slammed]){transition:left .48s ease-out,top .4s ease-in-out,opacity .5s}
.episode-theatre[data-action=cliffhanger] .episode-set:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 40% 79%,transparent 25%,#08121e70 100%);pointer-events:none}
.stage-pit-effect{position:absolute;left:var(--impact-x);top:var(--impact-y);width:140px;height:56px;transform:translate(-50%,-50%);pointer-events:none}
.stage-pit-effect>i{position:absolute;inset:4%;border:3px solid #dec69a;box-shadow:0 0 16px #c9b98a44;border-radius:50%;animation:stage-floor-ring .7s ease-out both}
.stage-pit-effect>b{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(ellipse,#d1c19a66,transparent 70%);animation:stage-floor-dust .9s ease-out both}
.stage-pit-effect>span{position:absolute;inset:20%;background:#e9d5ab;clip-path:polygon(0 50%,35% 42%,26% 0,50% 29%,74% 0,67% 43%,100% 50%,65% 61%,79% 100%,50% 74%,22% 100%,34% 60%);animation:stage-floor-flash .32s ease-out both}
.stomp-impact{width:93px;height:37px}.grapple-trail{width:130px;height:20px;transform:translate(-45%,-100%) rotate(12deg)}
.grapple-trail>i{border-radius:0;border:0;border-bottom:3px solid #b7d4d1;animation:stage-floor-flash .5s ease-out both}.grapple-trail>b,.grapple-trail>span{display:none}
.episode-stage-world.pit-impact{animation:stage-tremor .32s ease-out}
@keyframes stage-water-light{from{opacity:.05;transform:translateX(-12px)}to{opacity:.12;transform:translateX(12px)}}
@keyframes stage-uniform-toss{0%{opacity:1;transform:translate(0,0) rotate(-6deg)}45%{opacity:1;transform:translate(calc(var(--uniform-flight-x,-220px) * .45),-20px) rotate(50deg)}85%{opacity:1;transform:translate(var(--uniform-flight-x,-220px),var(--uniform-flight-y,65px)) rotate(9deg)}100%{opacity:0;transform:translate(var(--uniform-flight-x,-220px),var(--uniform-flight-y,65px)) rotate(9deg)}}
@keyframes stage-catch{0%{transform:rotate(-10deg)}65%{transform:rotate(6deg)}100%{transform:rotate(0)}}
@keyframes stage-knuckles{from{transform:scale(1)}to{transform:scale(1.04) rotate(-3deg)}}
@keyframes stage-slam{0%{transform:rotate(63deg)}60%{transform:translateY(10px) rotate(88deg) scaleY(.8)}100%{transform:translateY(6px) rotate(80deg)}}
@keyframes stage-roll{0%{transform:rotate(80deg)}100%{transform:translateY(6px) rotate(-280deg)}}
@keyframes stage-stomp{0%{transform:translateY(-15px) rotate(10deg)}75%{transform:translateY(18px) rotate(-10deg) scaleY(.87)}100%{transform:translateY(5px) rotate(-4deg)}}
@keyframes stage-floor-ring{0%{opacity:.8;transform:scale(.25)}100%{opacity:0;transform:scale(1.7)}}
@keyframes stage-floor-dust{0%{opacity:0;transform:scale(.2)}30%{opacity:.75}100%{opacity:0;transform:scale(1.8) translateY(-8px)}}
@keyframes stage-floor-flash{0%{opacity:0;transform:scale(.5)}20%{opacity:.6}100%{opacity:0;transform:scale(1.2)}}
@media(max-width:720px){.episode-character:is([data-stage-actor=forsterke],[data-stage-actor=donjivuk]),.episode-character:is([data-stage-actor=forsterke],[data-stage-actor=donjivuk]) .episode-character-square{width:66px}.episode-character:is([data-stage-actor=forsterke],[data-stage-actor=donjivuk]) .episode-character-square{height:66px}.stage-food-platter{width:17%;left:37%}.episode-character[data-item=uniform] .episode-character-item{width:49px;height:38px;left:34px;top:24px}.stage-pit-effect{scale:.75}.stage-uniform-flight{width:49px}.episode-chapter-facts>span{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.set-water-light,.stage-uniform-flight,.stage-pit-effect>*{animation:none!important}.stage-uniform-flight,.stage-pit-effect{display:none}}
.stage-calm .stage-uniform-flight,.stage-calm .stage-pit-effect,html[data-motion=quiet] .stage-uniform-flight,html[data-motion=quiet] .stage-pit-effect{display:none}
@media(prefers-reduced-motion:reduce){.episode-stage-world *{animation:none!important;transition:none!important}.stage-draining-water{transform:scaleY(0)}}

/* The camera moves the scene, while captions and names remain readable. */
.episode-camera-rig{position:absolute;inset:0;transform:translate(var(--camera-x,0%),var(--camera-y,0%)) scale(var(--camera-zoom,1));transform-origin:center;transition:transform 1.7s cubic-bezier(.23,.65,.28,1);will-change:transform}
.episode-theatre:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:8;box-shadow:inset 0 0 70px #06111b45}
.episode-speech-box{z-index:15;max-height:40%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:linear-gradient(145deg,#122538f5,#081522fa);border-color:var(--speaker-color);box-shadow:0 10px 28px #020b14a8}
.episode-speech-box p{font-size:clamp(1rem,1.55vw,1.2rem);line-height:1.65;overflow-wrap:anywhere}
.episode-sound-caption{position:absolute;right:1rem;bottom:.7rem;z-index:16;border:1px solid #a4bdcc70;background:#0a1723ed;color:#e5edf0;font-size:.875rem;line-height:1.5;padding:.35rem .65rem;max-width:55%;text-align:right;pointer-events:none}
.episode-sound-caption[hidden]{display:none}
.episode-character[data-reaction] .episode-character-square{box-shadow:0 7px 20px #0007,0 0 15px color-mix(in srgb,var(--cast-color) 25%,transparent)}
.episode-character:is([data-reaction=tense],[data-reaction=guarded],[data-reaction=alert],[data-reaction=pressure]) .episode-character-square{transform:translateY(-3px) rotate(-3deg);border-width:3px}
.episode-character:is([data-reaction=comfort],[data-reaction=support],[data-reaction=soften]) .episode-character-square{transform:rotate(3deg);background:linear-gradient(145deg,#354955fa,#14252dfa)}
.episode-character[data-reaction=defiant] .episode-character-square{transform:translateY(-6px) rotate(2deg);border-width:3px}
.episode-character[data-reaction=grief] .episode-character-square{transform:translateY(5px) rotate(-5deg);filter:saturate(.55)}
.episode-character[data-reaction=glance] .episode-character-square{transform:translateX(-6px) rotate(-4deg)}
.episode-character:is([data-reaction=reach],[data-reaction=approach]) .episode-character-square{transform:translateX(6px) rotate(5deg)}
.episode-character[data-reaction=flinch] .episode-character-square{animation:episode-flinch .38s ease-out both}
.episode-character[data-reaction=amused] .episode-character-square{animation:episode-amused .45s ease-in-out 2}
@keyframes episode-flinch{0%,100%{transform:translateX(0)}35%{transform:translateX(-8px) rotate(-6deg)}70%{transform:translateX(3px)}}
@keyframes episode-amused{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(3deg)}}
.episode-direction-options{display:flex;flex-wrap:wrap;gap:1rem;padding:1.2rem;margin:1rem 0;border:1px solid #55728970;border-left:3px solid #80b7c9;background:linear-gradient(120deg,#132838,#0c1825)}
.episode-option-group{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:center;min-width:0}
.episode-option-group>span{font-size:.875rem;color:#b8d3df}
.episode-option-group button,.episode-recording-line button,.episode-recording-upload{font:400 .9rem/1.5 system-ui;min-height:44px;padding:.6rem .8rem;border:1px solid #688d9f80;background:#0c1b29;color:#e6edf0;border-radius:3px;cursor:pointer}
.episode-option-group button[aria-pressed=true]{background:#274457;border-color:#92c5d5;color:#fff}
.episode-option-group label{display:flex;align-items:center;gap:.6rem;font-size:.9rem;line-height:1.6;color:#e6edf0}
.episode-option-group label:has([data-episode-volume]){flex-wrap:wrap}
.episode-option-group input[type=range]{width:120px;accent-color:#8fc2cf}
.episode-check input{width:18px;height:18px;accent-color:#c4a86f;flex:none}
.episode-check:has(input:disabled){opacity:.6}
.episode-recordings{margin:1.5rem 0;border:1px solid #667e9350;border-radius:3px;padding:0 1rem;background:#0e1a27}
.episode-recordings>p{max-width:780px;font-size:1rem;line-height:1.75;color:#b8c6d0}
.episode-recording-line{padding:1rem 0;border-top:1px solid #70869a45}
.episode-recording-line>span{font-size:.9rem;color:#cdb782}
.episode-recording-line blockquote{border:0;margin:.6rem 0 1rem;padding:0;max-width:900px;font:400 1rem/1.7 Georgia,serif;color:#e4e6e3;overflow-wrap:anywhere}
.episode-recording-line>div{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.episode-recording-upload{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.episode-recording-upload input{font-size:.875rem;max-width:240px;color:#aebfc9;min-width:0}
.episode-recording-upload input::file-selector-button{border:0;background:#213b4b;color:#e5f0f2;padding:.35rem .55rem;border-radius:2px;font-size:.875rem}
[data-episode-transition]{font-size:1rem;line-height:1.6;color:#c2d4df}
.episode-player .episode-end [hidden]{display:none}
.stage-paused .episode-camera-rig,.stage-calm .episode-camera-rig{transition:none}
.stage-calm .episode-camera-rig{transform:none}
.stage-calm .episode-character[data-reaction] .episode-character-square{animation:none;transform:none}
@media(max-width:720px){.episode-direction-options{padding:.9rem;gap:1rem}.episode-option-group{width:100%;gap:.6rem}.episode-option-group label{font-size:.875rem}.episode-speech-box{max-height:37%;max-width:92%;left:4%!important;width:92%;top:var(--mobile-bubble-top,90px)}.episode-stage-note{max-width:55%;font-size:.875rem}.episode-recording-upload{width:100%}.episode-recording-upload input{max-width:100%;width:100%}.episode-sound-caption{font-size:.875rem;max-width:50%;right:.7rem}}
@media(prefers-reduced-motion:reduce){.episode-camera-rig{transform:none!important;transition:none!important}.episode-character[data-reaction] .episode-character-square{animation:none!important;transform:none!important}}
html[data-motion=quiet] .episode-camera-rig{transform:none;transition:none}
