@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2) format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}:root{font-family:Nunito,sans-serif;color:#244b46;background:#eaf4e8;font-synthesis:none;font-weight:600;--ink: #244b46;--paper: #fff6df;--red: #d94735;--yellow: #f2c353;--teal: #35877a}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;min-height:52px;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:4px solid #e09826;outline-offset:5px}button:disabled{cursor:default}button:active:not(:disabled){transform:translateY(2px)}button{transition:transform .15s,background .15s}button .icon{flex-shrink:0}button span{pointer-events:none}.icon{width:24px;height:24px;vertical-align:middle}.icon-only span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.tiny-logo,.level-disc{font-family:"Baloo 2",cursive;font-weight:800}#game{position:fixed;inset:0;width:100%;height:100%;touch-action:none;outline:none}#ui{position:fixed;inset:0;pointer-events:none}#ui button,#ui a,.scroll-content,.settings-content{pointer-events:auto}#ui>section{height:100%;width:100%}.home-screen{padding:calc(24px + env(safe-area-inset-top)) max(6vw,24px) calc(22px + env(safe-area-inset-bottom));position:relative}.home-header{display:flex;align-items:center;justify-content:space-between}.brand{font-size:29px;letter-spacing:-1.5px;color:var(--ink);text-decoration:none;display:flex;gap:8px;align-items:center}.brand-spark{color:var(--red);font-size:33px}.round{height:54px;width:54px;min-height:54px;border-radius:50%;display:inline-grid;place-items:center;background:var(--paper);box-shadow:0 3px #244b4612}.round:hover{background:#f6dfac}.home-copy{position:absolute;top:25%;left:7%}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;line-height:1.5}.little-star{color:var(--red);font-size:22px;vertical-align:middle;margin-right:8px}.home-copy h1{font-size:clamp(56px,6.8vw,110px);line-height:.95;letter-spacing:-3px;margin:22px 0 20px}.home-copy h1>span{color:var(--red);font-size:.95em}.home-copy p{font-size:16px;line-height:1.7}.home-bottom{position:absolute;left:7%;bottom:6%;width:330px}.edition{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;font-weight:800;margin-bottom:13px}.primary{background:var(--red);color:#fff5dc;min-height:64px;border-radius:22px;padding:15px 28px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:20px;font-weight:800;box-shadow:0 5px #a93a2b}.primary:hover{background:#c83c2b}.primary .icon{width:26px;height:26px}.play-button{width:100%;font-size:24px;min-height:73px}.home-nav{display:flex;justify-content:center;gap:28px;margin-top:17px}.home-nav button{display:flex;gap:9px;align-items:center;font-size:14px}.scene-caption{position:absolute;right:6%;bottom:5%;font-size:10px;font-weight:800;letter-spacing:2px}.sheet{background:#f7f2e1f5;padding:calc(22px + env(safe-area-inset-top)) max(5vw,22px) env(safe-area-inset-bottom);display:flex;flex-direction:column;backdrop-filter:blur(12px);pointer-events:auto}.page-header{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-shrink:0;padding-bottom:22px}.page-header h1{font-size:clamp(24px,3vw,36px);line-height:1.1;text-align:center;letter-spacing:-.6px}.tiny-logo{font-size:25px;letter-spacing:-2px;width:54px;text-align:right}.tiny-logo>span{color:var(--red);font-size:18px}.scroll-content{overflow-y:auto;overscroll-behavior:contain;padding:0 5px 35px;scrollbar-width:thin}.chapter{max-width:850px;margin:10px auto 35px}.chapter-heading{display:flex;align-items:center;gap:18px}.chapter-number{font-family:"Baloo 2";font-size:45px;color:#a0b7a4;line-height:1}.chapter-heading h2{font-size:28px;line-height:1.2;letter-spacing:-.5px}.chapter-heading .eyebrow{font-size:9px;letter-spacing:1.6px}.level-path{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:20px}.level-path:before{content:"";position:absolute;top:38px;left:12%;right:12%;border-top:3px dashed #c5ccb4}.level-stop{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 6px;z-index:1}.level-disc{border-radius:30px;background:#e7bd60;box-shadow:0 5px #cf9e44;width:76px;height:76px;display:grid;place-items:center;font-size:37px}.level-stop.current .level-disc{background:var(--red);color:var(--paper);box-shadow:0 5px #ad4031}.level-stop.locked .level-disc{background:#dce3d4;color:#8b9c8d;box-shadow:0 5px #cad1c1}.level-name{font-size:12px;font-weight:800;line-height:1.2}.stars{display:inline-flex;gap:4px;color:#d2d4c1}.stars .earned{color:#e9b546}.level-stop .stars .icon{width:17px;height:17px}.map-note{text-align:center;font-size:13px;color:#627b64}.intro{text-align:center;margin:10px 0 25px}.garage-list{display:flex;gap:24px;max-width:1000px;margin:0 auto}.vehicle-card{position:relative;flex:1;min-width:0;border:2px solid #dedec9;border-radius:30px;padding:24px 16px;text-align:left;background:#ede9d8;display:flex;flex-direction:column;align-items:center}.vehicle-card.selected{background:#e4eddb;border-color:#508c73}.vehicle-card.locked{filter:saturate(.35);opacity:.7}.vehicle-number{position:absolute;left:22px;top:16px;font-size:12px;font-weight:800;opacity:.6}.car-art{width:100%;max-width:260px;display:block}.vehicle-info{width:100%;text-align:center}.vehicle-info h2{font-size:25px;line-height:1.2}.vehicle-info p{font-size:12px;margin:5px 0 18px}.vehicle-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.vehicle-status .icon{width:17px;height:17px}.garage-play{margin:30px auto 0;min-width:240px}.settings-content{max-width:520px;margin:20px auto 0;width:100%;overflow-y:auto;padding:5px 4px 40px}.settings-content>h2{font-size:46px;margin:5px 0 25px}.setting-row{width:100%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9dfca;min-height:75px;font-size:17px;font-weight:800;gap:12px}.setting-row>span:first-child{display:flex;align-items:center;gap:12px}.toggle{width:51px;height:30px;background:#bfc7b3;border-radius:20px;padding:4px;display:block;flex-shrink:0}.toggle:after{content:"";width:22px;height:22px;background:#fff6df;display:block;border-radius:50%;transition:transform .2s}.toggle.on{background:#3d8b76}.toggle.on:after{transform:translate(21px)}.setting-help{font-size:12px;line-height:1.6;margin-top:12px;color:#536c5c}.install-note{border-top:2px dashed #c6ceb8;margin-top:30px;padding-top:25px}.install-note h3{font-size:25px;margin:6px 0}.install-note p{font-size:14px;line-height:1.65;margin:8px 0}.save-note{font-size:12px;margin-top:22px}.dedication{font-size:13px;text-align:center;margin-top:32px}.play-screen{padding:calc(15px + env(safe-area-inset-top)) 24px calc(18px + env(safe-area-inset-bottom));position:relative}.game-header{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:950px;margin:auto}.level-title{text-align:center}.level-title .eyebrow{font-size:10px;letter-spacing:1.6px}.level-title h1{font-size:25px;line-height:1.1;margin-top:3px}.game-status{position:relative;max-width:310px;margin:22px auto 0}.smash-label{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:10px;letter-spacing:1px;margin-bottom:5px}.smash-label strong{font-size:16px;letter-spacing:0}.meter-track{height:12px;border-radius:9px;background:#c7d8bc;position:relative;overflow:hidden}#meter-fill{height:100%;width:100%;background:#348975;transform:scaleX(0);transform-origin:left;transition:transform .2s}.goal-marker{position:absolute;left:70%;top:0;bottom:0;border-left:3px solid #fff5dc}.goal-label{font-size:10px;display:block;margin:4px 0;text-align:right}.shots{display:flex;gap:9px;justify-content:center;margin-top:12px;color:var(--red)}.shots .icon{width:29px;height:29px}.shots .used{color:#a4bca9;opacity:.45}.aim-hint{position:absolute;bottom:36vh;left:50%;transform:translate(-50%);display:flex;flex-direction:column;text-align:center;align-items:center;width:280px;color:#244b46;pointer-events:none;text-shadow:0 1px 8px #ffefd7}.aim-hint strong{font-size:17px;font-weight:800}.aim-hint>span:last-child{font-size:12px;margin-top:3px}.hand-demo{display:block;margin-bottom:14px;animation:pull-hand 2.5s infinite}.hand-demo .icon{width:36px;height:36px;color:#fff8e5;filter:drop-shadow(0 2px 2px #264a4260);fill:#244b46}.aim-hint.learned .hand-demo{display:none}.game-footer{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;max-width:950px;margin:auto}.car-chip{border-radius:30px;background:var(--paper);padding:13px 19px;display:flex;gap:9px;align-items:center;font-weight:800;font-size:13px}.car-chip:disabled{opacity:.7}.power{position:absolute;bottom:100px;left:50%;transform:translate(-50%);text-align:center;width:170px}.power>span{font-size:10px;font-weight:800;letter-spacing:2px}.power>div{height:10px;border-radius:8px;background:#ecdebd;margin-top:6px;overflow:hidden}.power i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}.result-screen{display:grid;place-items:center;background:#eaf4e854;backdrop-filter:blur(5px);padding:20px}.result-card{pointer-events:auto;background:#fff6e5;max-width:440px;width:100%;border-radius:38px;padding:35px 32px;text-align:center;box-shadow:0 16px #244b4610;max-height:95%;overflow-y:auto}.result-card h1{color:var(--red);font-size:48px;line-height:1.05;letter-spacing:-1px;margin:13px 0}.result-card>.stars{gap:8px;margin:10px 0 16px}.result-card>.stars .icon{width:45px;height:45px}.result-card>p:not(.eyebrow){font-size:14px;line-height:1.5}.result-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}.secondary{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:800}.retry-art{color:#dca840;margin:15px}.retry-art .icon{width:60px;height:60px}.unlock{margin-top:20px;border-top:2px dashed #e5ddc3;padding-top:15px}.unlock>span{font-size:10px;font-weight:800;letter-spacing:1.3px}.unlock .car-art{height:90px;margin:auto}.unlock>strong{font-family:"Baloo 2";font-size:22px}.pause-layer{pointer-events:auto;position:absolute;inset:0;background:#eaf4e8d9;backdrop-filter:blur(8px);display:grid;place-items:center;text-align:center}.pause-layer h2{font-size:32px;margin-bottom:25px}.pause-layer .primary{margin:auto}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;text-align:center;padding:30px;pointer-events:auto;background:#eaf4e8}.loading h1{font-size:30px}.loading-wheel{width:45px;height:45px;border:7px solid #c6d6bf;border-top-color:var(--red);border-radius:50%;animation:spin 1s linear infinite}#toast{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#244b46;color:#fff6df;border-radius:16px;padding:13px 20px;text-align:center;font-size:13px;width:max-content;max-width:90vw;transition:opacity .2s,transform .2s;z-index:20}#toast.visible{opacity:1;transform:translate(-50%);pointer-events:auto}#toast button{color:#f2c353;font-weight:800;min-height:30px}[hidden]{display:none!important}.reduced-motion *{animation:none!important;transition:none!important}@keyframes pull-hand{0%,15%{transform:translateY(-12px);opacity:0}30%{opacity:1}70%{transform:translateY(15px);opacity:1}90%,to{transform:translateY(15px);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.home-screen{padding:calc(15px + env(safe-area-inset-top)) 24px calc(20px + env(safe-area-inset-bottom))}.brand{font-size:25px}.home-header .round{width:46px;height:46px;min-height:46px}.home-copy{top:calc(106px + env(safe-area-inset-top));left:25px}.home-copy .eyebrow{font-size:9px;letter-spacing:1.6px}.home-copy h1{font-size:clamp(46px,13.3vw,78px);letter-spacing:-2px;margin:13px 0 12px}.home-copy p{font-size:12px;line-height:1.5;max-width:240px}.home-bottom{left:26px;right:26px;bottom:calc(18px + env(safe-area-inset-bottom));width:auto}.edition{font-size:8px;margin-bottom:9px}.play-button{min-height:64px;font-size:22px;border-radius:21px}.home-nav{margin-top:12px;gap:32px}.home-nav button{min-height:40px;font-size:13px}.scene-caption{display:none}.page-header{padding-bottom:16px}.sheet{padding-left:20px;padding-right:20px}.page-header h1{font-size:24px}.page-header .round{height:48px;width:48px;min-height:48px}.tiny-logo{width:40px}.chapter{margin:12px auto 32px}.chapter-heading{gap:14px}.chapter-heading h2{font-size:26px}.chapter-number{font-size:39px}.level-disc{width:61px;height:61px;border-radius:23px;font-size:30px}.level-name{font-size:10px;max-width:70px}.level-path:before{top:30px}.level-stop .stars{gap:1px}.level-stop .stars .icon{width:14px;height:14px}.garage-list{flex-direction:column;gap:14px;max-width:450px}.vehicle-card{display:grid;grid-template-columns:44% 56%;padding:15px;min-height:145px;border-radius:24px}.vehicle-card .car-art{grid-column:1;grid-row:1/3;margin-top:12px}.vehicle-info{grid-column:2;text-align:left;padding-left:12px;align-self:end}.vehicle-info h2{font-size:24px}.vehicle-info p{font-size:11px;margin-bottom:9px}.vehicle-status{grid-column:2;align-self:start;padding-left:12px;font-size:11px}.vehicle-number{left:17px;top:10px;font-size:10px}.garage-play{margin-top:22px;width:100%}.intro{font-size:13px;margin:5px 0 20px}.game-header .round{width:48px;height:48px;min-height:48px}.play-screen{padding-left:17px;padding-right:17px}.level-title h1{font-size:22px}.level-title .eyebrow{font-size:9px}.game-status{max-width:240px;margin-top:17px}.game-footer{left:18px;right:18px}.car-chip{font-size:12px;padding:12px 15px}.result-card{padding:30px 24px;border-radius:30px}.result-card h1{font-size:43px}.settings-content{margin-top:10px}.settings-content>h2{font-size:40px}}@media(max-height:740px)and (orientation:portrait){.home-copy{top:90px}.home-copy h1{font-size:49px;margin:10px 0}.home-copy p{display:none}.home-bottom{bottom:12px}.home-nav{margin-top:8px}.game-status{margin-top:10px}.shots{margin-top:3px}.result-card{padding:22px}.result-card h1{font-size:37px}.unlock .car-art{height:65px}.result-actions{margin-top:16px}.result-card>.stars .icon{width:33px;height:33px}}@media(orientation:landscape)and (max-height:600px){.home-screen{padding:15px 30px}.home-copy{top:95px;left:5%}.home-copy h1{font-size:51px;margin:10px 0}.home-copy p{display:none}.home-bottom{left:5%;bottom:18px;width:270px}.edition{display:none}.play-button{min-height:54px;font-size:19px}.home-nav{margin-top:5px}.home-nav button{min-height:35px}.scene-caption{display:none}.game-header{max-width:none}.game-status{position:absolute;top:94px;left:24px;width:150px}.shots{margin-top:5px}.level-title h1{font-size:22px}.aim-hint{bottom:40px;left:50%;font-size:13px}.hand-demo{display:none}.game-footer{bottom:14px;max-width:none}.game-footer .car-chip{max-width:170px}.power{bottom:35px}.result-card{max-width:550px;padding:18px 30px}.result-card h1{font-size:35px;margin:5px 0}.result-card>.stars{margin:5px}.result-card>.stars .icon{width:27px;height:27px}.result-actions{flex-direction:row;justify-content:center;margin-top:14px}.result-actions .primary{min-height:54px;font-size:17px}.unlock{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:10px;padding-top:10px}.unlock .car-art{height:55px;width:100px;margin:0}.unlock>span{max-width:100px}.garage-list{flex-direction:row}.vehicle-card{display:flex;padding:15px}.vehicle-card .car-art{max-height:100px}.vehicle-info{text-align:center;padding:0}.vehicle-info h2{font-size:20px}.vehicle-status{padding:0}.garage-play{width:240px;min-height:52px}.sheet{padding-top:15px}.page-header{padding-bottom:10px}}.hand-demo{position:absolute;top:clamp(76px,12vh,110px);margin:0}@media(orientation:landscape)and (max-height:600px){.aim-hint,.aim-hint.learned{bottom:35px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.practice-button{display:flex;align-items:center;justify-content:center;gap:10px;background:#f9edcc;border:2px solid #d6c59b;border-radius:19px;width:100%;font-size:16px;font-weight:800;margin-top:13px;min-height:54px}.practice-button:hover{background:#f3e1ae}.home-nav{margin-top:8px}.home-copy p{max-width:340px}.arc-controls{position:absolute;bottom:calc(91px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;gap:7px;padding:5px;background:#fff6dfec;border-radius:23px;pointer-events:auto;box-shadow:0 4px #d2c49a55}.arc-button{display:flex;align-items:center;gap:7px;justify-content:center;min-height:49px;min-width:75px;border-radius:17px;padding:8px 12px;font-size:12px;font-weight:800;color:#536d5e}.arc-button .icon{width:24px;height:24px}.arc-button[aria-pressed=true]{background:#35877a;color:#fff6df}.arc-button:disabled{opacity:.45}.arc-button:disabled[aria-pressed=true]{opacity:.65}.volume-control{display:flex;flex-direction:column;gap:16px;margin-top:24px;font-weight:800}.volume-control input{width:100%;accent-color:#35877a;min-height:38px;cursor:pointer;touch-action:pan-x}.shot-feedback{position:absolute;top:46%;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;white-space:nowrap;color:#b6422d;font-family:"Baloo 2";font-size:clamp(26px,6vw,45px);text-shadow:0 2px 0 #fff6df;transition:transform .2s,opacity .2s}.shot-feedback.show{opacity:1;transform:translate(-50%)}body[data-mode=practice] .goal-marker{display:none}body[data-mode=practice] .shots{align-items:center;color:#35877a;font-size:12px;font-weight:800;gap:8px}body[data-mode=practice] .shots>.icon{width:30px;height:30px}.power{bottom:calc(160px + env(safe-area-inset-bottom))}.hand-demo .icon{width:40px;height:40px}.aim-hint{bottom:40vh}.aim-hint>span:last-child{margin-top:4px}.garage-list{padding-top:5px}.vehicle-card.selected .car-art{filter:drop-shadow(0 6px 3px #39695512)}@media(max-width:700px){.home-bottom{bottom:calc(16px + env(safe-area-inset-bottom))}.practice-button{min-height:48px;font-size:14px;margin-top:11px}.home-nav{margin-top:6px}.home-nav button{min-height:36px}.arc-button{min-width:72px;min-height:47px;padding:7px 10px}.arc-controls{gap:4px}.home-copy p{font-size:12px}.edition{font-size:7.5px;letter-spacing:1.1px}}@media(max-height:740px)and (orientation:portrait){.home-copy{top:85px}.home-copy h1{font-size:44px}.home-bottom{bottom:8px}.play-button{min-height:56px}.practice-button{min-height:44px;margin-top:9px}.home-nav button{min-height:32px}.edition{margin-bottom:7px}.arc-controls{bottom:80px}.arc-button{min-height:44px}.aim-hint{bottom:40vh}.power{bottom:142px}}@media(orientation:landscape)and (max-height:600px){.home-copy{top:82px}.home-copy h1{font-size:43px}.home-bottom{bottom:12px;width:240px}.home-nav{margin-top:2px}.home-nav button{min-height:29px}.play-button{min-height:46px}.practice-button{min-height:38px;margin-top:9px;font-size:13px}.arc-controls{bottom:17px;left:50%;padding:3px}.arc-button{min-height:44px;min-width:66px;font-size:11px;padding:6px 9px}.arc-button .icon{width:20px;height:20px}.aim-hint,.aim-hint.learned{bottom:86px;left:auto;right:24px;width:190px;transform:none}.aim-hint strong{font-size:14px}.aim-hint>span:last-child{font-size:10px}.power{bottom:84px;left:auto;right:24px;width:190px;transform:none}.shot-feedback{top:36%;font-size:30px}.game-footer{pointer-events:none}.game-footer button{pointer-events:auto}}
