*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#96ced0;color:#fff;font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif}body{overscroll-behavior:none;user-select:none;-webkit-user-select:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ffeab1;outline-offset:3px}[hidden]{display:none!important}#app{height:100dvh;position:relative;overflow:hidden}#world{width:100%;height:100%;display:block;touch-action:none}header{position:absolute;left:22px;right:22px;top:calc(14px + env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand{font-size:35px;font-weight:950;letter-spacing:-2px;text-shadow:0 2px 8px #20494e66}.brand span{display:block;font-size:10px;letter-spacing:2px}#pause{pointer-events:auto;background:#173f46bf;border:1px solid #ffffff66;width:44px;height:44px;border-radius:50%;font-size:20px}#hud{position:absolute;top:calc(93px + env(safe-area-inset-top));left:22px;background:#143c42dc;max-width:calc(100% - 145px);padding:12px 15px;border:1px solid #ffffff40;border-radius:15px;pointer-events:none}#zone{font-size:15px;font-weight:800}#quest{font-size:13px;color:#ffe2a2;margin-top:5px}#abilities{font-size:11px;color:#b9d6ce;margin-top:6px}#map{position:absolute;top:calc(93px + env(safe-area-inset-top));right:18px;width:94px;height:94px;border:1px solid #ffffff70;border-radius:50%;background:#153d43df;pointer-events:none}.panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 40px));max-height:calc(100dvh - 50px);overflow:auto;padding:27px;border-radius:25px;border:1px solid #ffffff60;background:#143d43ef;box-shadow:0 25px 100px #153e4260;backdrop-filter:blur(12px)}.eyebrow{font-size:11px;letter-spacing:2px;color:#ffd285;font-weight:800}h1{font-size:clamp(36px,9vw,57px);line-height:1;letter-spacing:-2px;margin:16px 0}h2{font-size:32px;line-height:1.1}p{font-size:16px;line-height:1.5;color:#d7e9e4}.instructions{display:grid;gap:12px;margin:20px 0}.instructions div{display:grid;grid-template-columns:85px 1fr;gap:12px;font-size:13px;line-height:1.4}.instructions b{color:#ffe1a6}.instructions span{color:#c7ded7}.primary{display:block;width:100%;padding:16px 12px;text-align:center;background:#ffc16b;color:#193d40;border:0;border-radius:13px;box-shadow:0 4px 0 #b6833d;font-size:18px;font-weight:900;text-decoration:none}.secondary{display:block;background:none;border:0;margin:20px auto 0;font-size:15px}.panel a:not(.primary){display:block;text-align:center;margin-top:19px;color:#c0d7d3;font-size:13px}#controls{position:absolute;inset:0;pointer-events:none}#stick{position:absolute;bottom:calc(35px + env(safe-area-inset-bottom));left:24px;width:112px;height:112px;border:2px solid #ffffff85;border-radius:50%;background:#163d4270;touch-action:none;pointer-events:auto;box-shadow:inset 0 0 20px #12353b44}#knob{position:absolute;left:32px;top:32px;width:44px;height:44px;border-radius:50%;background:#f1f4e0d9;border:3px solid white;pointer-events:none}#actions{position:absolute;right:20px;bottom:calc(32px + env(safe-area-inset-bottom));width:158px;height:158px}#actions button{position:absolute;border:1px solid #ffffff99;pointer-events:auto;touch-action:none;border-radius:50%;font-size:13px;font-weight:900;box-shadow:0 4px 10px #143d4330}#actions span{display:block;font-size:9px;font-weight:500;margin-top:4px}#jump{right:0;bottom:0;width:88px;height:88px;background:#ffc16b;color:#193d40;overflow:hidden}#grip{left:0;top:0;width:65px;height:65px;background:#266975e8}#dash{right:0;top:0;width:65px;height:65px;background:#294e63e8}#charge{position:absolute;bottom:0;left:0;height:6px;width:0;background:#ce762b}#rescue{position:absolute;left:24px;bottom:calc(163px + env(safe-area-inset-bottom));pointer-events:auto;border:1px solid #ffffff65;background:#1c474bd4;border-radius:20px;padding:9px 13px;font-size:12px}#message{position:absolute;top:40%;left:15px;right:15px;text-align:center;font-size:20px;font-weight:900;text-shadow:0 2px 9px #143d43;opacity:0;pointer-events:none;transition:opacity .2s}#message.show{opacity:1}@media(max-height:610px){.panel{padding:18px}h1{font-size:30px;margin:10px 0}.instructions{gap:7px;margin:10px 0}.panel p{margin:8px 0}.instructions div{font-size:12px}.primary{padding:12px}#hud{top:85px}#map{top:85px}}@media(min-width:850px){#stick{left:40px}#actions{right:40px}#hud{max-width:350px}}

#journey{font-size:12px;color:#a9e5dc;margin-top:5px}#grip{transition:background .2s}

#route{font-size:12px;line-height:1.4;margin-top:6px;color:#fff0c3}#abilities{display:none}

#shopOpen{pointer-events:auto;margin-left:auto;margin-right:10px;border:1px solid #ffdb8b99;background:#183f46ee;color:#ffdb8b;border-radius:24px;padding:11px 15px;font-weight:800;font-size:14px}#airHud{display:flex;align-items:center;gap:7px;font-size:12px;color:#d4f7ed;margin-top:8px}#airBar{appearance:none;width:80px;height:7px;border:0;border-radius:8px;overflow:hidden}#airBar::-webkit-progress-bar{background:#42666b}#airBar::-webkit-progress-value{background:#91f0d8}#airBar::-moz-progress-bar{background:#91f0d8}#actions{height:238px}#grip,#dash{top:80px}#power{right:0;top:0;width:76px;height:68px;border-radius:22px!important;background:#b4ebdc;color:#153e42;overflow:hidden}#powerCharge{position:absolute;bottom:0;left:0;width:0;height:5px;background:#ee943f}#shop{z-index:8;width:min(510px,calc(100% - 24px));padding:24px}#shop h2{margin:12px 0}.balance{color:#ffd278;font-size:23px}.economyNote,#saveStatus{font-size:14px;line-height:1.45}#shopCards{display:grid;gap:12px;margin:18px 0}.skillCard{padding:15px;border:1px solid #759992;border-radius:15px;background:#204b50}.skillCard h3{margin:0;font-size:18px}.skillCard p{font-size:14px;margin:8px 0 12px}.skillCard button{width:100%;padding:11px;border-radius:10px;border:0;background:#ffd18a;color:#173f46;font-weight:800;font-size:14px}.skillCard button:disabled{background:#476c70;color:#c9ddda;cursor:default}.skillCard.selected{border-color:#b4ebdc}.skillCard small{font-size:13px;color:#ffdc9b}#shopClose{position:sticky;bottom:0}#saveStatus{color:#b8d3ce}@media(max-width:400px){header{left:14px;right:14px}.brand{font-size:29px}.brand span{font-size:8px}#shopOpen{padding:10px;font-size:13px}#hud{left:14px;padding:10px;max-width:calc(100% - 122px)}#map{right:12px;width:82px;height:82px}#actions{right:12px}#stick{left:16px}}@media(max-height:530px){#actions{height:158px;width:240px}#power{left:0;top:80px}#grip{left:80px;top:0}#dash{top:0}#hud{max-width:260px}#route{display:none}#airHud{margin-top:4px}}

