/* A warm entrance while the actual world and animation assets prepare. */
#scene-fallback{display:none!important}
.cinema-loading{position:absolute;inset:0;z-index:30;background:radial-gradient(ellipse at 50% 42%,#34505a,#142836 68%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:#e8eee9;transition:opacity .7s,visibility .7s}
.cinema-loading .loading-portal{position:relative;width:96px;height:150px;border:1px solid #c7d5ce55;border-radius:50px 50px 0 0;background:linear-gradient(110deg,#f5dba319,#e6b86a33);box-shadow:0 8px 70px #f3d0a018;margin-bottom:20px}
.cinema-loading .loading-portal i{position:absolute;inset:4px;border:1px solid #e3d5bc8a;border-radius:45px 45px 0 0;background:#142836;transform-origin:left bottom;animation:prepare-door 3s ease-in-out infinite}
.cinema-loading .loading-brand{font-size:25px;letter-spacing:-.06em}.cinema-loading p{font-size:12px;color:#becdcf}.cinema-loading a{font-size:12px;border-bottom:1px solid #bcc9c780;padding:7px}
.scene-ready .cinema-loading{opacity:0;visibility:hidden;pointer-events:none}.scene-unavailable .cinema-loading p{max-width:28ch;text-align:center;line-height:1.8}
body.embedded .site-header .wordmark,body.embedded #leave-story,body.embedded .experience-return{display:none!important}body.embedded .site-header{justify-content:flex-end}body.embedded .site-header .header-actions{margin-left:auto}body.embedded #about{display:none}body.embedded #scene-nav{top:85px}
@keyframes prepare-door{0%,100%{transform:perspective(250px) rotateY(-5deg)}50%{transform:perspective(250px) rotateY(-48deg)}}
@media(max-width:700px){body.embedded .site-header{padding-top:18px}body.embedded #scene-nav{top:76px}body.embedded .site-header .header-actions{gap:7px}body.embedded .sound-button{font-size:10px}body.embedded .header-actions .control-divider{display:none}}
@media(prefers-reduced-motion:reduce){.cinema-loading,.cinema-loading *{animation:none!important;transition:none!important}}
/* The landing page is the introduction for the embedded experience. */
body.embedded #intro{display:none!important}
/* One restrained frame around the scene: playback above, chapters beneath, scrubber below. */
body.embedded{--edge:28px}body.embedded .site-header{top:0;padding:20px 28px;height:82px;align-items:flex-start;pointer-events:none}body.embedded .header-actions{gap:7px;pointer-events:auto;padding:4px;border:1px solid #c5d9e62b;border-radius:28px;background:#172e44b8;backdrop-filter:blur(16px)}body.embedded .hud-button{border:0;background:transparent;border-radius:24px;color:#e1eaf0;min-height:32px;font-size:11px}body.embedded .hud-button:hover{background:#d2e1ea1c}body.embedded .sound-button{padding:8px 12px}body.embedded .icon-button{width:34px;min-width:34px;padding:8px}body.embedded .control-divider{display:none}
body.embedded #scene-nav{position:absolute;left:50%;right:auto;transform:translateX(-50%);top:84px;display:flex;gap:4px;width:max-content;max-width:calc(100% - 56px);padding:5px;border:1px solid #c5d9e62b;border-radius:30px;background:#172e44b8;backdrop-filter:blur(16px);box-shadow:0 8px 30px #07162516}body.embedded #scene-nav button{border:0;border-radius:24px;font-family:Manrope,Arial,sans-serif;font-size:11px;line-height:1.2;padding:11px 17px;background:transparent;color:#c4d5e0;min-height:36px;white-space:nowrap}body.embedded #scene-nav button[aria-pressed=true]{background:#e5edf2;color:#1b3548;box-shadow:none}body.embedded #scene-nav button:hover:not([aria-pressed=true]){background:#e5edf21a;color:white}
body.embedded #timeline-controls{position:absolute;top:auto;bottom:43px;left:28px;right:28px;width:auto;padding:0;background:none;border:0;z-index:12;pointer-events:auto}body.embedded .timeline-caption{margin-bottom:8px;font-size:10px;color:#d1dce4}body.embedded #timeline-chapter{display:none}body.embedded #timeline-hint{margin-left:0;font-size:10px;letter-spacing:0;color:#d1dce4b3}body.embedded #story-seek{height:18px;margin:0;width:100%;opacity:.85;cursor:ew-resize;accent-color:#d2e5dd}body.embedded #story-seek:focus-visible{outline:2px solid #b6d3e8;outline-offset:5px;border-radius:8px}body.embedded .story-footer{bottom:13px;left:28px;right:28px;align-items:center;pointer-events:none}body.embedded .demo-note{font-size:9px;color:#bacbd597;line-height:1.4}body.embedded #skip{position:absolute;right:0;bottom:39px;padding:5px 0 5px 12px;min-height:26px;color:#d3dfe7;font-size:10px;pointer-events:auto;background:linear-gradient(90deg,transparent,#142836d9 20%);border-radius:0}body.embedded .paused-indicator{top:auto;bottom:108px;left:50%;transform:translateX(-50%);font-size:11px;padding:10px 17px;border-radius:25px;background:#172e44d9;border:1px solid #c5d9e62b;max-width:80%;white-space:nowrap}body.embedded .pause-key{display:none}body.embedded #continue{display:none!important}
body.embedded[data-beat=finale] #scene-nav,body.embedded[data-beat=finale] .header-actions,body.embedded[data-beat=finale] .demo-note{display:none!important}body.embedded[data-beat=finale] .ending{top:50%;left:clamp(32px,6vw,100px);right:auto;max-width:38%;transform:translateY(-50%);color:#e9f0f6}body.embedded .ending h2{font-size:clamp(40px,5.4vw,82px);line-height:1.04;letter-spacing:-.055em;margin-bottom:32px;text-wrap:initial}body.embedded .ending-actions{display:flex;align-items:flex-start;flex-direction:column;gap:21px}body.embedded #story-finish{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;border:0;border-radius:40px;background:#e9f0f6;color:#172e44;font-size:13px;min-height:54px;padding:16px 23px;text-decoration:none;box-shadow:none}body.embedded #story-finish .start-arrow{border:0;width:auto;height:auto;background:transparent;font-size:18px}body.embedded #replay{color:#b8cdd8;font-size:11px;padding:7px 0;min-height:30px;border:0;background:transparent}body.embedded #replay:hover{color:#fff}body.embedded button:focus-visible,body.embedded a:focus-visible{outline:2px solid #c0dced;outline-offset:4px}
@media(max-width:700px){body.embedded{--edge:22px}body.embedded .site-header{padding:16px 16px;height:72px}body.embedded .header-actions{gap:1px;padding:2px}body.embedded .hud-button{min-height:32px}body.embedded .sound-button{padding:8px;font-size:10px}body.embedded .sound-button span{display:none}body.embedded .icon-button{width:32px;min-width:32px}body.embedded #scene-nav{top:74px;max-width:calc(100% - 32px);width:calc(100% - 32px);padding:4px;gap:0;border-radius:22px;justify-content:space-between}body.embedded #scene-nav button{padding:10px 7px;min-height:33px;font-size:clamp(8px,2.35vw,11px);flex:1}body.embedded #timeline-controls{left:22px;right:22px;bottom:39px}body.embedded .story-footer{left:22px;right:22px;bottom:12px}body.embedded #skip{bottom:36px;font-size:9px}body.embedded .timeline-caption{margin-bottom:5px}body.embedded #timeline-hint{font-size:9px}body.embedded .demo-note{font-size:8px}body.embedded[data-beat=finale] .ending{top:16%;left:24px;right:24px;transform:none;max-width:none}body.embedded .ending h2{font-size:clamp(38px,10vw,55px);margin-bottom:23px}body.embedded .ending-actions{gap:12px}body.embedded #story-finish{font-size:12px;min-height:49px;padding:14px 19px}body.embedded #replay{font-size:10px}body.embedded[data-beat=finale] #world{top:40svh;height:60svh;width:100%;left:0}body.embedded[data-beat=finale] #experience{min-height:680px}}
@media(prefers-reduced-motion:reduce){body.embedded *,body.embedded *:before,body.embedded *:after{scroll-behavior:auto!important}}
body.embedded #management{background:#e9f0f6;color:#172e44;border:1px solid #c4d3dd;border-radius:18px;box-shadow:0 18px 55px #061b2b26}body.embedded #management h2,body.embedded #management h3{color:#172e44}body.embedded #management p,body.embedded #management .resident-apartment{color:#5c7083}body.embedded #management .resident-choice{border-radius:8px}body.embedded #management-done{border-radius:28px;background:#172e44;color:#e9f0f6}
@media(max-width:700px){body.embedded[data-beat=finale] .ending{top:12%}body.embedded[data-beat=finale] #world{top:47svh;height:53svh}body.embedded .ending-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:16px}body.embedded #management h2{font-size:26px;line-height:1.07}body.embedded #management>p{font-size:11px}}
