@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@600;700;800;900&display=swap');
:root{--ink:#294b4e;--sky:#cce9e2;--outline:#3b8585;--yellow:#ffdb68;--green:#a9d84c;--cream:#fff9e8;font-family:'Nunito',ui-rounded,'Arial Rounded MT Bold',system-ui,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--sky);min-height:100dvh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:4px solid #be4a86;outline-offset:5px}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.toy-button{font-family:'Baloo 2','Nunito',ui-rounded,system-ui,sans-serif}.toy-button{position:relative;border:3px solid var(--outline);border-radius:24px;color:#fffde7;font-size:21px;font-weight:800;line-height:1.2;padding:13px 24px;box-shadow:inset 0 -7px 0 #318d6666,0 4px 0 #286660;transition:transform .12s,filter .12s;min-height:55px;text-shadow:0 1px 1px #426a5633}.toy-button::before{content:'';position:absolute;left:13px;top:7px;width:25px;height:5px;background:#fff8c9a6;border-radius:100%;transform:rotate(-14deg)}.toy-button:hover{filter:brightness(1.05);transform:translateY(-2px)}.toy-button:active{transform:translateY(3px);box-shadow:inset 0 -3px 0 #318d6655,0 1px 0 #286660}.green{background:linear-gradient(#b3dc54 60%,#67bb70 61%)}.blue{background:linear-gradient(#60c7be 60%,#59a7c3 61%);border-color:#498c9c;box-shadow:inset 0 -6px 0 #4272a333,0 4px 0 #3a798c}.pink{background:linear-gradient(#ef6b88 60%,#d64e80 61%);border-color:#995581;box-shadow:inset 0 -6px 0 #ad407b44,0 4px 0 #874474}.icon-button{width:60px;height:58px;padding:0;border-radius:22px;font-size:32px;display:inline-grid;place-items:center;flex-shrink:0}.large-action{font-size:24px;min-width:235px;padding:15px 30px}.home-header{max-width:1300px;padding:26px 40px 0;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:10px;align-items:center;line-height:.8;font-size:23px;font-weight:800;letter-spacing:.5px;color:#356468;text-decoration:none;transform:rotate(-3deg)}.brand>span:last-child>span{display:block;font-size:30px;color:#d19135;line-height:1.05}.brand-hat{font-size:50px;filter:drop-shadow(0 3px 0 #59887e44)}.header-actions{display:flex;align-items:center;gap:16px}.star-bank{height:47px;min-width:86px;padding:7px 15px;border-radius:19px;border:2px solid #e2bc64;background:#fff4c9;box-shadow:0 3px 0 #acc8ac;display:flex;align-items:center;justify-content:center;gap:8px;font-size:21px;color:#6e754c}.star-bank>span{font-size:30px;color:#ffbf3d;-webkit-text-stroke:1px #d69d35}.home-intro{text-align:center;padding:27px 18px 24px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:2.3px;color:#67918a}.home-intro h1{font-size:clamp(30px,4vw,48px);font-weight:800;line-height:1.25;letter-spacing:-.7px;margin:8px 0 5px}.home-intro em{font-style:normal;color:#d99335;position:relative}.home-intro em:after{content:'';position:absolute;height:5px;bottom:3px;left:0;width:100%;border-radius:50%;background:#efbc63;transform:rotate(-4deg);opacity:.55}.home-intro p{color:#668882;font-size:15px}.project-grid{max-width:1070px;margin:auto;padding:0 28px;display:grid;grid-template-columns:repeat(6,1fr);gap:22px}.project-card{grid-column:span 2;background:var(--cream);border:3px solid #82aaa0;border-radius:27px;padding:0;overflow:hidden;box-shadow:0 6px 0 #82aaa0;transition:transform .15s,box-shadow .15s;text-align:left;color:var(--ink);position:relative}.project-card:nth-child(4){grid-column:2 / span 2}.project-card:nth-child(5){grid-column:4 / span 2}.project-card:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 12px 0 #82aaa0}.project-card img{width:100%;height:153px;display:block;object-fit:contain;background:var(--card-bg)}.project-card .card-number{position:absolute;top:12px;left:14px;background:#fff9e7d9;border:2px solid #ffffff;border-radius:12px;padding:2px 9px;font-size:10px;font-weight:900;letter-spacing:1px}.card-body{padding:11px 18px 14px;position:relative}.card-body h2{font-size:23px;line-height:1.15;font-weight:800}.card-body p{font-size:12px;color:#819087;margin:3px 0 8px}.card-bottom{display:flex;align-items:center;justify-content:space-between}.mini-stars{font-size:19px;letter-spacing:3px;color:#d8d4bc}.mini-stars.earned{color:#edb346}.play-pill{font-family:'Baloo 2',sans-serif;background:#a9cf55;color:#fffdea;border:2px solid #6fa36c;border-radius:20px;padding:3px 15px;box-shadow:inset 0 -3px 0 #77af5b;font-size:16px;font-weight:800}.progress-caption{font-size:10px;color:#809484;letter-spacing:0}.home-footer{display:flex;justify-content:center;gap:30px;padding:25px 15px;font-size:12px;color:#6a948b;font-weight:800}.loading{position:fixed;inset:0;background:var(--sky);display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:100;text-align:center;padding:24px}.loading-hat{font-size:85px;animation:bob 1s infinite alternate}.loading h1{font-size:30px;margin:20px 0;color:#3b6968}.loading p{font-size:14px;margin-top:15px;color:#69968d}.loading-track{width:210px;height:15px;border-radius:10px;background:#acd3bf;overflow:hidden;border:2px solid #72a795}.loading-track i{display:block;width:60%;height:100%;background:#ffce58;border-radius:10px;animation:load 1.2s infinite alternate}@keyframes load{to{transform:translateX(70%)}}@keyframes bob{to{transform:translateY(-8px)}}
#play{height:100dvh;overflow:hidden;position:fixed;inset:0;background:#cee3d4}#scene{position:absolute;inset:0}#scene canvas{width:100%;height:100%;display:block;touch-action:none}.game-top{position:absolute;top:max(18px,env(safe-area-inset-top));left:24px;right:24px;display:flex;gap:15px;align-items:center;pointer-events:none}.game-top>*{pointer-events:auto}.game-top-right{margin-left:auto;display:flex;gap:16px;align-items:center}.project-label{display:flex;flex-direction:column;padding:7px 17px 5px;background:#fff6dfeb;border:2px solid #e0d2a9;border-radius:18px;box-shadow:0 3px 0 #9fbc9d70}.project-label small{font-size:9px;letter-spacing:1.7px;color:#9c9678;font-weight:900}.project-label b{font-family:'Baloo 2',sans-serif;font-size:23px;line-height:1.1}.task-banner{position:absolute;top:96px;left:50%;transform:translateX(-50%);background:#ffdf78;border:3px solid #d99c4f;border-radius:25px;box-shadow:inset 0 -6px 0 #efbd5680,0 5px 0 #b68c5c55;padding:12px 20px 21px;display:flex;align-items:center;gap:16px;min-width:370px;max-width:90vw}.task-mascot{font-size:45px}.task-banner small{font-size:10px;letter-spacing:1.6px;font-weight:900;color:#9c854b}.task-banner h1{font-size:24px;font-weight:800;white-space:nowrap;color:#775b36;line-height:1.1}.hint-button{border:0;background:#fff3b8;border-radius:50%;width:40px;height:40px;font-size:22px;margin-left:15px}.phase-dots{position:absolute;bottom:7px;left:0;right:0;display:flex;gap:5px;justify-content:center}.phase-dots span{width:20px;height:5px;border-radius:5px;background:#d2b565}.phase-dots span.done{background:#6f9d65}.phase-dots span.current{background:#f5f4ce}.camera-controls{position:absolute;right:24px;top:44%;display:flex;flex-direction:column;gap:12px}.camera-controls .icon-button{width:48px;height:47px;font-size:27px;border-radius:17px}.instruction-panel{position:absolute;left:50%;bottom:max(19px,env(safe-area-inset-bottom));transform:translateX(-50%);min-width:410px;background:#fff8e8ed;border:3px solid #91b1a0;border-radius:28px;box-shadow:0 5px 0 #769c8d99;padding:12px 24px 16px;text-align:center;max-width:96vw}.tap-steps{display:flex;align-items:center;justify-content:center;gap:12px;color:#9baaa0;font-size:12px;white-space:nowrap}.tap-steps span{display:flex;align-items:center;gap:5px;border-radius:12px;padding:3px 7px}.tap-steps .active{color:#467f68;background:#d9edaa}.tap-steps .done{color:#6f9b75}.tap-steps i{font-style:normal;opacity:.5}.instruction-panel>p{font-size:19px;font-weight:900;margin:6px 0 9px;color:#4c6e63}.vehicle-options{display:flex;gap:10px;justify-content:center}.vehicle-choice{background:#e7ead8;border:2px solid #bac9ac;border-radius:16px;min-width:105px;max-width:150px;padding:0 8px 7px;color:#688277;font-weight:800;font-size:11px;box-shadow:0 3px 0 #b6c7a7}.vehicle-choice.recommended{background:#fff0b9;border-color:#dbb55c;box-shadow:0 3px 0 #c3a04f;animation:gentlePulse 2s infinite}.vehicle-choice img{height:65px;width:103px;object-fit:contain;display:block}.vehicle-choice:active{transform:translateY(3px)}.large-action .material-icon{margin-right:10px}.working{font-size:24px;color:#699d72;padding:12px}.working span{display:inline-block;animation:spin 3s linear infinite}.hotspot{position:absolute;z-index:2;transform:translate(-50%,-100%);background:#fff2b4;border:3px solid #c3a25c;color:#7c693d;border-radius:17px;padding:9px 17px;box-shadow:0 4px 0 #7b83545e;font-weight:900;font-size:16px;white-space:nowrap;animation:hotspotPulse 1.5s infinite}.hotspot:after{content:'';position:absolute;bottom:-12px;left:calc(50% - 8px);border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid #c3a25c}.hotspot span{font-size:23px;display:block}.destination{background:#cbea90;border-color:#6a9e68;color:#46764d}.destination:after{border-top-color:#6a9e68}@keyframes gentlePulse{50%{box-shadow:0 3px 0 #c3a04f,0 0 0 4px #edd57050}}@keyframes hotspotPulse{50%{margin-top:-6px}}@keyframes spin{to{transform:rotate(360deg)}}.reward-overlay{position:absolute;inset:0;background:#25454855;display:grid;place-items:center;z-index:10;backdrop-filter:blur(3px)}.reward-card{width:min(420px,90vw);padding:34px 26px 23px;background:#fff2be;border:4px solid #d89b4f;border-radius:36px;box-shadow:inset 0 -12px 0 #ffd879,0 10px 0 #536d5477;text-align:center;animation:pop .35s ease-out}.reward-stars{display:flex;justify-content:center;gap:12px;margin-bottom:13px}.reward-stars span{color:#ffcb42;font-size:70px;line-height:1.1;-webkit-text-stroke:3px #e99a52;filter:drop-shadow(0 5px 0 #eabb66)}.reward-stars span:nth-child(2){transform:translateY(-12px) scale(1.2)}.reward-card .eyebrow{color:#ad8e50;font-size:9px}.reward-card h2{font-size:35px;color:#7c6540;line-height:1.2;margin:9px 0}.reward-card p{font-size:16px;color:#9a8354;margin-bottom:20px}.text-button{background:none;border:0;color:#8f805b;font-size:13px;text-decoration:underline;text-underline-offset:4px;display:block;margin:18px auto 0;padding:5px}.reward-card .large-action{width:100%}@keyframes pop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}dialog{border:4px solid #82aaa0;border-radius:30px;background:#fff9e8;color:var(--ink);box-shadow:0 9px 0 #7e9f8a;max-width:900px;width:94vw;max-height:90dvh;padding:26px}dialog::backdrop{background:#315b5d99;backdrop-filter:blur(5px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.modal-header h2{font-size:32px}.garage-note{font-size:13px;color:#7e9589;margin:3px 0 16px}.garage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.garage-vehicle{border:2px solid #c6d4b7;background:#edf1df;border-radius:18px;color:#648172;font-size:12px;font-weight:800;padding:4px 6px 10px;transition:background .15s}.garage-vehicle:hover,.garage-vehicle.selected{background:#ffe5a2;border-color:#dbb261}.garage-vehicle img{width:100%;height:100px;object-fit:contain;display:block}.garage-speech{position:sticky;bottom:-26px;background:#fff9e8;text-align:center;margin:16px -10px -10px;padding:12px;color:#9d824a;font-weight:900;min-height:50px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:40;padding:12px 23px;border:2px solid #ceac67;border-radius:18px;background:#fff0bb;color:#846d42;text-align:center;max-width:90vw;box-shadow:0 5px 15px #214b4b33}.error-screen{position:fixed;inset:0;background:var(--sky);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;gap:20px;text-align:center}.error-screen p{max-width:430px}.confetti{position:absolute;width:10px;height:17px;top:-20px;left:var(--x);background:var(--c);animation:fall var(--t) ease-in var(--delay) forwards;z-index:11;pointer-events:none}@keyframes fall{to{transform:translateY(110dvh) rotate(780deg)}}
@media(min-width:1500px){.home-intro{padding-top:45px;padding-bottom:35px}.project-grid{max-width:1180px;gap:27px}.project-card img{height:185px}.card-body{padding:13px 20px 16px}.home-footer{padding-top:35px}}
@media(max-width:700px){.home-header{padding:19px 18px 0;gap:10px}.brand{font-size:16px;gap:5px}.brand>span:last-child>span{font-size:22px}.brand-hat{font-size:37px}.header-actions{gap:8px}.header-actions .icon-button{width:43px;height:43px;min-height:43px;font-size:25px;border-radius:16px}.header-actions .blue{width:45px;padding:0;font-size:25px;min-height:43px;border-radius:16px}.header-actions .blue span{display:none}.star-bank{height:38px;min-width:65px;padding:3px 9px;font-size:16px;border-radius:15px}.star-bank>span{font-size:24px}.home-intro{padding-top:27px}.home-intro h1{font-size:32px;max-width:330px;margin:8px auto}.home-intro p{font-size:12px}.eyebrow{font-size:9px}.project-grid{gap:16px;padding:0 17px;grid-template-columns:repeat(2,1fr)}.project-card{grid-column:auto!important;border-radius:22px}.project-card:nth-child(5){grid-column:1 / span 2!important;width:calc(50% - 8px);justify-self:center}.project-card img{height:125px}.card-body{padding:9px 12px 11px}.card-body h2{font-size:20px}.card-body p{font-size:10px;min-height:25px;line-height:1.3}.mini-stars{font-size:15px;letter-spacing:1px}.play-pill{font-size:13px;padding:3px 10px}.card-number{font-size:8px!important;top:8px!important;left:8px!important}.home-footer{gap:12px;flex-wrap:wrap;font-size:9px;padding:25px 16px}.game-top{top:12px;left:12px;right:12px;gap:8px}.game-top .icon-button{width:46px;height:45px;min-height:45px;font-size:27px;border-radius:17px}.game-top-right{gap:8px}.project-label{padding:7px 10px}.project-label small{font-size:7px}.project-label b{font-size:19px}.task-banner{top:79px;min-width:0;width:max-content;padding:11px 13px 20px;gap:9px;border-radius:20px}.task-banner h1{font-size:21px}.task-banner small{font-size:8px}.task-mascot{font-size:32px}.hint-button{margin-left:4px;width:34px;height:34px;font-size:18px}.instruction-panel{min-width:0;width:calc(100% - 24px);padding:10px 12px 13px;border-radius:23px;bottom:max(12px,env(safe-area-inset-bottom))}.instruction-panel>p{font-size:17px;margin:5px 0 8px}.tap-steps{gap:6px;font-size:10px}.vehicle-choice{min-width:85px;flex:1;padding:0 3px 5px;font-size:10px}.vehicle-choice img{width:100%;height:58px}.camera-controls{right:12px;top:36%;gap:9px}.camera-controls .icon-button{width:40px;height:40px;min-height:40px;font-size:24px;border-width:2px;border-radius:14px}.large-action{font-size:20px;min-height:55px;padding:11px 24px}.hotspot{font-size:13px;padding:7px 11px;border-width:2px}.garage-grid{grid-template-columns:repeat(3,1fr);gap:8px}.garage-vehicle img{height:75px}.garage-vehicle{font-size:10px}dialog{padding:17px}.modal-header h2{font-size:27px}.modal-header .icon-button{width:43px;height:43px;min-height:43px}.garage-note{font-size:12px}.garage-speech{bottom:-17px;font-size:12px}.garage-grid{padding-bottom:5px}}
@media(max-height:600px) and (orientation:landscape){.game-top{top:10px}.task-banner{top:12px;max-width:45vw;padding:8px 12px 17px}.task-mascot{display:none}.task-banner h1{font-size:20px}.task-banner small{font-size:8px}.project-label{display:none}.instruction-panel{bottom:10px;padding:6px 15px 10px;min-width:380px;width:auto}.instruction-panel>p{font-size:16px;margin:3px 0}.vehicle-choice img{height:48px}.camera-controls{top:30%}.hotspot{font-size:12px;padding:5px 10px}.reward-card{padding:18px 26px}.reward-stars span{font-size:48px}.reward-card h2{font-size:29px}.reward-card p{margin-bottom:12px}.reward-card .large-action{padding:9px}.reward-card .text-button{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}
/* Workshop controls: painted metal, inset labels, bolts, and tactile edges. */
:root{--ink:#293d40;--sky:#e0e4da;--outline:#4d6263}
body{background:radial-gradient(ellipse at 50% 0,#f5f0dd 0,transparent 62%),#dce3db}
.toy-button{border-radius:9px;border:2px solid #4b5553;background-color:#d6ac43;box-shadow:inset 0 2px 0 #fff7cb9e,inset 0 -5px 0 #654e2c40,0 5px 0 #3c4d4e,0 8px 12px #1f343b26;text-shadow:0 2px 0 #0002;transition:transform .12s;letter-spacing:.2px}
.toy-button::before{width:5px;height:5px;left:6px;top:6px;border-radius:50%;transform:none;background:#a8b4ac;border:1px solid #4d6162;box-shadow:0 1px 0 #ecf0d8}
.toy-button::after{content:'';position:absolute;right:6px;bottom:6px;width:5px;height:5px;background:#a8b4ac;border:1px solid #4d6162;border-radius:50%;box-shadow:0 1px 0 #ecf0d8}
.green{background:linear-gradient(135deg,#f8d56a,#dca83e 70%,#cc9632);color:#3d4437}
.blue{background:linear-gradient(135deg,#719497,#496a72);border-color:#354d54;color:#fff4da}
.pink{background:linear-gradient(135deg,#d18b65,#a9563c);color:#fff4da;border-color:#684e42}
.toy-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.toy-button:active{transform:translateY(4px);box-shadow:inset 0 2px 4px #3334,0 1px 0 #334b4b}
.icon-button{border-radius:10px}.brand{transform:none;color:#3a5357}.brand>span:last-child>span{color:#b07a2e}
.star-bank{border-radius:8px;background:linear-gradient(#ffefbc,#e9cf82);border-color:#ad9459;color:#565839;box-shadow:inset 0 2px 0 #fff9dc,0 3px 0 #8d9b8b}
.home-intro .eyebrow{color:#778478;letter-spacing:3px}.home-intro h1{color:#33494b}.home-intro em{color:#aa762f}
.project-card{border-radius:12px;border:2px solid #778b84;box-shadow:0 6px 0 #6c7d76,0 12px 20px #34494320;background:#f4eddb}
.project-card img{object-fit:cover;height:190px}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 0 #6c7d76,0 17px 20px #34494320}
.project-card .card-number{border-radius:4px;background:#eed898;border:1px solid #938773;color:#46534e;letter-spacing:1.6px}
.card-body{border-top:5px solid #d2ab53;background:linear-gradient(#f8f2e2,#e9e3d3)}.card-body p{color:#748179}.play-pill{background:linear-gradient(#e8c65f,#c99e3f);border-color:#9b823e;color:#39493e;border-radius:6px;box-shadow:inset 0 1px 0 #fff8c6,0 3px 0 #897237;padding:4px 14px}
.project-label{border-radius:7px;border-color:#647b78;background:#e9e5d4ef;box-shadow:0 3px 0 #46615a55}.project-label small{color:#777c67}
.task-banner{border-radius:9px;background:linear-gradient(#f8d575,#e5b24e);border:2px solid #8c773f;box-shadow:inset 0 2px 0 #ffe9a1,0 5px 0 #5c6557a1;min-width:390px;top:87px;padding-bottom:22px}
.task-banner h1{font-size:23px;color:#454b38}.task-banner small{color:#746b43;letter-spacing:1px}.task-mascot{font-size:38px}.hint-button{border-radius:6px;border:1px solid #9c8b52;background:#f4dc91;box-shadow:0 3px 0 #a08d50}
.phase-dots{gap:3px;left:12px;right:12px}.phase-dots span{flex:1;max-width:20px;min-width:3px;height:5px;background:#c39d4a;border-radius:1px}.phase-dots span.done{background:#4c7868}.phase-dots span.current{background:#fff5cc}
.setting-label{position:absolute;left:26px;top:91px;padding:6px 10px;border-left:3px solid #e5b647;color:#3b5557;background:#e9e6d5d9;font-size:10px;letter-spacing:.7px;font-weight:900}
.instruction-panel{border-radius:12px;border:2px solid #597475;background:linear-gradient(130deg,#f5efdcf5,#e2e2cef5);box-shadow:inset 0 2px 0 #fff8e3,0 6px 0 #485f5e99,0 13px 28px #273c3d33;padding-top:10px;min-width:430px}
.instruction-panel:before{content:'';position:absolute;left:13px;right:13px;top:-6px;height:6px;background:repeating-linear-gradient(125deg,#e2b84f 0 11px,#4d5a54 11px 18px);border-radius:2px}
.tap-steps span{border-radius:5px}.tap-steps .active{background:#e6d492;color:#546543}.instruction-panel>p{font-size:18px;color:#445d56}
.vehicle-choice{border-radius:7px;background:#d6ded4;border-color:#8a9b90;box-shadow:0 3px 0 #82948a;color:#3f5754}.vehicle-choice.recommended{background:#f1d894;border-color:#aa8f48;box-shadow:0 3px 0 #a88e49}.vehicle-choice img{mix-blend-mode:multiply}
.hotspot{border-radius:8px;background:#f5d68b;border-color:#9a814c;box-shadow:0 4px 0 #4b665c77;color:#4c5846}.destination{background:#d0dca0;border-color:#698264}.destination:after{border-top-color:#698264}
.camera-controls .icon-button{border-radius:8px}.load-progress{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 3px}.load-progress b{font-size:9px;color:#7c856b;letter-spacing:1px}#load-slots{display:flex;gap:5px}#load-slots span{border:1px solid #a2ac94;width:21px;height:18px;display:grid;place-items:center;font-size:10px;font-weight:900;background:#dce1cd;border-radius:3px;color:#8d9784}#load-slots span.filled{background:#658772;color:#f9f0ce;border-color:#5c7463}#load-slots span.current{background:#eacc79;color:#5b664a;border-color:#a3935a}
.working{padding:8px 2px 3px;color:#526b60;font-size:13px;min-height:55px}#work-label{display:block;margin-bottom:10px}#work-meter{height:12px;border:1px solid #8b9c89;background:#c9d0bd;border-radius:4px;overflow:hidden;box-shadow:inset 0 2px 3px #435c4322}#work-fill{display:block;height:100%;width:0;background:repeating-linear-gradient(125deg,#d9b55a 0 12px,#e9ce80 12px 22px);transition:width .15s linear}
.reward-card{border-radius:15px;border-color:#96804b;box-shadow:inset 0 -8px 0 #d2b66c,0 9px 0 #52635a}.garage-vehicle{border-radius:9px}.garage-vehicle img{mix-blend-mode:multiply}dialog{border-radius:14px;border-color:#6d8580;background:#f1eddb}
@media(min-width:1500px){.project-card img{height:210px}.home-intro{padding-top:30px;padding-bottom:28px}}
@media(max-width:700px){.project-card{border-radius:10px}.project-card img{height:135px}.home-header .icon-button,.header-actions .blue,.game-top .icon-button{border-radius:8px}.setting-label{top:66px;left:12px;font-size:8px;background:#e9e6d5bf;max-width:180px}.task-banner{top:103px;min-width:0;width:calc(100% - 28px);max-width:430px;border-radius:8px;gap:7px;padding:10px 9px 21px}.task-banner h1{font-size:18px;white-space:normal}.task-banner small{font-size:8px}.task-mascot{font-size:29px}.hint-button{flex-shrink:0}.instruction-panel{min-width:0;width:calc(100% - 20px);border-radius:10px;padding:8px 10px 11px}.instruction-panel>p{font-size:16px}.load-progress{margin:6px 0 1px}.large-action{border-radius:8px;font-size:19px;min-height:49px;padding:10px 22px}.camera-controls{top:40%}.camera-controls .icon-button{border-radius:7px}.hotspot{font-size:12px}.star-bank{border-radius:7px}.project-label{border-radius:6px}.reward-card{border-radius:12px}}
@media(max-height:600px) and (orientation:landscape){.task-banner{top:12px;min-width:0;max-width:50vw}.task-banner h1{font-size:17px}.setting-label{top:72px}.instruction-panel{padding:6px 12px 9px;min-width:380px}.load-progress{margin:4px 0 0}.instruction-panel>p{font-size:15px}.vehicle-choice img{height:43px}}

/* Keep gestures on the playground; the page and large game buttons stay usable. */
#scene canvas{cursor:grab;user-select:none;-webkit-user-select:none}
#scene canvas:active{cursor:grabbing}
.camera-controls{top:36%;gap:9px}
.camera-guide{position:absolute;left:20px;bottom:24px;pointer-events:none;padding:8px 11px;border-radius:6px;background:#e9e6d5df;color:#4e625e;box-shadow:0 2px 0 #455c5733;font-size:10px;line-height:1.6}
.camera-guide b,.camera-guide span{display:block}
.camera-guide b{font-size:11px}
#camera-status[data-mode="follow"]:before{content:'● ';color:#b37e28}
@media(max-width:850px){.camera-guide{left:12px;top:190px;bottom:auto;padding:5px 9px;font-size:9px}.camera-guide b{font-size:10px}.camera-controls{top:35%;gap:7px}}
@media(max-height:600px) and (orientation:landscape){.camera-controls{top:22%;gap:5px}.camera-controls .icon-button{height:38px;min-height:38px;width:40px;font-size:23px}.camera-guide{top:75px;bottom:auto;left:15px}}
