:root{font-family:'Nunito',ui-rounded,'Arial Rounded MT Bold',system-ui,sans-serif;color:#244947;font-synthesis:none;--accent:#188c80;--gold:#eeae36;--ink:#244947;--paper:#fffef5;--shadow:0 12px 40px #174b4720}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#c5e9e1}button{font:inherit;cursor:pointer;border:0;touch-action:manipulation;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,canvas:focus-visible{outline:3px solid #ffbd49;outline-offset:4px}#game{height:100dvh;min-height:360px;width:100%;overflow:hidden;position:relative;isolation:isolate}#backdrop{position:absolute;inset:0;background:center/cover url('./assets/acorn-run/world-meadow.webp');transition:background-image .8s;opacity:.8;z-index:-3}.atmosphere{position:absolute;inset:0;background:linear-gradient(180deg,#e9f7e055,transparent 35%,#ceece922);z-index:-2}#scene{position:absolute;inset:0;width:100%;height:100%;outline:none;touch-action:none}.topbar{position:absolute;left:28px;right:28px;top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:10px;align-items:center;background:none;padding:0;text-align:left;font-size:16px;letter-spacing:1.5px;font-weight:950;line-height:1.15}.brand small{display:block;font-size:8px;letter-spacing:4.2px;font-weight:800;margin-top:4px}.brand-mark{position:relative;display:grid;place-items:center;width:42px;height:44px;background:#fcf7db;color:#3c887a;border-radius:14px 14px 19px 19px;font-size:28px;box-shadow:0 3px 0 #ba9f6233;transform:rotate(-5deg)}.brand-mark span{position:absolute;font-size:15px;right:1px;top:1px;color:#d38d2d}.course-label{text-align:center;display:grid;gap:4px}.course-label>span,.eyebrow{font-size:10px;font-weight:900;letter-spacing:2px}.course-label strong{font-size:16px;font-weight:900}.top-actions{display:flex;align-items:center;gap:9px}.wallet{display:flex;align-items:center;gap:9px;background:#fffef4dd;padding:10px 17px;border:1px solid #fff;border-radius:50px;font-size:17px;min-width:83px;box-shadow:0 3px 12px #29544a0b}.wallet>span{color:#da971c;font-size:24px}.icon-button{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:#fffef4db;font-size:20px;box-shadow:0 3px 8px #174b4710}.icon-button:hover,.soft-button:hover{background:#fff;transform:translateY(-1px)}.mission{position:absolute;top:125px;left:32px;pointer-events:none;max-width:265px}.mission>.eyebrow{color:#478a7b;background:#fffcedae;padding:6px 10px;border-radius:7px;letter-spacing:1.6px}.mission h1{font-size:clamp(22px,2.8vw,38px);line-height:1.08;letter-spacing:-1.5px;margin:17px 0 10px;font-weight:950;text-shadow:0 1px 12px #e9f7ee}.mission p{font-size:12px;line-height:1.6;max-width:190px;margin:0;color:#4a6f69;text-shadow:0 1px 8px #eef7e6}.acorns{display:flex;gap:9px;margin-top:22px}.acorns i{font-style:normal;font-size:24px;color:#56847966;text-shadow:0 2px 2px #fff7;transition:transform .2s,color .2s}.acorns i.collected{color:#db9718;transform:scale(1.15);filter:drop-shadow(0 0 7px #fff197)}.timer{display:flex;gap:15px;font-size:11px;color:#527770;margin-top:5px;font-weight:800}.companion-card{position:absolute;right:28px;top:117px;display:flex;align-items:center;gap:10px;padding:9px 12px 9px 8px;border-radius:18px;background:#fffef1d9;border:1px solid #ffffffbd;box-shadow:var(--shadow)}.companion-card img{width:48px;height:52px;object-fit:contain;border-radius:12px;background:#eeeadd}.companion-card div{display:grid;gap:1px}.companion-card small{font-size:7px;font-weight:900;letter-spacing:1.3px;color:#87978a}.companion-card b{font-size:17px}.companion-card span{font-size:9px;color:#76867a}.companion-card button{margin-left:6px;font-size:23px;background:none;color:#809684}#toast{position:absolute;top:24%;left:50%;transform:translate(-50%,-10px);background:#fffef3f2;box-shadow:var(--shadow);border-radius:16px;padding:12px 24px;font-weight:900;opacity:0;transition:.25s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}#guide{position:absolute;left:50%;bottom:106px;transform:translateX(-50%);display:flex;gap:16px;align-items:center;background:#fffef5f0;padding:14px 18px;border-radius:20px;box-shadow:var(--shadow);max-width:90%;border:1px solid white}#guide[hidden]{display:none}.guide-keys{background:#e6f2e7;border:1px solid #c1d9c7;border-bottom:3px solid #aacbb9;border-radius:8px;white-space:nowrap;padding:8px 11px;letter-spacing:3px;font-size:13px;font-weight:950}#guide div{display:grid;gap:3px;min-width:160px}#guide strong{font-size:13px}#guide div span{font-size:11px;color:#788979}#guide button{background:none;font-size:19px;color:#9ca697}.game-footer{position:absolute;bottom:23px;left:28px;right:28px;display:flex;align-items:center;gap:32px;justify-content:space-between}.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fffef0e8;border:1px solid #fff;border-radius:13px;padding:12px 18px;font-size:12px;font-weight:850;box-shadow:0 3px 15px #174b4710;transition:.15s}.soft-button>span{font-size:20px}.soft-button i{width:6px;height:6px;border-radius:50%;background:#e9b545;display:none}.soft-button i.available{display:block}.route{display:flex;gap:11px;align-items:center;min-width:200px;width:28%;max-width:400px}.route>span{font-size:8px;font-weight:900;letter-spacing:1.5px;color:#577b72}.route-track{height:5px;border-radius:4px;background:#ffffff78;flex:1;position:relative}.route-track i{height:100%;display:block;background:#378f7b;border-radius:4px;width:0}.route-track b{position:absolute;left:0;top:-4px;width:12px;height:12px;background:#fff5d6;border:3px solid #378f7b;border-radius:50%}.desktop-controls{font-size:10px;display:flex;align-items:center;gap:7px;color:#527068}kbd{font:800 9px inherit;background:#fffcebba;padding:5px 7px;border-radius:5px;box-shadow:0 2px 0 #879f8c42}.loading{position:absolute;inset:0;background:#eef5e7f7;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:40}.loading[hidden]{display:none}.loading-leaf{font-size:70px;color:#dbad45;animation:float 2s ease-in-out infinite}.loading strong{font-size:19px;margin-top:22px}.loading p{font-size:12px;color:#779082}.loading button{margin-top:14px}.loading-leaf+strong{letter-spacing:-.4px}@keyframes float{50%{transform:translateY(-12px) rotate(10deg)}}#dash-meter{position:absolute;bottom:85px;right:31px;width:86px;text-align:right}#dash-meter span{font-size:8px;letter-spacing:1.5px;font-weight:900}#dash-meter i{display:block;height:4px;background:#e9fcf8;border-radius:4px;margin-top:4px;box-shadow:0 0 8px #21b7bc;transition:opacity .2s}#dash-meter.empty i{opacity:.2}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#258d78;color:#fffef4;border-radius:13px;padding:14px 20px;font-size:13px;font-weight:900;box-shadow:0 4px 0 #126f5e;transition:.15s}.primary-button:hover{background:#187c68;transform:translateY(-1px)}.primary-button:active{transform:translateY(2px);box-shadow:0 2px 0 #126f5e}.text-button{background:none;color:#809487;font-size:11px;padding:14px;text-decoration:underline;text-underline-offset:3px}dialog{border:1px solid #fff;background:#f8faf0;color:var(--ink);border-radius:25px;box-shadow:0 30px 100px #173f4966;padding:26px;max-height:86dvh;overflow:auto}dialog::backdrop{background:#294b514d;backdrop-filter:blur(7px)}#menu{width:min(890px,94vw)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top h2{font-size:28px;letter-spacing:-1px;margin:4px 0 0}.dialog-top .eyebrow{color:#91a289}.tabs{display:flex;gap:5px;border-bottom:1px solid #dee5d8;margin:22px 0 20px;overflow-x:auto;padding-bottom:10px}.tabs button{border-radius:10px;background:transparent;white-space:nowrap;padding:9px 15px;font-size:12px;font-weight:850;color:#839381}.tabs button.active{background:#e5eddf;color:#2b745f}.world-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.world-card{position:relative;overflow:hidden;border-radius:16px;background:#e5eee0;cursor:pointer;text-align:left;padding:0;border:2px solid transparent;min-height:132px}.world-card.selected{border-color:#368d73}.world-card img{width:100%;height:95px;object-fit:cover;display:block}.world-card .world-detail{padding:10px 11px;display:flex;justify-content:space-between;gap:5px;align-items:center}.world-card b{font-size:12px}.world-card span{font-size:9px;color:#607b69}.world-card.locked img{filter:saturate(.3)}.world-card.locked:after{content:'LOCKED';position:absolute;top:36px;left:50%;transform:translateX(-50%);background:#193e428c;color:white;font-size:9px;font-weight:900;padding:5px 9px;border-radius:7px;letter-spacing:2px}.course-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin:20px 0}.course-tile{background:#e5eddf;border:1px solid #dce7d4;border-bottom:3px solid #c2d4b7;border-radius:10px;min-height:54px;display:grid;place-items:center;padding:7px 2px;font-size:16px;font-weight:900}.course-tile small{font-size:8px;color:#d7a339;letter-spacing:1px}.course-tile.current{background:#2b937d;color:#fff}.course-tile:disabled{background:#eaece4}.section-note{font-size:12px;line-height:1.7;color:#7a8c77}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:16px 0 6px}.section-heading h3{margin:0;font-size:17px}.section-heading span{font-size:11px;color:#8c9b82}.crew-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.crew-card{background:#fffdf1;border:2px solid #e7eddf;border-radius:17px;text-align:center;padding:14px}.crew-card.selected{border-color:#33917d;background:#e9f2e6}.crew-card img{width:100%;height:130px;object-fit:contain;border-radius:12px}.crew-card.locked img{filter:saturate(.1);opacity:.65}.crew-card h3{margin:8px 0 2px;font-size:19px}.crew-card p{font-size:10px;line-height:1.5;color:#86937a;min-height:30px;margin:7px 0}.crew-card small{font-size:9px;color:#8c9c85}.crew-card button{margin:8px auto 0;padding:8px 13px;font-size:11px}.gear-list{display:grid;gap:12px}.gear-card{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid #e0e8d7;background:#fffdf3;border-radius:18px}.gear-icon{width:68px;height:68px;flex-shrink:0;border-radius:20px;background:#e7f0dd;color:#4b9b78;font-size:40px;display:grid;place-items:center}.gear-detail{flex:1}.gear-detail h3{margin:0 0 4px;font-size:17px}.gear-detail p{font-size:11px;line-height:1.6;color:#82927a;margin:0}.pips{display:flex;gap:4px;margin-top:9px}.pips i{display:block;background:#e6e9dc;border-radius:4px;width:24px;height:5px}.pips i.on{background:#e5b33f}.gear-card button{white-space:nowrap;min-width:104px;font-size:12px}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.challenge-card{border-radius:18px;background:#eaf0e1;padding:22px}.challenge-card>span{font-size:30px}.challenge-card h3{font-size:18px;margin:12px 0 8px}.challenge-card p{font-size:11px;line-height:1.7;color:#7a8c77;min-height:66px}.challenge-card button{font-size:11px;gap:8px}.setting-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e7d8;padding:15px 0}.setting-row p{font-size:11px;color:#7b8f76;margin:4px 0}.setting-row label{font-size:14px;font-weight:800}.setting-row input{width:21px;height:21px;accent-color:#298a75}#reward{width:min(450px,92vw);text-align:center;padding:0 24px 15px;background:#fffdf1;overflow:hidden}.reward-art{margin:0 -24px;padding:27px 25px 20px;background:radial-gradient(ellipse at 50% 0%,#d7edc5,#f5f3d900);position:relative}.reward-art .eyebrow{color:#8b9974}.reward-stars{font-size:41px;letter-spacing:9px;color:#ecb544;margin:10px 0;text-shadow:0 3px 0 #c5832e}.reward-stars .dim{color:#d9dfc9;text-shadow:none}.reward-art h2{font-size:30px;letter-spacing:-1px;margin:8px 0}.reward-art p{font-size:12px;color:#869379;margin:0}#reward-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#f0f3e6;padding:16px 8px;border-radius:15px;gap:8px}#reward-stats>div{display:grid;gap:3px}#reward-stats b{font-size:21px;color:#47846c}#reward-stats span{font-size:9px;color:#95a183;font-weight:850}#reward-unlock{font-size:12px;line-height:1.6;margin:15px 0;color:#78896b}#reward-unlock img{width:50px;height:50px;object-fit:contain;vertical-align:middle;margin-right:8px;border-radius:12px}#reward-unlock strong{color:#3d816c}.reward-actions{display:flex;gap:10px;margin-top:18px}.reward-actions .primary-button{flex:1}.reward-actions .soft-button{background:#e9edde}#touch-controls{display:none;position:absolute;inset:0;pointer-events:none}#joystick{position:absolute;bottom:85px;left:22px;width:110px;height:110px;border-radius:50%;background:#ffffff36;border:2px solid #ffffff7c;box-shadow:inset 0 0 25px #ffffff22;pointer-events:auto;touch-action:none}#stick{position:absolute;left:31px;top:31px;width:44px;height:44px;border-radius:50%;background:#fffcecaa;border:2px solid #ffffffd0;box-shadow:0 3px 10px #326c5033}#touch-jump,#touch-dash{position:absolute;border-radius:50%;background:#fffdebcb;border:2px solid #fff;font-size:30px;width:70px;height:70px;pointer-events:auto;touch-action:none;bottom:87px;right:20px;box-shadow:0 4px 0 #77947a40;display:grid;place-content:center;line-height:1.1}#touch-dash{right:101px;bottom:72px;width:59px;height:59px;font-size:25px;background:#d4f2e4cc}#touch-controls small{font-size:8px;font-weight:900;letter-spacing:1px;margin-top:4px}#error{position:absolute;inset:0;background:#eff3e7;z-index:60;display:grid;place-content:center;text-align:center;padding:30px}#error[hidden]{display:none}#error h2{font-size:27px}#error p{max-width:430px;line-height:1.7;font-size:13px}#error button{background:#2b8d76;color:white;border-radius:12px;padding:13px 20px;margin-top:15px}.reduced-motion *{animation:none!important;transition:none!important}.paused #guide{visibility:hidden}.reward-open .mission,.reward-open .companion-card{opacity:.35}@media(max-width:1050px){.topbar{left:20px;right:20px;top:16px}.mission{left:23px;top:100px;max-width:190px}.mission h1{font-size:26px}.companion-card{right:20px;top:96px}.companion-card span{display:none}.companion-card img{width:38px;height:42px}.game-footer{left:20px;right:20px;gap:15px}.desktop-controls{font-size:9px}.brand{font-size:13px}.brand small{font-size:7px}.course-label strong{font-size:14px}.course-label>span{font-size:9px}}@media(pointer:coarse){#touch-controls{display:block}.desktop-controls{display:none}#guide{bottom:219px;padding:12px}#dash-meter{bottom:167px;right:23px}.route{width:50%}}@media(max-width:600px){.topbar{left:13px;right:13px;top:12px;gap:7px}.brand{font-size:10px;gap:6px;letter-spacing:1px}.brand small{font-size:5px;letter-spacing:2.6px}.brand-mark{width:31px;height:33px;font-size:23px;border-radius:10px}.course-label{display:none}.top-actions{gap:6px}.wallet{font-size:14px;padding:5px 10px;min-width:60px;gap:6px}.wallet>span{font-size:19px}.icon-button{width:32px;height:32px;font-size:18px;border-radius:10px}.mission{top:83px;left:17px;max-width:175px}.mission h1{font-size:24px;margin:12px 0 7px;letter-spacing:-.8px}.mission>.eyebrow{font-size:7px;letter-spacing:1px;padding:5px 7px}.mission p{font-size:10px;max-width:153px}.acorns{margin-top:12px;gap:7px}.acorns i{font-size:22px}.timer{font-size:9px}.companion-card{top:83px;right:13px;padding:6px;gap:5px;border-radius:13px}.companion-card img{width:34px;height:39px}.companion-card small{display:none}.companion-card b{font-size:12px}.companion-card button{font-size:19px;margin:0}.game-footer{bottom:17px;left:14px;right:14px;gap:12px}.soft-button{font-size:10px;padding:10px 12px;gap:4px;border-radius:11px}.route{min-width:0;flex:1}.route>span{font-size:6px;letter-spacing:.8px}.route>span:first-child{display:none}#guide{bottom:226px;gap:9px;width:max-content;max-width:calc(100% - 28px);padding:11px 12px;border-radius:14px}.guide-keys{font-size:10px;letter-spacing:1px;padding:8px}#guide strong{font-size:11px}#guide div span{font-size:9px;max-width:180px}#guide div{min-width:0}#toast{font-size:11px;max-width:90vw;white-space:normal;width:max-content;text-align:center;top:28%;padding:10px 15px}dialog{padding:20px;border-radius:20px;max-height:90dvh}.tabs{margin:15px 0;padding-bottom:8px}.tabs button{padding:8px 10px;font-size:10px}.dialog-top h2{font-size:24px}.world-list{grid-template-columns:repeat(2,1fr);gap:8px}.world-card{min-height:110px;border-radius:12px}.world-card img{height:76px}.world-card .world-detail{padding:8px;display:grid;gap:2px}.world-card b{font-size:10px}.world-card span{font-size:8px}.course-grid{grid-template-columns:repeat(5,1fr);gap:6px}.crew-grid{grid-template-columns:repeat(2,1fr);gap:8px}.crew-card{padding:10px}.crew-card img{height:94px}.crew-card h3{font-size:16px}.crew-card p{font-size:9px}.gear-card{padding:13px;gap:10px;flex-wrap:wrap}.gear-icon{width:43px;height:48px;font-size:28px;border-radius:12px}.gear-detail{min-width:150px}.gear-detail h3{font-size:14px}.gear-detail p{font-size:10px}.gear-card button{margin-left:auto;padding:10px 14px;min-width:88px}.challenge-grid{grid-template-columns:1fr}.challenge-card{padding:17px}.challenge-card p{min-height:0}.challenge-card h3{font-size:17px}.challenge-card>span{float:right}.reward-art h2{font-size:27px}}@media(max-height:560px) and (min-width:601px){.mission{top:87px}.mission h1{font-size:23px}.mission p{font-size:10px;max-width:160px}.acorns{margin-top:12px}.companion-card{top:85px}#guide{bottom:72px;padding:10px 13px}.game-footer{bottom:14px}#dash-meter{bottom:63px}#joystick{bottom:67px;width:86px;height:86px}#stick{top:21px;left:21px;width:40px;height:40px}#touch-jump{bottom:67px;width:59px;height:59px}#touch-dash{bottom:61px;right:93px}dialog{max-height:92dvh}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:600px){.in-motion .mission h1,.in-motion .mission p{display:none}.in-motion .acorns{margin-top:15px}.in-motion #guide{top:168px;bottom:auto}.section-heading{gap:10px}.section-heading>span{flex-shrink:0;max-width:35%}}

/* A quiet reading surface keeps labels legible in all six painted skies. */
.course-label{background:#fffef1de;border:1px solid #ffffffb3;border-radius:14px;padding:9px 18px;box-shadow:0 3px 16px #174b4710;backdrop-filter:blur(8px)}
.mission{background:linear-gradient(110deg,#fffef1db,#fffef194);border:1px solid #ffffff78;border-radius:20px;padding:16px;backdrop-filter:blur(6px)}
@media(max-width:600px){.mission{left:12px;padding:11px;border-radius:15px}.in-motion .mission{padding:8px 10px}.in-motion .acorns{margin-top:7px}}

.next-unlock{position:absolute;right:28px;top:204px;width:236px;display:flex;gap:10px;align-items:center;text-align:left;padding:12px;background:#fffef1e6;border:1px solid #fff;border-radius:17px;box-shadow:var(--shadow)}
.next-unlock>img{width:48px;height:58px;object-fit:contain;border-radius:10px}.next-unlock>span{display:grid;gap:4px;flex:1;min-width:0}.next-unlock small{font-size:7px;letter-spacing:1.3px;color:#6b8879;font-weight:900}.next-unlock b{font-size:14px}.next-unlock span>span{font-size:9px;line-height:1.4;color:#667e70}.next-unlock progress{width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:#dce9d9;accent-color:#29917a}.next-unlock progress::-webkit-progress-bar{background:#dce9d9}.next-unlock progress::-webkit-progress-value{background:#29917a;border-radius:5px}
.medal-target{font-size:10px;line-height:1.5;color:#587366;margin:8px 0;max-width:210px}.upgrade-preview{display:grid;gap:4px;margin:10px 0 2px;font-size:10px;color:#5d7968}.upgrade-preview span{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.upgrade-preview b{color:#287f67;background:#e8f0dc;padding:3px 7px;border-radius:5px;white-space:nowrap}.reward-medals{list-style:none;padding:0;margin:14px 0;text-align:left;display:grid;gap:6px}.reward-medals li{display:flex;align-items:center;gap:7px;font-size:10px;color:#829079}.reward-medals li.earned{color:#397a64}.reward-medals li>span{font-size:17px;color:#c99b30}.reward-medals b{margin-left:auto;font-size:9px;white-space:nowrap}#reward{overflow:auto}
@media(max-width:1050px){.next-unlock{right:20px;top:171px;width:214px}}
@media(max-width:600px){.next-unlock{right:13px;top:140px;width:125px;padding:10px;border-radius:13px}.next-unlock>img{display:none}.next-unlock small{font-size:6px;letter-spacing:.6px}.next-unlock b{font-size:11px}.next-unlock span>span{font-size:8px}.mission{max-width:min(175px,calc(100vw - 157px))}.medal-target{font-size:8px;line-height:1.5}.in-motion .medal-target{display:none}.reward-medals li{font-size:9px}}
@media(max-height:560px) and (min-width:601px){.next-unlock{top:162px;width:198px;padding:9px}.next-unlock>img{width:35px;height:44px}.medal-target{font-size:9px;margin:5px 0}}
@media(max-width:600px){#game:has(#guide:not([hidden])) .next-unlock{visibility:hidden}}

/* Gameplay revision: reserve the middle of the screen for the route. */
.mission{top:100px;left:24px;padding:12px 14px;width:206px;border-radius:15px;background:#fffef3ec;backdrop-filter:none}
.mission h1{font-size:20px;line-height:1.15;letter-spacing:-.6px;margin:10px 0 7px}
.mission p{font-size:10px;line-height:1.5}
.mission .acorns{margin-top:10px}.medal-target{font-size:9px}
.in-motion .mission h1,.in-motion .mission p{display:none}
.in-motion .mission{width:190px;background:#fffef3df}.in-motion .acorns{margin-top:8px}
.companion-card{top:99px;padding:8px 10px;min-width:185px}.companion-card img{width:38px;height:44px}.companion-card span{display:none}
.next-unlock{top:172px;width:210px;padding:9px 12px}.next-unlock>img{width:34px;height:43px}
#guide{bottom:96px;padding:12px 15px}.atmosphere{display:none}
@media(max-width:600px){.mission{top:70px;left:12px;width:158px;max-width:calc(100vw - 157px);padding:9px}.mission h1{font-size:16px}.mission p{font-size:9px}.mission .eyebrow{font-size:7px;padding:0;background:none}.mission .acorns{gap:5px}.mission .acorns i{font-size:19px}.mission .medal-target{font-size:8px}.in-motion .mission{width:148px}.companion-card{top:70px;min-width:0}.next-unlock{top:132px;width:125px}.next-unlock>img{display:none}#guide{bottom:220px}.in-motion #guide{top:158px;bottom:auto}}
@media(max-height:560px) and (min-width:601px){.mission{top:83px;width:175px}.mission h1{font-size:17px}.companion-card{top:82px}.next-unlock{top:153px}.in-motion .mission{width:175px}#guide{bottom:70px}}
#backdrop{opacity:.72;transform:scale(1.06)}

/* Train -> run -> win -> rebirth: the growth loop stays visible during play. */
.growth-hud{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);width:365px;padding:11px 15px 9px;background:#173e3dee;color:#fffbe7;border:1px solid #c5eed381;border-radius:16px;box-shadow:0 6px 25px #143e4433;pointer-events:none}
.growth-stats{display:flex;gap:11px;align-items:center;font-size:12px}.growth-stats>b{color:#e4f69c;font-size:15px}.growth-stats>span{flex:1}.growth-stats>strong{font-size:11px;color:#ffd774}.growth-stats button{padding:2px 6px;color:#cbeadc;background:#436460;border-radius:6px;pointer-events:auto;font-size:13px}.growth-stats button.ready{background:#edc657;color:#304743}
.xp-track{position:relative;height:18px;background:#091e266e;border-radius:5px;overflow:hidden;margin:8px 0 5px}.xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#56bfa1,#b4e580);transition:width .16s}.xp-track span{position:absolute;inset:0;text-align:center;font-size:10px;font-weight:900;line-height:18px;text-shadow:0 1px 2px #123}
.growth-caption{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#b9d8c8}.is-training .growth-hud{border-color:#d9e975}.is-training #growth-status{color:#edee9c}
.camp-buttons{display:flex;gap:8px}#camp-action{display:none;position:absolute;left:50%;bottom:204px;transform:translateX(-50%);align-items:center;gap:12px;flex-direction:column;min-width:300px;text-align:center}#camp-tip{font-size:11px;font-weight:800;color:#fffdec;background:#274b43d9;padding:8px 13px;border-radius:10px}#run-button{padding:14px 30px;font-size:17px;background:#f2be52;color:#304537;box-shadow:0 4px 0 #b78026;min-width:230px;justify-content:center}.training-camp #camp-action{display:flex}.training-camp .mission .acorns,.training-camp .mission .timer,.training-camp #medal-target,.training-camp .route,.training-camp #dash-meter{display:none}.training-camp #training-button{display:none}.training-camp .mission h1,.training-camp .mission p{display:block}.training-camp .mission{width:206px}.training-camp #guide{display:none}
#guide{bottom:205px}.rebirth-panel{text-align:center;max-width:560px;margin:0 auto;padding:5px 10px 20px}.rebirth-icon{font-size:60px;color:#398d76}.rebirth-panel h3{font-size:25px;margin:9px}.rebirth-panel p{font-size:14px;line-height:1.8}.rebirth-panel b{color:#398d76;display:block;font-size:23px}.rebirth-panel .primary-button{margin:20px auto 0;justify-content:center}.rebirth-requirements{display:flex;justify-content:center;gap:15px;font-size:15px;font-weight:900;color:#987f72}.rebirth-requirements span{background:#eae9db;padding:12px 15px;border-radius:12px}.rebirth-requirements .met{background:#ddecdb;color:#367962}.pace-setting{padding:15px 18px;background:#e6eddf;border-radius:14px;margin:10px 0 17px}.pace-setting label{display:flex;justify-content:space-between;font-size:12px;font-weight:800}.pace-setting input{width:100%;accent-color:#2b8d77;margin:12px 0}.pace-setting small{font-size:10px;color:#667e6d}
@media(max-width:600px){.growth-hud{bottom:auto;top:62px;width:calc(100% - 26px);padding:8px 11px;border-radius:12px}.growth-stats{font-size:10px;gap:8px}.growth-stats>b{font-size:12px}.growth-stats>strong{font-size:10px}.xp-track{margin-top:6px;height:15px}.xp-track span{line-height:15px;font-size:9px}.growth-caption{font-size:8px}.mission,.training-camp .mission{top:153px;max-width:150px;width:150px}.companion-card{top:152px}.next-unlock{top:213px}.training-camp .mission h1{font-size:15px}.training-camp .mission p{font-size:9px}.game-footer{gap:8px}.camp-buttons{gap:6px}.camp-buttons .soft-button{padding:9px;font-size:9px}.route{display:none}#camp-action{bottom:233px;min-width:0;width:90%;gap:8px}#camp-tip{font-size:9px;padding:7px 9px}#run-button{font-size:15px;min-width:196px;padding:12px 22px}.in-motion #guide{top:auto;bottom:232px}#guide{bottom:232px}#game:has(#guide:not([hidden])) .next-unlock{visibility:hidden}}
@media(max-height:560px) and (min-width:601px){.route{display:none}.growth-hud{bottom:12px;padding:7px 10px;width:330px}.growth-stats>b{font-size:12px}.growth-caption{font-size:8px}#camp-action{bottom:151px;gap:5px}#camp-tip{font-size:9px;padding:5px 8px}#run-button{padding:10px 22px;font-size:14px}#guide{bottom:160px}}
@media(max-width:600px){.training-camp .mission{display:none}.training-camp #camp-action{top:151px;bottom:auto;width:calc(100% - 24px)}.training-camp .companion-card{top:254px}.training-camp .next-unlock{top:312px}}
/* Keep the short onboarding prompt above the runner, leaving the landing view clear. */
@media(min-width:601px){#guide{top:100px;bottom:auto;width:min(420px,calc(100vw - 460px));gap:10px}#guide div{min-width:0}.guide-keys{font-size:11px;padding:7px}}
@media(max-width:600px){#guide,.in-motion #guide{top:151px;bottom:auto;width:calc(100% - 26px);max-width:none;gap:9px;padding:11px}#guide div{min-width:0}#game:has(#guide:not([hidden])) .mission,#game:has(#guide:not([hidden])) .companion-card{visibility:hidden}}

#reward-ad{margin:12px auto;justify-content:center;font-size:15px}#reward-ad[hidden],#portal-ad-status[hidden]{display:none}#portal-ad-status{text-align:center;font-size:13px;color:#557c6a;padding:12px;background:#ecf1df;border-radius:12px}
