@font-face{font-family:MiloFallback;src:local('Trebuchet MS')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#123e45;font-family:MiloFallback,'Trebuchet MS',Arial,sans-serif;color:white;overscroll-behavior:none}button{font:inherit;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:4px solid #ffeaa4;outline-offset:5px}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}.symbol-library{position:absolute;width:0;height:0;overflow:hidden}#game-shell{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;isolation:isolate}#scene{display:block;width:100%;height:100%;touch-action:none}.screen{position:absolute;inset:0;z-index:5}#menu{background:#184f51 url('assets/title-workshop.webp') right center/cover no-repeat}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,#062e3e3b,#062e3e00 80%)}.menu-title{position:absolute;top:50%;left:9%;transform:translateY(-48%);width:46%;text-align:center;max-width:600px}.studio{font-size:11px;letter-spacing:4px;font-weight:bold;color:#9edccf;margin-bottom:18px}.menu-title h1{font-weight:1000;color:#fff2c7;margin:0;font-size:clamp(28px,4.9vw,72px);line-height:1.02;letter-spacing:-1px;text-shadow:0 4px 0 #714424,0 8px 0 #3a342c,2px 0 0 #3a342c,-2px 0 0 #3a342c;transform:rotate(-3deg)}.menu-title h1>span{font-size:clamp(70px,11vw,160px);display:block;line-height:.9;letter-spacing:-5px;color:#ffce4f;-webkit-text-stroke:2px #9c5e25;text-shadow:0 6px 0 #9c5e25,0 12px 0 #283b38;margin-bottom:10px}.menu-title p{font-size:clamp(12px,1.6vw,20px);margin:27px 0 23px;text-shadow:0 2px 4px #05373c;letter-spacing:1px}.big-button{display:flex;align-items:center;justify-content:center;gap:22px;border:3px solid #fff8bb88;border-radius:21px;font-size:25px;letter-spacing:1px;font-weight:1000;padding:16px 35px;min-height:72px;box-shadow:0 7px 0 #173d3b,0 12px 18px #082e3c66,inset 0 3px 0 #ffffff5e;color:white;text-shadow:0 2px 0 #215d4d;transition:transform .12s,filter .12s}.big-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.big-button:active{transform:translateY(5px);box-shadow:0 2px 0 #173d3b}.green{background:linear-gradient(#9cd24d,#4caa53);border-color:#d9ef8a}.gold{background:linear-gradient(#ffda64,#f0a536);border-color:#ffe6a6;color:#6d4525;text-shadow:0 1px white}.menu-title .big-button{width:78%;margin:auto}.big-button span{font-size:25px}.menu-link{border:0;background:transparent;color:#d1e8d7;margin:24px 0 0;text-decoration:underline;text-underline-offset:5px;font-size:13px}.menu-bottom{position:absolute;bottom:20px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:#fff3c7bb}.global-buttons{position:absolute;z-index:12;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:flex;gap:10px}.round{width:51px;height:51px;border:3px solid #fff3b9;border-radius:18px;background:linear-gradient(#35a6a9,#247478);color:white;box-shadow:0 4px 0 #174c52, inset 0 2px 0 #ffffff40;display:grid;place-items:center;font-size:26px;font-weight:bold;text-shadow:0 2px #18585a;position:relative}.round:active{transform:translateY(3px)}.round i{font-style:normal;font-size:16px;position:absolute;right:6px;bottom:4px;color:#ffe7c4}.round[aria-pressed=true] i{display:none}.back{position:absolute;left:22px;top:22px;font-size:40px}.screen-title{position:absolute;top:8%;width:100%;text-align:center}.screen-title span,.garage-title>span{font-size:11px;color:#bcead8;letter-spacing:3px}.screen-title h1,.garage-title h1{font-size:clamp(27px,4vw,48px);margin:10px 0;text-shadow:0 4px #153b47}.map-screen{background:radial-gradient(ellipse at 50% 60%,#216a6280,#14384ee0)}.map-path{position:absolute;top:24%;width:84%;height:50%;left:8%}.map-path svg{width:100%;height:100%;overflow:visible}.map-path path{fill:none;stroke:#ffdd7b;stroke-width:8;stroke-dasharray:12 14;stroke-linecap:round;opacity:.6}#map-levels{position:absolute;inset:27% 7% 16%;display:flex;justify-content:space-around;align-items:center}.map-node{width:27%;max-width:240px;border:0;background:none;color:#fff5d3;position:relative;transition:transform .2s}.map-node:nth-child(2){transform:translateY(-35px)}.map-node:nth-child(3){transform:translateY(15px)}.island{width:140px;height:125px;display:grid;place-items:center;border-radius:50%;margin:auto;background:radial-gradient(ellipse at 50% 35%,#9de59d,#57ba81 60%,#358879 62%,#296578 82%);border:6px solid #bce6a9;box-shadow:0 12px 0 #174f5f,0 20px 20px #0b2e4470,inset 0 -12px 0 #257b6260;font-size:65px;text-shadow:0 4px #263c464d}.map-node strong{display:block;font-size:17px;margin:22px -12px 9px;text-shadow:0 3px #153b47}.map-node .stars{display:block;color:#ffd261;font-size:24px;letter-spacing:3px;text-shadow:0 3px #7b5b37}.map-node:disabled{filter:grayscale(.65);opacity:.65}.map-node:enabled:hover{scale:1.05}.map-node .node-number{position:absolute;top:0;left:calc(50% - 75px);width:34px;height:34px;background:#ffca56;border:3px solid #fff0b1;border-radius:50%;color:#7b4b2b;display:grid;place-items:center;font-size:17px;font-weight:bold;box-shadow:0 3px #85622c}.map-tip{position:absolute;bottom:8%;width:100%;text-align:center;font-size:13px;color:#bde2cf;padding:0 20px}.garage-screen{background:linear-gradient(90deg,#153e4c30 38%,#0e323ddd 62%)}.garage-title{position:absolute;top:9%;left:5%;right:5%;text-align:center}.garage-title h1{margin:8px 0}.garage-title p{font-size:14px;color:#daf3e1;max-width:650px;margin:10px auto}.garage-parts{position:absolute;left:48%;right:6%;top:32%;bottom:7%;display:flex;flex-direction:column;justify-content:center;gap:19px;max-width:640px}.parts-section h2{font-size:11px;letter-spacing:2px;margin:0 0 9px;color:#bbded1;display:flex;align-items:center;gap:8px}.parts-section h2 span{background:#ffd166;color:#6d4e25;border-radius:50%;height:23px;width:23px;display:grid;place-items:center;font-size:12px}.part-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.part-card{border:3px solid #4c8790;border-radius:16px;background:linear-gradient(#eef3db,#bddacf);color:#245764;padding:8px 3px;box-shadow:0 4px 0 #123f4c;position:relative;transition:transform .12s}.part-card svg{width:75px;height:55px;max-width:90%;display:block;margin:auto}.part-card strong{display:block;font-size:14px;margin-top:2px}.part-card small{display:block;font-size:9px;margin:4px 0;color:#5a7e79}.part-card[aria-pressed=true]{border-color:#ffe387;background:linear-gradient(#fff4c5,#f9ce76);transform:translateY(-3px);box-shadow:0 5px 0 #99702b,0 0 20px #ffd76c22}.part-card[aria-pressed=true]:after{content:'✓';position:absolute;right:5px;top:3px;border-radius:50%;background:#449c64;color:white;width:18px;height:18px;font-size:12px;display:grid;place-items:center}.garage-parts .big-button{width:100%;margin-top:5px;min-height:61px;font-size:19px}.mascot-note{position:absolute;top:75%;left:11%;text-align:center;transform:rotate(-4deg)}.mascot-note>span{font-size:36px;font-weight:bold;color:#ffda6d;text-shadow:0 4px #655032;letter-spacing:3px}.mascot-note p{font-size:13px;line-height:1.4;margin:3px;color:#c3e5dc}.hud-left{display:flex;position:absolute;left:max(17px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));gap:10px;align-items:center;z-index:10}.pill{background:#123e50cf;border:2px solid #c1e1d77a;border-radius:16px;padding:10px 16px;box-shadow:0 4px 0 #16465955;min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:20px;font-weight:bold}.hearts{color:#ff9087;letter-spacing:2px;text-shadow:0 2px #743b3d}.coins>span{color:#ffd366;font-size:29px;line-height:20px}.coins small{color:#bedfdc;font-size:12px}.mission-pill{position:absolute;z-index:10;left:50%;top:21px;transform:translateX(-50%);text-align:center;background:#123e50c7;border-radius:14px;padding:9px 22px;max-width:36%;box-shadow:0 3px #16465944}.mission-pill span{display:block;color:#a5d7d3;letter-spacing:2px;font-size:8px}.mission-pill b{display:block;font-size:14px;margin-top:4px}.objective{position:absolute;right:145px;top:18px;z-index:10;min-width:53px;color:#ffd366}.objective.complete{border-color:#ffd366;box-shadow:0 0 20px #ffdb8060}#controls{position:absolute;inset:auto 0 max(22px,env(safe-area-inset-bottom));z-index:11;padding:0 26px;display:flex;justify-content:space-between;pointer-events:none}.direction-pad,.action-pad{display:flex;gap:13px;align-items:flex-end;pointer-events:auto}#controls button{border:3px solid #fff0c0a1;box-shadow:0 5px 0 #16435488,inset 0 2px 0 #ffffff50;background:#2b8293c4;color:#fff2d2;border-radius:21px;width:72px;height:66px;font-size:29px;text-shadow:0 3px #1c6074;touch-action:none;position:relative}#controls button.held{transform:translateY(4px);filter:brightness(1.3);box-shadow:0 1px #164354}#controls #jump{background:linear-gradient(#8ed45eda,#4eaa64e8);width:83px;height:78px;border-radius:50%;font-size:43px}#controls #tool{background:linear-gradient(#ffc66bdb,#d38b42e8);width:69px;height:65px;border-radius:50%}#tool svg{width:46px;height:42px;color:#5b5b43}#controls button span{display:block;position:absolute;bottom:5px;font-size:8px;left:0;width:100%;letter-spacing:1px;text-shadow:none;opacity:.8}#jump span{font-size:6px!important;bottom:9px!important}#keyboard-hint{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:10px;color:#f6efdb;z-index:9;background:#11384a88;padding:8px 13px;border-radius:9px;white-space:nowrap}#keyboard-hint span{color:#a9cdd1;font-size:9px}#toast{position:absolute;z-index:11;left:50%;bottom:135px;transform:translateX(-50%);background:#fff1c8;color:#3b5754;border:3px solid #e4bd6c;border-radius:17px;padding:12px 22px;box-shadow:0 5px 0 #164f5b55;text-align:center;font-weight:bold;font-size:14px;max-width:min(90%,620px);animation:toast-in .2s ease-out;pointer-events:none}@keyframes toast-in{from{translate:0 12px;opacity:0}to{translate:0 0;opacity:1}}dialog{z-index:30;border:4px solid #ffe4a0;border-radius:30px;width:min(450px,90%);background:linear-gradient(#245d6b,#133f51);color:#fff6d7;padding:29px 34px;text-align:center;box-shadow:0 10px 0 #0d2e3a,0 20px 80px #061d3599;max-height:92dvh;overflow:auto}dialog::backdrop{background:#062639ad;backdrop-filter:blur(6px)}#panel-symbol{font-size:55px;color:#ffd46a;text-shadow:0 4px #9e7035;line-height:1.2}.panel-kicker{font-size:9px;letter-spacing:3px;color:#a8d8cb;margin-top:10px}dialog h2{font-size:31px;letter-spacing:-1px;margin:12px 0;text-shadow:0 3px #153c47}#panel-stars{font-size:40px;color:#ffcf5a;letter-spacing:8px;text-shadow:0 4px #ad7237}dialog p{font-size:14px;line-height:1.6;color:#c9e6dd}#panel-actions{display:grid;gap:13px;margin-top:20px}dialog .big-button{font-size:17px;min-height:54px;padding:10px 17px;border-radius:15px}.secondary{background:linear-gradient(#4b8790,#33656f);border-color:#9ccac8;font-size:14px!important;min-height:45px!important}#loading{position:absolute;inset:0;z-index:50;background:radial-gradient(#285e68,#123e45);display:flex;align-items:center;justify-content:center;flex-direction:column}#loading img{animation:loader-bob 1.1s ease-in-out infinite}#loading h1{font-size:22px;color:#ffdda0}.load-track{width:210px;height:13px;background:#12323c;border-radius:9px;padding:3px}.load-track>span{height:100%;display:block;background:linear-gradient(90deg,#63c789,#ffe39a);border-radius:8px;animation:load 1s ease-out both}@keyframes load{from{width:3%}to{width:95%}}@keyframes loader-bob{50%{transform:translateY(-10px) rotate(4deg)}}
@media(max-width:800px){.mission-pill{top:80px;max-width:80%;min-width:230px}.hud-left{gap:6px;left:12px;top:12px}.pill{font-size:17px;padding:8px 11px;min-height:43px;border-radius:13px}.hud-left .round{width:43px;height:43px;border-radius:14px;font-size:21px}.hearts{font-size:16px}.coins>span{font-size:24px}.global-buttons{top:12px;right:12px;gap:6px}.global-buttons .round{width:40px;height:40px;border-radius:13px;font-size:22px}.objective{right:108px;top:12px;min-width:41px;min-height:40px;font-size:21px;padding:6px 9px}#keyboard-hint{display:none}#controls{padding:0 18px;bottom:max(19px,env(safe-area-inset-bottom))}#controls button{width:62px;height:60px;border-radius:18px}#controls #jump{width:74px;height:74px}#controls #tool{width:62px;height:60px}.direction-pad,.action-pad{gap:9px}.screen-title{top:12%}.screen-title h1{font-size:34px}.back{left:15px;top:15px;width:43px;height:43px}.garage-title{top:11%}.garage-title h1{font-size:30px}.garage-title p{font-size:12px;max-width:90%}.garage-parts{left:43%;right:4%;gap:12px;top:31%}.part-card svg{height:44px}.part-card strong{font-size:12px}.part-card small{font-size:8px}.garage-parts .big-button{font-size:15px;min-height:56px}.mascot-note{left:7%;top:75%}}
@media(max-width:600px) and (orientation:portrait){#menu{background-position:right center}.menu-shade{background:linear-gradient(#092f3a22 0%,#073842c9 48%,#07343ce8 100%)}.menu-title{left:6%;width:88%;top:auto;bottom:12%;transform:none}.studio{font-size:8px;letter-spacing:3px;margin-bottom:14px}.menu-title h1{font-size:33px;line-height:1}.menu-title h1>span{font-size:96px;letter-spacing:-4px}.menu-title p{font-size:14px;margin:21px 0}.menu-title .big-button{width:80%;min-height:65px;font-size:23px}.menu-link{margin-top:23px}.menu-bottom{bottom:18px;left:15px;right:15px;justify-content:center;font-size:9px}.menu-bottom>span:last-child{display:none}.map-path{display:none}#map-levels{inset:24% 5% 15%;flex-direction:column;justify-content:space-between}.map-node{width:100%;max-width:300px;display:grid;grid-template-columns:110px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:12px;text-align:left}.map-node:nth-child(2),.map-node:nth-child(3){transform:none}.island{grid-row:1/3;width:100px;height:85px;font-size:43px;border-width:4px;margin:0;box-shadow:0 8px #174f5f}.map-node strong{font-size:16px;margin:8px 0 0;align-self:end}.map-node .stars{font-size:21px;align-self:start;margin-top:5px}.map-node .node-number{left:0;width:28px;height:28px;font-size:13px;border-width:2px}.map-tip{font-size:11px;bottom:6%}.screen-title h1{font-size:29px}.screen-title span{font-size:8px;letter-spacing:2px}.garage-screen{background:linear-gradient(#143f4b00 30%,#0c3344e8 52%)}.garage-title{top:10%}.garage-title h1{font-size:27px}.garage-title>span{font-size:9px;letter-spacing:2px}.garage-title p{font-size:11px;line-height:1.4;margin-top:7px}.garage-parts{left:6%;right:6%;top:auto;bottom:max(22px,env(safe-area-inset-bottom));gap:14px}.part-card{padding:6px 2px;border-radius:13px}.part-card svg{width:62px;height:40px}.part-card strong{font-size:12px}.part-card small{font-size:8px;margin:3px 0}.parts-section h2{font-size:9px;margin-bottom:7px;letter-spacing:1.5px}.parts-section h2 span{height:19px;width:19px;font-size:10px}.garage-parts .big-button{margin-top:2px;min-height:58px;font-size:18px}.mascot-note{display:none}.part-options{gap:8px}#toast{bottom:115px;font-size:12px;padding:10px 14px;min-width:75%}.mission-pill{font-size:12px;padding:8px 17px;top:75px;min-width:210px}.mission-pill b{font-size:12px}.mission-pill span{font-size:7px}#controls{padding:0 12px}.direction-pad,.action-pad{gap:7px}#controls button{width:57px;height:58px;border-radius:17px;font-size:24px}#controls #jump{width:68px;height:68px}#controls #tool{width:57px;height:57px}.pill.hearts{font-size:13px;letter-spacing:0;padding:8px 8px}.coins{font-size:15px;padding:8px 8px;gap:4px}.hud-left{gap:5px}.coins>span{font-size:21px}.objective{right:105px}.global-buttons{gap:5px}.round i{font-size:12px}dialog{padding:25px 22px}dialog h2{font-size:28px}}
@media(max-height:560px) and (orientation:landscape){.menu-title{top:48%;left:9%;width:43%}.studio{font-size:8px;margin-bottom:10px}.menu-title h1{font-size:27px}.menu-title h1>span{font-size:74px}.menu-title p{font-size:11px;margin:15px 0}.menu-title .big-button{min-height:52px;font-size:20px;padding:10px}.menu-link{font-size:10px;margin-top:16px}.menu-bottom{font-size:8px;bottom:9px}.garage-title{top:5%}.garage-title h1{font-size:26px}.garage-title p{font-size:10px}.garage-parts{top:29%;bottom:6%;gap:9px;left:47%;right:5%}.part-card{padding:3px}.part-card svg{height:33px}.part-card strong{font-size:10px}.part-card small{font-size:7px;margin:1px}.parts-section h2{font-size:8px;margin-bottom:5px}.parts-section h2 span{height:17px;width:17px}.garage-parts .big-button{min-height:40px;font-size:13px;padding:7px}.mascot-note{top:77%;left:14%}.mascot-note>span{font-size:25px}.mascot-note p{font-size:10px}.screen-title{top:7%}.screen-title h1{font-size:28px}.screen-title span{font-size:8px}#map-levels{top:31%;bottom:14%}.island{width:100px;height:85px;font-size:45px}.map-node strong{font-size:13px;margin-top:13px}.map-node .stars{font-size:19px}.map-node .node-number{left:calc(50% - 54px);width:28px;height:28px}.map-tip{font-size:10px;bottom:4%}.map-node:nth-child(2){transform:translateY(-15px)}.mission-pill{top:14px;max-width:33%;min-width:0}.mission-pill b{font-size:11px}.mission-pill span{font-size:7px}#controls{bottom:14px}#controls button{height:52px;width:58px}#controls #jump{height:62px;width:62px}#controls #tool{height:52px;width:52px}#toast{bottom:90px;font-size:11px}#keyboard-hint{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.menu-title h1{font-family:"Arial Black","Trebuchet MS",sans-serif;font-weight:900}
@media(max-width:360px){.objective{top:67px;right:12px}.mission-pill{left:44%;max-width:calc(100% - 70px);min-width:210px}}

#route{height:5px;border-radius:6px;background:#082c3c88;margin:6px 0 0;overflow:hidden}#route-fill{height:100%;display:block;background:linear-gradient(90deg,#7ee0aa,#ffdc6e);border-radius:5px;transition:width .15s}
/* Adventure edition: illustrated mission islands and responsive HUD. */

.menu-bottom>span:last-child{display:none}.menu-bottom{right:130px}.island svg{width:85px;height:75px;filter:drop-shadow(0 4px 0 #366b6d)}.objective{font-size:14px;min-width:87px}.mission-pill{max-width:32%}.menu-title h1{font-size:clamp(27px,4.5vw,64px);max-width:100%;line-height:1.05}
@media(max-width:800px){.objective{top:67px;right:12px;font-size:12px;min-width:73px;min-height:32px}.mission-pill{top:74px;left:43%;max-width:calc(100% - 115px);min-width:190px}.map-tip{padding:0 55px}}
@media(max-width:600px) and (orientation:portrait){.menu-title h1{font-size:33px}.menu-bottom{right:15px;bottom:61px;font-size:8px}.menu-title{bottom:16%}.island svg{width:61px;height:55px}.map-tip{bottom:6%;padding:0 28px}.map-node strong{font-size:15px}}
@media(max-height:560px) and (orientation:landscape){.objective{top:66px;right:13px}.mission-pill{top:14px;left:50%;min-width:160px}.menu-title h1{font-size:25px}}
/* Six-world mission map. Scroll within the map on short screens. */
.map-path{display:none}#map-levels{inset:24% 7% 12%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:18px 12px;overflow-y:auto;padding:8px 16px 18px;align-items:center;justify-items:center}.map-node,.map-node:nth-child(2),.map-node:nth-child(3){width:100%;max-width:225px;transform:none}.island{width:105px;height:85px;border-width:4px}.island svg{width:65px;height:60px}.map-node strong{font-size:14px;margin:13px 0 4px}.map-node .stars{font-size:20px}.map-node .node-number{left:calc(50% - 58px);width:28px;height:28px;font-size:13px}.map-tip{bottom:3%;font-size:11px}.objective{white-space:nowrap}
@media(max-width:600px) and (orientation:portrait){#map-levels{inset:22% 4% 10%;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:12px 8px;padding:8px 4px 15px}.map-node{display:block;text-align:center;max-width:175px}.island{margin:auto;width:80px;height:65px}.island svg{width:52px;height:48px}.map-node strong{font-size:12px;line-height:1.15;min-height:28px;margin:10px 0 2px}.map-node .stars{font-size:17px;margin-top:0}.map-node .node-number{left:calc(50% - 44px);width:24px;height:24px;font-size:11px}.map-tip{font-size:10px;bottom:2%;padding:0 16px}.screen-title h1{font-size:27px}}
@media(max-height:560px) and (orientation:landscape){#map-levels{inset:27% 10% 9%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:3px 10px 10px}.island{width:64px;height:49px}.island svg{height:38px;width:45px}.map-node strong{font-size:11px;margin:7px 0 0}.map-node .stars{font-size:15px;line-height:1}.map-node .node-number{left:calc(50% - 36px);height:22px;width:22px;font-size:11px}.map-tip{font-size:8px;bottom:1%}}
#mechanic-status{position:absolute;z-index:9;top:96px;left:50%;transform:translateX(-50%);max-width:70%;padding:7px 13px;border-radius:10px;color:#fff1ba;background:#113e51d9;text-align:center;font-size:11px;line-height:1.3;pointer-events:none}
@media(max-width:800px){#mechanic-status{top:140px;max-width:90%;width:max-content;font-size:10px}}
@media(max-height:560px) and (orientation:landscape){#mechanic-status{top:79px;max-width:62%;font-size:9px;padding:5px 9px}}

/* Publisher identity: menu and dialogs only, outside the active game controls. */
.publisher-brand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:9px 13px;background:#fff7df;border:2px solid #ead39a;border-radius:15px;box-shadow:0 4px 0 #123e4566;line-height:0;text-decoration:none;touch-action:manipulation}
a.publisher-brand:hover{background:#fffce9}
a.publisher-brand:focus-visible{outline:4px solid #ffce4f;outline-offset:5px}
.publisher-brand img{display:block;max-width:100%;height:auto;object-fit:contain}
.menu-brand{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));z-index:2;width:222px}
.panel-brand{margin:21px auto 0;width:176px;padding:7px 10px;border-radius:12px}
@media(max-width:600px){.menu-brand{top:max(18px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));width:180px;padding:7px 10px}.panel-brand{margin-top:17px;width:156px}}
@media(max-width:360px){.menu-brand{width:148px;padding:6px 8px}}
@media(max-height:560px) and (orientation:landscape){.menu-brand{top:12px;left:16px;width:150px;padding:5px 8px}.panel-brand{margin-top:12px;width:145px;padding:5px 8px}}

/* Nine missions: desktop 3x3; narrow screens scroll through five rows. */
#map-levels{inset:21% 7% 9%;grid-template-rows:repeat(3,minmax(125px,1fr));gap:10px 12px}.island{height:70px;width:88px}.island svg{height:50px;width:56px}.map-node strong{margin-top:10px;font-size:13px}.map-node .stars{font-size:18px}.map-node .node-number{left:calc(50% - 49px)}
@media(max-width:600px) and (orientation:portrait){#map-levels{inset:21% 4% 9%;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(125px,1fr));gap:10px 8px}.map-node .node-number{left:calc(50% - 47px)}}
@media(max-height:560px) and (orientation:landscape){#map-levels{inset:26% 7% 8%;grid-template-rows:repeat(3,minmax(100px,1fr))}.island{height:49px;width:64px}.island svg{height:38px;width:45px}.map-node .node-number{left:calc(50% - 36px)}}

/* UI icons use explicit geometry instead of font glyph baselines. */
.round,#controls button{appearance:none;-webkit-appearance:none;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ui-icon{display:block;flex:none;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;filter:drop-shadow(0 1px 0 #124c58)}
.back .ui-icon{width:27px;height:27px}.round{color:#fff8db}
#sound .sound-on{display:none}#sound .sound-muted{display:inline}#sound[aria-pressed=true] .sound-on{display:inline}#sound[aria-pressed=true] .sound-muted{display:none}
#controls button>.ui-icon{width:32px;height:32px;color:#fff6d8}#controls #jump>.ui-icon{width:35px;height:35px;transform:translateY(-4px)}
#controls #tool>svg{display:block;flex:none;transform:translateY(-4px);width:41px;height:36px}
.big-button>span{display:inline-flex;align-items:center;justify-content:center;line-height:1}
@media(max-width:800px){.global-buttons .round,.hud-left .round,.back{min-width:44px;min-height:44px}.global-buttons .ui-icon,.hud-left .ui-icon{width:23px;height:23px}.back .ui-icon{width:25px;height:25px}}
@media(max-width:600px) and (orientation:portrait){#controls button>.ui-icon{width:28px;height:28px}#controls #jump>.ui-icon{width:32px;height:32px}#controls #tool>svg{width:35px;height:31px}}

/* Complete campaign: scrollable fifteen-mission map. */
#map-levels{grid-template-rows:repeat(5,minmax(125px,1fr));scrollbar-gutter:stable;overscroll-behavior:contain}.map-node{scroll-margin:12px}
@media(max-width:600px) and (orientation:portrait){#map-levels{grid-template-rows:repeat(8,minmax(125px,1fr))}.map-tip{font-size:10px}}
@media(max-height:560px) and (orientation:landscape){#map-levels{grid-template-rows:repeat(5,minmax(100px,1fr))}}

/* SDK-owned interruptions: closed by SDK completion + explicit player action. */
#ad-break{max-width:min(420px,90vw);text-align:center;padding:30px;border:3px solid #efd58a;border-radius:24px;background:#183e49;color:#fff3cc;font:700 20px system-ui;box-shadow:0 20px 80px #0008}#ad-break::backdrop{background:#102c38e8}#ad-break .big-button{font-size:18px;margin-top:20px}
