/* One quiet visual language for the Another World experiences. */
body.has-world-menu{--world-ui:Manrope,Premade,sans-serif;--world-display:Manrope,Premade,sans-serif;--signal-color:#deded9;--accent:#deded9;color:#eeeeeb}
body.has-world-menu :is(button,select,input){font-family:var(--world-ui)}
body.has-world-menu :is(.xp-header,.play-header,.atlas-header,.forest-header){color:#eeeeeb}
body.has-world-menu :is(.xp-back,.xp-right a){font-family:var(--world-display);font-size:10px;letter-spacing:.035em}
body.has-world-menu .aw-directory-trigger{background:#1a1a1db8;border:1px solid #ffffff38;backdrop-filter:blur(16px);color:#f3f3ef}
body.has-world-menu .aw-directory{background:#18181bee;color:#eeeeeb;border-color:#ffffff35}
body.has-world-menu .aw-directory nav a{border-color:#ffffff20;background:#ffffff03}
body.has-world-menu .aw-directory nav a:hover,body.has-world-menu .aw-directory nav a[aria-current]{background:#ffffff0e;border-color:#ffffff60}
body.has-world-menu .aw-directory nav em{color:#aaa;letter-spacing:.055em;font-size:10px}
body.has-world-menu .aw-directory :is(button,a){color:inherit}
body:is(.light,.orbit,.stellar,.sound){background:#121214}
body:is(.light,.orbit,.stellar,.sound)::after{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 55% 35%,transparent 35%,#05050555 100%),linear-gradient(transparent 65%,#080808aa);}
body:is(.light,.orbit,.stellar,.sound) :is(header,.play-header,.play-title,.intro-copy,.play-toolbar,.scene-controls,.scene-hint,.play-tip,.play-status,.scene-readout,.scene-note,.sound-keys){z-index:2}
body.has-world-menu :is(.play-toolbar,.scene-controls){background:#1c1c1f99;border:1px solid #ffffff28;backdrop-filter:blur(18px);border-radius:4px;padding:8px;box-shadow:0 12px 45px #0003}
body.has-world-menu :is(.play-toolbar,.scene-controls) :is(button,select){background:#ffffff08;color:#eee;border-color:#ffffff20;font-size:11px;letter-spacing:.03em}
body.has-world-menu :is(.play-toolbar,.scene-controls) button:hover{background:#ffffff20}
body.has-world-menu :is(.play-title p,.intro-copy p){color:#cececb;max-width:320px;line-height:1.8}
body.has-world-menu .intro-copy{text-shadow:0 2px 14px #000}
body.stellar::after{background:linear-gradient(90deg,#08080877,transparent 58%),linear-gradient(transparent 60%,#080808aa)}
body.light::after{background:linear-gradient(90deg,#08080aaa,#08080a55 38%,transparent 68%),linear-gradient(transparent 65%,#08080899)}
body.has-world-menu .play-title{text-shadow:0 2px 14px #0008}
body.has-world-menu :is(.play-title h1,.intro-copy h1,.atlas-panel h1,.atlas-panel h1 em){color:#efefeb}
body.has-world-menu :is(.play-title h1,.intro-copy h1,.forest-intro h1,.dv-intro h2){word-spacing:.08em}
body.dv-page #stage:has(#intro:not([hidden])) .dv-hud>:not(#intro){visibility:hidden;pointer-events:none}
body.dv-page #stage:has(#intro:not([hidden])) .experience-tool{display:none}
body.dv-page .dv-intro{background:linear-gradient(#11131522,#11131555);text-shadow:0 2px 14px #0007}
body.has-world-menu :is(.play-tip,.scene-hint,.scene-note){color:#bababc;font-size:10px;letter-spacing:.035em;line-height:1.8}
body.has-world-menu :is(.play-status,.scene-readout){color:#ddddda;letter-spacing:.045em}
body.sound .sound-keys button{background:#ffffff08;border:1px solid #ffffff26;color:#d9d9d6}
body.sound .sound-keys button.hit{background:#e0e0da;color:#202020;box-shadow:0 0 25px #ddd4}
body.hacker-page .hk-stage{--signal-color:#deded9;background:#121214;color:#cececa}
body.hacker-page .signal-sculpture{filter:grayscale(1)}
body.hacker-page :is(.terminal-panel,.terminal-scenarios button,.terminal-prompt){border-color:#ffffff26}
body.hacker-page .terminal-heading strong{font-family:var(--world-display);letter-spacing:-.05em}
body.hacker-page .terminal-ready{color:#c9c9c5}
body.hacker-page .terminal-prompt h2{font:500 clamp(24px,3.5vw,46px)/1.15 var(--world-display);letter-spacing:-.04em}
body.bubble-page .bb-stage{background:#242426}
body.bubble-page .bb-stage:after{content:'BUBBLE WRAP / TOUCH. RELEASE. REPEAT.';color:#d2d2cf;font-family:var(--world-display);letter-spacing:.1em}
body.bubble-page .bb-stage canvas{filter:grayscale(1)}
body.bubble-page :is(.bb-stat,.bb-ctl,.bb-title){color:#efefec}
body.hamster-page .hm-stage{background:#333335}
body.hamster-page .hm-start{background:linear-gradient(120deg,#212123ee,#3b3b3edb);color:#eee;backdrop-filter:blur(16px)}
body.hamster-page :is(.cage-btn,.hm-scroll canvas){filter:grayscale(1)}
body.hamster-page .cage-btn{border:1px solid #ffffff30;border-radius:8px;background:#ffffff06}
body.hamster-page .cage-btn.selected{border-color:#eeeeec;box-shadow:0 0 0 1px #eeeeec}
body.hamster-page .cage-name{color:#eee;font-size:11px;letter-spacing:.055em}
body.hamster-page :is(.care-dock,.habitat-camera){color:#eee;background:#242426b8;backdrop-filter:blur(15px);border-color:#ffffff30}
body.hamster-page :is(.care-dock,.habitat-camera) button{color:#eee;background:#ffffff0a;border-color:#ffffff30;font-size:10px}
body.hamster-page .care-dock meter{accent-color:#c9c9c5}
body.hamster-page .care-dock meter::-webkit-meter-optimum-value{background:#bdbfba}
body.hamster-page .hm-hdr{background:#dadad6!important;color:#333}
body.hamster-page .chip.selected,body.hamster-page .hm-fab{background:#3e4041;color:#fff}
body.hamster-page .hm-start{padding:28px 40px}
body.hamster-page .hm-start :is(h1,h2,h3){color:#eeeeeb;margin-left:0;font-family:var(--world-display)}
body.hamster-page .hm-start h1{font-size:38px;letter-spacing:-.045em;margin-top:4px}
body.hamster-page .hm-start h2{font-size:12px;font-weight:500;letter-spacing:.08em;margin-top:23px}
body.hamster-page .hm-scroll{margin:8px 0 0;padding:4px 0 9px;gap:14px}
body.hamster-page .hm-scroll>div{width:190px;min-width:190px;height:160px}
body.hamster-page #mine>div{width:145px;min-width:145px;height:115px}
body.hamster-page .cage-btn{margin:0;border-radius:6px!important}
body.hamster-page .cage-name{color:#eee;background:#1c1c1dce!important;font-size:10px!important;letter-spacing:.045em;margin:7px;padding:7px}
body.has-world-menu .play-tip{padding:14px 17px;background:#171719a8;border-left:1px solid #ffffff35;backdrop-filter:blur(12px);text-shadow:none;color:#e4e4e0;font-size:10px}
body.cd-page :is(.cd-chooser,.cd-panel){background:#202022ed;color:#eeeeeb;backdrop-filter:blur(16px)}
body.cd-page :is(.ch-box,.ch-mode,.cd-modes,.cd-row,.cd-radio){border-color:#ffffff26}
body.cd-page :is(.ch-city,.ch-station,.cd-city){background:#ffffff06;border-color:#ffffff20;color:#eee}
body.cd-page :is(.ch-city,.ch-station,.cd-city).on{background:#ffffff14;border-color:#ffffff88}
body.cd-page :is(.ch-box>div>p,.ch-foot){color:#c6c6c3;line-height:1.8}
body.cd-page .city-caption{background:linear-gradient(transparent,#14141488)}
body.cd-page #yt{filter:saturate(.35) contrast(.95) brightness(.9)}
body.cd-page :is(.cd-chooser,.cd-panel){filter:grayscale(1)}
body.cd-page :is(.cd-row,.cd-scrollhint,#stationName,.ch-empty){font-family:var(--world-display);font-size:11px;letter-spacing:.015em}
body.cd-page .cd-vmsg{background:#212123de;border:1px solid #ffffff30;color:#eee;backdrop-filter:blur(14px)}
body.cd-page .cd-vmsg :is(button,a){background:#deded9;color:#222}
body.hacker-page :is(.terminal-heading strong,.terminal-heading span,.terminal-prompt h2,.terminal-prompt p,.terminal-prompt>span,.terminal-scenarios button,.terminal-side,.signal-caption){color:#d7d7d4}
body.hacker-page .terminal-prompt{background:linear-gradient(90deg,#141416ef,transparent)}
body.hacker-page .hk-footer{background:#151517;border-color:#ffffff28}
body:has(.atlas-panel){background:#222224}
body:has(.atlas-panel) :is(.atlas-panel,.building){background:#232326c9;border-color:#ffffff30;color:#eeeeeb;backdrop-filter:blur(18px)}
body:has(.atlas-panel) :is(.primary,.quiet,.modes button){background:#ffffff0a;border-color:#ffffff35;color:#eee}
body:has(.atlas-panel) .modes button[aria-pressed=true]{background:#d9d9d5;color:#232323}
body:has(.atlas-panel) :is(input,select){accent-color:#ccccca}
body:has(.atlas-panel) .atlas-bottom{color:#ddd}
body:has(.atlas-panel) .atlas-panel{top:84px;max-height:calc(100svh - 155px);overflow:auto;padding:22px 25px;width:280px;scrollbar-width:thin}
body:has(.atlas-panel) .atlas-panel h1{font-size:42px;margin:16px 0}
body:has(.atlas-panel) .atlas-panel .intro{font-size:12px;margin-bottom:19px}
body:has(.atlas-panel) .atlas-panel select{background:#232325;color:#eee;border-color:#ffffff30}
@media(max-width:650px){
 body.has-world-menu :is(.play-toolbar,.scene-controls){max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center;gap:5px}
 body.has-world-menu :is(.play-toolbar,.scene-controls) :is(button,select){font-size:10px;padding:9px 10px}
 body.has-world-menu :is(.play-title p,.intro-copy p){max-width:280px;font-size:12px}
 body.has-world-menu :is(.scene-note,.scene-hint){font-size:9px;max-width:calc(100vw - 32px)}
 body.hamster-page .habitat-camera span{display:none}
 body.hamster-page .care-dock{max-width:160px}
 body.hamster-page .hm-start{padding:24px 20px}
 body.hamster-page .hm-start h1{font-size:29px;max-width:260px}
 body:has(.atlas-panel) .atlas-panel{top:auto;bottom:55px;left:12px;right:12px;width:auto;max-height:50svh;padding:16px}
 body:has(.atlas-panel) .atlas-panel h1{font-size:26px;margin:0;line-height:1.15}
 body.light::after{background:linear-gradient(#08080aaa 0%,#08080aaa 44%,transparent 68%),linear-gradient(transparent 75%,#08080899)}
}
