:root{font-family:Trebuchet MS,Verdana,Arial,sans-serif;color:#304a4e;background:#f6f2e9;font-synthesis:none;--ink:#304a4e;--orange:#e77c52;--cream:#f6f2e9;--green:#687d61}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:4px solid #327f9e;outline-offset:5px}button:active,.primary:active{transform:translateY(2px)}[hidden]{display:none!important}.site-header{max-width:1350px;margin:auto;height:113px;padding:20px 54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcded1}.brand{display:flex;align-items:center;gap:13px;font-weight:900;font-size:19px;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;position:relative;background:#779b8c;color:#fff8e6;width:48px;height:48px;border-radius:15px;font-size:40px;line-height:1}.brand-mark>span{position:absolute;right:-5px;top:-4px;font-size:20px;color:#eab567}.brand-sub{display:block;font-size:8px;font-weight:800;letter-spacing:1.7px;margin-top:8px;color:#7e8981}.header-tools{display:flex;gap:9px;align-items:center}.pill,.icon-button{background:transparent;border:1px solid #d9ded3;border-radius:100px;min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 17px;font-size:13px;font-weight:700}.icon-button{width:43px;padding:0;font-size:21px}.pill:hover,.icon-button:hover{background:#e9ebdf}.home,.selection{max-width:1350px;margin:auto;padding:0 54px}.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:25px;align-items:center;padding:64px 0 65px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:2.2px;line-height:1.6;color:#748476}.eyebrow>span{display:inline-block;background:#eab86b;width:7px;height:7px;border-radius:50%;margin-right:7px}h1,h2,p{margin:0}h1{font-size:clamp(48px,5vw,72px);line-height:1.04;letter-spacing:-3.7px;font-weight:900}h1 em{font-style:normal;color:#e18c60}.hero h1{position:relative;margin:23px 0 20px}.title-star{position:absolute;color:#ddaf63;font-size:55px;top:112px;left:330px;font-weight:400}.tagline{font-size:25px;letter-spacing:-.8px;font-weight:700;margin:0 0 18px}.hero-description{font-size:14px;line-height:1.9;color:#7b857b}.primary{background:#e77e56;color:#fffaf0;box-shadow:0 5px #cb6844;border-radius:17px;min-height:62px;padding:15px 25px;font-size:17px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:14px;letter-spacing:-.4px}.primary:hover{background:#de734c}.play-link{margin-top:28px;min-width:280px}.primary>span:first-child{font-size:16px}.button-arrow{margin-left:20px}.hero-facts{display:flex;align-items:center;gap:10px;font-size:10px;color:#8d9488;margin-top:23px;white-space:nowrap}.hero-facts i{font-style:normal;color:#c3c5b3}.hero-art{position:relative;background:#e4ead9;border-radius:44% 43% 37% 34%/34% 42% 29% 30%;height:455px;transform:rotate(-2deg);border:9px solid #eaeedf}.hero-art canvas{width:100%;height:100%;border-radius:inherit;transform:rotate(2deg);object-fit:cover}.art-label{position:absolute;z-index:1;top:-14px;left:22%;background:#fffaf0;border:1px solid #eee5cd;border-radius:100px;padding:13px 21px;font-size:12px;box-shadow:0 5px 10px #6c77600d;transform:rotate(2deg)}.art-sticker{position:absolute;right:-9px;bottom:-19px;background:#fbf2d5;border:1px solid #ead9b3;transform:rotate(6deg);border-radius:17px;padding:16px 25px;display:flex;align-items:center;gap:13px;font-size:11px;line-height:1.6}.art-sticker>span{font-size:36px;color:#e6b35a}.art-spark{position:absolute;right:-23px;top:44px;font-size:63px;color:#d6a65e}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.section-top h2{font-size:30px;letter-spacing:-1px;margin-top:7px}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #a5afa0;padding-bottom:7px}.text-link>span{margin-left:15px}.discovery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.vehicle-card{--card-bg:#e7ecd9;position:relative;text-align:left;background:var(--card-bg);border:1px solid #ffffff77;border-radius:23px;padding:22px 22px 23px;transition:transform .2s,box-shadow .2s;min-width:0;overflow:hidden}.vehicle-card:hover{transform:translateY(-6px);box-shadow:0 12px 16px #304a4e0c}.card-index{font-size:11px;letter-spacing:1px;color:var(--card-color);font-weight:700}.vehicle-card img{display:block;width:100%;height:136px;object-fit:contain;margin:2px 0 10px;filter:drop-shadow(0 5px 3px #304a4e0c)}.card-name{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:19px;font-weight:900;letter-spacing:-.5px}.card-name>span{display:grid;place-items:center;border:1px solid #ffffffa0;width:28px;height:28px;border-radius:50%;font-size:15px;flex-shrink:0}.card-description{display:block;font-size:11px;margin-top:8px;color:#6e8179}.parent-note{display:flex;align-items:center;gap:25px;background:#e8ecdf;border:1px solid #dfe4d5;border-radius:22px;margin:48px 0 45px;padding:27px 32px}.note-symbol{font-size:38px;color:#829776;flex-shrink:0}.parent-note h2{font-size:19px;letter-spacing:-.5px;margin-bottom:9px}.parent-note p{font-size:11px;line-height:1.9;color:#7e8c7e;max-width:640px}.text-button{background:none;font-size:12px;font-weight:700;white-space:nowrap;padding:9px}.text-button>span{display:block;font-size:9px;font-weight:400;color:#929b8d;margin-top:7px}.holding{background:linear-gradient(90deg,#b8c8a8 0 100%)!important;animation:parenthold 3s linear forwards;border-radius:12px}@keyframes parenthold{0%{box-shadow:inset 0 -4px #e8a563}to{box-shadow:inset 250px -4px #e8a563}}footer{max-width:1242px;margin:auto;padding:25px 0 32px;border-top:1px solid #dcded1;display:flex;align-items:center;justify-content:space-between}.footer-brand{font-size:11px;font-weight:700}.footer-brand>span{display:block;font-size:9px;font-weight:400;color:#939b8e;margin-top:8px}.selection{padding-top:27px;min-height:calc(100svh - 220px)}.back-link{font-size:12px;color:#7f8e83}.selection-title{display:flex;align-items:center;justify-content:space-between;margin:36px 0}.selection-title h1{font-size:43px;letter-spacing:-1.9px;margin:10px 0 15px}.selection-title p{font-size:14px;color:#849081}.star-total{color:#d8a650;font-size:30px;background:#fff7e1;border:1px solid #efdfb5;border-radius:22px;padding:17px 24px}.star-total>span{display:block;color:#8d927b;font-size:10px;text-align:center;margin-top:5px}.chapter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.chapter-grid .vehicle-card{min-height:300px}.chapter-grid .vehicle-card img{height:170px}.chapter-grid .card-name{font-size:17px}.earned{position:absolute;right:20px;top:21px;color:#c79e45;font-size:19px;letter-spacing:2px}.pagination{display:flex;align-items:center;justify-content:center;gap:38px;margin:35px 0}.round-button{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#e9e9dc;font-size:25px;border:1px solid #d5dbcb}.pagination>span{display:flex;gap:10px}.page-dot{width:12px;height:12px;border-radius:50%;background:#d7ddcf;padding:0}.page-dot.active{background:#df9366;width:29px;border-radius:8px}dialog{border:1px solid #d6dbcc;border-radius:28px;padding:0;box-shadow:0 25px 100px #1c363843;background:#faf7ee;color:var(--ink);max-height:90svh;max-width:min(560px,94vw);width:100%;overflow:auto}dialog::backdrop{background:#263d4470;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-close{position:absolute;right:16px;top:16px;background:#fffaf0cc;z-index:2;font-size:28px}.mission-head{text-align:center;padding:15px 20px 23px}.mission-head img{width:250px;height:155px;object-fit:contain}.mission-head h2{font-size:30px;letter-spacing:-1px}.mission-head p{font-size:12px;color:#72877e;margin-top:8px}.mission-list{padding:20px 23px 8px;display:grid;gap:10px}.mission-list>button{background:#eeeee2;min-height:60px;border-radius:15px;display:flex;align-items:center;gap:16px;padding:10px 18px;font-size:14px;font-weight:700;text-align:left}.mission-list>button:hover{background:#e3e9d7}.mission-list>button>span:last-child{margin-left:auto;color:#a0ad94}.mission-number{background:#fffaf0;color:#d29154;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;flex-shrink:0}.mission-list>.free-play{background:#e3ecdf}.color-picker{display:flex;align-items:center;gap:10px;padding:20px 24px 25px}.color-picker>span{font-size:10px;margin-right:auto}.color-picker>button{border:2px solid #fff9eb;box-shadow:0 0 0 1px #d9dbcc;width:27px;height:27px;border-radius:50%;color:#fff;padding:0}.color-picker>button.selected{box-shadow:0 0 0 3px #445d65}.settings-head{padding:35px 28px 20px}.settings-head h2{font-size:26px;margin-top:10px;letter-spacing:-.8px}.settings-body{padding:0 28px 28px}.settings-body h3{font-size:14px;margin:16px 0}.audio-row{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:18px}.audio-row label{min-width:126px;font-size:13px;display:flex;align-items:center;gap:10px}.audio-row input[type=range]{min-width:0;flex:1;accent-color:#7f9b7a}.audio-row output{font-size:10px;color:#8c9986;width:30px;text-align:right}input[type=checkbox]{width:21px;height:21px;accent-color:#7f9b7a;flex-shrink:0}.setting-row{display:flex;align-items:center;justify-content:space-between;min-height:62px;border-bottom:1px solid #e4e5d8}.setting-row strong{display:block;font-size:13px}.setting-row small{display:block;font-size:10px;color:#8e998a;margin-top:6px}.settings-note,.save-note,.parent-info p{font-size:11px;line-height:1.85;color:#7b8b7f;margin-top:20px}.save-note{color:#9ca48f}.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;background:#e7ebde;border-radius:13px;padding:14px 20px;font-size:13px;font-weight:700}.danger{background:#d77a60;color:#fff}.reset-confirm p{font-size:12px;margin:20px 0 12px}.reset-confirm button{margin-right:10px}.sticker-collection{display:flex;justify-content:space-between;background:#eeebdb;padding:17px;border-radius:12px;margin:20px 0;color:#d5a955;font-size:28px}.game-shell{height:100svh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}.game-header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:12px 25px;border-bottom:1px solid #e2e4d6;gap:12px;flex-shrink:0}.game-title{text-align:center;display:grid;gap:5px}.game-title strong{font-size:17px}.game-title>span{font-size:10px;color:#94a088}.game-header .header-tools .header-tools{display:contents}.game-main{max-width:1100px;width:100%;margin:auto;min-height:0;flex:1;display:flex;flex-direction:column;padding:10px 20px 5px}.instruction{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;flex-shrink:0}.game-hint{text-align:center;font-size:18px;font-weight:700}.hint-symbol{color:#d9a55a;font-size:26px}.repeat-hint{border:0}.mission-progress{width:210px;background:#e1e7d4;height:7px;border-radius:10px;margin:0 auto 10px;flex-shrink:0}.progress-fill{height:100%;background:#82aa80;border-radius:inherit;transition:width .15s}.stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#dcebdc;border:1px solid #cdddcf;border-radius:23px;overflow:hidden}.stage>canvas{width:100%;height:100%;object-fit:contain;touch-action:none;-webkit-user-select:none;user-select:none;max-height:calc(100svh - 270px);aspect-ratio:5/3}.game-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:92px;flex-shrink:0}.move-group,.action-group,.sound-group{display:flex;gap:10px;align-items:center}.control{border-radius:21px;min-width:75px;min-height:65px;background:#e0e7d4;color:#547363;border:2px solid #c8d7bd;box-shadow:0 4px #b0c39f;font-size:26px;font-weight:700;touch-action:none;-webkit-user-select:none;user-select:none}.control.held{transform:translateY(3px);box-shadow:none;filter:brightness(.94)}.action-control,.aux-control{min-width:150px;max-width:240px;font-size:17px;padding:12px 20px;background:#edb460;border-color:#dca659;box-shadow:0 4px #c28f49;color:#654f37}.aux-control{background:#e5d8bd;border-color:#d5c7ad;box-shadow:0 4px #bbaa8f;min-width:135px}.small-control{font-size:13px;min-width:90px;min-height:55px;border-radius:16px;background:#e5ebdf;border-color:#d1dbca;box-shadow:0 3px #bbcdb2;padding:10px}.siren-button[aria-pressed=true]{background:#efd2bd}.play-tip{text-align:center;color:#8a9986;font-size:10px;min-height:20px;flex-shrink:0}.pause-overlay,.win-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#2b444a70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:3;padding:10px}.pause-card,.win-card{background:#fff9e9;padding:30px;text-align:center;border-radius:25px;max-width:490px;box-shadow:0 16px 50px #19313230}.pause-card h2{margin:10px 0 25px}.big-symbol{font-size:40px;color:#8a9d77}.win-card h2{font-size:43px;letter-spacing:-2px;margin:12px 0}.win-stars{color:#e5b452;font-size:44px;letter-spacing:10px}.win-card p{font-size:13px;color:#85917e}.win-card>.primary{width:100%;margin:20px 0 14px;min-height:55px}.win-card>.secondary{background:none;padding:7px}.reward{background:#f0edda;border-radius:12px;padding:12px;font-size:11px;margin-top:15px}.reward>span{font-size:23px;color:#d3a04e;margin-right:7px}@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:90px}.hero-art{height:500px}}@media(max-width:1100px){.site-header{padding:20px 30px}.home,.selection{padding-left:30px;padding-right:30px}.hero{padding-top:55px;gap:10px}.hero h1{font-size:60px}.title-star{left:280px;top:90px}.hero-art{height:390px}.vehicle-card{padding:17px}.card-name{font-size:17px}.card-description{font-size:10px}.parent-note{padding:25px;gap:18px}footer{margin:0 30px}.chapter-grid{gap:13px}.chapter-grid .card-name{font-size:15px}.chapter-grid .vehicle-card img{height:145px}.chapter-grid .vehicle-card{min-height:270px}}@media(max-width:760px){.site-header{height:85px;padding:15px 20px}.brand{font-size:15px;gap:9px}.brand-mark{height:38px;width:38px;border-radius:12px;font-size:33px}.brand-sub{font-size:6px;letter-spacing:1px}.header-tools{gap:5px}.pill{font-size:11px;padding:0 12px;min-height:39px}.icon-button{width:39px;min-height:39px}.home,.selection{padding-left:22px;padding-right:22px}.hero{padding-top:36px;padding-bottom:48px;grid-template-columns:1fr;gap:42px}.hero-copy{padding:0 7px}.eyebrow{font-size:9px;letter-spacing:1.6px}.hero h1{font-size:64px;letter-spacing:-3.5px;line-height:1.01;margin-top:16px;margin-bottom:15px}.title-star{left:300px;top:100px;font-size:45px}.tagline{font-size:23px;margin-bottom:13px}.hero-description{font-size:13px}.play-link{margin-top:23px;width:100%;max-width:360px;min-height:61px}.hero-facts{font-size:9px;gap:9px;margin-top:20px}.hero-art{height:335px;max-width:560px;width:100%;margin:0 auto;border-width:6px}.art-label{top:-16px;font-size:10px;padding:10px 16px}.art-sticker{font-size:10px;padding:10px 16px;right:3px;bottom:-15px}.art-sticker>span{font-size:29px}.art-spark{font-size:45px;right:-12px;top:14px}.section-top h2{font-size:26px}.text-link{font-size:11px;white-space:nowrap}.discovery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.vehicle-card{border-radius:20px;padding:15px}.vehicle-card img{height:117px}.card-name{font-size:17px}.card-description{font-size:10px}.parent-note{align-items:flex-start;flex-wrap:wrap;margin-top:32px;margin-bottom:25px;padding:23px 20px;gap:14px}.parent-note>div:nth-child(2){flex:1;min-width:200px}.parent-note h2{font-size:17px;line-height:1.3}.parent-note p{font-size:10px}.parent-note>.text-button{margin-left:42px;padding-left:0}footer{margin:0 22px;padding:20px 0}.footer-brand{font-size:10px}footer .text-button{font-size:10px}.selection-title{margin:28px 0}.selection-title h1{font-size:33px;max-width:280px;line-height:1.1;letter-spacing:-1.7px}.selection-title p{font-size:11px}.star-total{font-size:23px;padding:13px;border-radius:18px}.star-total>span{font-size:8px}.chapter-grid{grid-template-columns:repeat(2,1fr);gap:12px}.chapter-grid .vehicle-card{min-height:230px}.chapter-grid .vehicle-card img{height:135px}.chapter-grid .card-name{font-size:16px;line-height:1.2}.earned{font-size:14px;right:13px;top:15px}.chapter-grid .card-index{font-size:9px}.pagination{margin:25px 0}.game-header{height:64px;padding:8px 12px;gap:7px}.game-title strong{font-size:13px}.game-title>span{font-size:8px}.game-header>.pill span{display:none}.game-header .pill{padding:0 10px;font-size:18px}.game-header .header-tools{gap:4px}.game-header .sound-toggle{font-size:0;width:36px;padding:0}.game-header .sound-toggle:before{content:"♪";font-size:20px}.game-header .icon-button{width:36px;min-height:36px;font-size:19px}.game-main{padding:7px 10px 4px}.game-hint{font-size:14px;line-height:1.4}.instruction{gap:5px;min-height:54px}.hint-symbol{font-size:20px}.instruction .icon-button{width:30px;flex-shrink:0}.mission-progress{margin-bottom:8px;height:5px}.stage{border-radius:18px}.stage>canvas{max-height:none;width:100%;height:auto;max-width:100%;aspect-ratio:5/3}.game-controls{min-height:122px;flex-wrap:wrap;gap:8px;justify-content:center;padding:12px 0 8px}.move-group{margin-right:auto;gap:8px}.action-group{gap:8px;flex:1;justify-content:center}.sound-group{margin-left:auto;gap:6px}.control{min-width:60px;min-height:59px;border-radius:17px;font-size:23px}.action-control,.aux-control{font-size:13px;min-width:0;padding:10px 14px;min-height:59px}.small-control{font-size:10px;min-width:67px;min-height:46px;padding:7px;border-radius:13px}.play-tip{font-size:9px;line-height:1.5;min-height:28px;padding:0 5px}.win-card{padding:22px}.win-card h2{font-size:32px}.win-stars{font-size:29px}.win-card .eyebrow{font-size:7px}.win-card .reward{font-size:9px}.win-card>.primary{font-size:13px;min-height:48px;margin:13px 0 9px}.win-overlay .win-card{max-height:100%;overflow:auto}.win-card p{font-size:11px}.color-picker{gap:8px}.color-picker>button{width:25px;height:25px}}@media(max-width:390px){.brand-sub{display:none}.site-header{padding:12px 15px}.brand{font-size:13px}.site-header .fullscreen{display:none}.hero h1{font-size:58px}.title-star{left:265px;font-size:39px}.hero-art{height:280px}.card-name{font-size:15px}.card-name>span{width:23px;height:23px}.header-tools .icon-button{width:35px;min-height:35px}.game-header .fullscreen{display:none}.game-controls{gap:6px}.control{min-width:52px;min-height:55px}.action-control,.aux-control{min-width:0;font-size:12px;padding:9px}.small-control{min-width:65px;min-height:42px;font-size:10px}.game-title>span{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage>canvas{min-height:220px;object-fit:fill}.chapter-grid .card-name{font-size:13px}.chapter-grid .vehicle-card{min-height:220px}.chapter-grid .vehicle-card img{height:120px}.audio-row label{min-width:113px}}@media(max-height:580px)and (min-width:650px){.game-header{height:47px;padding:5px 14px}.game-header .icon-button,.game-header .pill{min-height:33px;height:33px}.game-main{padding:0 10px}.instruction{min-height:34px}.game-hint{font-size:14px}.mission-progress{height:4px;margin-bottom:5px}.game-controls{min-height:66px;padding:5px 0;flex-wrap:nowrap}.control{min-height:48px;min-width:64px;border-radius:15px}.action-control,.aux-control{font-size:13px;min-width:130px;padding:7px 14px}.small-control{font-size:11px;min-height:42px;min-width:80px}.stage>canvas{max-height:calc(100svh - 180px);width:auto;height:100%;aspect-ratio:5/3}.play-tip{font-size:8px;min-height:15px}.win-card{padding:15px}.win-stars{font-size:25px}.win-card h2{font-size:29px;margin:6px 0}.win-card .eyebrow{display:none}.reward{margin-top:8px;padding:7px}.win-card>.primary{min-height:40px;font-size:13px;margin:10px 0 6px}.pause-card{padding:20px}.pause-card h2{font-size:20px;margin:10px 0 15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.mission-detail{display:grid;gap:5px}.mission-detail strong{font-size:14px}.mission-detail small{font-size:10px;line-height:1.5;color:#7c8a75;font-weight:400}.mission-list>button{align-items:center}.mission-list>button>span:last-child{flex-shrink:0}.mission-story{font-size:12px;line-height:1.6;color:#78876f;text-align:center;margin:0 auto 10px;max-width:690px;flex-shrink:0}.game-title strong{white-space:nowrap}.mission-steps{display:flex;justify-content:center;gap:8px;margin:2px 0 12px;flex-shrink:0}.mission-steps span{font-size:11px;padding:9px 13px;background:#e9eddf;border-radius:12px;color:#7a8b76}.mission-steps .current{background:#fff1cd;color:#795f38;box-shadow:inset 0 0 0 1px #e6c78d}.mission-steps .done{background:#dae9d5;color:#557752}.journey-bar{display:flex;align-items:center;gap:12px;min-height:49px;flex-shrink:0;padding-top:8px}.travel-button,.help-button{background:#fff5db;border:1px solid #e7d5aa;border-radius:14px;min-height:44px;padding:9px 18px;font-size:13px;font-weight:700}.travel-button[aria-pressed=true]{background:#d9e9d0}.help-button{margin-left:auto;background:#e8eddf;border-color:#d3dcc9}.task-count{font-size:12px;color:#7c896e;font-weight:700}.show-help .play-tip{background:#fff0cc;color:#6b593b;border-radius:12px;padding:14px;font-size:13px;line-height:1.6;min-height:0}.hook-busy .action-control{background:#e7d8b8;box-shadow:none}.game-header .icon-button{min-width:42px;min-height:42px}.game-main .play-tip{max-width:900px;align-self:center}.game-controls .control{transition:background .15s}.win-card>.next-mission{display:flex;width:100%;background:#e3ead7;margin-bottom:8px}.color-picker{flex-wrap:wrap}.color-picker>button{width:36px;height:36px}.page-dot{position:relative;min-height:24px;min-width:24px;background:none}.page-dot:after{content:"";position:absolute;inset:6px;border-radius:20px;background:#d7ddcf}.page-dot.active{background:none;min-width:34px}.page-dot.active:after{background:#df9366}.settings-dialog input[type=range]{min-height:36px}.game-shell{height:100dvh}.stage{isolation:isolate}.stage>canvas{object-fit:fill}.game-controls{padding-bottom:7px}.small-control{min-height:48px}@media(max-width:760px)and (orientation:portrait){.game-shell{overflow:auto;min-height:100svh;height:100dvh}.game-header{height:62px;padding:6px 10px}.game-main{justify-content:center;padding:5px 10px 12px;flex:1}.instruction{min-height:56px;padding:5px 4px}.game-hint{font-size:16px}.mission-progress{width:60%;margin:3px auto 9px}.mission-steps{gap:5px;margin-bottom:12px}.mission-steps span{font-size:10px;padding:9px 7px;flex:1;text-align:center;line-height:1.5}.stage{width:100%;flex:0 0 auto;aspect-ratio:4/3;min-height:0;overflow:hidden;border-radius:24px}.stage>canvas{width:100%;height:100%;aspect-ratio:auto;min-height:0;max-height:none;object-fit:fill}.game-controls{display:grid;grid-template-columns:auto 1fr;gap:13px 10px;min-height:0;padding:16px 0 10px}.move-group{margin:0;gap:9px}.move-control{min-width:61px;min-height:64px}.action-group{width:100%;gap:8px}.action-group button{flex:1;min-height:64px;font-size:15px;padding:10px 8px;line-height:1.3}.sound-group{grid-column:1/-1;margin:0;justify-content:center;gap:12px}.sound-group .control{min-width:78px;min-height:46px;font-size:11px;padding:8px 12px}.game-controls:has(.move-control[hidden]){grid-template-columns:1fr}.game-controls:has(.action-control[hidden]):not(:has(.aux-control:not([hidden]))){display:flex;flex-wrap:wrap;justify-content:space-between}.game-controls:has(.action-control[hidden]) .action-group{width:0;flex:0}.game-controls:has(.action-control[hidden]) .sound-group{margin-left:auto}.journey-bar{min-height:58px}.travel-button{min-height:48px;flex:1;font-size:14px}.help-button{min-height:44px;font-size:12px;padding:8px 13px}.task-count{font-size:11px}.play-tip{font-size:11px;line-height:1.6;min-height:34px;padding:2px 6px}.win-overlay,.pause-overlay{position:fixed;inset:0;padding:20px;background:#2b444a88}.win-card{width:100%;max-height:90dvh!important;padding:27px 23px}.win-card h2{font-size:38px}.win-card>.primary{font-size:16px;min-height:54px}.win-card .reward{font-size:11px}.win-card>.secondary{min-height:44px}.win-stars{font-size:37px}.game-title>span{max-width:130px}.site-header .header-tools{gap:6px}.hero-description{font-size:14px}.hero-facts{font-size:10px}.selection-title h1{font-size:31px}.mission-list>button{min-height:65px;font-size:15px}.mission-head img{height:140px}.mission-dialog{max-height:94dvh}.mission-dialog .color-picker>span{flex-basis:100%}.mission-dialog .color-picker{gap:14px;padding-top:12px}.settings-dialog{max-height:92dvh}.modal-close{min-width:44px;min-height:44px}}@media(max-width:760px)and (max-height:710px)and (orientation:portrait){.game-main{justify-content:flex-start}.instruction{min-height:48px}.game-hint{font-size:14px}.mission-steps{margin-bottom:8px}.mission-steps span{padding:6px;font-size:9px}.journey-bar{min-height:51px}.game-controls{padding-top:10px;gap:10px}.move-control,.action-group button{min-height:55px}.sound-group .control{min-height:44px}.play-tip{font-size:10px}.stage{aspect-ratio:1.5}.travel-button{min-height:44px}.game-header .header-tools{gap:2px}.game-header .icon-button{min-width:36px;width:36px;min-height:40px}.game-title{max-width:100px}.game-title>span{max-width:100px}}@media(max-height:580px)and (orientation:landscape){.game-main{display:grid;grid-template-columns:minmax(0,1fr) 205px;grid-template-rows:34px 5px minmax(0,1fr) 23px;gap:5px 14px;max-width:1400px;padding:3px 12px 7px}.instruction{grid-column:1;grid-row:1;min-height:0}.mission-progress{grid-column:1;grid-row:2;margin:0 auto}.stage{grid-column:1;grid-row:3;min-height:0;width:100%;height:100%}.stage>canvas{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:fill}.mission-steps{grid-column:2;grid-row:1/3;margin:0;align-items:center;gap:3px}.mission-steps span{font-size:8px;padding:5px;line-height:1.2}.journey-bar{grid-column:2;grid-row:4;min-height:0;padding:0;justify-content:center}.journey-bar button{min-height:24px;padding:3px 8px;font-size:9px}.task-count{font-size:9px}.help-button{display:none}.game-controls{grid-column:2;grid-row:3;display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:0;padding:0}.move-group{margin:0;gap:8px}.move-control{min-width:75px;min-height:48px}.action-group{width:100%;justify-content:center;gap:6px}.action-group .control{min-width:0;flex:1;min-height:48px;padding:6px;font-size:12px}.sound-group{margin:0;gap:6px;justify-content:center;flex-wrap:wrap}.sound-group .small-control{font-size:9px;min-width:55px;min-height:35px;padding:5px}.play-tip{grid-column:1;grid-row:4;font-size:9px;min-height:0;line-height:1.3}.win-overlay,.pause-overlay{position:fixed;inset:0}.win-card{max-height:94dvh;overflow:auto;max-width:450px}.win-card>.next-mission{min-height:35px;padding:8px}.show-help .play-tip{font-size:9px;padding:3px}.game-header{height:47px}.game-header .icon-button{min-height:35px}}@media(max-width:760px)and (orientation:portrait){.mission-story{font-size:11px;padding:0 10px;line-height:1.5;margin-bottom:9px}.mission-list>button{min-height:78px}.mission-detail small{font-size:10px}.mission-list{padding:15px 16px 8px}.mission-head{padding-bottom:18px}.mission-head img{height:115px}.mission-head h2{font-size:26px}.mission-list .mission-number{flex-shrink:0}.game-shell .show-help{overflow:auto}}@media(max-width:760px)and (max-height:710px)and (orientation:portrait){.mission-story{display:none}.game-controls .control{font-size:13px}.game-controls .move-control{font-size:23px}.game-controls .small-control{font-size:10px}}@media(max-height:580px)and (orientation:landscape){.mission-story{display:none}}@media(max-height:580px)and (orientation:landscape){.game-main{grid-template-rows:34px 5px minmax(0,1fr) 44px}.journey-bar button{min-height:44px;min-width:44px;font-size:11px;padding:6px 13px}.sound-group .small-control{min-height:44px;min-width:58px}.page-dot{min-width:44px;min-height:44px}}
