/* V32: retain the illustrated world, with readable controls and one visual focus. */
body.ui-v21 #gameApp .menu-sheet{background:#061b28c9!important;backdrop-filter:blur(5px);padding:5cqh 6cqw!important}
body.ui-v21 #gameApp .menu-sheet>div{box-sizing:border-box;width:min(70cqw,1020px)!important;max-width:90%!important;min-height:0!important;max-height:86cqh!important;overflow:auto;padding:3.5cqh 3cqw!important;background:#204750!important;border:3px solid #112f3b!important;border-bottom:8px solid #122e38!important;border-radius:1.4cqw!important;box-shadow:inset 0 0 0 1px #76968b,0 2cqh 5cqw #00111a88!important;color:#e8e5c7!important;font-family:var(--game-font,Arial)!important}
body.ui-v21 #gameApp .menu-sheet .sheet-eyebrow{display:block;color:#bdcdb4!important;font-size:1.35cqw!important;margin-bottom:1.2cqh!important}
body.ui-v21 #gameApp .menu-sheet h2{font-size:3.5cqw!important;line-height:1.12!important;color:#f4d38d!important;margin:0 0 2cqh!important;font-weight:500!important}
body.ui-v21 #gameApp .menu-sheet p{font-size:1.8cqw!important;line-height:1.55!important;color:#d6dfca!important;margin:1cqh 0 2.5cqh!important;opacity:1!important}
body.ui-v21 #gameApp .menu-sheet .sheet-primary{display:block;width:100%;padding:1.6cqh 2cqw!important;margin:1.3cqh 0!important;border:2px solid #192f35!important;border-bottom:5px solid #8d7444!important;border-radius:.7cqw!important;background:#eac989!important;color:#203d42!important;box-shadow:inset 0 1px #ffe2a7!important;font:500 2cqw/1.2 var(--game-font,Arial)!important;min-height:7cqh!important}
body.ui-v21 #gameApp .menu-sheet .sheet-back{display:block;font:500 1.8cqw var(--game-font,Arial)!important;color:#d7e1ce!important;background:#254f58!important;border:1px solid #86a197!important;min-height:6cqh!important;padding:1.1cqh 2cqw!important;border-radius:.7cqw!important;margin:1.3cqh 0 0!important;width:100%}
body.ui-v21 #gameApp .menu-sheet .sheet-close{font-size:2.5cqw!important;color:#e9d5a8!important;background:#21424b!important;border:1px solid #8ca399!important;border-radius:50%!important;min-width:3.5cqw!important;min-height:5.5cqh!important}
body.ui-v21 #gameApp .menu-sheet button:focus-visible{outline:3px solid #f4d388!important;outline-offset:3px!important}
body.ui-v21 #gameApp .menu-sheet .setting-row{color:#e7e6ce!important;background:#183a45!important;border-color:#698d83!important;font-size:1.5cqw!important}.setting-copy strong{font-size:1.8cqw!important}.setting-copy small{color:#c3d2c2!important;font-size:1.35cqw!important}
/* The original art changes behind a blink, never a ghosted dissolve. */
body.ui-v21 #gameApp .home-room .wake-before30{animation:wake32-before 1.1s linear both!important;pointer-events:auto!important;background-position:center;background-size:cover}
body.ui-v21 #gameApp .home-room .wake-light30{background:none!important;mix-blend-mode:normal!important;animation:none!important;z-index:90!important;pointer-events:none!important;overflow:hidden}
.wake-light30:before,.wake-light30:after{content:'';position:absolute;left:-3%;right:-3%;height:53%;background:#09100f;animation:wake32-blink 1.1s cubic-bezier(.35,0,.35,1) both}
.wake-light30:before{top:0;transform-origin:top;border-radius:0 0 45% 45%}.wake-light30:after{bottom:0;transform-origin:bottom;border-radius:45% 45% 0 0}
body.ui-v21 #gameApp .home-room.waking-up30 .story-art{animation:wake32-settle 1.1s cubic-bezier(.2,.8,.3,1) both!important}
body.ui-v21 #gameApp .home-room.waking-up30 .home-guide{animation:wake32-guide 1.1s both!important}
@keyframes wake32-before{0%,40%{opacity:1;transform:scale(1)}41%,100%{opacity:0;transform:scale(1.02)}}
@keyframes wake32-blink{0%,12%{transform:scaleY(0)}34%,46%{transform:scaleY(1)}68%{transform:scaleY(.12)}83%{transform:scaleY(.28)}100%{transform:scaleY(0)}}
@keyframes wake32-settle{0%,40%{transform:scale(1.035) rotate(-.4deg)}100%{transform:scale(1) rotate(0)}}
@keyframes wake32-guide{0%,72%{opacity:0}100%{opacity:1}}
/* The remote is found in the painting. Pointer/focus feedback follows the object. */
body.ui-v21 #gameApp .home-room .room-object,body.ui-v21 #gameApp .home-room .room-object:hover,body.ui-v21 #gameApp .home-room .room-object.current-object{box-shadow:none!important;filter:none!important;background:transparent!important;border:0!important;animation:none!important}
body.ui-v21 #gameApp .home-room .room-object .object-skin{filter:none!important;animation:none!important}
body.ui-v21 #gameApp .home-room .remote-object:before,body.ui-v21 #gameApp .home-room .remote-object:after{background:transparent!important;box-shadow:none!important;filter:none!important;animation:none!important;border:0!important;content:''!important}
body.ui-v21 #gameApp .home-room .remote-object:focus-visible{outline:2px dashed #d3b97e!important;outline-offset:-1.3cqw!important;border-radius:1.5cqw!important}
/* The cabin is a moving cutaway attached to the route, with a single top progress strip. */
body.ui-v21 #gameApp .unified-ride .ride-cabin{position:absolute!important;left:23%;top:61%;right:auto!important;bottom:auto!important;width:27%!important;height:27%!important;min-width:0!important;max-width:none!important;max-height:none!important;border:2px solid #d6c083!important;border-radius:1.2cqw!important;background:#0c2938!important;box-shadow:0 .8cqh 2cqw #142c3d77!important;overflow:visible!important;transform:translate(-50%,-110%);animation:ride32-follow 3s linear both!important;z-index:4!important}
.unified-ride .ride-cabin:after{content:'';position:absolute;left:49%;top:100%;width:2px;height:5cqh;background:#e5cf91;box-shadow:0 4cqh 0 3px #eed791;border-radius:2px;z-index:-1}
body.ui-v21 #gameApp .unified-ride .ride-cabin .ride-film{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:1cqw!important}
body.ui-v21 #gameApp .return-ride .ride-cabin{animation-direction:reverse!important}
body.ui-v21 #gameApp .unified-ride.ride-paused .ride-cabin{animation-play-state:paused!important}
body.ui-v21 #gameApp .unified-ride .ride-itinerary{position:absolute!important;top:3%!important;left:30%!important;right:auto!important;bottom:auto!important;width:40%!important;height:8.5%!important;min-height:0!important;box-sizing:border-box;padding:1cqh 1.8cqw!important;border:1px solid #8ca694!important;border-radius:1cqw!important;background:#193f48ed!important;box-shadow:0 .5cqh 1cqw #06212c44!important;z-index:5}
body.ui-v21 #gameApp .unified-ride .ride-itinerary-stops{display:flex!important;justify-content:center!important;align-items:center!important;gap:1cqw!important;font-size:1.4cqw!important;line-height:1.1!important;margin:0!important;white-space:nowrap;color:#e4e1be!important}
body.ui-v21 #gameApp .unified-ride .ride-itinerary-stops strong{font-size:1.4cqw!important;font-weight:500!important;color:#f5d68e!important;margin:0!important}.unified-ride .ride-itinerary-stops i{width:auto!important;flex:0!important;background:none!important;font-style:normal;height:auto!important}
body.ui-v21 #gameApp .unified-ride .ride-progress{position:absolute!important;left:6%!important;right:6%!important;bottom:12%!important;height:3px!important;margin:0!important;background:#577a73!important;border-radius:99px!important;overflow:hidden!important}
body.ui-v21 #gameApp .unified-ride .ride-arrival-status{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
body.ui-v21 #gameApp .unified-ride .ride-skip{left:2%!important;bottom:3%!important;right:auto!important;background:#173b47c9!important;border:1px solid #77958c!important;border-radius:.6cqw!important;color:#e2dfc0!important;padding:.5cqh 1cqw!important;font-size:1.2cqw!important}
@keyframes ride32-follow{0%{left:23%;top:61%}24%{left:36%;top:70%}54%{left:53%;top:73%}78%{left:68%;top:65%}100%{left:81%;top:61%}}
.entrance-film32{position:absolute;inset:0;background:#071a20;isolation:isolate;z-index:20;overflow:hidden}.entrance-film32 video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.entrance-film32 button{position:absolute;left:3%;bottom:4%;font:1.3cqw var(--game-font,Arial);background:#173b42d9;color:#efdcad;border:1px solid #b6b18d;border-radius:.6cqw;padding:.7cqh 1.3cqw;cursor:pointer}.entrance-film32 [data-entry-play]{left:42%;bottom:45%;font-size:2cqw}
body[data-journey=punch-clock] #interfaceHeader{background:none!important;box-shadow:none!important;border:0!important;pointer-events:none!important}body[data-journey=punch-clock] #interfaceHeader .interface-player,body[data-journey=punch-clock] #interfaceHeader .interface-location,body[data-journey=punch-clock] #interfaceHeader [data-system=back],body[data-journey=punch-clock] #interfaceHeader [data-system=help]{display:none!important}body[data-journey=punch-clock] #interfaceHeader [data-system=menu]{pointer-events:auto;opacity:.8}
body[data-journey=planning] #interfaceHeader .interface-location{display:none!important}
@media(prefers-reduced-motion:reduce){.wake-light30:before,.wake-light30:after{animation-duration:.3s!important}.home-room .wake-before30{animation-duration:.3s!important}.unified-ride .ride-cabin{animation:none!important;left:50%!important;top:65%!important}.home-room.waking-up30 .story-art{animation:none!important}}
body:has(.home-room.waking-up30) #interfaceHeader{opacity:0!important;pointer-events:none!important}
