@font-face{font-family:Bowlby;src:url('assets/fonts/BowlbyOneSC-Regular.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--ink:#173447;--panel:#183a50;--gold:#ffd83e;--scale:1}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#102432;font-family:Arial,sans-serif}body{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 25%,#2f5971,#102330 72%)}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;touch-action:manipulation}button:focus-visible{outline:5px solid white;outline-offset:4px}button:disabled{cursor:default}button svg{pointer-events:none}button img{pointer-events:none}.hidden{display:none!important}#frame{position:relative;width:720px;height:1280px;flex-shrink:0;box-shadow:0 0 90px #0008}#game{position:absolute;width:720px;height:1280px;overflow:hidden;transform-origin:top left;color:white;isolation:isolate;touch-action:none}.sky{position:absolute;inset:0;background:linear-gradient(#83c9ec 0%,#bbe6f2 64%,#bd9e6c 75%,#aa8854)}#scene{position:absolute;left:0;top:155px;width:720px;height:850px}#scene canvas{display:block;width:720px;height:850px}#game[data-screen=home] #scene{top:255px}#game[data-screen=home] #scene:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 36%,#19334705 49%,#15354dc9 75%,#133247 100%)}.screen{position:absolute;inset:0}#splash{z-index:40;background:#9bd6ec}.splash-art{position:absolute;inset:0;background:url('assets/art/splash.webp') center/cover}.splash-shade{position:absolute;inset:0;background:linear-gradient(#18405a10 0%,transparent 26%,transparent 35%,#13364730 52%,transparent 65%,#183a5144 80%,#102e44d9 100%)}.game-logo{position:absolute;width:660px;height:auto;left:30px;top:39px;filter:drop-shadow(0 9px 0 #142f4866)}.tap-prompt{position:absolute;top:568px;left:41px;width:638px;min-height:88px;border:3px solid #ffde85;border-radius:20px;background:#193347dc;color:white;font-family:Bowlby,sans-serif;font-size:31px;letter-spacing:.4px;text-shadow:0 4px #102a3f;box-shadow:0 7px 0 #0e24388c,0 0 40px #fff3;animation:prompt-pulse 1.4s ease-in-out infinite}.splash-tag{position:absolute;top:277px;width:100%;text-align:center;letter-spacing:3px;color:#16445b;font-weight:900;font-size:17px}.mapi-logo{position:absolute;left:190px;bottom:68px;width:340px;height:auto;object-fit:contain;filter:drop-shadow(0 8px 12px #0a1f3599)}#load-status{position:absolute;bottom:22px;width:100%;text-align:center;font-size:13px;font-weight:700;letter-spacing:2px;color:#e3f2f9}#splash-play:disabled{opacity:.7;animation:none}.home-badge{position:absolute;top:312px;left:180px;width:360px;text-align:center;padding:13px 15px;border:2px solid #fff7;background:#14394bbb;border-radius:18px;font:17px Bowlby}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#8cf19c;margin-right:12px;box-shadow:0 0 12px #8cffa4}.home-actions{position:absolute;left:62px;right:62px;top:744px}.chunk{position:relative;display:flex;align-items:center;justify-content:center;gap:15px;border:5px solid #203b4c;border-radius:26px;box-shadow:inset 0 5px 0 #fff8,inset 0 -9px 0 #0002,0 7px 0 #0d2536;color:#183447;font-family:Bowlby,sans-serif;font-size:28px;text-shadow:0 2px #fff5;transition:transform .09s,filter .09s}.chunk:active:not(:disabled){transform:translateY(5px);box-shadow:inset 0 3px 0 #fff6,inset 0 -4px 0 #0002,0 2px 0 #0d2536}.chunk.yellow{background:linear-gradient(#ffe66a,#ffcc25 65%,#ffc020)}.chunk.blue{background:linear-gradient(#69d5fb,#329dda);color:#fff;text-shadow:0 3px #19628b}.chunk.purple{background:linear-gradient(#c2a4fc,#9272de);color:#fff;text-shadow:0 3px #5a468c}.chunk.orange{background:linear-gradient(#ffb95c,#ed8738);color:white;text-shadow:0 3px #9f5426}.chunk.green{background:linear-gradient(#8cf28f,#46c869);color:#153e3e}.chunk svg{width:49px;height:49px;filter:drop-shadow(0 3px 0 #0003)}.play-home{height:116px;width:100%;font-size:48px}.play-triangle{width:0;height:0;border-top:19px solid transparent;border-bottom:19px solid transparent;border-left:29px solid #193749;filter:drop-shadow(0 3px #fff8)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;margin-top:26px}.menu-grid button{height:96px;font-size:23px;gap:9px}.menu-grid button svg{width:43px;height:43px}.home-mapi{position:absolute;width:172px;height:auto;bottom:23px;left:274px}.home-settings{position:absolute;right:28px;bottom:41px}#hud{position:absolute;inset:0;pointer-events:none}#hud button,#hud nav{pointer-events:auto}.wallet-row{position:absolute;top:24px;left:25px;right:25px;display:flex;align-items:center;gap:13px}.wallet,.blueprints{height:66px;border:3px solid #33586b;background:linear-gradient(#204761,#19364c);border-radius:18px;display:flex;align-items:center;gap:12px;box-shadow:0 5px #12304166,inset 0 2px #ffffff25;color:white}.wallet{flex:1;font-family:Bowlby;font-size:34px;padding:2px 15px 3px 8px;min-width:0}.wallet svg{width:69px;height:69px;filter:drop-shadow(0 3px #112b39);flex:none}.wallet span:last-child{overflow:hidden;text-overflow:ellipsis}.blueprints{width:137px;padding:8px 12px;font-family:Bowlby;font-size:26px}.blueprints svg{width:44px;height:44px}.icon-button{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(#365c72,#244456);border:3px solid #608098;border-radius:19px;box-shadow:0 5px #16344e77,inset 0 2px #ffffff25;color:#eaf6f7}.icon-button svg{width:36px;height:36px}.district-header{position:absolute;left:29px;right:28px;top:114px;display:flex;align-items:center;justify-content:space-between;text-shadow:0 2px #2c648451}.eyebrow{display:block;font-size:12px;font-weight:900;letter-spacing:1.8px;color:#c4e0e9}.district-header .eyebrow{color:#24506c;font-size:13px;letter-spacing:2px}.district-header h1{font:27px Bowlby;margin:3px 0 0;color:#173c53}.job-number{font:17px Bowlby;color:#18415c;background:#fff6;border-radius:12px;padding:9px 13px}.district-track{position:absolute;top:183px;left:29px;right:28px;height:12px;border:2px solid #e5f6faaa;background:#1e476353;border-radius:8px;overflow:hidden}.district-track i{display:block;height:100%;background:linear-gradient(#c2ff93,#6ade55);width:0;transition:width .4s}.next-unlock{position:absolute;top:216px;left:27px;width:387px;min-height:95px;border:3px solid #e7f8ffb3;border-radius:18px;background:#23465eea;display:flex;gap:11px;align-items:center;text-align:left;color:white;box-shadow:0 6px #102d4855;padding:8px}.next-unlock img{width:92px;height:71px;object-fit:cover;border:2px solid #4f8cac;border-radius:10px;background:#8bb9cf}.next-unlock strong{display:block;font:15px Bowlby;margin:4px 0;max-width:221px}.next-unlock .eyebrow{font-size:10px;letter-spacing:1.4px;color:#ffc847}.next-unlock #next-desc{font-size:14px;color:#d5ecf7;font-weight:700}.next-arrow{font-size:39px;margin-left:auto;color:#ffe484}.daily-shortcut{position:absolute;right:29px;top:226px}.dot{position:absolute;right:1px;top:-4px;width:18px;height:18px;background:#ff7044;border:3px solid white;border-radius:50%;box-shadow:0 2px #16425b}.menu-grid .dot{right:10px;top:10px}#job-tag{position:absolute;left:29px;top:333px;background:#f5fbefc9;border-left:5px solid #ffbb31;padding:8px 15px 10px;color:#244759;border-radius:0 12px 12px 0;max-width:370px}#contract-kind{display:block;font-size:10px;letter-spacing:2px;font-weight:900}#building-name{display:block;font:17px Bowlby;margin-top:5px}.aim-controls{position:absolute;right:23px;top:531px;display:flex;flex-direction:column;gap:8px;align-items:center}.aim-controls>span{font:12px Bowlby;color:#24526b;text-shadow:0 1px #fff7}.aim-controls button{font:13px Bowlby;background:#31566ecc;color:#e7f3fd;border:2px solid #effaff91;padding:10px 10px;border-radius:11px;width:73px;box-shadow:0 3px #23405755}.aim-controls button.active{background:#ffe167;color:#213b4b;border-color:#fff5bd;box-shadow:0 0 15px #fff5a7aa}.control-deck{position:absolute;left:25px;right:25px;bottom:82px}.job-progress{display:flex;align-items:center;gap:10px;padding:7px 15px 9px;background:#1e3e52e8;border-radius:12px;margin:0 0 11px;box-shadow:0 3px #15364b44}.job-progress>span{font-size:11px;font-weight:900;letter-spacing:1px;white-space:nowrap}.job-progress strong{font:13px Bowlby;min-width:43px;text-align:right}.integrity-track{height:10px;border-radius:8px;background:#102a3e;flex:1;overflow:hidden}.integrity-track i{height:100%;display:block;background:linear-gradient(#aceb9d,#62ca71);width:100%;transition:width .3s}.timing-caption{font-size:11px;font-weight:900;letter-spacing:.85px;color:#faf7e7;text-align:center;display:block;margin-bottom:7px;text-shadow:0 2px 3px #193647}#timing{margin:0 61px 12px}.timing-track{height:18px;border:3px solid #294354;border-radius:12px;background:#253e51;position:relative;box-shadow:0 2px #fff5;overflow:visible}.perfect-zone{position:absolute;left:77%;width:17%;height:100%;background:#99ed64;box-shadow:0 0 8px #b0f576aa}#charge-fill{position:absolute;height:100%;width:0;background:linear-gradient(90deg,#ff9f46,#ffe965);opacity:.8;border-radius:12px}#charge-needle{position:absolute;left:0;top:-7px;width:5px;height:25px;background:white;box-shadow:0 0 0 2px #163c54;border-radius:3px}#swing{width:526px;height:112px;margin:0 auto 18px;font-size:49px;border-width:5px;border-radius:29px;gap:18px;padding-bottom:18px}#swing svg{width:57px;height:57px}#swing small{position:absolute;bottom:13px;font:bold 12px Arial;letter-spacing:2px}#swing:disabled{filter:saturate(.65);opacity:.9}#swing.charging{filter:brightness(1.09);transform:translateY(4px);box-shadow:inset 0 4px #fff8,inset 0 -5px #0002,0 3px #19394c}#upgrade-row{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.upgrade-card{min-width:0;height:127px;position:relative;background:linear-gradient(var(--upgrade-color),color-mix(in srgb,var(--upgrade-color) 75%,#102c43));border:3px solid #244251;border-radius:18px;color:white;box-shadow:0 5px #102b3e,inset 0 3px #ffffff55;display:flex;flex-direction:column;align-items:center;padding:10px 4px 4px}.upgrade-card .upgrade-top{display:flex;align-items:center;gap:5px}.upgrade-card svg{width:35px;height:35px;filter:drop-shadow(0 2px #1237)}.upgrade-card .level{font-size:12px;font-weight:900;text-shadow:0 2px #0002}.upgrade-card .name{font:13px Bowlby;margin-top:3px;white-space:nowrap;text-shadow:0 2px #1940527a}.upgrade-card .price{font:17px Bowlby;background:#1b3b4f;width:100%;height:32px;border-radius:0 0 12px 12px;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:5px;color:#b6cfda}.upgrade-card.affordable .price{color:#caff99}.upgrade-card .up-arrow{font:23px Arial;color:#8ced7b;line-height:1}.upgrade-card.affordable{box-shadow:0 5px #15354a,inset 0 3px #ffffff55,0 0 0 2px #b2ffa4}.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:72px;background:linear-gradient(#20465b,#183749);border-top:3px solid #4a6a7a;display:flex;justify-content:space-around;padding:5px 13px 4px}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:#cae2e9;font:10px Bowlby;width:120px}.bottom-nav svg{width:30px;height:30px}.bottom-nav button:hover{color:#ffdb59}#boost-count{position:absolute;right:28px;top:-2px;background:#ed8b3e;border-radius:8px;font:bold 10px Arial;padding:2px 4px}.tutorial{position:absolute;left:88px;top:771px;width:544px;background:#18374ef5;border:3px solid #ffde5f;border-radius:16px;text-align:center;padding:15px 13px;font:20px Bowlby;box-shadow:0 7px #172d3b44;animation:tutorial-bob 1.4s infinite;z-index:4}.tutorial:after{content:'';position:absolute;bottom:-16px;left:50%;border:8px solid transparent;border-top-color:#ffde5f}#boost-active{position:absolute;top:753px;left:28px;display:flex;gap:9px}#boost-active span{font:12px Bowlby;padding:7px 11px;background:#33576cf0;border:2px solid #93dbf2;border-radius:11px}#effect-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:8}.fly-cash{position:absolute;width:34px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:#82ef6b;border:3px solid #276e43;color:#176038;font:bold 19px Arial;box-shadow:0 3px #286747;will-change:transform,opacity}.fly-cash.coin{width:24px;height:24px;border-radius:50%;background:#ffd343;border:3px solid #c58b1e;color:#9d6720}.float-text{position:absolute;white-space:nowrap;font:25px Bowlby;color:#fff8c2;-webkit-text-stroke:1px #2d4552;paint-order:stroke fill;text-shadow:0 3px #1b3c56;animation:float-up 1.2s forwards}.float-text.perfect{font-size:31px;color:#fff277}.confetti{position:absolute;width:10px;height:16px;background:#ffd747;animation:confetti 1.5s ease-out forwards}#celebration{position:absolute;z-index:12;top:410px;left:29px;right:29px;padding:30px 22px;text-align:center;background:linear-gradient(135deg,#173a53f5,#296b72f5);border:5px solid #fff1ae;border-radius:30px;box-shadow:0 10px #1e384d99,0 0 55px #ffe69277;animation:pop .25s ease-out}#celebration-top{font-size:13px;letter-spacing:3px;color:#b2e9ed;font-weight:900}#celebration h2{font:38px Bowlby;color:#ffe673;margin:11px 0;text-shadow:0 4px #625220}#celebration-reward{font:40px Bowlby;color:#a4f89c}#celebration p{font-weight:bold;font-size:17px;margin:9px 0 0;line-height:1.5}#toast{position:absolute;z-index:80;top:330px;left:55px;right:55px;border:2px solid #b7e4f6;border-radius:17px;background:#16394fee;color:#fff;text-align:center;padding:15px 20px;font:bold 18px Arial;line-height:1.35;transform:translateY(-20px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translateY(0)}#modal{position:absolute;inset:0;z-index:50;background:#0b243ab8;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:48px 30px;touch-action:pan-y}.modal-card{width:100%;max-height:1160px;background:linear-gradient(150deg,#244b65,#14384f);border:4px solid #86b5c9;border-radius:30px;box-shadow:0 12px #0c2136aa,inset 0 3px #d7efff33;overflow:hidden;display:flex;flex-direction:column}.modal-heading{padding:25px 24px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #42667b;background:linear-gradient(#315b75,#244b66);flex-shrink:0}.modal-heading h2{font:29px Bowlby;margin:0;color:#ffe577;text-shadow:0 3px #173449}.close-button{width:50px;height:50px;background:linear-gradient(#ef815b,#d35441);border:3px solid #ffbc95;border-radius:14px;color:white;font:40px Arial;line-height:1;box-shadow:0 4px #712f3299}.modal-heading .close-button:active{transform:translateY(3px)}#modal-content{padding:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#729db2 #17384e;touch-action:pan-y}.intro{font-size:19px;line-height:1.5;color:#d0e8f1;margin:0 0 23px}.mini-label{font-size:12px;font-weight:900;letter-spacing:1.5px;color:#9fc5d8;text-transform:uppercase}.section-label{font:18px Bowlby;color:#ffe184;margin:26px 0 16px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.collect-card{border:3px solid #52768b;background:#2c526a;border-radius:19px;overflow:hidden;text-align:center;padding-bottom:13px;position:relative}.collect-card img{width:100%;height:161px;object-fit:cover;display:block;background:#91b7c5}.collect-card.locked img{filter:saturate(.5)}.collect-card h3{font:17px Bowlby;color:#edf6fb;margin:12px 7px 7px}.collect-card p{font-size:14px;color:#bdd9e6;margin:7px 10px;line-height:1.4}.collect-card .tag{position:absolute;top:9px;left:9px;padding:6px 9px;background:#183951de;border:1px solid #799db1;border-radius:8px;font:bold 11px Arial;letter-spacing:.7px}.collect-card.owned{border-color:#8bdda0}.collect-card.selected{border-color:#ffe277;box-shadow:0 0 15px #ffc82544}.small-button{border:2px solid #78c582;border-radius:11px;background:linear-gradient(#81e692,#45b570);font:13px Bowlby;color:#173e37;min-height:40px;padding:7px 15px;box-shadow:0 3px #102e35;max-width:100%}.small-button.blue{background:linear-gradient(#80d2f6,#499abf);border-color:#9ae4fc;color:#143c52}.small-button.yellow{background:linear-gradient(#ffe06e,#efb933);border-color:#ffeac0;color:#4c401f}.small-button.danger{background:linear-gradient(#f3967b,#c95f50);border-color:#efa78d;color:white}.small-button:disabled{background:#345467;border-color:#557387;color:#a0b9c7;box-shadow:none}.row-card{display:flex;align-items:center;gap:17px;background:#264e68;border:2px solid #53758a;border-radius:17px;padding:17px;margin-bottom:13px;min-height:97px}.row-card svg{width:50px;height:50px;flex-shrink:0}.row-card>span[data-icon]{flex-shrink:0}.row-card .row-main{flex:1;min-width:0}.row-card h3{font:17px Bowlby;margin:0 0 7px}.row-card p{font-size:15px;line-height:1.4;color:#c0dbe7;margin:0}.row-card .small-button{flex-shrink:0;max-width:140px}.small-progress{height:8px;background:#102f42;border-radius:5px;margin-top:10px;overflow:hidden}.small-progress i{display:block;height:100%;background:linear-gradient(#b9fca5,#55c480)}.progress-text{display:flex;justify-content:space-between;font-size:12px;color:#b4d2e0;margin-top:6px}.tab-row{display:flex;gap:10px;margin-bottom:23px}.tab-row button{flex:1;border:2px solid #678fa4;background:#284d66;border-radius:12px;padding:13px 5px;color:#c7e1ee;font:13px Bowlby}.tab-row button.active{background:#ffe070;color:#1b3d52;border-color:#fff0ba}.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.reward-day{text-align:center;background:#2a4c66;border:2px solid #58778f;border-radius:16px;padding:13px 5px;position:relative}.reward-day:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-around}.reward-day.today{border-color:#ffe278;box-shadow:0 0 14px #ffe16733;background:#365c6c}.reward-day.claimed{opacity:.65}.reward-day svg{width:51px;height:51px;margin:7px auto}.reward-day span{font:12px Bowlby;color:#bedceb}.reward-day strong{display:block;font:15px Bowlby;color:#ffe594}.reward-day .tick{position:absolute;top:7px;right:9px;color:#9cf9a2;font-weight:bold}.full-button{width:100%;margin-top:22px;height:68px;font-size:22px;border-width:3px;border-radius:17px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid #507087;gap:20px}.setting-row strong{font:19px Bowlby}.setting-row p{font-size:15px;color:#bcd7e5;margin:7px 0 0;line-height:1.5}.toggle{min-width:100px;border:3px solid #7bd995;border-radius:14px;background:#419f69;color:#e1ffdf;font:17px Bowlby;padding:11px 14px}.toggle.off{border-color:#7c94a5;background:#465e73;color:#cbd6df}.settings-footer{display:flex;gap:15px;justify-content:space-between;margin-top:25px}.about-logo{width:200px;margin:23px auto 0;display:block}.license-card{background:linear-gradient(135deg,#3c677b,#21516b);border:3px solid #85afc5;border-radius:18px;padding:21px;text-align:center}.license-card svg{width:80px;height:80px;margin:0 auto}.license-card h3{font:26px Bowlby;color:#ffe792;margin:10px}.license-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.license-stats div{background:#15384e;border-radius:12px;padding:16px 7px;font-size:13px;color:#b1d5e7}.license-stats strong{display:block;font:24px Bowlby;color:#9cefaf;margin-bottom:5px}.district-list .row-card{border-left:8px solid var(--district-color)}.modal-money{display:flex;justify-content:center;align-items:center;gap:12px;background:#123247;border:2px solid #4a7289;border-radius:14px;padding:13px;font:23px Bowlby;color:#b3f297;margin-bottom:20px}.modal-money svg{width:37px;height:37px}#fatal{position:absolute;inset:0;z-index:100;background:#183a50;padding:210px 55px;text-align:center}#fatal h2{font:31px Bowlby;color:#ffdf6d}#fatal p{font-size:23px;line-height:1.6}#fatal button{width:100%;height:90px;margin-top:45px}
@keyframes prompt-pulse{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.18);transform:scale(1.025)}}@keyframes tutorial-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes float-up{0%{opacity:0;transform:translate(-50%,15px) scale(.8)}15%{opacity:1;transform:translate(-50%,0) scale(1.1)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-88px) scale(1)}}@keyframes pop{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes confetti{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(500deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.tap-prompt,.tutorial{animation:none}}@media(max-height:400px){body{background:#142d3d}}

.sky{background:linear-gradient(#88cde5 0%,#bae6ef 52%,#e9e3cc 76%,#e9e3cc 100%)}#game[data-screen=home]{background:#15354b}#game[data-screen=home] .sky{background:linear-gradient(#8ed3e9 40%,#406b80 70%,#18394f 100%)}.home-actions{top:782px}.play-home{height:108px}.menu-grid{margin-top:23px;gap:18px 16px}.menu-grid button{height:88px}.home-mapi{bottom:19px;width:158px;left:281px}.splash-tag{top:290px;font-size:14px;letter-spacing:2.5px}

#game[data-screen=home] #scene{top:155px}
.upgrade-card .name{font-size:16px}.upgrade-card .level{font-size:14px}.upgrade-card .price{font-size:20px}.bottom-nav button{font-size:12px}.small-button{font-size:15px}.row-card p{font-size:18px}.collect-card p{font-size:17px}.intro{font-size:21px}

/* Arcade action treatment: flashes, perspective rays and comic lettering over the live 3D scene. */
#action-overlay{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}#game:not([data-screen=play]) #action-overlay{display:none}
#impact-flash{position:absolute;inset:170px 0 390px;background:radial-gradient(ellipse at 61% 61%,#fffad0,#ffd74388 30%,transparent 72%);mix-blend-mode:screen;opacity:0}
#speed-lines{position:absolute;inset:200px -120px 370px;background:repeating-conic-gradient(from 6deg at 63% 64%,transparent 0deg 9deg,#fff2bcb0 9.5deg 10.3deg,transparent 10.7deg 19deg);mask-image:radial-gradient(ellipse at 63% 64%,transparent 27%,#000 80%);opacity:0}
#impact-comic{position:absolute;width:510px;text-align:center;opacity:0;will-change:transform;filter:drop-shadow(0 6px 0 #12313ac9)}#impact-comic strong{display:block;font:76px/.99 Bowlby;color:#fff6c9;-webkit-text-stroke:3px #5c2819;text-shadow:3px 7px #f47726,6px 11px #692818;letter-spacing:-3px}
#impact-comic.super-comic strong{font-size:88px;color:#ffe94d;-webkit-text-stroke:3px #9a3619;text-shadow:4px 8px #ff8730,7px 13px #762517}
#impact-kicker{display:block;font:32px Bowlby;color:#a7ff74;-webkit-text-stroke:1px #204e36;text-shadow:0 4px #164330;white-space:nowrap;margin-bottom:12px}#impact-detail{display:inline-block;padding:7px 15px;margin-top:16px;background:#143d52e8;color:#fff6ce;font:17px Bowlby;border-radius:8px;letter-spacing:1px}#impact-detail:empty{display:none}
.green-ready{filter:brightness(1.16)!important;box-shadow:0 0 35px #80ff61,inset 0 6px #fff9,0 7px #143d25!important}.perfect-zone{box-shadow:0 0 15px #91ff75}.splash-tag{color:#fff3b5;text-shadow:0 2px 4px #12364c;font-weight:900}.splash-shade{background:linear-gradient(#103c6533,transparent 32%,transparent 70%,#063356c9)}.frozen #action-overlay *{animation-play-state:paused}

/* The illustrated title retains its transparent artwork and original proportions. */
.game-logo{left:20px;top:32px;width:680px;max-height:270px;object-fit:contain;filter:drop-shadow(0 8px 6px #12375555)}
#home .game-logo{left:27px;top:30px;width:666px;max-height:263px}
.splash-tag{top:309px;font-size:14px;letter-spacing:2px}
.home-badge{top:313px}

/* Compact, readable skill feedback stays above the ball and target. */
#super-streak{position:absolute;right:27px;top:326px;width:262px;padding:11px 13px 10px;border:3px solid #e9ff9a;border-radius:17px;background:linear-gradient(135deg,#277856f5,#185067f5);box-shadow:0 5px #17403e66,inset 0 2px #d9ffbd55;pointer-events:none;text-align:center}
#streak-title{display:block;font:17px/1.2 Bowlby;color:#ecffbd;letter-spacing:.2px;text-shadow:0 2px #19463b}
#streak-bonus{display:block;font:14px/1.2 Bowlby;color:#fff0a7;margin-top:4px}
.streak-track{height:6px;margin-top:8px;overflow:hidden;border-radius:5px;background:#103d45}
#streak-fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,#8ffa84,#ffe85c);border-radius:5px}
#super-streak.expiring{border-color:#ffd873}#super-streak.expiring #streak-fill{background:#ffbd5b}
.timing-caption{font-size:13px;line-height:16px;min-height:24px;letter-spacing:.2px;transition:color .08s;background:#173c54eb;border-radius:8px;padding:4px 8px}
#timing.in-green .timing-caption{color:#d7ffac;background:#245b3bf5;text-shadow:0 2px #124d39,0 0 12px #a1ff8555}
#timing.in-green .timing-track{border-color:#a1ef80;box-shadow:0 0 14px #aaff7fa6}
#timing.in-green #charge-needle{background:#ecffd7;box-shadow:0 0 0 2px #27863d,0 0 12px #fff}
#swing.queued{background:linear-gradient(#b8f4ff,#68d4e9 65%,#4cbeda);filter:none}
#swing.green-ready{background:linear-gradient(#dcff91,#a9f46c 65%,#80d94d)}
#impact-comic{width:440px}#impact-comic strong{font-size:64px}#impact-comic.super-comic strong{font-size:75px}
#impact-kicker{font-size:27px;margin-bottom:8px}#impact-detail{font-size:15px;margin-top:12px;padding:6px 12px}

/* World Tour: readable destination cards, live objectives and machine abilities. */
.home-project{position:absolute;top:553px;left:65px;right:65px;padding:18px 22px;border:3px solid #fce59a;border-radius:22px;background:linear-gradient(130deg,#17556bef,#23777cef);box-shadow:0 7px #16385088;text-align:center}.home-project>strong{display:block;font:26px Bowlby;color:#ffe986;margin:5px 0}.home-project>span:not(.eyebrow){font:14px Bowlby;color:#c5eff3}.home-project>div{display:flex;gap:13px;justify-content:center;margin-top:15px}.home-project button{min-height:48px;min-width:180px}.home-actions{top:802px}.home-actions .menu-grid button{height:82px}.home-mapi{width:135px;left:292px;bottom:18px}
.contract-offers{display:grid;gap:17px}.offer-card{display:grid;grid-template-columns:174px minmax(0,1fr);gap:16px;border:3px solid #6fbdcb;border-radius:18px;background:linear-gradient(140deg,#32697c,#204859);padding:14px;margin-bottom:14px;overflow:hidden}.offer-card>img{width:174px;height:140px;object-fit:cover;border-radius:12px;border:2px solid #9fd9df;align-self:center}.offer-copy h3{font:21px/1.25 Bowlby;color:#fff0ac;margin:7px 0}.offer-copy p{font:17px/1.4 Arial;margin:8px 0;color:#e0eef2}.offer-copy .eyebrow{font-size:12px;letter-spacing:1px;color:#a9f1ed}.offer-copy .small-button{width:100%;margin-top:10px;min-height:51px;font-size:15px}.offer-reward{display:block;color:#ffe382!important;font:bold 13px/1.5 Arial}.mode-project{border-color:#f3d775;background:linear-gradient(130deg,#605c37,#255168)}.mode-challenge{border-color:#bd9bed}.world-links{display:flex;gap:12px;justify-content:center;margin:22px 0 4px}.world-links button{flex:1;min-height:55px}
.project-route{display:grid;gap:22px}.project-card{border:3px solid #648b99;border-radius:22px;background:#225268;overflow:hidden}.project-card.complete{border-color:#8ddd99}.project-cover{position:relative;height:187px;background:linear-gradient(#79c4dc,#e3efba);overflow:hidden}.project-cover img{width:100%;height:100%;object-fit:cover}.project-cover b{position:absolute;top:13px;left:13px;background:#153d54ed;color:#ffe077;border:2px solid #f4dc86;border-radius:12px;padding:9px 13px;font:26px Bowlby}.project-copy{padding:21px}.project-copy h3{font:26px Bowlby;color:#ffe789;margin:8px 0}.project-copy p{font-size:18px;line-height:1.45;color:#d3eaf1}.project-copy button{width:100%;min-height:56px;margin-top:10px}.stage-dots{display:flex;flex-wrap:wrap;gap:7px}.stage-dots span{font:bold 13px Arial;background:#143f53;padding:8px;border-radius:8px;color:#bcd4df}.stage-dots .done{background:#3c8765;color:#d0ffc6}.weekly-route{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.weekly-stop{border:2px solid #618896;border-radius:13px;overflow:hidden;background:#173e55}.weekly-stop img{width:100%;height:110px;object-fit:cover}.weekly-stop strong{display:block;font:14px/1.4 Bowlby;padding:11px;text-align:center}.weekly-stop.done{border-color:#94ee89;color:#bbffc0}
#mission-status{position:absolute;top:795px;left:280px;right:24px;text-align:center;padding:8px 6px;border:2px solid #bde4df;border-radius:10px;background:#164458ee;color:#fff0af;font:12px/1.2 Bowlby;pointer-events:none}#repair-status{position:absolute;top:382px;left:30px;max-width:265px;background:#72509cd9;border:1px solid #d4c0f0;color:#f7edff;padding:7px;border-radius:8px;font:bold 12px Arial;pointer-events:none}
#ability-button{position:absolute;left:28px;top:738px;width:230px;height:87px;border:3px solid #b3f0f5;border-radius:17px;background:linear-gradient(#5fc9e0,#2680ac);color:#fff9bf;box-shadow:0 5px #173c59;overflow:hidden;padding:10px 12px 15px;font:17px/1.2 Bowlby}#ability-button small{display:block;color:#e7faff;font:12px Bowlby;margin-top:6px}#ability-button i{position:absolute;bottom:0;left:0;height:6px;background:#caff95;transition:width .15s}#ability-button:disabled{filter:saturate(.45);color:#dce8e7}#ability-button.armed{background:linear-gradient(#ffd255,#e99a39);color:#1e4655;filter:none}#ability-button.armed small{color:#284c5e}.site-action{position:absolute;z-index:6;border:3px solid #ffe9a2;border-radius:16px;padding:11px;color:#17394a;background:linear-gradient(#ffeb85,#ffb64c);box-shadow:0 5px #854f2f;font:16px Bowlby;touch-action:manipulation;min-height:65px}.site-action small{font:12px Bowlby}.site-action:active{transform:translateY(3px)}#drone-action{width:146px;background:linear-gradient(#ffa976,#ef6156)}#truck-action{left:28px;top:604px;width:181px}.tutorial{top:706px;left:280px;width:412px;padding:10px;font-size:15px}.tutorial:after{display:none}#boost-active{top:666px;left:28px;max-width:245px;flex-wrap:wrap}#boost-active span{font-size:11px;padding:5px}
.ability-name{color:#ffe083!important;font-weight:bold}.collect-card .small-button{min-height:46px}.hq-scene{position:relative;min-height:310px;background:linear-gradient(#8bddf2 0 55%,#8ab76d 55%);border:3px solid #9cdeec;border-radius:21px;overflow:hidden;padding-top:30px}.hq-sun{position:absolute;right:25px;top:18px;width:53px;height:53px;border-radius:50%;background:#ffe27a}.hq-office{position:relative;margin:0 auto 15px;width:210px;background:#e4b76b;border:5px solid #475c66;border-top:16px solid #dc7860;text-align:center;padding:12px;color:#263d4a}.hq-office b{font:14px Bowlby}.hq-office>div{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:12px}.hq-office i{display:block;width:31px;height:31px;background:#68bad2;border:3px solid #365c6d}.hq-garages{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;padding:0 12px 48px}.hq-garages>div{width:94px;height:67px;overflow:hidden;border:5px solid #cba76f;border-top:10px solid #f1d67d;background:#24414c}.hq-garages img{width:100%;height:100%;object-fit:cover}.hq-sign{position:absolute;bottom:9px;left:18px;right:18px;padding:9px;border-radius:10px;text-align:center;background:#194959;color:#ffe283;font:18px Bowlby}.hq-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:19px 0}.hq-stats>div{background:#15394f;border-radius:12px;padding:12px 4px;text-align:center;font:bold 10px Arial;color:#a6dbe5}.hq-stats strong{display:block;font:23px Bowlby;color:#ffe591;margin-bottom:5px}.souvenirs{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.souvenirs>div{border:2px solid #54778a;border-radius:12px;overflow:hidden;filter:saturate(.15);opacity:.65}.souvenirs .found{border-color:#8dda99;filter:none;opacity:1}.souvenirs img{display:block;width:100%;height:95px;object-fit:cover}.souvenirs span{display:block;font:12px/1.3 Bowlby;text-align:center;padding:9px 4px;min-height:49px}


/* Recommended destination is the first visible action on a phone. */
.offer-card.recommended{border:4px solid #ffe66a;background:linear-gradient(135deg,#447f84,#275466);box-shadow:0 0 0 3px #ffd94e26}.offer-card.recommended .eyebrow{color:#ffe885}.offer-copy .operation-tip{font-size:15px;line-height:1.35}.build-stamp{text-align:center;font:bold 13px Arial;color:#c1e4e4}.contract-offers{gap:8px}
