/* Rich scenes remain visible; card materials belong to their surrounding world. */
html[data-world][data-theme][data-mode]:is([data-theme=nocturne-express],[data-theme=hushfall],[data-theme=lucent-arcade]) .world-atmosphere{opacity:1!important}
html[data-world][data-theme][data-mode]:is([data-theme=nocturne-express],[data-theme=hushfall],[data-theme=lucent-arcade]) .world-atmosphere>i{display:none}
.new-world-environment{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:var(--world-deep)}
.nw-stage{position:absolute;overflow:visible;isolation:isolate}.nw-plate{position:absolute;inset:0;background-size:100% 100%;background-repeat:no-repeat}.nw-night{opacity:0;transition:opacity 1.2s}html[data-mode=dark] .nw-night{opacity:1}
.nw-stage>svg,.nx-vistas,.nx-vistas>svg,.la-screen,.la-screen>svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.nw-stage .wd-art{z-index:2}.la-screen{z-index:3}.la-screen-mid{z-index:1}.nw-foreground{position:absolute;inset:0;z-index:4;pointer-events:none}
html[data-world][data-theme][data-mode]:is([data-theme=nocturne-express],[data-theme=hushfall],[data-theme=lucent-arcade]) #app-view .view :is(.panel,.metric,.room-card,.employee-bubble,.summary-card){background:color-mix(in srgb,var(--world-surface) 95%,transparent)!important;color:var(--world-text);backdrop-filter:blur(9px);border-color:var(--world-border)!important}
html[data-world][data-theme][data-mode]:is([data-theme=nocturne-express],[data-theme=hushfall],[data-theme=lucent-arcade]) :is(.sidebar,.topbar,.mobile-nav-bar,#mobile-nav-sheet){background:var(--world-surface)!important;color:var(--world-text)!important}
/* Green leather, ticket stock, polished walnut and fine brass rails. */
html[data-world][data-mode][data-theme=nocturne-express] #app-view .view :is(.panel,.metric,.room-card,.employee-bubble,.summary-card){border:1px solid var(--world-border)!important;box-shadow:inset 0 0 0 3px var(--world-surface),inset 0 0 0 4px color-mix(in srgb,var(--world-accent) 35%,transparent),0 18px 30px -20px #061810bb!important}
html[data-world][data-mode][data-theme=nocturne-express] :is(.sidebar,.mobile-nav-bar,#mobile-nav-sheet){background:repeating-linear-gradient(90deg,#ffffff03 0 1px,transparent 1px 4px),var(--world-surface)!important;border:1px solid var(--world-border)!important;box-shadow:inset 3px 0 #b8985866,inset -3px 0 #b8985866}
html[data-world][data-mode][data-theme=nocturne-express] #app-view .view .panel-head{border-bottom:3px double var(--world-border)!important;background:linear-gradient(100deg,#bfa06d14,transparent)!important}
html[data-world][data-mode][data-theme=nocturne-express] .mobile-nav-selector-field{border:3px double var(--world-accent)!important;border-radius:12px 3px!important;box-shadow:0 4px 10px #0004}
html[data-world][data-mode][data-theme=nocturne-express] .nav-item.active{box-shadow:inset 3px 0 var(--world-accent),inset 0 1px #fff2!important}
.nx-vistas{z-index:1}.nx-hills-far{opacity:.23;animation:nx-pass 68s linear infinite}.nx-hills-near{opacity:.28;animation:nx-pass 29s linear infinite}.nx-rain{animation:nx-rain 3.7s linear infinite}.nx-lamplight{position:absolute;z-index:3;width:16%;height:25%;border-radius:50%;background:radial-gradient(ellipse,#ffda8870,transparent 65%);mix-blend-mode:screen;animation:nx-lamp 9s ease-in-out infinite alternate;transform:translate(calc(var(--wd-x,0)*-7px),calc(var(--wd-y,0)*-4px))}.nx-light-a{left:57%;top:18%}.nx-light-b{left:60%;top:43%;width:13%;height:16%;animation-duration:13s;animation-delay:-6s}.nx-glass-glint{background:linear-gradient(116deg,transparent 75%,#ffe3a117 78%,transparent 81%);opacity:.6;mix-blend-mode:screen}html[data-mode=dark] .nx-hills-far{filter:brightness(.45) hue-rotate(25deg)}html[data-mode=dark] .nx-hills-near{filter:brightness(.4)}
@keyframes nx-pass{to{transform:translateX(-1536px)}}@keyframes nx-rain{from{transform:translate(0,-50px);opacity:.1}to{transform:translate(-5px,80px);opacity:.35}}@keyframes nx-lamp{to{opacity:.55;filter:brightness(1.12)}}
/* Cedar joinery, warm paper, quiet indigo seams and a vermilion bridge. */
html[data-world][data-mode][data-theme=hushfall] #app-view .view :is(.panel,.metric,.room-card,.employee-bubble,.summary-card){box-shadow:inset 0 3px color-mix(in srgb,var(--world-accent-secondary) 30%,transparent),inset -4px 0 var(--world-elevated),0 19px 35px -22px #092539aa!important}
html[data-world][data-mode][data-theme=hushfall] #app-view .view .panel-head{border-bottom:1px solid var(--world-border)!important;background:repeating-linear-gradient(90deg,transparent 0 30px,#7497a00c 30px 31px)!important}
html[data-world][data-mode][data-theme=hushfall] :is(.sidebar,#mobile-nav-sheet){border-inline:3px solid color-mix(in srgb,var(--world-accent-secondary) 45%,var(--world-surface))!important;box-shadow:inset 0 0 0 1px #b8d1d322,0 14px 24px #071a3344}
html[data-world][data-mode][data-theme=hushfall] .mobile-nav-selector-field{border-radius:5px 5px 17px 5px!important;border-bottom:3px solid var(--world-accent)!important;background:var(--world-elevated)!important}
.hf-snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.hf-snow-near{z-index:3}.hf-snow i{position:absolute;left:var(--sx);top:var(--sy);width:var(--size);height:var(--size);border-radius:50%;background:#f6fcff;box-shadow:0 0 3px #e6f7ff66;animation:hf-snow var(--period) linear var(--delay) infinite;opacity:.72}.hf-snow-far i{opacity:.45}.hf-snow-near i{filter:blur(.4px)}
.hf-steam{position:absolute;left:43%;top:62%;width:31%;height:27%;z-index:1;pointer-events:none}.hf-steam i{position:absolute;left:10%;bottom:0;width:70%;height:75%;background:radial-gradient(ellipse,#edfaff40,transparent 67%);filter:blur(15px);animation:hf-steam 14s ease-out infinite}.hf-steam i:nth-child(2){left:40%;animation-delay:-5s;animation-duration:17s}.hf-steam i:nth-child(3){left:-5%;animation-delay:-9s;animation-duration:21s}.hf-lanternlight{position:absolute;left:82%;top:68%;width:14%;height:23%;z-index:3;background:radial-gradient(ellipse,#ffb94755,transparent 60%);mix-blend-mode:screen;animation:hf-lantern 8s ease-in-out -3s infinite alternate}.hf-waterlight{position:absolute;inset:77% 20% 2% 35%;background:repeating-linear-gradient(176deg,transparent 0 15px,#dceaff10 16px 17px,transparent 19px 27px);mask-image:radial-gradient(ellipse,#fff,transparent 65%);animation:hf-water 11s ease-in-out infinite alternate;z-index:1}.hf-veranda-shadow{background:linear-gradient(90deg,#02111e25,transparent 22%,transparent 85%,#03172515)}
@keyframes hf-snow{from{transform:translate(0,-120px)}to{transform:translate(calc(100px + var(--wd-x,0)*60px),460px)}}@keyframes hf-steam{from{transform:translate(0,20px) scale(.7);opacity:0}30%{opacity:.75}to{transform:translate(calc(25px + var(--wd-x,0)*20px),-90px) scale(1.25);opacity:0}}@keyframes hf-lantern{to{opacity:.6;transform:rotate(1deg)}}@keyframes hf-water{to{transform:translate(10px,3px);opacity:.5}}
/* Smoked CRT glass, molded enamel, perforated speaker strips and coin slots. */
html[data-world][data-mode][data-theme=lucent-arcade] #app-view .view :is(.panel,.metric,.room-card,.employee-bubble,.summary-card){border:2px solid var(--world-border)!important;box-shadow:inset 0 4px #fff2,inset 0 -4px #501c4033,0 16px 30px -16px #11091cbb!important}
html[data-world][data-mode][data-theme=lucent-arcade] #app-view .view .panel-head{background:linear-gradient(100deg,var(--world-elevated),var(--world-surface))!important;border-bottom:3px solid var(--world-accent-secondary)!important}
html[data-world][data-mode][data-theme=lucent-arcade] :is(.sidebar,#mobile-nav-sheet){border:2px solid var(--world-border)!important;box-shadow:inset 0 0 0 3px var(--world-surface),inset 0 0 0 4px #d994ab44}
html[data-world][data-mode][data-theme=lucent-arcade] .mobile-nav-selector-field{border-radius:18px 18px 6px 6px!important;border:2px solid var(--world-accent-secondary)!important;box-shadow:inset 0 -3px #66284944,0 0 16px -9px var(--world-accent-secondary)}
html[data-world][data-mode][data-theme=lucent-arcade] .nav-item.active{box-shadow:inset 0 -2px var(--world-accent-secondary),0 0 20px -14px var(--world-accent-secondary)!important}
.la-stars{animation:la-stars 10s linear infinite}.la-ship{animation:la-ship 9s ease-in-out infinite alternate;filter:drop-shadow(0 0 7px #97fff4)}.la-exhaust{animation:la-exhaust .8s steps(2) infinite}.la-enemies{animation:la-enemies 13s ease-in-out infinite alternate}.la-laser{animation:la-laser 2.3s linear infinite;filter:drop-shadow(0 0 5px #fff1ac)}.la-scan{animation:la-scan 8s linear infinite}.la-midfield{animation:la-mid 6s steps(8) infinite alternate}.la-bezel-light{position:absolute;left:73%;top:10%;width:25%;height:43%;z-index:3;background:radial-gradient(ellipse,#88ffff18,transparent 65%);transform:translate(calc(var(--wd-x,0)*-9px),calc(var(--wd-y,0)*-6px));mix-blend-mode:screen;animation:la-glow 6s ease-in-out infinite alternate}.la-reflection{position:absolute;left:24%;top:68%;width:36%;height:32%;z-index:1;background:linear-gradient(160deg,transparent,#b3b6ff24,transparent 45%,#ffa3cf25,transparent 70%);filter:blur(18px);animation:la-glow 11s ease-in-out -3s infinite alternate}.la-glass-glint{background:linear-gradient(120deg,transparent 65%,#d5faff0b 73%,transparent 81%);mix-blend-mode:screen}
@keyframes la-stars{to{transform:translateY(170px)}}@keyframes la-ship{from{transform:translateX(-55px)}to{transform:translateX(55px)}}@keyframes la-exhaust{to{opacity:.2}}@keyframes la-enemies{to{transform:translate(37px,19px)}}@keyframes la-laser{from{transform:translateY(35px);opacity:0}15%{opacity:1}to{transform:translateY(-160px);opacity:0}}@keyframes la-scan{from{transform:translateY(-150px)}to{transform:translateY(270px)}}@keyframes la-mid{to{transform:translateY(30px)}}@keyframes la-glow{to{opacity:.45}}
/* Every motion respects the common controls, visibility and reduced motion. */
html[data-world-depth-motion=off] .new-world-environment *,html[data-background-animations=off] .new-world-environment *,html[data-theme-tuner-motion=off] .new-world-environment *,html.world-page-hidden .new-world-environment *,html.world-focus-mode .new-world-environment *{animation-play-state:paused!important}
html[data-theme-tuner-lighting=off] :is(.nx-lamplight,.hf-lanternlight,.hf-waterlight,.la-bezel-light,.la-reflection){display:none}
@media(max-width:700px){.hf-snow-near i:nth-child(n+13){display:none}.nx-rain{opacity:.6}.la-game{opacity:.85}}
@media(prefers-reduced-motion:reduce){.new-world-environment *{animation:none!important;transition:none!important}.hf-snow{opacity:.45}}
@media print{.new-world-environment{display:none!important}}
html[data-world][data-theme][data-mode]:is([data-theme=nocturne-express],[data-theme=hushfall],[data-theme=lucent-arcade]) .housekeeper-greeting{width:fit-content;max-width:calc(100% - 24px);margin:20px auto 30px;padding:12px 28px;background:color-mix(in srgb,var(--world-surface) 96%,transparent)!important;color:var(--world-text)!important;border:1px solid var(--world-border)!important;border-radius:var(--world-radius);box-shadow:0 12px 25px -18px #000a!important;backdrop-filter:blur(12px);text-shadow:none!important}
html[data-world][data-theme][data-mode]:is([data-theme=nocturne-express],[data-theme=hushfall],[data-theme=lucent-arcade]) .housekeeper-greeting em{color:var(--world-accent)!important;animation:none!important;text-shadow:none!important}
/* Fine material grain stays beneath text, with three independent edge treatments. */
html[data-world][data-mode][data-theme=nocturne-express] #app-view .view :is(.panel,.metric,.room-card){background-image:repeating-linear-gradient(0deg,#b6944606 0 1px,transparent 1px 4px)!important;box-shadow:inset 0 0 0 3px var(--world-surface),inset 0 0 0 4px color-mix(in srgb,var(--world-accent) 35%,transparent),0 18px 30px -20px #061810bb!important}
html[data-world][data-mode][data-theme=hushfall] #app-view .view :is(.panel,.metric,.room-card){background-image:repeating-linear-gradient(91deg,#93adb008 0 1px,transparent 1px 7px)!important;border-left:3px solid color-mix(in srgb,var(--world-accent-secondary) 70%,var(--world-surface))!important}
html[data-world][data-mode][data-theme=lucent-arcade] #app-view .view :is(.panel,.metric,.room-card){border-top:3px solid var(--world-accent-secondary)!important;border-bottom:3px solid color-mix(in srgb,var(--world-accent) 40%,var(--world-surface))!important;box-shadow:inset 0 3px #fff2,inset 0 -3px #43143933,0 16px 30px -16px #11091caa!important}
.world-preview:is([data-world=nocturne-express],[data-world=hushfall],[data-world=lucent-arcade]) .world-portal-art{background-position:75% center!important;background-size:cover!important;opacity:1!important;filter:none!important}
.world-preview[data-world=nocturne-express] .world-portal-art{background-image:url('/art/nocturne-express-day.png')!important}.world-preview[data-world=nocturne-express][data-mode=dark] .world-portal-art{background-image:url('/art/nocturne-express-night.png')!important}
.world-preview[data-world=hushfall] .world-portal-art{background-image:url('/art/hushfall-day.png')!important}.world-preview[data-world=hushfall][data-mode=dark] .world-portal-art{background-image:url('/art/hushfall-night.png')!important}
.world-preview[data-world=lucent-arcade] .world-portal-art{background-image:url('/art/lucent-arcade-day.png')!important}.world-preview[data-world=lucent-arcade][data-mode=dark] .world-portal-art{background-image:url('/art/lucent-arcade-night.png')!important}
.world-preview:is([data-world=nocturne-express],[data-world=hushfall],[data-world=lucent-arcade]) .world-portal-art::before,.world-preview:is([data-world=nocturne-express],[data-world=hushfall],[data-world=lucent-arcade]) .world-portal-art::after{display:none!important}
@media screen{@layer surface-material{
 html[data-world][data-theme=nocturne-express][data-mode] #app-view .view :is(.panel,.metric,.room-card):not(.arrival-tier):not(.early-tier):not(.finished){background-image:repeating-linear-gradient(0deg,#b6944607 0 1px,transparent 1px 4px)!important;border-width:1px!important;box-shadow:var(--surface-shadow),inset 0 0 0 3px var(--surface-tint),inset 0 0 0 4px color-mix(in srgb,var(--world-accent) 43%,transparent)!important}
 html[data-world][data-theme=nocturne-express][data-mode] #app-view .view .panel>.panel-head{border-bottom:3px double var(--surface-edge)!important}
 html[data-world][data-theme=hushfall][data-mode] #app-view .view :is(.panel,.metric,.room-card):not(.arrival-tier):not(.early-tier):not(.finished){background-image:repeating-linear-gradient(91deg,#93adb008 0 1px,transparent 1px 7px)!important;border-left-width:3px!important;border-left-color:color-mix(in srgb,var(--world-accent-secondary) 70%,var(--surface-tint))!important;box-shadow:var(--surface-shadow),inset -3px 0 color-mix(in srgb,var(--world-elevated) 45%,transparent)!important}
 html[data-world][data-theme=lucent-arcade][data-mode] #app-view .view :is(.panel,.metric,.room-card):not(.arrival-tier):not(.early-tier):not(.finished){border-top-width:3px!important;border-top-color:var(--world-accent-secondary)!important;border-bottom-width:3px!important;border-bottom-color:color-mix(in srgb,var(--world-accent) 40%,var(--surface-tint))!important;box-shadow:var(--surface-shadow),inset 0 3px #fff2,inset 0 -3px #43143933!important}
}}