.shopTools{display:flex;gap:12px;margin-top:16px}.shopTools label{flex:1;min-width:0;font-size:14px;color:#d3e5e1}.shopTools select{display:block;width:100%;background:#214e55;color:#fff;border:1px solid #71918b;border-radius:9px;padding:10px 6px;margin-top:5px;font:inherit}.rarityKey{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.rarityKey span:nth-child(1){color:#b4ced0}.rarityKey span:nth-child(2){color:#72caff}.rarityKey span:nth-child(3){color:#d3a0ff}.rarityKey span:nth-child(4){color:#ffd075}.skillCard{border-color:var(--rarity);border-left-width:4px}.rarity{color:var(--rarity);font-size:13px;font-weight:800;margin-bottom:8px}.itemStat{display:block;color:var(--rarity);font-size:16px;margin-top:10px}.itemPrice{font-size:14px;color:#ead4a4;margin-bottom:12px}.swatches{display:flex;align-items:center;gap:8px;margin:12px 0}.swatches i{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #ffffff99}.swatches span{font-size:13px;color:#c6ddda}#atlas,#racePanel{z-index:9}#raceEnter{position:absolute;top:calc(290px + env(safe-area-inset-top));left:16px;background:#204f65ed;border:2px solid #7be8ff;border-radius:15px;padding:12px;color:#fff;font-weight:800;font-size:16px}#raceEnter span{display:block;font-size:12px;font-weight:400;margin-top:5px}#raceHud{position:absolute;top:calc(90px + env(safe-area-inset-top));left:16px;right:125px;border-radius:16px;padding:14px;background:#173f53ed;border:1px solid #9de8f9;color:#fff;font-size:17px;pointer-events:none}#raceTime{float:right;color:#ffe095;font-size:14px}#raceGuide{margin-top:8px;font-size:14px;color:#b7f3eb}#raceRewards{color:#ffe095;font-size:15px}.worldCard{border-left:4px solid var(--world);background:#245057;padding:14px;border-radius:12px;margin:12px 0}.worldCard strong{color:var(--world);font-size:18px}.worldCard p{font-size:14px}.worldCard button{display:block;width:100%;text-align:left;margin:8px 0;background:#36707a;border:0;border-radius:8px;padding:12px;font-size:14px}.worldCard button:disabled{opacity:.5}#atlasClose{position:sticky;bottom:0}#shopOpen:disabled{opacity:.5}@media(max-height:530px){#raceEnter{top:180px;left:16px;font-size:14px}#raceHud{right:160px;max-width:360px}}@media(min-width:760px){#shop{width:min(760px,calc(100% - 40px))}#shopCards{grid-template-columns:1fr 1fr}}

.panel{z-index:8}#modalShade{display:none;position:absolute;inset:0;z-index:7;background:#07263755;backdrop-filter:blur(2px)}body:has(.panel:not([hidden])) #modalShade{display:block}

#controls.racing #actions{height:100px;width:100px}#controls.racing #power{top:0;left:auto;right:0;width:90px;height:90px;border-radius:28px!important;font-size:16px}#controls.racing #powerHint{font-size:12px}

#recenter{position:absolute;left:24px;bottom:calc(208px + env(safe-area-inset-bottom));pointer-events:auto;touch-action:manipulation;background:#1c474bd4;border:1px solid #ffffff65;border-radius:20px;padding:10px 13px;min-height:40px;font-size:14px}@media(max-height:530px){#recenter{left:150px;bottom:calc(30px + env(safe-area-inset-bottom))}}

#hud{padding:8px 12px;max-width:calc(100% - 130px)}#objectivesToggle{pointer-events:auto;background:none;border:0;padding:5px 0;min-height:38px;color:#ffe2a2;font-size:14px;font-weight:800;text-align:left}#objectiveDetails{padding:5px 0}#airHud{margin-top:2px}.cameraSetting{display:flex;align-items:center;gap:12px;font-size:16px}.cameraSetting select{flex:1;min-width:0;padding:12px;background:#28515b;color:white;border:1px solid #a7c9c4;border-radius:10px;font:inherit}.settingHint{font-size:14px}#tutorialCard{position:absolute;z-index:5;left:16px;right:16px;top:calc(180px + env(safe-area-inset-top));max-width:420px;padding:16px;border-radius:18px;background:#123e49f2;border:2px solid #ffcf80;box-shadow:0 8px 32px #092f4366}#tutorialCard h2{font-size:22px;margin:8px 0}#tutorialCard p{font-size:15px;margin:8px 0;line-height:1.4}#tutorialStep{font-size:13px;color:#ffd083}#tutorialProgress{width:100%;height:7px;accent-color:#a1ebd8}#tutorialCard button{background:#ffc879;border:0;border-radius:9px;color:#123e49;padding:10px 12px;font-weight:800;font-size:14px;margin-top:10px}#tutorialSkip{background:none!important;color:#c7dedc!important;font-weight:400!important}#lookGuide{pointer-events:none;position:absolute;right:22px;bottom:calc(286px + env(safe-area-inset-bottom));width:140px;padding:14px;border:2px dashed #a5f5e7;border-radius:18px;text-align:center;color:#fff;background:#1746579c;font-size:14px;line-height:1.5}.trainingFocus{outline:4px solid #ffe095!important;outline-offset:6px}body:has(#tutorialCard:not([hidden])) #raceEnter{display:none}#tutorialWelcome{margin:14px auto}@media(max-height:620px) and (orientation:landscape){#tutorialCard{left:150px;right:110px;top:calc(75px + env(safe-area-inset-top));max-width:360px;padding:10px}#tutorialCard h2{font-size:18px;margin:4px 0}#tutorialCard p{font-size:14px}#lookGuide{bottom:220px;right:15px;width:110px;font-size:12px}}

.offlineSettings{margin-top:18px;border-top:1px solid #ffffff30;padding-top:12px;text-align:left}.offlineSettings summary{cursor:pointer;color:#ffe2a2;font-size:14px;padding:8px 0}.offlineSettings p{font-size:14px;line-height:1.45}.offlineSettings [data-offline-status]{color:#b9f2db;font-weight:700}.offlineSettings button{font-size:14px}

.tutorialReplay{display:block;width:100%;min-height:48px;padding:13px 16px;background:#b4eee0;color:#143d43;border:1px solid #e2fff5;border-radius:13px;font-size:18px;font-weight:800}.tutorialReplay:disabled{opacity:.5}#tutorialReplayHint{margin:8px 0 16px}

#actions button>svg{display:block;width:34px;height:34px;margin:auto;pointer-events:none}#actions #jump>svg{width:42px;height:42px}#actions button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#controls.racing #powerHint{position:static;width:auto;height:auto;clip-path:none;font-size:12px}.goalBrief{font-size:18px;line-height:1.8}.goalBrief strong{color:#fff1b2}.victoryPrize{padding:12px;border-radius:12px;background:#ffd17c;color:#193d40;font-weight:800}.controlHelp{margin:16px 0}.controlHelp summary{cursor:pointer;font-size:15px;color:#c7ded7}

#challengeEnter{position:absolute;top:32%;left:50%;transform:translateX(-50%);max-width:85%;padding:12px 16px;border:1px solid #ffdc94;border-radius:18px;background:#174750ed;color:#ffe3a0;z-index:5;font-size:15px;font-weight:800}#challengeHud,#crystalSignal{position:absolute;top:27%;left:10%;right:10%;padding:10px;border-radius:15px;background:#174750dd;color:#fff3cf;text-align:center;pointer-events:none;font-size:14px;z-index:4}#crystalSignal{top:35%;font-size:14px}.challengeCard{padding:14px 0;border-bottom:1px solid #ffffff30}.challengeCard h3{color:#ffdb97;margin:5px 0}.challengeCard p{font-size:14px}.challengeCard button{padding:10px 18px;min-height:44px;border:0;border-radius:12px;background:#ffca77;color:#143d43;font-weight:800}.challengeCard button:disabled{background:#427079;color:#d4e3e3}#challengePanel{z-index:12}

#rideEnter,#rideExit,#rideBrake{position:absolute;z-index:6;min-height:48px;padding:12px 16px;border:1px solid #ffe1a0;border-radius:18px;background:#164750ef;color:#ffe2a0;font-size:15px;font-weight:800}#rideEnter{top:40%;left:50%;transform:translateX(-50%);white-space:nowrap}#rideExit{bottom:18%;right:4%;max-width:48%}#rideBrake{bottom:7%;right:5%;width:110px;height:85px;background:#ffc975;color:#17454a;touch-action:none}#rideHud{position:absolute;top:28%;left:8%;right:8%;padding:12px;background:#174750ed;color:#fff1c8;border-radius:16px;text-align:center;pointer-events:none;font-size:15px;z-index:5}#ridePanel{z-index:15}#rideChoices button{display:block;width:100%;padding:14px;margin:8px 0;border:1px solid #a0dbcd;border-radius:12px;background:#b6eddf;color:#163e45;font-size:16px;text-align:left}#rideChoices button:disabled{opacity:.5}#rideChoices h3{color:#ffcd7d}#rideChoices p{font-size:14px}

/* A compact, thumb-friendly pause menu: actions first, details on demand. */
#menu.pauseMenu{width:min(480px,calc(100% - 24px));max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px);padding:22px;border-radius:28px;background:linear-gradient(155deg,#235860f7,#102f37fa);border:1px solid #b2e3d569;box-shadow:0 20px 65px #072d4380;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6faaa4 transparent}.menuHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.menuHeading h2{font-size:30px;letter-spacing:-.8px;margin:7px 0 0;color:#f7f6df}.menuHeading .eyebrow{font-size:12px;letter-spacing:1.8px;color:#aee5d4}#menuClose{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#ffffff0c;border:1px solid #c6ece650;font-size:30px;line-height:1;color:#e8f5e9}.menuResume{display:flex;justify-content:center;align-items:center;gap:10px;min-height:58px;background:linear-gradient(120deg,#ffd48b,#ffb958);box-shadow:0 4px 0 #af7838,0 7px 22px #081e3326;border-radius:17px;font-size:19px}.menuResume svg{width:23px;height:23px}.menuSectionLabel{font-size:12px;font-weight:800;letter-spacing:1.6px;color:#abd3cd;margin:24px 0 12px}.menuGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menuTile{display:flex;align-items:center;gap:11px;min-height:78px;padding:13px 11px;text-align:left;border-radius:17px;border:1px solid #a7d6ca40;background:#ffffff08;transition:background .15s,transform .15s;color:#f5f4df;min-width:0}.menuTile svg{flex:0 0 28px;width:28px;height:28px;color:#aee9d5}.menuTile span{min-width:0}.menuTile strong{display:block;font-size:16px;line-height:1.3}.menuTile small{display:block;font-size:12px;line-height:1.4;color:#b8d9d2;margin-top:3px}.menuTile:active{transform:scale(.98);background:#ffffff16}.menuTile:disabled{opacity:.45;transform:none}#menu .menuHint{font-size:12px;line-height:1.4;margin:12px 2px 17px;color:#a4c9c4}#menu .menuDisclosure,#menu .offlineSettings{border:0;border-top:1px solid #b7ddd42b;padding:0;margin:0}#menu summary{min-height:52px;cursor:pointer;padding:16px 0;color:#d6e9df;font-size:15px;font-weight:700}#menu details p{font-size:14px;line-height:1.5}#menu .menuSave a{font-size:14px;text-align:left;min-height:44px;margin-top:0;padding:12px 0}.menuDanger{width:100%;min-height:48px;padding:12px;border:1px solid #e5a39c55;border-radius:12px;background:#bc625014;color:#ffc7ad;font-size:15px;font-weight:700;margin:8px 0}.menuRace{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;width:100%;padding:14px;min-height:52px;background:#d2b36615;border:1px solid #e2bd7755;border-radius:14px;color:#ffe0a0;font-size:15px;text-align:left;margin:0 0 17px}.menuRace span{font-size:12px;color:#d2daca}#menu .offlineSettings button{width:100%;min-height:46px;padding:10px;border:1px solid #b7ddd455;border-radius:12px;margin:8px 0;background:#ffffff0a}#menu .cameraSetting{font-size:15px}#menu :focus-visible{outline:3px solid #ffd48b;outline-offset:3px}@media(max-width:350px){#menu.pauseMenu{padding:16px}.menuTile{gap:7px;padding:12px 8px}.menuTile svg{width:22px;height:22px;flex-basis:22px}.menuTile strong{font-size:15px}.menuTile small{font-size:12px}}@media(max-height:540px) and (min-width:600px){#menu.pauseMenu{width:min(700px,calc(100% - 32px))}.menuGrid{grid-template-columns:repeat(3,1fr)}.menuHeading{margin-bottom:12px}.menuSectionLabel{margin-top:18px}}@media(prefers-reduced-motion:reduce){.menuTile{transition:none}}@media(hover:hover){.menuTile:hover,#menuClose:hover{background:#ffffff16;border-color:#b7ddd48a}}
/* A single contextual invitation; transport HUD leaves the landscape visible. */
#rideEnter,#challengeEnter,#raceEnter{top:auto;bottom:calc(290px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%);max-width:72%;font-size:14px;line-height:1.3;padding:10px 14px;min-height:44px;border-radius:14px}body:has(#rideHud:not([hidden])) #hud,body:has(#rideHud:not([hidden])) .brand{display:none}#rideHud{top:calc(85px + env(safe-area-inset-top));left:16px;right:112px;font-size:14px;padding:10px;text-align:left;border-radius:12px}#controls.onCoaster #stick{display:none}#rideExit{max-width:54%;font-size:14px;padding:12px}body:has(#controls.onCoaster) #rideExit{bottom:calc(24px + env(safe-area-inset-bottom));right:18px}body:has(#rideHud:not([hidden])) #map{width:72px;height:72px;top:calc(85px + env(safe-area-inset-top))}@media(max-height:540px){#rideEnter,#challengeEnter,#raceEnter{bottom:auto;top:90px;max-width:40%}}
body:has(.panel:not([hidden])) :is(#rideEnter,#challengeEnter,#raceEnter){display:none}
#rideChoices button small{display:block;margin-top:5px;font-size:13px;line-height:1.45;font-weight:400;color:#285c61}#rideHud{line-height:1.4}

#lookSummit{margin-top:.5rem;padding:.45rem .65rem;border:1px solid #b9e2d780;border-radius:.7rem;background:#123e45;color:#ffe09b;font:inherit;min-height:40px}#lookSummit:focus-visible{outline:2px solid #ffe09b;outline-offset:2px}

.appVersion{margin:.35rem 0 .8rem!important;font-size:.875rem!important;line-height:1.4;color:#b9e3d9!important;font-weight:500}

#levelGoal{max-width:220px;font-size:11px;line-height:1.4;margin:5px 0 0;color:#ffe09b} #levelGoal[hidden]{display:none}

#loadingScreen{position:fixed;inset:0;z-index:1000;background:#163f45;isolation:isolate;display:flex;align-items:flex-end;padding:clamp(24px,6vw,64px);padding-bottom:calc(36px + env(safe-area-inset-bottom))}
.loadingArtwork{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:36% center;z-index:-2}
#loadingScreen::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#102f3500 20%,#102f3566 48%,#102f35f5 100%);z-index:-1}
.loadingContent{width:min(100%,420px);margin:0 auto;text-align:center}.loadingBrand{font-size:clamp(48px,13vw,76px);font-weight:950;letter-spacing:-3px;text-shadow:0 3px 20px #143d43}.loadingBrand span{display:block;font-size:12px;letter-spacing:3px;line-height:2}
.loadingContent h1{font-size:25px;margin:18px 0 12px}.loadingContent p{font-size:15px;line-height:1.5;min-height:24px}.loadingContent a{display:block;color:#c1e7dd;font-size:14px;margin-top:18px}.loadingContent button{display:block;margin:12px auto;padding:12px 20px;border:0;border-radius:14px;background:#ffcf7d;color:#153d43;font-weight:bold}
#loadingProgress,.downloadPanel progress{display:block;width:100%;height:10px;border:0;border-radius:20px;overflow:hidden;background:#ffffff26;accent-color:#ffcf7d}progress::-webkit-progress-bar{background:#ffffff26;border-radius:20px}#loadingProgress::-webkit-progress-value,.downloadPanel progress::-webkit-progress-value{background:#ffcf7d;border-radius:20px}#loadingProgress::-moz-progress-bar,.downloadPanel progress::-moz-progress-bar{background:#ffcf7d;border-radius:20px}
#loadingProgress:indeterminate{background:linear-gradient(90deg,#ffffff20 25%,#ffcf7d 50%,#ffffff20 75%);background-size:200% 100%;animation:loadingSweep 1.6s linear infinite}
@keyframes loadingSweep{to{background-position:-200% 0}}
.downloadPanel{margin:16px 0;padding:14px;background:#0c303a88;border:1px solid #b9e3d640;border-radius:14px}.downloadHeading{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:10px}.downloadPanel small{display:block;margin-top:8px;font-size:12px;color:#c8e0dc}.downloadPanel button{margin:12px 0 0;width:100%}
@media(prefers-reduced-motion:reduce){#loadingProgress:indeterminate{animation:none}}
@media(max-height:500px){#loadingScreen{padding:16px}.loadingBrand{font-size:38px}.loadingContent h1{margin:6px;font-size:20px}.loadingContent p{margin:6px}.loadingContent a{margin-top:8px}}

#levelGoal{white-space:pre-line;font-size:12px}#replayCanopy{pointer-events:auto;border:1px solid #ffffff40;background:#27646a;border-radius:10px;padding:8px;margin-top:8px;font-size:13px}

#armGuide{position:fixed;z-index:8;bottom:310px;left:50%;transform:translateX(-50%);width:min(270px,65vw);padding:12px 16px;background:#153e42ed;border:1px solid #ffe09b;border-radius:20px;color:#fff1cf;pointer-events:none;text-align:center;font-size:14px}#armGuide[hidden]{display:none}#armGuide strong,#armGuide span{display:block}#armGuide progress{display:block;width:100%;height:12px;margin:8px 0;accent-color:#91efd0}#armGuide progress::-webkit-progress-bar{background:linear-gradient(90deg,#aa7945 55%,#34765a 55%);border-radius:8px}#armGuide progress::-webkit-progress-value{background:#99ffe0;border-radius:8px}

/* Compact notices leave the character and aiming area unobstructed. */
#message{top:auto;bottom:calc(242px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:80%;padding:8px 13px;border-radius:14px;background:#173f46ed;font-size:14px;font-weight:600;line-height:1.35;text-shadow:none;z-index:4}
@media(max-height:610px){#message{bottom:18px;max-width:45%;font-size:12px}}

#app.islandPreviewActive > :not(#world):not(#islandPreview){visibility:hidden!important;pointer-events:none!important}
#islandPreview{position:fixed;inset:0;z-index:100;pointer-events:auto;color:#173f45}#islandPreview[hidden]{display:none}
#islandPreviewTouch{position:absolute;inset:0;touch-action:none}
.islandPreviewInfo{position:absolute;top:max(12px,env(safe-area-inset-top));left:16px;right:16px;background:#e4f7f4ed;border-radius:18px;padding:14px;pointer-events:none;font-size:14px;line-height:1.4}
.islandPreviewInfo strong{font-size:18px}.islandPreviewInfo p{margin:6px 0 0}
.islandPreviewButtons{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;display:grid;gap:8px}.islandPreviewButtons button{font-size:16px;min-height:48px}

#islandPreview .islandPreviewInfo p{color:#173f45;opacity:1}#islandPreview .secondary{color:#173f45;background:#e4f7f4;border:1px solid #60888a}#islandPreview button[hidden]{display:none}

#islandReference{position:absolute;left:5%;top:26%;width:90%;height:49%;object-fit:contain;background:#b4d8df;pointer-events:none}#islandReference[hidden]{display:none}

.islandMaterialLabel{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700}.islandMaterialLabel select{flex:1;min-width:0;min-height:46px;font:inherit;color:#173f45;background:#e4f7f4;border:1px solid #60888a;border-radius:12px;padding:8px}#islandMaterialHint{font-size:14px;line-height:1.3;margin:0;color:#173f45;background:#e4f7f4ed;border-radius:8px;padding:8px}.islandPreviewButtons{grid-template-columns:1fr 1fr;gap:8px}.islandMaterialLabel,#islandMaterialHint,#islandPreviewClose,#islandPreviewRetry{grid-column:1/-1}#islandReference{top:24%;height:43%}

.islandZoomControls{grid-column:1/-1;display:flex;justify-content:center;gap:8px}.islandZoomControls button{min-height:44px;padding:6px 16px}.islandZoomControls button:first-child,.islandZoomControls button:last-child{width:48px;font-size:24px}.islandZoomControls button:disabled{opacity:.45}

/* Expanded objectives remain scrollable above the mobile controls. */
#objectiveDetails{max-height:min(38dvh,330px);overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y}
#canopyJournal{margin-top:10px;padding-top:10px;border-top:1px solid #ffffff35;max-width:260px}
#canopyJournal>strong{font-size:14px;color:#ffe09b}
#canopyJournal p{font-size:12px;line-height:1.4;margin:7px 0}
#canopySteps{margin:8px 0;padding-left:20px;font-size:12px}
#canopySteps li{padding:4px 0;line-height:1.4}
#canopySteps li[data-state="active"]{color:#ffe09b;font-weight:800}
#canopySteps li[data-state="done"]{color:#a5edce}
#canopySteps small{display:block;font-size:11px;font-weight:400;color:#d7e9e4}
#hud{max-height:max(120px,calc(100dvh - 310px - env(safe-area-inset-top)));overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y}

#lookObjective{display:block;pointer-events:auto;min-height:44px;margin-top:8px;padding:10px 12px;border:1px solid #ffe09b80;border-radius:10px;background:#27646a;color:#fff2ce;font-size:13px;text-align:left}

/* Personal island: the placement surface never handles walking gestures. */
.gather-actions{position:fixed;left:50%;bottom:calc(195px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:8;max-width:75vw}.gather-actions button,.home-top button,.home-sheet button,.build-tools button,.build-sheet button{min-height:44px;padding:9px 14px;border:1px solid #c8d8c9;border-radius:12px;background:#fff7df;color:#183f43;font:600 14px system-ui;cursor:pointer}.gather-hint{position:fixed;top:160px;left:16px;max-width:230px;background:#143e46df;color:#fff5d9;padding:8px 12px;border-radius:12px;font:14px system-ui;z-index:5;pointer-events:none}.home-top{position:fixed;z-index:22;top:0;left:0;right:0;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:#153d46f2;color:#fff4d8;display:flex;align-items:center;justify-content:space-between;gap:12px;font:16px system-ui}.home-top p{font-size:14px;margin:5px 0}.home-top button{flex-shrink:0;max-width:110px}.home-sheet{position:fixed;z-index:12;left:14px;right:14px;top:112px;padding:12px;background:#fff6ddf5;color:#153d46;border-radius:14px;font:14px system-ui}.home-sheet p{margin:0 0 10px}.home-sheet button{background:#d8ead7}.build-tools{position:fixed;z-index:21;top:112px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#183f43}.build-tools label{background:#fff7df;padding:10px;border-radius:12px;font:14px system-ui}#buildSurface{position:fixed;inset:0;z-index:19;touch-action:none}.build-sheet{position:fixed;z-index:21;left:0;right:0;bottom:0;max-height:38dvh;overflow:auto;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:#fff6e8f7;color:#183f43;border-radius:20px 20px 0 0;box-shadow:0 -5px 28px #123c4530;font:14px/1.4 system-ui}.build-sheet p{margin:7px 0}.build-confirm{display:flex;gap:8px;position:sticky;top:-12px;background:#fff6e8;padding:8px 0}.build-confirm button:first-child{background:#236d63;color:white;flex:1}.build-sheet button:disabled{opacity:.48;cursor:default}.build-sheet select{max-width:100%;font:16px system-ui;padding:8px;border-radius:8px;color:#183f43;background:white}#buildCatalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}#buildCatalog button{text-align:left}#buildCatalog small{display:block;font-size:13px;font-weight:400;margin-top:5px}#buildCatalog [aria-pressed=true]{outline:2px solid #287f70;background:#deedd5}.object-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}[hidden]{display:none!important}@media(min-width:850px){.build-sheet{left:auto;width:360px;max-height:70dvh;border-radius:20px;bottom:18px;right:18px}#buildCatalog{grid-template-columns:1fr}}@media(max-height:500px){.home-top{padding:5px 12px;font-size:14px}.home-top p{margin:2px}.build-tools{top:75px;right:42%}.build-sheet{left:auto;width:38%;max-height:65dvh}.home-sheet{top:80px;right:50%}.gather-actions{bottom:110px}.gather-hint{display:none}}

/* v111 — unified landscape interface. One menu, one contextual action, two thumbs. */
:root{--ui-ink:#183e43;--ui-panel:#163e46f5;--ui-edge:#8fb4ad;--ui-gold:#ffd18a;--ui-safe-left:max(16px,env(safe-area-inset-left));--ui-safe-right:max(16px,env(safe-area-inset-right))}
body[data-playing=true] header{left:var(--ui-safe-left);right:var(--ui-safe-right);top:max(10px,env(safe-area-inset-top));z-index:14;justify-content:flex-start}
body[data-playing=true] header .brand,#shopOpen,#objectivesToggle,#levelGoal,#abilities,#gatherHint,.gather-actions,#homeTop,#buildSheet,#rescue{display:none!important}
#pause{width:auto;min-width:88px;min-height:44px;padding:9px 16px;border-radius:14px;font-size:18px;background:var(--ui-panel)}#pause span{font-size:14px;margin-left:5px}
body[data-menu-open=true] header,body[data-menu-open=true] #shellGoal,body[data-menu-open=true] #contextAction{display:none!important}
#hud{left:auto;right:var(--ui-safe-right);top:max(10px,env(safe-area-inset-top));padding:6px 10px;max-width:155px;border-radius:12px;background:#163e4699}#airHud{margin:0;min-height:30px;font-size:13px}#airValue{display:none}#airBar{width:75px}#map{display:none!important}
#shellGoal{position:fixed;z-index:5;top:max(14px,env(safe-area-inset-top));left:130px;right:180px;max-width:440px;margin:auto;text-align:center;padding:8px 14px;border-radius:12px;background:#153e469e;color:#fff1cf;font:600 14px/1.35 system-ui;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#contextAction{position:fixed;z-index:10;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:35vw;min-height:48px;padding:10px 18px;border:1px solid #ebd2a1;border-radius:15px;background:#ffe1a4;color:#173f43;box-shadow:0 4px 16px #153e4333;font:700 14px/1.25 system-ui;touch-action:manipulation}
#harvestResource,#raceEnter,#rideEnter,#challengeEnter{display:none!important}
#moveZone{position:absolute;left:0;bottom:0;width:38%;height:70%;touch-action:none;pointer-events:auto}
#stick{left:calc(var(--ui-safe-left) + 12px);bottom:calc(22px + env(safe-area-inset-bottom));width:112px;height:112px;background:#163e4644;border-color:#fff8;z-index:2}
#actions{right:var(--ui-safe-right);bottom:calc(16px + env(safe-area-inset-bottom));width:212px;height:164px}
#actions button{min-width:60px;min-height:60px}#actions svg{width:28px;height:28px}#actions span{font-size:11px;line-height:1.1;margin-top:3px;white-space:nowrap;max-width:72px;overflow:hidden;text-overflow:ellipsis}
#jump{right:0;bottom:0;width:80px;height:80px}#grip{left:55px;right:auto;top:0;width:64px;height:64px}#dash{right:0;left:auto;top:0;width:64px;height:64px}#power{left:38px;right:auto;top:auto;bottom:0;width:64px;height:64px;border-radius:20px!important}
#recenter{left:auto;right:calc(var(--ui-safe-right) + 8px);top:72px;bottom:auto;min-height:44px;font-size:13px;padding:8px 12px;background:#173e4688}
#message{position:fixed;z-index:13;left:22%;right:22%;top:auto;bottom:calc(87px + env(safe-area-inset-bottom));font-size:15px;line-height:1.3;padding:7px 10px;border-radius:10px;background:#143d4388;max-height:60px;overflow:hidden}
#armGuide{top:68px!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:300px;max-width:40vw;padding:8px 12px;font-size:13px}#armGuide strong,#armGuide span{font-size:13px}
#shellNav{position:fixed;left:var(--ui-safe-left);right:var(--ui-safe-right);top:max(8px,env(safe-area-inset-top));height:48px;z-index:35;display:flex;align-items:center;gap:14px;color:#fff0cc;font:16px system-ui;background:var(--ui-panel);padding:4px 8px;border:1px solid #92b2a166;border-radius:14px}#shellNav button{min-height:40px;border:0;background:#28565c;color:#fff3d6;padding:8px 14px;border-radius:10px;font:600 14px system-ui}#shellBalance{margin-left:auto;font-size:14px;color:#ffd18a}#shellTitle{font-size:16px}
body[data-menu-open=true] .panel{position:fixed;top:66px;bottom:12px;left:var(--ui-safe-left);right:var(--ui-safe-right);width:auto!important;max-width:940px;max-height:none;transform:none;margin:0 auto;padding:18px 22px;background:var(--ui-panel);border:1px solid #92b2a166;border-radius:18px;backdrop-filter:none;box-shadow:0 12px 36px #10363c55}
body[data-menu-open=true] .panel h2{font-size:24px;line-height:1.2;margin:4px 0 12px}body[data-menu-open=true] .panel p{font-size:14px;line-height:1.4}.panel button,.panel a{min-height:44px}
.menuGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.menuTile{min-height:70px!important;padding:12px;border-radius:14px;background:#28545b;color:#ffedc7;border:1px solid #779a9277;text-align:left;font:700 16px system-ui}.menuTile small{font-size:13px;color:#c5ddd5}.menuTile:disabled{opacity:.45}.menuTile[hidden]{display:none!important}#menu .menuHeading,#resume,.menuSectionLabel,#menuClose{display:none!important}#menu .appVersion{display:none}.menuDisclosure,.offlineSettings,.controlHelp{border:1px solid #6d918877;border-radius:12px;padding:10px 12px;margin:10px 0;background:#1d484e}.menuDisclosure summary,.offlineSettings summary,.controlHelp summary{font-size:15px;min-height:32px;cursor:pointer}
#homeMenuSection{padding:10px 14px;margin:14px 0;border-radius:12px;background:#2d5758}#homeMenuSection h3{margin:0;font-size:17px}#objectiveDetails{max-height:none;padding:8px 0;background:transparent}#objectiveDetails div{font-size:14px}#shopClose,#atlasClose,#rideClose,#challengeClose{margin-top:14px;position:static;background:#2b5a60;color:#fff0cf;box-shadow:none;border:1px solid #76988d}#shopCards{grid-template-columns:repeat(2,minmax(0,1fr))}.skillCard{padding:12px}#shop h2,.balance{display:inline-block;margin-right:18px}
body[data-game-mode=building] header{display:none}body[data-game-mode=building] #hud,body[data-game-mode=building] #recenter{display:none!important}
.build-tools{left:var(--ui-safe-left);right:330px;top:14px;z-index:24;gap:8px}.build-tools button,.build-tools label{min-height:44px;border-radius:12px;background:#163e46ed;color:#fff0cf;font-size:14px}.build-tools label{display:flex;align-items:center;gap:5px;padding:6px}.build-tools input{width:20px;height:20px}
.build-sheet{left:auto;right:var(--ui-safe-right);top:10px;bottom:10px;width:290px;max-height:none;border-radius:16px;padding:12px 14px;background:var(--ui-panel);color:#fff1d2;box-shadow:0 5px 28px #143e4644}.build-sheet h2{margin:0;font-size:22px}.build-sheet p{color:#deeee4;font-size:14px}.build-sheet #homeInventory{font-size:13px;padding-bottom:8px;border-bottom:1px solid #7b9b8e66}#buildBudgetNote{display:none}.build-confirm{background:#163e46;top:-12px;flex-wrap:wrap;z-index:2}.build-confirm button{min-height:44px}.build-confirm button:first-child{background:#ffce85;color:#143e43;font-weight:700}#buildCatalog{grid-template-columns:1fr}#buildCatalog button{background:#295158;color:#fff1d2;border-color:#6b8e83}#buildCatalog small{color:#d2e4d8}#buildCatalog [aria-pressed=true]{background:#376355;outline:2px solid #ffce85}.build-sheet select{background:#284f56;color:#fff1d2;border:1px solid #75998a;font-size:14px}#buildDescription{font-size:13px}.object-buttons button{font-size:13px}.build-sheet #buildStatus{font-size:14px;color:#ffe1a4}
#orientationGate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#143e46;color:#fff0cf;padding:28px;text-align:center;font:16px/1.5 system-ui}#orientationGate>div{max-width:360px}#orientationGate span{font-size:74px;display:block;color:#ffcd83}#orientationGate h2{font-size:28px;margin:12px 0}#orientationGate p{font-size:17px}#orientationGate small{font-size:14px;color:#c7ddd4}
@media(orientation:landscape) and (max-height:540px){#welcome{width:min(680px,calc(100% - 70px));max-height:calc(100dvh - 20px);padding:18px 24px}#welcome h1{font-size:30px}#welcome .goalBrief{font-size:15px;margin:8px 0}#tutorialCard{left:155px;right:245px;top:65px;bottom:auto;width:auto;max-height:170px;overflow:auto;padding:10px}#tutorialCard h2{font-size:18px;margin:4px 0}#tutorialCard p{font-size:14px;line-height:1.3}#lookGuide{right:30%;top:48%;font-size:13px}#raceHud,#challengeHud,#rideHud{top:64px;left:150px;right:240px;font-size:14px;padding:8px}#rideExit{top:15px;bottom:auto;left:140px;right:auto;min-height:44px}#rideBrake{right:var(--ui-safe-right);bottom:25px;width:90px;height:70px;font-size:16px}#controls.racing #actions{width:90px;height:90px}#controls.racing #power{left:auto;right:0;bottom:0;top:auto;width:82px;height:82px}#controls.onCoaster #recenter{display:none}.build-sheet{width:280px}.build-tools{right:310px}#shellGoal{max-width:330px}.menuTile svg{width:22px;height:22px}}
@media(max-width:700px) and (orientation:landscape){.menuGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.build-sheet{width:245px}.build-tools{right:270px;max-width:300px}#shellGoal{right:165px;left:120px;font-size:13px}#actions{width:185px}#grip{left:35px}#power{left:16px}#contextAction{max-width:31vw;font-size:13px}#tutorialCard{left:130px;right:210px}}
/* v112: thumb reach and a catalogue → placement → edit construction flow. */
#buildShortcut{position:fixed;z-index:12;right:var(--ui-safe-right);top:64px;min-height:48px;padding:10px 18px;border-radius:14px;border:1px solid #e5bc7c;background:var(--ui-gold);color:var(--ui-ink);font:750 15px system-ui;box-shadow:0 4px 18px #123a4333}
#contextAction{left:auto;right:var(--ui-safe-right);bottom:calc(194px + env(safe-area-inset-bottom));transform:none;max-width:210px;width:210px;min-height:48px;font-size:14px}
#recenter{left:124px;right:auto;top:max(10px,env(safe-area-inset-top));padding:8px 10px}
#shellGoal{left:222px;right:180px;font-size:13px}body[data-menu-open=true] #buildShortcut{display:none!important}
.build-tools{top:max(12px,env(safe-area-inset-top));right:auto;max-width:calc(100% - 310px);flex-wrap:nowrap}.build-tools button{white-space:nowrap;padding:8px 12px}
.build-sheet{box-sizing:border-box;width:min(52vw,490px);top:max(12px,env(safe-area-inset-top));bottom:max(12px,env(safe-area-inset-bottom));padding:16px;border:1px solid #789a8777;overflow:auto}
.build-heading small{font:700 10px system-ui;letter-spacing:.14em;color:#b5cdbf}.build-heading h2{font-size:23px;margin:3px 0 8px}
#buildCatalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#buildCatalog button{padding:10px;border-radius:14px}#buildCatalog strong{display:block;font-size:14px;line-height:1.25}#buildCatalog small{font-size:12px;line-height:1.35}#buildCatalog button:disabled{opacity:.6;filter:saturate(.3)}
.plan-thumbnail{display:block;height:68px;margin:0 0 8px;background:#173c4380;border-radius:9px;padding:8px}.plan-thumbnail svg{width:100%;height:100%}
#buildSelectedPreview{height:76px;background:#254f51;border-radius:12px;padding:8px;margin:8px 0}#buildSelectedPreview svg{width:100%;height:100%}
#buildPanel[data-stage=placing] .build-sheet,#buildPanel[data-stage=inspect] .build-sheet{width:244px}
#buildPanel[data-stage=placing] #homeInventory{font-size:12px}#buildPanel[data-stage=placing] #homeBudget{display:none}
#buildDescription{font-size:12px;margin:8px 0}#buildStatus{padding:9px 10px;border:1px solid #d6c49566;border-radius:10px;background:#12343d;line-height:1.35}
.placement-options{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.placement-options label{font-size:13px;display:flex;gap:4px;align-items:center;min-height:44px}.placement-options input{width:20px;height:20px}.placement-options button{padding:8px 10px;font-size:13px}
.build-confirm{position:sticky;bottom:-16px;top:auto;padding:10px 0;margin:8px 0 0;background:#163e46;display:flex;flex-direction:column;gap:7px}.build-confirm button:first-child{min-height:52px;font-size:17px}.build-confirm button:disabled{background:#54716b;color:#cad7cf}.build-confirm #buildCancel{min-height:44px;background:transparent;border-color:#8ea89a;color:#dbe9df;font-size:13px}
#buildCameraReset,#buildZoomIn,#buildZoomOut{width:44px;padding:0}.build-camera{position:fixed;z-index:22;left:var(--ui-safe-left);bottom:max(16px,env(safe-area-inset-bottom));display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 280px)}.build-camera button{min-height:44px;min-width:44px;border:1px solid #90b5a177;border-radius:12px;padding:8px 10px;background:#153d46ed;color:#fff0ce;font:600 14px system-ui;touch-action:manipulation}
#buildHint{position:fixed;z-index:20;left:var(--ui-safe-left);top:64px;max-width:calc(48vw - 40px);margin:0;padding:8px 12px;border-radius:12px;background:#173f46cc;color:#fff0cf;font:13px/1.4 system-ui;pointer-events:none}#homeBudget{font-size:11px;color:#bcd3c8;margin-top:14px}#objectActions{border-top:1px solid #8ba99a55;padding-top:12px;margin-top:12px}.object-buttons{display:grid}.object-buttons button{min-height:44px}
@media(orientation:landscape) and (max-height:450px){#buildPanel[data-stage=placing] #buildSelectedPreview{display:none}#buildPanel[data-stage=placing] .build-sheet{padding:12px}.build-heading h2{font-size:20px}.build-sheet #homeInventory{padding-bottom:6px;margin:5px 0}#buildDescription{margin:5px 0}.build-confirm{bottom:-12px;padding:8px 0}.build-confirm button:first-child{min-height:48px}#buildStatus{margin:6px 0;font-size:13px!important;padding:7px}#buildPanel[data-stage=catalog] .build-tools{max-width:46vw}.build-tools button{font-size:13px;padding:7px 10px}#buildHint{font-size:12px}.build-camera{max-width:calc(48vw - 20px);gap:5px}.build-camera button{font-size:12px}}
@media(max-width:740px) and (orientation:landscape){#contextAction{width:185px;max-width:185px}#shellGoal{left:218px;right:165px}#buildPanel[data-stage=placing] .build-sheet,#buildPanel[data-stage=inspect] .build-sheet{width:225px}.build-tools{max-width:calc(100% - 245px)}#buildUndo{font-size:12px}.build-camera{max-width:calc(48vw - 20px)}.build-camera button{padding:6px}#buildCatalog{gap:6px}#buildCatalog button{padding:8px}.plan-thumbnail{height:54px}}
/* Construction at character level: leave the landscape and left thumb free. */
body[data-game-mode=building] #actions{display:none!important}
body[data-game-mode=building] #controls{z-index:20}
#buildReticle{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff5d7;text-shadow:0 1px 4px #123b42;font:24px system-ui;pointer-events:none;z-index:18}
#buildPanel .build-tools{top:max(10px,env(safe-area-inset-top));left:var(--ui-safe-left);right:auto;max-width:calc(100% - 40px);gap:6px}
#buildPanel .build-tools button{min-height:44px;font-size:14px;padding:8px 12px}
#buildPanel #buildHint{top:60px;max-width:calc(100% - 340px);padding:5px 9px;font-size:13px}
#buildPanel .build-sheet,#buildPanel[data-stage=placing] .build-sheet,#buildPanel[data-stage=inspect] .build-sheet{width:min(280px,34vw);top:68px;bottom:auto;right:var(--ui-safe-right);max-height:calc(100dvh - 84px);padding:10px;border-radius:14px}
#buildPanel[data-stage=idle] .build-sheet{display:none}
#buildPanel .build-heading small,#buildPanel #buildDescription,#buildPanel #buildSelectedPreview,#buildPanel #homeBudget{display:none}
#buildPanel .build-sheet h2{font-size:16px;line-height:1.2;margin:0 0 6px}
#buildPanel #homeInventory{font-size:12px;margin:4px 0;padding-bottom:5px}
#buildPanel #buildCatalog{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:8px;margin:8px 0 0}
#buildPanel #buildCatalog button{flex:0 0 145px;scroll-snap-align:start;padding:8px;font-size:14px}
#buildPanel .plan-thumbnail{height:45px;padding:3px}
#buildPanel #buildCatalog small{font-size:12px;margin-top:3px}
#buildPanel[data-stage=placing] .build-sheet{top:auto;bottom:max(14px,env(safe-area-inset-bottom));width:220px;background:#153d46de}
#buildPanel[data-stage=placing] #homeInventory{display:none}
#buildPanel #buildStatus{font-size:13px!important;margin:5px 0;padding:6px;min-height:30px}
#buildPanel .build-confirm{position:static;display:flex;flex-direction:row;background:none;margin:5px 0 0;padding:0;gap:6px}
#buildPanel .build-confirm button:first-child{font-size:15px;min-height:48px;padding:8px}
#buildPanel #buildCancel{font-size:12px;max-width:76px;padding:5px}
#buildPanel .placement-options{flex-wrap:nowrap;gap:5px}
#buildPanel .placement-options label{font-size:12px}
#buildPanel #objectActions{margin:4px 0;padding-top:4px}
#buildPanel .object-buttons{gap:5px}
@media(max-height:420px){#buildPanel[data-stage=catalog] .build-sheet{width:300px;max-height:calc(100dvh - 80px)}#buildPanel[data-stage=catalog] .build-heading{display:none}#buildPanel #buildHint{display:none}}
