:root{font-family:Trebuchet MS,Verdana,sans-serif;color:#294c42;background:#f7f6f0;font-synthesis:none;--ink:#294c42;--muted:#7b8778;--orange:#d8754b;--cream:#fffcf2;--line:#e2e5d9}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #587f65;outline-offset:5px}[hidden]{display:none!important}.app{max-width:1536px;margin:auto;padding:0 48px}.site-header{height:94px;display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font:italic 700 37px Georgia,serif;letter-spacing:-1.9px}.brand svg{width:34px;height:39px;color:var(--orange)}.brand-dot{color:var(--orange)}.header-divider{height:25px;width:1px;background:#dbded0}.edition{font-size:10px;letter-spacing:2.1px;font-weight:800;color:#71806c}.header-tag{margin-left:auto;display:flex;align-items:center;gap:10px;color:#7a8576;font-size:12px}.header-tag>span{width:6px;height:6px;background:#90a679;border-radius:50%}.icon-button{width:37px;height:37px;border:1px solid #dce1d3;border-radius:50%;color:var(--ink);background:transparent;display:grid;place-items:center;font-size:17px;font-weight:700;transition:.2s}.icon-button:hover{background:#e8eddd;transform:translateY(-1px)}.icon-button svg{width:19px;height:19px}.above-stage{height:54px;display:flex;align-items:center;justify-content:space-between}.tiny-label{font-size:10px;letter-spacing:2.3px;font-weight:800;color:#7d8975}.desktop-label{display:flex;align-items:center;gap:7px;font-size:11px;color:#8a9383}.desktop-label svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.2;fill:none}.game-window{position:relative;aspect-ratio:16/9;width:100%;max-height:calc(100dvh - 162px);max-width:calc((100dvh - 162px)*16/9);margin:auto;border-radius:22px;overflow:hidden;border:1px solid #d7dfca;background:#e9efdc;box-shadow:0 15px 40px #4256380a;container-type:inline-size;isolation:isolate}#world{display:block;width:100%;height:100%;object-fit:fill}.loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:16px;justify-content:center;align-items:center;background:#f7f5e8;color:#607b59;font-size:15px;z-index:20}.loader{height:30px;width:30px;border:3px solid #e0e6d3;border-top-color:#d8754b;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.77cqw;letter-spacing:.14cqw;font-weight:800;color:#879374;line-height:1.6}.eyebrow svg{width:1.3cqw;height:1.3cqw;fill:#d79b60}.intro{font-size:1.52cqw;line-height:1.6;margin:0 0 1.25cqw;color:#536c55;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;gap:1.6cqw;border:0;min-height:3.8cqw;padding:1cqw 1.7cqw;border-radius:.95cqw;font-size:1.12cqw;line-height:1.35;font-weight:700;transition:transform .18s,background .18s,box-shadow .18s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.primary{background:var(--orange);color:#fff9e9;box-shadow:0 .3cqw #b75e3b,0 .6cqw 1cqw #a75c3421}.primary:hover{background:#ce6c45;box-shadow:0 .3cqw #b75e3b,0 .8cqw 1.3cqw #a75c3433}.button>span:last-child:not(.keycap){font-size:1.65cqw;line-height:1}.secondary{background:#edf0e3;color:#57714f;box-shadow:none}.full{width:100%;margin-bottom:1cqw}.text-button{border:0;background:none;color:#718466;font-size:12px;padding:8px 0;text-decoration:none}.text-button:hover{color:#b85e3f;text-decoration:underline}.keycap,kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.55cqw;height:1.65cqw;background:#fffbee;border:1px solid #dadfca;border-bottom-width:2px;border-radius:.3cqw;font:700 .85cqw Trebuchet MS,sans-serif;color:#6f815f}.keycap.wide{padding:0 .5cqw;margin-left:.8cqw}.hint-dot{padding:0 .35cqw}.route-preview{position:absolute;bottom:0;left:0;right:0;height:11.8%;background:#faf9eedf;backdrop-filter:blur(10px);border-top:1px solid #e5e6d37a;display:flex;align-items:center;justify-content:space-between;padding:0 4.3%;gap:1cqw}.route-caption{font-size:.65cqw;line-height:1.8;letter-spacing:.1cqw;font-weight:800;color:#8b927c}.route-stop{display:flex;align-items:center;gap:.9cqw;white-space:nowrap;font-size:.92cqw;font-weight:700}.route-number{height:2.6cqw;width:2.6cqw;border:1px solid #d3dbc2;border-radius:50%;display:grid;place-items:center;font-size:.78cqw;color:#8d9b76;background:#fffcec}.route-stop small{display:block;margin-top:.32cqw;color:#8e9781;font-size:.7cqw;font-weight:400}.route-dash{height:1px;width:3cqw;border-top:1px dashed #cbd4bb}.hud{position:absolute;left:3%;top:5%;right:2.4%;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.mission{padding:1.15cqw 1.6cqw;background:#fffcf2ed;border:1px solid #e5e9d9;border-radius:1.1cqw;box-shadow:0 4px 15px #34482506}.mission .eyebrow{font-size:.64cqw;color:#ad956b}.mission h2{font-size:1.65cqw;letter-spacing:-.04cqw;margin:.25cqw 0 .4cqw}.mission p{font-size:.88cqw;margin:0;color:#879074}.hud-right{display:flex;align-items:center;gap:1cqw;pointer-events:auto}.inventory{display:flex;gap:.5cqw;background:#fffcf2eb;border:1px solid #e5e9d9;padding:.6cqw .9cqw;border-radius:1cqw}.inventory-item{position:relative;display:flex;flex-direction:column;align-items:center;width:4.1cqw;font-size:.6cqw;gap:.15cqw;color:#8e987d}.inventory-item canvas{width:2.9cqw;height:2.9cqw;opacity:.35;filter:grayscale(.65)}.inventory-item.found canvas{opacity:1;filter:none}.inventory-item.found:after{content:"\2713";position:absolute;right:0;top:0;color:#5b875b;font-weight:800;font-size:.85cqw}.glass{height:3.2cqw;width:3.2cqw;background:#fffcf2d9}.zone-progress{position:absolute;bottom:3.5%;left:3.3%;display:flex;align-items:center;gap:.7cqw;color:#a79a7a;font-size:.67cqw;letter-spacing:.05cqw}.zone-progress b{margin-left:.3cqw;font-size:.6cqw}.zone-progress>span{padding:.4cqw .6cqw;background:#f8f1dbab;border-radius:.4cqw}.zone-progress .active{background:#fff7df;color:#536f4e}.zone-progress .complete{color:#5c885b}.zone-progress i{width:1cqw;height:1px;background:#c2b48f}.scene-caption{position:absolute;bottom:4%;right:3.5%;font-size:.68cqw;color:#8d876d}.collect-toast{position:absolute;top:23%;left:50%;transform:translate(-50%);background:#fff9e9f5;padding:.8cqw 1.6cqw;border:1px solid #dbd8ba;border-radius:3cqw;color:#4f704c;font-size:1cqw;box-shadow:0 5px 25px #5060400b;pointer-events:none;animation:toast-in .25s ease-out}.interact{position:absolute;left:50%;bottom:14%;transform:translate(-50%);padding:.7cqw 1.4cqw;gap:1cqw;font-size:.95cqw;min-height:3.4cqw}.interact:hover{transform:translate(-50%,-2px)}.interact .keycap{color:#b2613f}.modal-shade{position:absolute;inset:0;background:#2a493b45;backdrop-filter:blur(5px);z-index:5}.modal{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffcf1;border:1px solid #f6f1df;padding:3cqw;border-radius:1.7cqw;text-align:center;box-shadow:0 20px 90px #2d4a3b26;width:52cqw;max-height:95%;overflow:auto}.modal.compact{width:38cqw}.modal h2{font-size:2.5cqw;line-height:1.15;letter-spacing:-.09cqw;margin:.9cqw 0 1.2cqw}.modal p{font-size:1cqw;line-height:1.7;color:#829076;margin:0 0 1.8cqw}.modal .eyebrow{font-size:.66cqw}.modal .text-button{font-size:.9cqw;display:block;margin:.2cqw auto 0}.modal-decoration{display:block;color:#d6b473;font-size:3cqw;margin-bottom:.6cqw}.control-row{display:flex;align-items:center;justify-content:space-between;padding:.8cqw 0;border-bottom:1px solid #e9e9da;font-size:.9cqw;color:#7d8b70}.control-row:last-of-type{margin-bottom:1.2cqw}kbd{padding:0 .5cqw;min-width:1.8cqw;height:2cqw}.chapter-foods{display:flex;justify-content:center;gap:1.5cqw;margin:-.3cqw 0 1.2cqw}.chapter-foods canvas{width:6cqw;height:6cqw;background:#f2efd9;border-radius:50%;padding:.8cqw}.recipe-modal{width:58cqw;padding:2.3cqw 3cqw}.recipe-modal h2{margin:.6cqw 0 .7cqw}.recipe-modal>p{font-size:.9cqw;margin-bottom:1.1cqw}.recipe-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:.4cqw;margin:1.3cqw 0}.food-option{position:relative;display:flex;align-items:center;flex-direction:column;gap:.3cqw;border:1px solid #e4e6d3;border-radius:.7cqw;background:#f5f3e6;padding:.6cqw .2cqw;color:#7b866e;font-size:.65cqw;transition:.15s}.food-option canvas{width:3.4cqw;height:3.4cqw}.food-option:hover{background:#ecefdc;transform:translateY(-3px)}.food-option[aria-pressed=true]{background:#e9edcf;border:2px solid #8da578;padding:calc(.6cqw - 1px) calc(.2cqw - 1px);color:#3d6642}.food-option[aria-pressed=true]:after{content:"\2713";position:absolute;right:.25cqw;top:.1cqw;color:#658b56;font-size:.9cqw;font-weight:700}.recipe-bowl{min-height:7.8cqw;border-radius:1cqw;border:1px dashed #cbd5b4;background:#f1f2e0;padding:.6cqw}.recipe-bowl>span{font-size:.7cqw;color:#94a17c}.recipe-bowl>div{display:flex;gap:1cqw;justify-content:center;align-items:center;min-height:5cqw}.recipe-bowl canvas{width:4.4cqw;height:4.4cqw}.recipe-feedback{min-height:2.8cqw;margin:1cqw 0!important;font-size:.9cqw!important}.recipe-feedback.attention{color:#b7794b}.finish-modal{left:64%;width:52cqw;background:#fffbedf5}.finish-modal h2{font-size:3.3cqw}.finish-modal .finish-lesson{font-size:1.1cqw;color:#65845c}.finish-foods{display:flex;justify-content:center;gap:.3cqw;margin:0 0 1.2cqw}.finish-foods canvas{width:4cqw;height:4cqw}.below-stage{max-width:calc((100dvh - 162px)*16/9);margin:auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#939b87}.little-spark{font-size:16px;color:#c9b98a;margin-right:7px}.sound-shortcut{display:flex;align-items:center;gap:6px;background:none;border:0;color:#8b957e;font-size:11px;margin-left:auto;margin-right:24px}.sound-shortcut svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}.how-to{font-size:11px}.how-to>span{font-size:13px;padding-left:7px}footer{display:flex;justify-content:space-between;align-items:center;min-height:46px;border-top:1px solid var(--line);font-size:10px;color:#a0a593;letter-spacing:.2px}.mobile-notice{display:none}@keyframes toast-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(min-width:1700px){.app{padding:0 52px}.site-header{height:104px}.above-stage{height:62px}}@media(max-width:1100px){.app{padding:0 24px}.site-header{height:75px}.game-window{max-height:calc(100dvh - 118px);max-width:calc((100dvh - 118px)*16/9);border-radius:15px}.header-tag{font-size:10px}.edition{font-size:9px;letter-spacing:1px}.above-stage{height:45px}.below-stage{min-height:47px}footer{min-height:38px}.button{min-height:4.2cqw}}@media(max-width:760px),(pointer:coarse){.app{padding:0 15px}.site-header{height:74px;gap:15px}.brand{font-size:31px}.edition{font-size:8px}.header-tag,.header-divider{display:none}.site-header .icon-button{margin-left:auto}.above-stage{height:44px}.game-window{max-height:none;max-width:none;border-radius:14px}.below-stage>span,.sound-shortcut{display:none}.below-stage{min-height:38px;justify-content:flex-end}.mobile-notice{display:flex;flex-direction:column;gap:10px;background:#edeedc;border:1px solid #dce1c9;border-radius:15px;padding:22px;margin:8px 0 26px;font-size:13px;line-height:1.7;color:#7e8a70}.mobile-notice strong{font-size:17px;color:#46654c}.desktop-label{font-size:9px}footer{font-size:9px;gap:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.loader{border-color:#d5b985}}.site-header{height:72px}.above-stage{height:38px}.below-stage{min-height:44px}footer{min-height:30px}.game-window{max-height:calc(100dvh - 130px);max-width:calc((100dvh - 130px)*16/9)}.below-stage{max-width:calc((100dvh - 130px)*16/9)}.button{font-size:clamp(13px,1.12cqw,17px);min-height:40px}.route-caption{font-size:clamp(7px,.65cqw,10px)}.route-stop{font-size:clamp(10px,.92cqw,14px)}.route-stop small{font-size:clamp(8px,.7cqw,11px)}.route-number{font-size:clamp(9px,.78cqw,12px)}.mission h2{font-size:clamp(18px,1.65cqw,25px)}.mission p{font-size:clamp(11px,.88cqw,14px)}.mission .eyebrow{font-size:clamp(8px,.64cqw,10px)}.inventory-item{font-size:clamp(9px,.7cqw,11px);width:4.5cqw}.zone-progress{font-size:clamp(9px,.67cqw,11px)}.zone-progress b{font-size:clamp(8px,.6cqw,10px)}.scene-caption{font-size:clamp(9px,.68cqw,11px)}.collect-toast{font-size:clamp(12px,1cqw,16px)}.modal h2{font-size:clamp(24px,2.5cqw,36px)}.modal .eyebrow{font-size:clamp(9px,.66cqw,11px)}.modal p,.recipe-modal>p,.recipe-feedback{font-size:clamp(12px,1cqw,16px)!important}.modal .text-button,.control-row{font-size:clamp(12px,.9cqw,15px)}.keycap,kbd{font-size:clamp(10px,.85cqw,13px);min-width:18px;min-height:20px}.recipe-modal{width:70cqw;padding:2cqw 3cqw}.recipe-grid{margin:1cqw 0}.food-option{font-size:clamp(10px,.8cqw,13px);gap:.4cqw}.food-option canvas{width:4cqw;height:4cqw}.recipe-bowl>span{font-size:clamp(11px,.8cqw,13px)}.recipe-feedback{min-height:2.8cqw}.finish-modal h2{font-size:clamp(29px,3.3cqw,48px)}#world:focus{outline:none}@media(max-width:1100px){.site-header{height:64px}.above-stage{height:34px}.game-window{max-height:calc(100dvh - 118px);max-width:calc((100dvh - 118px)*16/9)}.below-stage{max-width:calc((100dvh - 118px)*16/9);min-height:40px}footer{min-height:30px}.header-tag{font-size:10px}}@media(max-width:760px),(pointer:coarse){.site-header{height:70px}.game-window{max-height:none;max-width:none}.below-stage{max-width:none}.route-caption{font-size:.65cqw}.route-stop{font-size:.92cqw}.route-stop small{font-size:.7cqw}.route-number{font-size:.78cqw}.keycap{font-size:.85cqw;min-width:0;min-height:0}}.picnic-label{display:block;color:#99a184;font-size:clamp(9px,.65cqw,11px);letter-spacing:.07cqw;margin:.4cqw 0}.picnic-basket{display:flex;justify-content:center;gap:1cqw;padding:.5cqw;margin:0 0 1cqw;border-radius:.7cqw;background:#f1efdc}.picnic-basket>div{display:flex;flex-direction:column;align-items:center;gap:.25cqw;font-size:clamp(9px,.65cqw,11px);color:#8d967b}.picnic-basket canvas{width:3cqw;height:3cqw}.finish-modal{padding:2cqw 3cqw}.finish-modal h2{margin:.7cqw 0}.finish-modal p{margin-bottom:.8cqw}.finish-foods{margin-bottom:.6cqw}.finish-modal .finish-lesson{margin-bottom:1cqw}.game-window[data-mode=finished] .modal-shade{backdrop-filter:none;background:linear-gradient(90deg,#30493000,#30493018)}.lives-panel{background:#fffcf2ed;border:1px solid #e5e9d9;border-radius:1cqw;min-width:8cqw;padding:.65cqw 1cqw;display:flex;flex-direction:column;align-items:center;gap:.35cqw}.lives-panel>span{font-size:clamp(8px,.65cqw,11px);letter-spacing:.1cqw;font-weight:800;color:#b38d69}.hearts{display:flex;gap:.25cqw}.heart{width:clamp(17px,1.65cqw,25px);height:clamp(17px,1.65cqw,25px);fill:#d97961;stroke:#c2715b;stroke-width:1.5}.heart.lost{fill:#f0eadb;stroke:#c8c8b2}.empty-hearts{color:#c8947e;letter-spacing:.3cqw;font-size:2.2cqw}.route-meter{position:absolute;bottom:3.7%;left:43%;width:14%;color:#8c886b;font-size:clamp(8px,.6cqw,10px);display:flex;flex-direction:column;gap:.35cqw}.route-meter>span{display:flex;justify-content:space-between;letter-spacing:.06cqw}.route-meter>div{height:4px;border-radius:6px;background:#c4b78c66;overflow:hidden}.route-meter i{display:block;height:100%;width:0;background:#7e9a65;border-radius:6px}.game-window[data-mode=welcome] .route-meter,.game-window[data-mode=help] .route-meter,.game-window[data-mode=finished] .route-meter,.game-window[data-mode=recipe] .route-meter{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.rider-status{position:absolute;z-index:2;top:15%;left:50%;transform:translate(-50%);max-width:90%;padding:9px 18px;border:2px solid #b58547;border-radius:22px;background:#fff1cf;color:#684b2b;font-size:clamp(12px,1.05cqw,17px);font-weight:800;text-align:center;pointer-events:none}.score-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:9px;padding-top:8px;border-top:1px solid #dce1c9;font-size:12px;color:#526546;white-space:nowrap}.score-line b{font-size:16px;margin-left:4px;color:#294c42}.score-line>span:last-child{color:#896321;font-weight:800}.combo-label{display:block;min-height:0;font-size:11px;color:#9d612c;font-weight:800;letter-spacing:.5px}.combo-label:not(:empty){margin-top:5px}.chapter-stats{display:flex;justify-content:center;gap:22px;font-size:18px;color:#385c3b;margin:12px 0}.chapter-stats>span{color:#976d25}.result-badges{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:12px 0}.result-badges>span{font-size:11px;border:1px solid #d8dcc9;border-radius:16px;padding:6px 10px;color:#79816e;background:#f5f4e9}.result-badges>.earned{color:#54703d;background:#eaf0ce;border-color:#acbd85}.modal p.record-label{font-size:12px;margin:10px 0;color:#83643d}.touch-guide{display:none}@media(max-width:760px),(any-pointer:coarse){.rider-status{position:static;order:0;transform:none;max-width:none;padding:7px 8px;border:0;border-top:1px solid #d9b678;border-radius:0;font-size:11px}}@media(orientation:landscape)and (max-height:540px){.rider-status{position:absolute;left:50%;top:25%;transform:translate(-50%);max-width:95%;padding:5px 10px;border:1px solid #b58547;border-radius:18px;font-size:10px}}@media(max-width:760px),(any-pointer:coarse){.score-line{font-size:9px;gap:6px;margin-top:5px;padding-top:4px}.score-line b{font-size:12px;margin-left:2px}.combo-label{font-size:9px;letter-spacing:0}.combo-label:not(:empty){margin-top:3px}.chapter-stats{font-size:16px;gap:14px}.result-badges>span{font-size:10px;padding:5px 8px}}@media(max-width:380px){.mission{min-width:0}.score-line{flex-wrap:wrap;gap:2px 6px}.hud-right{flex-shrink:0}}@media(max-width:760px),(any-pointer:coarse){.app{padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.site-header{height:58px;gap:12px}.brand{font-size:29px}.brand svg{width:27px;height:31px}.edition{font-size:7px;letter-spacing:1px}.header-tag,.header-divider{display:none}.site-header .icon-button{margin-left:0;flex-shrink:0;width:44px;height:44px}.site-header #sound-shortcut{margin-left:auto}.above-stage{height:32px}.tiny-label{font-size:8px;letter-spacing:1.5px}.desktop-label{font-size:10px}.game-window{display:flex;flex-direction:column;container-type:normal;width:min(100%,calc((100dvh - 280px)*16/9));max-width:none;max-height:none;aspect-ratio:auto;border-radius:16px}#world{width:100%;height:auto;aspect-ratio:16/9;order:1;touch-action:none}.keyboard-guide{display:none!important}.touch-guide{display:block}.intro{font-size:14px;line-height:1.5;margin:0 0 10px}.hud{position:static;order:0;padding:10px;gap:8px;background:#f9f9ee;align-items:center;pointer-events:auto}.mission{padding:0;border:0;box-shadow:none;background:none;max-width:42%}.mission .eyebrow{font-size:8px;letter-spacing:.5px}.mission h2{font-size:14px;letter-spacing:-.3px;margin:3px 0}.mission p{font-size:11px;line-height:1.4}.hud-right{gap:5px}.inventory{gap:2px;padding:5px;border-radius:10px}.inventory-item{width:24px;font-size:8px;gap:2px}.inventory-item canvas{width:23px;height:23px}.inventory-item.found:after{font-size:11px}.lives-panel{min-width:56px;padding:6px;border-radius:10px;gap:3px}.lives-panel>span{font-size:8px;letter-spacing:.5px}.heart{width:14px;height:14px}.hearts{gap:2px}.glass{height:44px;width:44px}.glass svg{width:18px;height:18px}.collect-toast{top:auto;bottom:10px;max-width:calc(100% - 20px);width:max-content;font-size:11px;line-height:1.4;padding:7px 12px;border-radius:18px;text-align:center}.interact{bottom:12px;min-height:44px;font-size:13px;padding:10px 18px;border-radius:12px;white-space:nowrap}.modal-shade{position:fixed;z-index:10;inset:0}.modal,.modal.compact,.recipe-modal,.finish-modal{position:fixed;z-index:11;left:50%;top:50%;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:22px;border-radius:18px;overscroll-behavior:contain}.modal h2,.finish-modal h2{font-size:27px;letter-spacing:-.6px;margin:8px 0 12px}.modal p,.recipe-modal>p,.recipe-feedback{font-size:13px!important;line-height:1.6;margin:0 0 14px}.modal .eyebrow{font-size:9px;letter-spacing:1px}.modal-decoration{font-size:28px;margin-bottom:8px}.modal .text-button{font-size:13px;min-height:44px;margin:2px auto 0}.button{font-size:14px;min-height:44px;padding:11px 16px;border-radius:10px;gap:12px}.button>span:last-child:not(.keycap){font-size:21px}.full{margin-bottom:10px}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.food-option{min-height:70px;font-size:12px;padding:6px;border-radius:10px}.food-option canvas{width:42px;height:42px}.recipe-bowl{min-height:70px;padding:8px;border-radius:10px}.recipe-bowl>span{font-size:12px}.recipe-bowl>div{min-height:46px;gap:10px}.recipe-bowl canvas{width:42px;height:42px}.recipe-feedback{margin:10px 0!important;min-height:40px}.picnic-label{font-size:9px;margin:8px 0}.picnic-basket{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;margin-bottom:10px;border-radius:10px}.picnic-basket>div{font-size:11px;gap:4px}.picnic-basket canvas{width:34px;height:34px}.finish-foods canvas{width:50px;height:50px}.finish-modal .finish-lesson{font-size:13px;margin-bottom:12px}}@media(max-width:380px){.edition{display:none}.hud{padding:8px;gap:4px}.mission h2{font-size:12px}.mission p{font-size:10px}.inventory-item{width:21px}.inventory-item canvas{width:21px;height:21px}.hud-right{gap:4px}.lives-panel{min-width:51px;padding:5px}}@media(orientation:landscape)and (max-height:540px)and (max-width:1000px),(orientation:landscape)and (max-height:540px)and (any-pointer:coarse){.site-header{height:44px}.brand{font-size:24px}.brand svg{width:24px;height:27px}.site-header .icon-button{width:44px;height:44px}.above-stage{display:none}.game-window{width:min(calc(100vw - 264px - env(safe-area-inset-left) - env(safe-area-inset-right)),calc((100dvh - 64px - env(safe-area-inset-top))*16/9));margin:6px auto 0;aspect-ratio:16/9;display:block}#world{height:100%;aspect-ratio:16/9}.hud{position:absolute;top:8px;left:8px;right:8px;padding:0;background:none;align-items:flex-start;gap:6px}.mission{max-width:30%;background:#fffcf2e8;padding:5px;border-radius:8px}.mission .eyebrow{font-size:7px}.mission h2{font-size:11px;margin:2px 0}.mission p{display:none}.inventory{padding:4px;gap:2px}.inventory-item{width:21px;font-size:7px}.inventory-item canvas{width:20px;height:20px}.lives-panel{min-width:46px;padding:5px 3px}.heart{width:12px;height:12px}.lives-panel>span{font-size:7px}.glass{width:44px;height:44px}.hud-right{gap:4px}.game-window[data-mode=welcome],.game-window[data-mode=help]:has(.welcome:not([hidden])),.game-window[data-mode=restart]:has(.welcome:not([hidden])){width:100%;aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center}.game-window[data-mode=welcome] #world,.game-window[data-mode=help] #world{grid-column:2;grid-row:1;height:auto}.intro{font-size:12px;margin-bottom:6px}.collect-toast{font-size:10px;bottom:6px;padding:5px 9px}}@media(orientation:landscape)and (max-height:540px)and (max-width:680px){.game-window{width:min(calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)),calc((100dvh - 126px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*16/9))}.game-window[data-mode=welcome],.game-window[data-mode=help]:has(.welcome:not([hidden])),.game-window[data-mode=restart]:has(.welcome:not([hidden])){width:100%}}.score-only{display:flex;align-items:baseline;gap:9px;color:#294c42;text-shadow:0 1px 2px #fffbdc}.score-only>span{font-size:12px;font-weight:800;letter-spacing:1.8px}.score-only>b{font-size:27px;line-height:1;font-variant-numeric:tabular-nums}.discount-panel{display:flex;align-items:center;gap:8px;border:1px solid #c8b47b;background:#fff9dfed;border-radius:13px;padding:10px 12px;color:#7d5723}.discount-panel>span{font-size:9px;font-weight:800;letter-spacing:1px}.discount-panel>b{font-size:22px;font-variant-numeric:tabular-nums}.finish-discount{display:flex;flex-direction:column;gap:4px;align-items:center;background:#fff1c7;border:1px solid #dec586;border-radius:17px;margin:12px 0 18px;padding:14px}.finish-discount>span{font-size:11px;letter-spacing:2px;font-weight:800;color:#8a6c35}.finish-discount>strong{font-size:50px;line-height:1.1;color:#9b5c25}@media(max-width:760px),(any-pointer:coarse){.hud{justify-content:space-between;min-height:65px}.score-only{gap:5px;flex-direction:column;flex-shrink:0}.score-only>span{font-size:8px;letter-spacing:1px}.score-only>b{font-size:22px}.discount-panel{padding:6px 7px;gap:3px;flex-direction:column;border-radius:9px}.discount-panel>span{font-size:7px;letter-spacing:.4px}.discount-panel>b{font-size:18px}.hud-right{align-items:center;gap:5px}.finish-discount>strong{font-size:46px}}@media(orientation:landscape)and (max-height:540px){.hud{min-height:0}.score-only{flex-direction:row;padding:6px;background:#fffbe7b8;border-radius:7px}.score-only>b{font-size:19px}.discount-panel{padding:5px 7px;gap:4px;flex-direction:row}.discount-panel>span{display:none}.discount-panel>b{font-size:18px}}:root{--ink:#233e4e;--orange:#ef8136;--cream:#fff7dc;--line:#c7ddbd;color:#233e4e;background:#e9f4df}body{background:radial-gradient(ellipse at 55% 12%,#f5ffe6,#e9f4df 70%)}.brand{color:#243f4b;text-shadow:0 2px #fff8d8}.game-window{border:3px solid #3e6264;box-shadow:0 6px #2b4a4b,0 16px 35px #375a4824;background:#84d9ef}.mission,.inventory,.lives-panel{border:2px solid #5e7d69;background:#fff9e8f5;box-shadow:0 3px #315b4933}.mission h2{color:#235849}.mission p{color:#52735c}.primary{background:#ed813a;box-shadow:0 4px #a9532c,0 7px #643d2520;color:#fffdf1}.primary:hover{background:#ff9348;box-shadow:0 4px #a9532c,0 8px 15px #643d2528}.modal{border:3px solid #54775f;background:#fff8e5;box-shadow:0 7px #254e4150,0 20px 70px #23443745}.collect-toast{background:#fff8d9;border:2px solid #a8b96f;color:#355c38;font-weight:800}.icon-button{background:#fbfff1;border-color:#a4bea0;box-shadow:0 2px #7e9e7525}.food-option[aria-pressed=true]{background:#d9efa4;border-color:#65a63f}@media(max-width:760px),(any-pointer:coarse){.game-window{border-width:2px;box-shadow:0 4px #2b4a4b}.mission{border:0;background:none}.mission,.inventory,.lives-panel{box-shadow:none}.inventory,.lives-panel{border-width:1px}}@media(max-width:380px){.mission p{display:none}.mission h2{font-size:13px}.hud{padding:9px}.inventory-item{width:22px}.inventory-item canvas{width:21px;height:21px}.lives-panel{min-width:52px}}@media(prefers-reduced-motion:reduce){.primary:hover{transform:none}}.game-window{--soil:#e4b86f}.game-window[data-biome=forest]{--soil:#d4b887}.game-window[data-biome=river]{--soil:#e1c997}.game-window[data-biome=meadow]{--soil:#ecd09a}.game-window[data-biome=mountain]{--soil:#d4c9b0}.game-window[data-biome=moonlight]{--soil:#beb8ae}.game-window[data-biome=fortress]{--soil:#c9b99c}.message-strip{position:absolute;z-index:2;left:0;right:0;bottom:0;height:11.66%;margin:0;padding:4px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff9df;pointer-events:none}.message-strip .collect-toast,.message-strip .rider-status{position:static;inset:auto;transform:none;width:auto;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;text-shadow:0 1px 3px #382416,0 0 4px #382416;font-size:14px;line-height:1.25;font-weight:700;text-align:center;overflow-wrap:anywhere;animation:none}.message-strip .rider-status{font-weight:800;color:#fff0aa}.message-strip:has(.rider-status:not([hidden])) .collect-toast{display:none}body:not([data-mode=playing]) .message-strip{visibility:hidden}.map-label{display:block;font-size:12px;font-weight:800;margin:8px 0 5px;color:#405b41}.map-select{display:block;width:100%;max-width:340px;min-height:44px;border:2px solid #789367;border-radius:10px;padding:9px 32px 9px 12px;background:#fffbed;color:#294c42;font:700 14px Trebuchet MS,Verdana,sans-serif;cursor:pointer}.map-select:focus-visible{outline:3px solid #e99542;outline-offset:3px}.map-hint{max-width:340px;font-size:11px!important;line-height:1.4!important;margin:6px 0 12px!important;color:#596e51}@media(max-width:760px),(any-pointer:coarse){.message-strip{position:relative;order:2;left:auto;right:auto;bottom:auto;width:100%;height:auto;min-height:56px;margin:-1px 0 0;padding:5px 10px;background:var(--soil)}.message-strip .collect-toast,.message-strip .rider-status{font-size:12px;line-height:1.35}.map-label{font-size:12px;margin-top:8px}.map-select{max-width:none;font-size:14px}}@media(orientation:landscape)and (max-height:540px)and (max-width:1000px),(orientation:landscape)and (max-height:540px)and (any-pointer:coarse){.game-window{width:min(calc(100vw - 264px - env(safe-area-inset-left) - env(safe-area-inset-right)),calc((100dvh - 124px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*16/9))}.game-window:not([data-mode=welcome]):not([data-mode=help]):not([data-mode=restart]){aspect-ratio:auto;padding-bottom:56px}.game-window #world{height:auto;aspect-ratio:16/9}.message-strip{position:absolute;left:0;right:0;bottom:0;min-height:56px;height:56px;margin:0;padding:5px 10px}.message-strip .collect-toast,.message-strip .rider-status{font-size:12px;line-height:1.35}.map-label{margin:5px 0 3px}.map-hint{font-size:10px!important;margin-bottom:8px!important}}.app{width:100%;max-width:none;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:16px}.site-header{width:100%;max-width:1600px;margin:0 auto}.site-header{height:44px}.above-stage{display:none}body:is([data-mode=playing],[data-mode=paused],[data-mode=rotate],[data-mode=help],[data-mode=restart],[data-mode=gameover]) .site-header{display:none}.game-window,.game-window[data-mode=welcome],.game-window[data-mode=help]:has(.welcome:not([hidden])),.game-window[data-mode=restart]:has(.welcome:not([hidden])){display:flex;flex-direction:column;aspect-ratio:auto;width:100%;max-height:none;max-width:min(1600px,calc((100svh - 80px)*16/7));margin:0 auto;border-radius:14px;padding-bottom:0;--soil:#c38c48}.game-window:not([data-mode=welcome]):not([data-mode=help]):not([data-mode=restart]){padding-bottom:0}.game-window[data-biome=orchard]{--soil:#be854d}.game-window[data-biome=garden]{--soil:#bd7f43}.game-window[data-biome=forest]{--soil:#a78358}.game-window[data-biome=river]{--soil:#ba9b72}.game-window[data-biome=meadow]{--soil:#bd9355}.game-window[data-biome=mountain]{--soil:#aa9c83}.game-window[data-biome=moonlight]{--soil:#8d8d91}.game-window[data-biome=fortress]{--soil:#a69178}.game-window[data-biome=city]{--soil:#495563}.playfield{position:relative;order:1;width:100%}.game-window #world{order:1;width:100%;height:auto;aspect-ratio:16/7}.hud{position:absolute;z-index:3;top:4px;left:6px;right:6px;min-height:0;padding:0;align-items:center;gap:8px;background:transparent}.hud,.hud .score-only,.hud .discount-panel,.hud .lives-panel{background:transparent;border:0;box-shadow:none}.hud .score-only,.hud .discount-panel,.hud .lives-panel{text-shadow:0 1px 2px #fffbdc,0 0 4px #fffbdc}.hud .glass{width:44px;height:44px}.score-only{gap:6px}.score-only>b{font-size:21px}.hud-right{gap:8px}.discount-panel{padding:3px 7px;gap:5px}.discount-panel>b{font-size:19px}.course-progress{min-width:0;max-width:260px;flex:1;margin:0 auto;color:#264c3c;text-shadow:0 1px 3px #fffbe8;font-size:12px;font-weight:800;text-align:center}.course-progress>span:first-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-track{display:block;height:4px;margin-top:4px;background:#fffbe8b3;border-radius:4px;overflow:hidden}.course-track>i{display:block;height:100%;width:0;background:#426e40;border-radius:4px}.lives-panel{padding:3px 6px;gap:2px}.heart{width:18px;height:18px;fill:#c64d49;stroke:#713c36;stroke-width:1.7}.heart.lost{fill:#fffbe5;stroke:#61736c}#game-window[data-biome=moonlight] .hud :is(.score-only,.course-progress,.discount-panel,.lives-panel){color:#fff4ce;text-shadow:0 1px 1px #14283a,1px 0 #14283a,-1px 0 #14283a}#game-window[data-biome=moonlight] .lives-panel>span{color:#fff4ce}#game-window[data-biome=moonlight] .hud .discount-panel{color:#ffd277}#game-window[data-biome=moonlight] .course-track{background:#172a43aa;box-shadow:0 0 0 1px #d5dfc570}#game-window[data-biome=moonlight] .course-track>i{background:#e5cb75}#course-progress[data-finale=locked] .course-track>i{background:#bc6936}#course-progress[data-finale=cleared] .course-track>i{background:#3b8253}#game-window[data-biome=moonlight] #course-progress[data-finale=locked] .course-track>i{background:#f0ba6c}#game-window[data-biome=moonlight] #course-progress[data-finale=cleared] .course-track>i{background:#99d39a}@media(max-width:420px){#course-progress:is([data-finale=locked],[data-finale=cleared]){position:absolute;top:48px;right:0;width:150px;max-width:calc(100% - 16px);margin:0;font-size:11px}}.message-strip{position:static;order:2;inset:auto;transform:none;min-height:24px;height:auto;width:100%;margin:-1px 0 0;padding:3px 7px;background:var(--soil)}.message-strip .collect-toast,.message-strip .rider-status{font-size:12px;line-height:1.2}.map-label{margin:4px 0;font-size:12px}.map-select{min-height:44px}.map-hint{margin:4px 0 7px!important;font-size:11px!important;line-height:1.25!important}.modal .button,.modal .text-button{min-height:44px;font-size:14px;padding:9px 14px}@media(max-width:760px),(any-pointer:coarse){.app{padding:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))}.site-header{height:44px;gap:6px}.brand{font-size:24px}.brand svg{width:22px;height:25px}.edition,.header-tag{display:none}.game-window,.game-window[data-mode=welcome],.game-window[data-mode=help]:has(.welcome:not([hidden])),.game-window[data-mode=restart]:has(.welcome:not([hidden])){display:flex;width:100%;max-width:none;margin:2px 0 0;aspect-ratio:auto;border:2px solid #3e6264;border-radius:10px;padding-bottom:0;box-shadow:0 3px #2b4a4b}.game-window #world{width:100%;height:clamp(248px,44svh,360px);min-height:0;aspect-ratio:auto}.game-window:has(.welcome:not([hidden])) #world{height:112px;min-height:0}.hud{position:absolute;top:3px;left:5px;right:5px;min-height:0;padding:0;gap:4px;align-items:center;background:transparent}.score-only{flex-direction:row;align-items:center;gap:4px;padding:0;background:none}.score-only>span{font-size:9px;letter-spacing:.4px}.score-only>b{font-size:18px}.hud-right{gap:7px}.discount-panel{flex-direction:row;border:0;padding:0;background:none}.discount-panel>span{display:none}.discount-panel>b{font-size:17px}.course-progress{font-size:10px;max-width:180px;margin:0 3px}.course-track{margin-top:3px}.lives-panel{min-width:52px;flex-direction:row;border:0;padding:0;background:none}.lives-panel>span{display:none}.heart{width:16px;height:16px}.hearts{gap:2px}.message-strip{position:static;min-height:32px;height:32px;padding:0;margin:-1px 0 0;background:var(--soil)}.message-strip .collect-toast,.message-strip .rider-status{position:absolute;left:12px;right:12px;bottom:76px;width:auto;max-width:none;padding:0 4px}.message-strip .collect-toast,.message-strip .rider-status{font-size:11px;line-height:1.2}.map-label{font-size:11px;margin:0 0 3px}.map-select{font-size:13px;margin-bottom:5px}.map-hint{font-size:11px!important}}@media(orientation:landscape)and (max-width:760px),(orientation:landscape)and (any-pointer:coarse){.game-window #world{height:calc(100svh - 52px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.game-window:has(.welcome:not([hidden])) #world{height:112px}}@media(max-width:760px),(any-pointer:coarse){body:has(#welcome[hidden]) .app{height:100svh;height:100dvh;min-height:0;justify-content:flex-start}body:has(#welcome[hidden]) main{display:flex;flex:1;min-height:0;width:100%}body:has(#welcome[hidden]) #game-window{flex:1;min-height:0;height:100%;max-height:none;max-width:none;margin:0;padding:0}body:has(#welcome[hidden]) #playfield{flex:1;min-height:0;height:100%}body:has(#welcome[hidden]) #world{height:100%;min-height:0;aspect-ratio:auto}body:has(#welcome[hidden]) #message-strip{display:none}}:root{--arcade-ink:#234642;--arcade-cream:#fff6dc;--arcade-orange:#f57c39;--arcade-mint:#d0ec9b}.button,.icon-button,.map-select{border:2px solid var(--arcade-ink);border-radius:16px;font-weight:800;box-shadow:0 4px 0 var(--arcade-ink);transition:background .15s,transform .15s,box-shadow .15s}.button{min-height:48px;padding:10px 18px;color:var(--arcade-ink);font-size:15px;gap:12px}.primary{background:var(--arcade-orange);color:#203b35;box-shadow:0 4px 0 var(--arcade-ink)}.primary:hover{background:#ff9850;box-shadow:0 4px 0 var(--arcade-ink)}.secondary{background:var(--arcade-cream);color:var(--arcade-ink)}.secondary:hover{background:var(--arcade-mint)}.button:active,.icon-button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--arcade-ink)}.button:focus-visible,.icon-button:focus-visible,.text-button:focus-visible,.map-select:focus-visible{outline:3px solid #f3ad36;outline-offset:3px}.icon-button,.site-header .icon-button,.hud .icon-button{width:44px;height:44px;border-radius:14px;background:var(--arcade-cream);color:var(--arcade-ink);box-shadow:0 3px 0 var(--arcade-ink)}.icon-button:hover{background:var(--arcade-mint);transform:none}.modal .button,.modal .text-button{min-height:48px;font-size:14px;border-radius:14px}.modal .text-button{padding:9px 12px;color:var(--arcade-ink)}.modal{border:3px solid var(--arcade-ink);border-radius:24px;background:var(--arcade-cream);box-shadow:0 7px #23464288}.game-window:has(.welcome:not([hidden])){border:3px solid var(--arcade-ink);border-radius:26px;box-shadow:0 6px #23464244;margin-top:10px}.game-window:has(.welcome:not([hidden])) #world{height:390px;aspect-ratio:auto;min-height:0}@media(max-width:760px),(any-pointer:coarse){.game-window:has(.welcome:not([hidden])){margin-top:5px;border-radius:20px}.game-window:has(.welcome:not([hidden])) #world{height:136px}}@media(orientation:landscape)and (max-height:540px)and (min-width:480px){.game-window:has(.welcome:not([hidden])){display:grid;grid-template-columns:46% 54%;height:min(300px,calc(100dvh - 64px));min-height:0}.game-window:has(.welcome:not([hidden])) .playfield{grid-column:2;grid-row:1;align-self:stretch;min-width:0;order:initial}.game-window:has(.welcome:not([hidden])) #world{width:100%;height:100%;min-height:0}}@media(prefers-reduced-motion:reduce){.button,.icon-button{transition:none}}#gameover-modal{display:flex;flex-direction:column;overflow:hidden}#gameover-modal>.modal-decoration,#gameover-modal>.eyebrow,#gameover-modal>h2,.gameover-actions{flex-shrink:0}#gameover-modal>.modal-decoration{font-size:24px;line-height:1;margin-bottom:4px}.gameover-copy{min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 3px;scroll-padding:6px}#gameover-modal .gameover-copy p{font-size:14px!important;line-height:1.45;margin:0 0 10px;color:#48634e}#gameover-modal #gameover-reason{font-size:15px!important;font-weight:800;color:#294c42}#gameover-modal .gameover-retry-note{font-size:12px!important;color:#61736c;margin-bottom:0}.gameover-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px;margin-top:10px;border-top:1px solid #d9d8b8}#gameover-modal .gameover-actions .button{min-width:0;min-height:44px;margin:0;padding:10px 8px;font-size:13px}.gameover-actions .text-button{grid-column:1/-1;width:100%;margin:0}@media(max-height:360px){#gameover-modal{padding:12px 16px}#gameover-modal>.modal-decoration,#gameover-modal>.eyebrow{display:none}#gameover-modal>h2{font-size:20px!important;line-height:1.1;margin:0 0 5px}#gameover-modal .gameover-copy p{font-size:12px!important;margin-bottom:6px}#gameover-modal .gameover-actions{gap:4px;padding-top:6px;margin-top:6px}#gameover-modal .gameover-actions .text-button{min-height:44px;padding:4px}}.journey-map-view{position:relative;min-width:0;width:100%;color:#344f41;text-align:left;font-family:inherit}.journey-map-view *{box-sizing:border-box}.journey-map-overview{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 12px;font-size:12px;line-height:1.4}.journey-map-overview>span:first-child{display:flex;align-items:center;gap:12px;min-width:0}.journey-map-overview strong{font-size:13px;white-space:nowrap}.journey-map-progress{color:#63765a}.journey-map-discount{display:flex;align-items:center;gap:6px;flex-shrink:0;color:#716343;font-size:11px}.journey-map-discount b{color:#805b2e;font-size:15px}.journey-map-scroll{max-height:min(480px,calc(100dvh - 205px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid #d7dfc5;border-radius:20px;background:#f5f2de;scrollbar-width:thin;scrollbar-color:#aab891 #f5f2de}.journey-map-terrain{position:relative;isolation:isolate;height:380px;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 12% 16%,#fff9e680,transparent 42%),radial-gradient(circle at 1px 1px,#9daa7920 .8px,transparent 1px),#f5f2de;background-size:auto,8px 8px,auto}.journey-map-scenery,.journey-map-trails,.journey-map-nodes{position:absolute;inset:0;width:100%;height:100%}.journey-map-scenery{z-index:-2;pointer-events:none;opacity:.92}.journey-map-trails{z-index:-1;overflow:visible;pointer-events:none}.journey-map-trails-mobile{display:none}.journey-trail{fill:none;stroke-linecap:round;stroke-linejoin:round}.journey-trail-visited{stroke:#bf803d;stroke-width:4}.journey-trail-suggested{stroke:#a9b591;stroke-width:3;stroke-dasharray:5 8}.journey-trail-selected{stroke:#d77b36;stroke-width:5;stroke-dasharray:8 6}.journey-map-nodes{pointer-events:none}.journey-map-view .journey-node{position:absolute;left:var(--journey-x);top:var(--journey-y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;width:21%;min-width:44px;min-height:116px;margin:0;padding:7px 5px 8px;pointer-events:auto;touch-action:manipulation;border:1px solid #c2cfae;border-radius:16px;background:#fffcf1;box-shadow:0 3px #b3c29a80,0 7px 16px #647c4714;color:#344f41;font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.journey-map-view .journey-node:not(:disabled):hover{border-color:#79955f;background:#fffef7;box-shadow:0 3px #9bb08280,0 7px 18px #647c4729}.journey-map-view .journey-node:focus-visible{outline:3px solid #315e56;outline-offset:4px;z-index:2}.journey-biome-icon{display:block;width:86px;height:55px;max-width:100%;flex-shrink:0;border-radius:10px;overflow:hidden}.journey-node-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-width:0}.journey-node-name{display:block;width:100%;font-size:12px;font-weight:800;line-height:1.18;overflow-wrap:anywhere;text-align:center}.journey-node-status{display:block;font-size:10px;line-height:1.15;font-weight:500;color:#657454;text-align:center}.journey-node-order,.journey-node-check{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:23px;height:23px;border:2px solid #fff9e8;border-radius:50%;background:#e8edd6;color:#536d45;font-size:11px;font-weight:800;box-shadow:0 1px 4px #47643b24}.journey-node-order{right:auto;left:-7px}.journey-node-check{background:#668655;color:#fff9e9;font-size:13px}.journey-map-view .journey-node-current{border-color:#759667;background:#f7faec}.journey-node-current .journey-node-status{color:#487044;font-weight:700}.journey-map-view .journey-node-complete:disabled{cursor:default;opacity:1;background:#edf2df;border-color:#b5c59f;box-shadow:0 2px #b3c29a50;color:#405b3e}.journey-node-complete .journey-node-status{color:#566d48}.journey-map-view .journey-node-locked:disabled{cursor:default;opacity:1;background:#eeeddf;border-color:#c7cbb7;box-shadow:0 2px #c6c9b250;color:#5c6654}.journey-node-locked .journey-biome-icon{filter:saturate(.35);opacity:.75}.journey-node-locked .journey-node-status{color:#606b56}.journey-map-view .journey-node-selected,.journey-map-view .journey-node-selected:not(:disabled):hover{border:2px solid #cd7638;padding:6px 4px 7px;background:#fff7e6;box-shadow:0 0 0 3px #e9bb6a40,0 3px #c68e5170,0 7px 18px #9b6b3824;z-index:1}.journey-node-selected .journey-node-status{color:#9b592a;font-weight:800}.journey-map-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:31px;padding:9px 3px 0;font-size:11px;line-height:1.3;color:#68785a}.journey-map-legend{display:flex;align-items:center;gap:6px;flex-shrink:0}.journey-map-legend i{display:block;width:21px;height:3px;border-radius:3px;background:#bf803d}.journey-map-selection{min-width:0;text-align:right;overflow-wrap:anywhere}.journey-map-selection strong{color:#80582f;font-weight:700}.journey-map-record{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:#3f5d47}.journey-map-challenge{display:block;font-size:11px;color:#627158}.journey-map-expanded .journey-map-terrain{height:450px}.journey-map-expanded .journey-node{width:28%}@media(max-width:600px){.journey-map-overview{align-items:flex-start;margin-bottom:9px;font-size:10px;gap:8px}.journey-map-overview>span:first-child{flex-direction:column;align-items:flex-start;gap:2px}.journey-map-overview strong{font-size:12px}.journey-map-discount{align-items:flex-end;flex-direction:column;gap:0;font-size:10px}.journey-map-discount b{font-size:14px}.journey-map-scroll{max-height:min(480px,calc(100dvh - 210px));border-radius:16px}.journey-map-terrain{height:480px}.journey-map-expanded .journey-map-terrain{height:380px}.journey-map-trails-desktop{display:none}.journey-map-trails-mobile{display:block}.journey-map-view .journey-node{left:var(--journey-mobile-x);top:var(--journey-mobile-y);width:43%;min-height:94px;max-width:220px;padding:5px 4px 6px;gap:3px;border-radius:13px}.journey-map-expanded .journey-node{width:29%;min-height:104px}.journey-map-expanded .journey-node-name{font-size:10px}.journey-biome-icon{width:64px;height:41px;border-radius:8px}.journey-node-copy{gap:3px}.journey-node-name{font-size:11px;line-height:1.18}.journey-node-status{font-size:9px;line-height:1.2}.journey-node-order,.journey-node-check{top:-5px;right:-5px;width:20px;height:20px;font-size:10px}.journey-node-order{right:auto;left:-5px}.journey-map-view .journey-node-selected,.journey-map-view .journey-node-selected:not(:disabled):hover{padding:4px 3px 5px}.journey-map-caption{align-items:flex-start;gap:8px;font-size:10px}}@media(prefers-reduced-motion:reduce){.journey-map-view .journey-node{transition:none}}.journey-modal{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(920px,calc(100vw - 24px));max-width:920px;max-height:calc(100dvh - 24px);padding:20px 24px;overflow:auto;overscroll-behavior:contain;background:#fff8e6;z-index:12;text-align:left}.journey-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.journey-heading .eyebrow{font-size:10px;margin-bottom:5px}.journey-heading h2{font-size:27px;line-height:1.1;margin:0;color:#294c42}.journey-heading .icon-button{flex-shrink:0;width:44px;height:44px;font-size:26px}.journey-instruction{font-size:13px;line-height:1.4;margin:12px 0 15px;color:#597063}.journey-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0 0;border-top:1px solid #d9dfc6;background:#fff8e6}.journey-actions p{font-size:12px;line-height:1.4;margin:0;color:#4a644d}.journey-actions .button{min-height:50px;font-size:14px;white-space:nowrap;padding:10px 18px}@media(max-width:600px){.journey-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:14px 12px;border-radius:18px}.journey-heading .eyebrow{font-size:8px;letter-spacing:1px}.journey-heading h2{font-size:23px}.journey-instruction{font-size:12px;margin:9px 0 11px}.journey-actions{position:sticky;bottom:-14px;flex-direction:column;align-items:stretch;gap:7px;padding:11px 0 4px;z-index:3}.journey-actions p{font-size:11px}.journey-actions .button{width:100%;min-height:48px;font-size:13px}}@media(orientation:landscape)and (max-height:540px){.journey-modal{padding:12px 18px}.journey-heading h2{font-size:23px}.journey-instruction{margin:6px 0 8px}.journey-actions{position:sticky;bottom:-12px;z-index:3;padding-top:8px}.journey-actions .button{min-height:44px}}.journey-modal{display:flex;flex-direction:column;overflow:hidden}.journey-heading,.journey-instruction,.journey-actions{flex-shrink:0}#journey-map{display:flex;flex-direction:column;min-height:0;flex-shrink:1}#journey-map>.journey-map-view{display:flex;flex-direction:column;min-height:0}.journey-map-overview,.journey-map-caption{flex-shrink:0}.journey-map-scroll{min-height:0;flex-shrink:1}#journey-modal .journey-actions{position:static}body[data-mode=help]{overflow:hidden}#help-backdrop{position:fixed;inset:0;z-index:30}#help-modal{--guide-top:max(12px,env(safe-area-inset-top,0px));--guide-right:max(12px,env(safe-area-inset-right,0px));--guide-bottom:max(12px,env(safe-area-inset-bottom,0px));--guide-left:max(12px,env(safe-area-inset-left,0px));position:fixed;z-index:31;inset:var(--guide-top) var(--guide-right) var(--guide-bottom) var(--guide-left);transform:none;margin:auto;width:min(940px,calc(100vw - var(--guide-left) - var(--guide-right)));height:fit-content;max-height:calc(100dvh - var(--guide-top) - var(--guide-bottom));padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column}#help-modal .guide-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 18px 12px;border-bottom:1px solid #d9d8b8;flex-shrink:0;background:#fff8e5}#help-modal .guide-heading .eyebrow{font-size:9px;letter-spacing:1.3px}#help-modal h2{font-size:26px;line-height:1.12;margin:4px 0 0;letter-spacing:-.6px}#help-modal .guide-close{width:44px;height:44px;min-width:44px;display:grid;place-items:center;border:2px solid #385247;border-radius:13px;background:#f1e9c8;color:#294c42;font-size:26px;line-height:1;box-shadow:0 3px #385247}#help-modal .guide-close:hover{background:#e5deb9}#help-modal .guide-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 18px 18px;scroll-padding:12px}#help-modal h3{font-size:16px;line-height:1.3;margin:18px 0 9px;color:#294c42}#help-modal .guide-body p{font-size:14px!important;line-height:1.5;margin:0 0 12px;color:#465c4d}#help-modal .guide-body .guide-intro{font-weight:700;color:#294c42;margin-bottom:8px}#help-modal .control-row{font-size:14px;padding:7px 0;gap:12px}#help-modal .guide-enemies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:start;margin:10px 0 18px}#help-modal .guide-card{border:1.5px solid #c9cda9;border-radius:13px;background:#fffdf1;overflow:hidden}#help-modal .guide-card summary{display:flex;align-items:center;gap:9px;padding:7px 9px;cursor:pointer;list-style:none;min-height:70px;color:#294c42;font-size:14px;font-weight:800}#help-modal .guide-card summary::-webkit-details-marker{display:none}#help-modal .guide-card summary:focus-visible,#help-modal .guide-rules summary:focus-visible{outline:3px solid #54775f;outline-offset:-3px;border-radius:10px}#help-modal .guide-card canvas{display:block;width:56px;height:56px;flex:0 0 56px;border-radius:11px;background:#eaf0d7}#help-modal .guide-enemy-name{min-width:0;flex:1;overflow-wrap:anywhere}#help-modal .guide-card small{display:block;font-size:11px;font-weight:400;line-height:1.3;margin-top:3px;color:#66765e}#help-modal .guide-expand{font-size:22px;font-weight:400;line-height:1;transition:transform .12s}#help-modal .guide-card[open] .guide-expand{transform:rotate(45deg)}#help-modal .guide-card[open]{border-color:#6d8c65;background:#f4f6e6}#help-modal .guide-card .guide-tactic{padding:3px 12px 12px;margin:0;font-size:13px!important}#help-modal .guide-rules{border-top:1px solid #d5d8bc;margin-top:6px;padding-top:4px}#help-modal .guide-rules summary{font-size:14px;font-weight:800;padding:11px 3px;cursor:pointer;color:#294c42}#help-modal .guide-rules p{padding:0 3px 7px}#help-modal .guide-controls{margin-top:0;border-top:0;padding-top:0}#help-modal .guide-controls summary{padding:8px 3px}#help-modal .guide-footer{padding:10px 18px 13px;border-top:1px solid #d9d8b8;background:#fff8e5;flex-shrink:0}#help-modal .guide-footer .button{width:100%;min-height:44px;margin:0}@media(max-width:600px){#help-modal .guide-heading{padding:12px 13px 10px}#help-modal h2{font-size:24px}#help-modal .guide-body{padding:12px 13px 15px}#help-modal .guide-enemies{grid-template-columns:1fr}#help-modal .guide-footer{padding:9px 13px 12px}}@media(min-width:900px){#help-modal .guide-enemies{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-height:360px){#help-modal .guide-heading{padding:7px 12px}#help-modal .guide-heading .eyebrow{display:none}#help-modal h2{font-size:20px;margin:0}#help-modal .guide-footer{padding:7px 12px}}@media(prefers-reduced-motion:reduce){#help-modal .guide-expand{transition:none}}@font-face{font-family:Nunito;src:url(./assets/nunito-latin-ext.woff2) format("woff2");font-style:normal;font-weight:400 1000;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;src:url(./assets/nunito-latin.woff2) format("woff2");font-style:normal;font-weight:400 1000;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Nunito,Trebuchet MS,sans-serif;--arcade-ink:#234642;--arcade-cream:#fff6dc;--arcade-orange:#fa7b22;--arcade-mint:#dcedbc;color:var(--arcade-ink)}button,select{font-family:inherit}.button{border:1.5px solid #587257;border-radius:18px;min-height:50px;font-weight:900;font-size:16px;box-shadow:0 3px #23464233;letter-spacing:.01em}.button.primary{background:#bc4f10;border-color:#f5a45b;color:#fffef1;box-shadow:inset 0 2px #fff5,0 5px #984013}.button.primary:hover{background:#b6490d;box-shadow:inset 0 2px #fff5,0 5px #984013}.button.secondary{background:#fff9e9;border-color:#9cad86;box-shadow:0 3px #61754d33}.button:active{transform:translateY(3px);box-shadow:0 1px #7b613c}.button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible{outline:3px solid #285c4a;outline-offset:4px}.icon-button{border:1.5px solid #3c6558;background:#fff9e9;box-shadow:0 3px #47624833;border-radius:18px}.play-icon{display:block;flex:none;width:.7em;height:.7em;filter:brightness(0) invert(1)}#journey-modal{width:min(1000px,calc(100vw - 32px));max-width:1000px;max-height:calc(100svh - 32px);padding:24px;border:1.5px solid #41664e;border-radius:28px;background:#fff9e8;box-shadow:0 8px #2b4e3b33}#journey-modal .journey-heading .eyebrow{display:none}#journey-modal .journey-heading h2{font-size:32px;font-weight:1000;letter-spacing:-.03em}#journey-modal .journey-instruction{margin:10px 0 18px;font-size:16px;line-height:1.35}#journey-modal .journey-actions{gap:16px;padding-top:16px;background:#fff9e8;border-color:#d2dcb9}#journey-modal .journey-actions p{font-size:14px}#journey-modal .journey-actions .button{min-height:56px;font-size:17px;padding:12px 24px}.journey-map-view{font-family:inherit}.journey-node-name{font-weight:900}.journey-map-starting .journey-map-overview,.journey-map-starting .journey-map-caption,.journey-map-starting .journey-node-status,.journey-map-starting .journey-map-scenery,.journey-map-starting .journey-map-trails{display:none}.journey-map-starting .journey-map-scroll{max-height:none;border:0;border-radius:0;background:transparent;padding:4px 4px 12px;scroll-padding:12px}.journey-map-starting .journey-map-terrain{height:auto;overflow:visible;background:transparent}.journey-map-starting .journey-map-nodes{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;height:auto;pointer-events:auto}.journey-map-view.journey-map-starting .journey-node{position:relative;left:auto;top:auto;transform:none;width:100%;min-height:130px;padding:12px;gap:9px;border:1.5px solid #d2dabd;border-radius:20px;background:#fffdf2;box-shadow:0 4px #8b9d6433}.journey-map-view.journey-map-starting .journey-node-selected{border:2px solid #eb8e34;background:#fff2cd;box-shadow:0 4px #cb822f66,0 0 0 3px #f8dca166}.journey-map-starting .journey-biome-icon{width:112px;height:72px;border-radius:12px}.journey-map-starting .journey-node-name{font-size:17px;line-height:1.2}.journey-map-starting .journey-node-order{display:none}#rotate-modal{width:min(360px,calc(100% - 28px));padding:22px;border:1.5px solid #41664e;border-radius:24px;background:#fff9e8;color:#284b3e;text-align:center}#rotate-modal svg{color:#a65427}#rotate-modal h2{margin:8px 0;font-size:clamp(21px,6vw,28px);line-height:1.1}#rotate-modal p{margin:0 0 14px;font-size:15px;line-height:1.4}#rotate-modal .button{margin:0;border-radius:12px}.hud{font-family:Nunito,Trebuchet MS,sans-serif}.hud .score-only>b{font-size:23px}.hud .course-progress{font-size:13px;font-weight:900}.hud .discount-panel>b{font-size:20px}@media(max-width:600px){#journey-modal{width:calc(100vw - 20px);max-height:calc(100svh - 20px);padding:16px;border-radius:22px}#journey-modal .journey-heading h2{font-size:25px}#journey-modal .journey-instruction{font-size:14px;margin:8px 0 12px}.journey-map-starting .journey-map-nodes{gap:8px}.journey-map-view.journey-map-starting .journey-node{min-height:112px;padding:9px 4px;gap:7px;border-radius:14px}.journey-map-starting .journey-biome-icon{width:84px;height:54px}.journey-map-starting .journey-node-name{font-size:13px;line-height:1.2}#journey-modal .journey-actions{gap:8px;padding-top:12px}#journey-modal .journey-actions p{font-size:13px}#journey-modal .journey-actions .button{min-height:52px;width:100%;font-size:16px}.hud .course-progress{font-size:11px}}@media(max-height:500px),(min-width:761px)and (max-height:700px){#journey-modal{max-height:calc(100svh - 16px);padding:12px 16px}#journey-modal .journey-heading h2{font-size:23px}#journey-modal .journey-instruction{font-size:13px;margin:5px 0 9px}#journey-modal .journey-actions{padding-top:9px}#journey-modal .journey-actions .button{min-height:44px}}@font-face{font-family:Poppins;src:url(./assets/poppins-regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(./assets/poppins-semibold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url(./assets/poppins-bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Poppins;src:url(./assets/poppins-extrabold.woff2) format("woff2");font-weight:800;font-display:swap}:root{--brand-font: Poppins, system-ui, sans-serif;--brand-orange: #ff3c00;--brand-ink: #212f49;--brand-burnt: #9b310e;--cabinet: #101827;--cabinet-edge: #586786;--cabinet-shadow: #090e18;--cabinet-paper: #fff8ee;--cabinet-soft: #edf0f8;--cabinet-line: #c6cce5;--cabinet-radius: 12px;--journal-ink: #254039;--journal-paper: #fff8e8;--journal-edge: #b5af8c;--journal-leaf: #dce8ca;--journal-clay: #a64025;color:var(--brand-ink);font-family:var(--brand-font)}.welcome{position:absolute;top:10.4%;left:5.2%;width:51%}.welcome h1{font-size:6.6cqw;line-height:1.05;letter-spacing:-.28cqw;margin:1.5cqw 0 1.8cqw;font-weight:800}.welcome h1 span{color:var(--orange)}.welcome-description{font-size:1.04cqw;line-height:1.8;color:#7d8973;margin:0 0 2.1cqw}.welcome>.text-button{display:block;font-size:.95cqw;margin-top:.8cqw}.welcome-hint{display:flex;align-items:center;gap:.45cqw;color:#8d977e;font-size:.8cqw;margin-top:1.9cqw}@media(max-width:1100px){.welcome-hint{font-size:.78cqw;gap:.32cqw}}@media(max-width:760px),(pointer:coarse){.welcome .button{pointer-events:none;opacity:.7}}.welcome-description{font-size:clamp(12px,1.14cqw,17px)}.welcome-hint{font-size:clamp(9px,.8cqw,12px)}.welcome .eyebrow{font-size:clamp(8px,.77cqw,11px)}.welcome>.text-button{font-size:clamp(11px,.95cqw,14px)}@media(max-width:760px),(pointer:coarse){.welcome-description{font-size:1.14cqw}.welcome-hint{font-size:.8cqw}.welcome .eyebrow{font-size:.77cqw}.welcome .button{font-size:1.12cqw;min-height:0}}@media(max-width:760px),(any-pointer:coarse){.welcome{position:static;order:2;width:100%;padding:20px;background:#fffcf2}.welcome .eyebrow{font-size:9px;letter-spacing:1px}.welcome .eyebrow svg{width:15px;height:15px}.welcome h1{font-size:34px;letter-spacing:-1.5px;line-height:1.08;margin:10px 0 12px}.welcome-description{font-size:12px;line-height:1.6;margin:0 0 16px}.welcome .button{pointer-events:auto;opacity:1;width:100%;min-height:48px;font-size:15px;border-radius:12px;padding:12px 16px}.welcome>.text-button{font-size:13px;min-height:44px;margin:8px auto 0}.welcome-touch-hint{font-size:12px;line-height:1.6;color:#66775b;margin:14px 0 0}}@media(orientation:landscape)and (max-height:540px)and (max-width:1000px),(orientation:landscape)and (max-height:540px)and (any-pointer:coarse){.welcome{grid-column:1;grid-row:1;padding:12px 16px}.welcome h1{font-size:27px;margin:6px 0}.welcome-description{font-size:11px;margin-bottom:10px}.welcome .eyebrow{font-size:8px}.welcome .button{min-height:44px;font-size:14px}.welcome-touch-hint{font-size:11px;margin:10px 0 0}}@media(min-width:761px)and (any-pointer:fine){.welcome{top:7%;width:46%}.welcome h1{font-size:5.1cqw;line-height:1.05;margin:12px 0 18px}.welcome .intro{font-size:1.4cqw;line-height:1.5;margin-bottom:10px}.welcome-description{font-size:1.08cqw;max-width:380px;line-height:1.5;margin-bottom:10px}}@media(max-width:760px),(any-pointer:coarse){.welcome .map-hint{margin-bottom:12px!important}}@media(orientation:landscape)and (max-height:540px)and (max-width:1000px),(orientation:landscape)and (max-height:540px)and (any-pointer:coarse){.welcome .intro,.welcome-touch-hint{display:none}.welcome h1{font-size:25px;margin:4px 0 7px}.welcome-description{font-size:10px;line-height:1.4;margin-bottom:6px}}.welcome{position:absolute;z-index:2;top:4%;left:5%;width:46%;max-height:92%;padding:0 5px 0 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:transparent}.welcome .intro,.welcome-hint,.welcome-touch-hint{display:none}.welcome h1{font-size:clamp(25px,3.4cqw,40px);line-height:1.04;margin:4px 0 10px;letter-spacing:-1px}.welcome-description{max-width:350px;font-size:12px;line-height:1.4;margin:0 0 8px}.welcome .button{min-height:44px;font-size:14px;padding:9px 14px}.welcome>.text-button{display:inline-flex;align-items:center;justify-content:center;vertical-align:top;min-height:44px;max-width:calc(100% - 194px);margin:0 0 0 6px;padding:6px 8px;border:1px solid #aebf92;border-radius:10px;background:#fff8e5;color:#365538;font-size:11px;line-height:1.25}@media(min-width:761px)and (any-pointer:fine)and (max-height:600px){.welcome>.eyebrow,.welcome-description{display:none}.welcome h1{font-size:26px;margin:2px 0 7px}}@media(max-width:760px),(any-pointer:coarse){.welcome{position:static;order:2;top:auto;left:auto;width:100%;max-height:none;overflow:visible;padding:7px 10px;background:#fffcf2}.welcome h1,.welcome>.eyebrow,.welcome-description{display:none}.welcome:has(#fresh-button[hidden]) .map-hint{display:none}.welcome>.text-button{display:flex;width:100%;max-width:none;margin:4px 0 0}.welcome .button{width:100%;font-size:14px;min-height:44px}}.welcome{left:3%;top:50%;transform:translateY(-50%);width:43%;max-height:calc(100% - 22px);padding:18px 20px 20px;border:2px solid var(--arcade-ink);border-radius:22px;background:#fff6dcf5;box-shadow:0 5px #2346422b;scrollbar-color:#e4ad57 transparent}.welcome>.eyebrow{display:block;font-size:9px;letter-spacing:1.3px;color:#647e5c;margin-bottom:5px}.welcome h1{display:block;font-size:clamp(27px,3.5cqw,38px);line-height:1.08;letter-spacing:-1.2px;margin:0 0 8px;color:var(--arcade-ink)}.welcome h1 span{color:#c95321}.welcome-description{display:block;max-width:330px;font-size:12px;line-height:1.4;color:#597063;margin:0 0 9px}.welcome-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.welcome-badges>span{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border:1px solid #9dbb7e;border-radius:8px;background:#e4efb9;color:#375644;font-size:10px;font-weight:800;white-space:nowrap}.welcome .map-label{display:block;font-size:11px;font-weight:800;letter-spacing:.3px;margin:0 0 5px;color:var(--arcade-ink)}.welcome .map-select{display:block;width:100%;max-width:none;height:46px;min-height:46px;margin:0 0 7px;padding:8px 34px 8px 12px;border-radius:12px;background-color:#fffdf2;color:var(--arcade-ink);font-size:13px;box-shadow:0 2px #23464235}.welcome .map-hint{font-size:10px!important;line-height:1.3!important;margin:5px 0 9px!important;color:#637465}.welcome:has(#fresh-button[hidden]) .map-hint{display:none}.welcome .button{width:100%;min-height:50px;padding:10px 14px;font-size:15px;border-radius:14px}.welcome>.text-button{display:flex;width:100%;max-width:none;justify-content:center;align-items:center;min-height:44px;padding:8px 10px;margin:11px 0 0;border:2px solid var(--arcade-ink);border-radius:12px;background:transparent;color:var(--arcade-ink);font-size:11px;font-weight:800;text-decoration:none}.welcome>.text-button:hover{background:var(--arcade-mint)}@media(max-width:760px),(any-pointer:coarse){.welcome{position:static;transform:none;width:100%;max-height:none;padding:12px 14px 17px;border:0;border-top:2px solid var(--arcade-ink);border-radius:0;background:var(--arcade-cream);box-shadow:none;overflow:visible}.welcome>.eyebrow,.welcome-description{display:none}.welcome h1{display:block;font-size:27px;letter-spacing:-.8px;margin:0 0 7px}.welcome-badges{margin-bottom:10px;gap:5px}.welcome-badges>span{min-height:21px;font-size:9px;padding:3px 7px}.welcome .map-select{height:46px;font-size:13px;margin-bottom:9px}.welcome .button{min-height:50px;font-size:15px}.welcome>.text-button{min-height:44px;margin-top:10px}}@media(orientation:landscape)and (max-height:540px)and (min-width:480px){.welcome{position:relative;grid-column:1;grid-row:1;left:auto;top:auto;transform:none;align-self:stretch;width:100%;height:100%;max-height:100%;padding:12px 14px;border:0;border-right:2px solid var(--arcade-ink);border-radius:0;box-shadow:none;overflow-y:auto;background:var(--arcade-cream)}.welcome>.eyebrow,.welcome-description,.welcome .map-hint{display:none}.welcome h1{font-size:25px;margin-bottom:6px;letter-spacing:-.8px}.welcome-badges{margin-bottom:7px;gap:5px}.welcome-badges>span{min-height:19px;font-size:9px;padding:2px 6px}.welcome .map-label{font-size:10px;margin-bottom:4px}.welcome .map-select{height:44px;min-height:44px;margin-bottom:8px}.welcome .button{min-height:46px;font-size:13px;padding:8px 12px}.welcome>.text-button{min-height:44px;margin-top:8px;font-size:10px;padding:6px}}.welcome .journey-button{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:46px;margin:0 0 9px;padding:8px 12px;font-size:13px;text-align:left}body:has(#welcome:not([hidden])) .app{min-height:100svh;padding:0;justify-content:flex-start}body:has(#welcome:not([hidden])) main{width:100%;min-width:0}body:has(#welcome:not([hidden])) #game-window{display:block;width:100%;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden}body:has(#welcome:not([hidden])) #game-window:has(.modal:not([hidden])){z-index:6}body:has(#welcome:not([hidden])) #playfield,body:has(#welcome:not([hidden])) #world{width:100%;height:100svh;aspect-ratio:auto;min-height:0}body:has(#welcome:not([hidden])) .site-header{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;gap:20px;width:100%;max-width:none;height:auto;margin:0;padding:24px 4.5%;border:0}body:has(#welcome:not([hidden])) .brand{margin-right:auto;font-family:Georgia,serif;font-size:clamp(38px,4.5vw,76px);font-weight:800;font-style:italic;line-height:1;letter-spacing:-2px}body:has(#welcome:not([hidden])) .brand svg{width:clamp(28px,4vw,62px);height:clamp(28px,4vw,62px)}body:has(#welcome:not([hidden])) .header-divider,body:has(#welcome:not([hidden])) .edition,body:has(#welcome:not([hidden])) .header-tag{display:none}body:has(#welcome:not([hidden])) .site-header .icon-button{flex:none;width:clamp(48px,5vw,80px);height:clamp(48px,5vw,80px);margin:0;border-radius:24%;font-size:30px}body:has(#welcome:not([hidden])) .site-header .icon-button svg{width:55%;height:55%}#welcome>.intro,#welcome .welcome-hint,#welcome .welcome-touch-hint,#welcome .map-hint{display:none}#welcome h1{color:#194b42;font-size:clamp(48px,6.8vw,120px);font-weight:1000;line-height:1.06;letter-spacing:-.045em}#welcome h1 span{color:#c9550d}#welcome .welcome-description{display:block;line-height:1.35}#welcome .welcome-badges{gap:20px}#welcome .welcome-badges>span{display:inline;min-height:0}#welcome .welcome-badges>span:nth-child(3){display:none}#welcome #fresh-button{order:6;width:auto;max-width:100%;min-height:44px;margin:14px 0 0;padding:8px 4px;border:0;box-shadow:none;background:transparent;font-size:16px;color:inherit;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px)and (min-height:501px){body:has(#welcome:not([hidden])) .site-header{gap:10px;padding:16px 20px}body:has(#welcome:not([hidden])) .brand{font-size:34px;letter-spacing:-1px}body:has(#welcome:not([hidden])) .brand svg{width:28px;height:28px}body:has(#welcome:not([hidden])) .site-header .icon-button{width:44px;height:44px;border-radius:14px;font-size:23px}#welcome{text-align:center}#welcome h1{font-size:clamp(30px,9.5vw,42px);line-height:1.08;letter-spacing:-.04em;margin-bottom:10px}#welcome .welcome-description{font-size:14px;line-height:1.35;max-width:340px;margin-bottom:12px}#welcome .welcome-badges{gap:18px;margin-bottom:18px}#welcome .welcome-badges>span{font-size:16px}#welcome #start-button{width:100%;min-width:0;min-height:58px;margin-bottom:14px;padding:12px 18px;gap:14px;font-size:30px}#welcome #start-button:not([data-intent=new]){font-size:21px}#welcome #journey-button{min-height:48px;width:100%;justify-content:center;margin:0;padding:10px 12px;font-size:14px}#welcome #fresh-button{font-size:14px;margin-top:8px}}@media(max-width:760px)and (min-height:501px)and (max-height:620px){#welcome .welcome-description{display:none}}@media(max-height:500px),(min-width:761px)and (max-height:700px){body:has(#welcome:not([hidden])) .site-header{padding:12px 4.5%;gap:12px}body:has(#welcome:not([hidden])) .brand{font-size:34px}body:has(#welcome:not([hidden])) .brand svg{width:28px;height:28px}body:has(#welcome:not([hidden])) .site-header .icon-button{width:44px;height:44px;border-radius:14px;font-size:24px}#welcome h1{font-size:clamp(28px,5vw,48px);margin-bottom:8px}#welcome .welcome-description{font-size:14px;line-height:1.3;margin-bottom:10px}#welcome .welcome-badges{gap:14px;margin-bottom:14px}#welcome .welcome-badges>span{font-size:14px}#welcome #start-button{min-width:200px;min-height:48px;margin-bottom:14px;padding:8px 22px;font-size:28px}#welcome #start-button:not([data-intent=new]){font-size:20px}#welcome #journey-button{min-height:44px;padding:8px 14px;font-size:13px}#welcome #fresh-button{font-size:13px;margin-top:6px}}body:has(#welcome:not([hidden])) .brand img{display:block;width:clamp(112px,13vw,184px);height:auto}.site-header .icon-button,#game-window .hud #pause-button{border:1px solid var(--cabinet-edge);border-radius:10px;background:var(--brand-ink);color:var(--cabinet-paper);box-shadow:0 3px 0 var(--cabinet-shadow)}body:has(#welcome:not([hidden])) .site-header .icon-button{width:clamp(44px,5vw,56px);height:clamp(44px,5vw,56px)}.site-header .icon-button:hover,#game-window .hud #pause-button:hover{background:#34476a}.site-header .icon-button[aria-pressed=false]{color:var(--cabinet-line)}#welcome{position:absolute;z-index:2;top:50%;left:4.5%;display:flex;flex-direction:column;align-items:flex-start;gap:0;width:min(48%,580px);max-width:1000px;height:auto;max-height:calc(100svh - 170px);margin:0;transform:translateY(-46%);padding:clamp(18px,2.8vw,34px);border:1px solid #c4ae7f;border-left:6px solid #31584a;border-radius:12px 25px 25px 12px;background:radial-gradient(circle at 1px 1px,#846a3820 1px,transparent 1.4px) right top / 9px 9px,linear-gradient(140deg,#fffaf0,#f7ebce);box-shadow:inset 0 0 0 4px #fffaf2,0 7px #6b513f,0 20px 50px #273a3866;overflow-y:auto;overscroll-behavior:contain;scroll-padding:8px;scrollbar-color:#8c9a6f var(--journal-paper);color:var(--journal-ink)}#welcome>.eyebrow{order:0;display:flex;align-items:center;gap:9px;margin:0 0 11px;color:#476755;font:800 clamp(10px,1.15vw,14px)/1.1 var(--brand-font);letter-spacing:.13em}#welcome>.eyebrow:before{width:8px;height:8px;flex:none;border-radius:1px;transform:rotate(45deg);background:#bb6939;content:""}#welcome h1{order:1;display:block;width:100%;margin:0 0 14px;color:var(--journal-ink);font:800 clamp(44px,6.3vw,92px)/.91 Georgia,serif;letter-spacing:-.075em}#welcome h1 span{display:block;margin-bottom:.1em;color:var(--journal-clay);font-size:.57em;font-style:italic;letter-spacing:-.04em}#welcome .welcome-description{order:2;max-width:34ch;margin:0 0 13px;color:inherit;font-size:clamp(14px,1.38vw,18px);font-weight:600}#welcome .welcome-badges{order:3;display:flex;gap:7px;margin:0 0 18px}#welcome .welcome-badges>span{padding:5px 10px;border:1px solid #b6c19e;border-radius:999px;background:#e3eacf;color:#324d3a;font:600 12px/1.15 var(--brand-font);letter-spacing:.025em;text-transform:uppercase}#welcome #start-button,.modal .button.primary{border:1px solid #993b25;border-radius:var(--cabinet-radius);background:var(--journal-clay);box-shadow:inset 0 1px #f9bd9559,0 4px #74351f;color:#fff9e9;font-family:var(--brand-font);font-weight:800}#welcome #start-button,#welcome #start-button:not([data-intent=new]){order:4;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;max-width:100%;min-height:60px;margin:0 0 14px;padding:9px 16px;font-size:clamp(20px,2.15vw,30px);line-height:1.1;white-space:normal}#welcome #start-button:hover,.modal .button.primary:hover{background:#8f361f}#welcome .play-icon{width:23px;height:23px;filter:brightness(0) invert(1)}#welcome #journey-button{order:5;display:inline-flex;align-items:center;gap:16px;width:100%;max-width:100%;min-height:46px;margin:0;padding:8px 13px;border:1px solid var(--journal-edge);border-radius:10px;background:#fff8e9;box-shadow:0 3px #c6ba98;color:var(--journal-ink);font-size:clamp(13px,1.42vw,18px);font-weight:800;line-height:1.25;text-align:left}#welcome #journey-button:hover{background:var(--journal-leaf)}#welcome :focus-visible{outline:3px solid #3b674f;outline-offset:3px}#journey-modal,#pause-modal,#gameover-modal,#restart-modal,#finish-modal,#rotate-modal,#help-modal,#album-modal,#replay-modal{border:1px solid #708271;border-radius:20px;background:var(--journal-paper);box-shadow:inset 0 0 0 3px #ffffff7a,0 6px #374d42,0 16px 38px #152a2c57;color:var(--journal-ink)}#journey-modal .journey-heading h2,#pause-modal h2,#gameover-modal h2,#restart-modal h2,#finish-modal h2,#rotate-modal h2,#help-modal h2{color:var(--journal-ink);font-family:var(--brand-font);font-weight:800;letter-spacing:0}.modal .button.secondary,#rotate-modal .button,.modal .icon-button,#help-modal .guide-close{border:1px solid #acb498;border-radius:10px;background:#f3f4e2;box-shadow:0 3px #cbd4ba;color:var(--journal-ink)}.modal .button.secondary:hover,.modal .icon-button:hover,#help-modal .guide-close:hover{background:var(--journal-leaf)}.modal .button:active,#welcome .button:active{transform:translateY(2px);box-shadow:0 1px #6e4f62}#journey-modal .journey-actions{background:var(--journal-paper);border-color:#cec29d}#journey-modal,#album-modal{background-color:#fbf1d6;background-image:radial-gradient(ellipse at 22% 7%,#fff8e7 0%,transparent 67%),radial-gradient(circle at 1px 1px,#99794c25 .65px,transparent .8px);background-size:auto,7px 7px;border-color:#9e805b}#journey-modal .journey-map-scroll{border-color:#bba782}#journey-modal .journey-node:not(:disabled){background-color:#fff9e9}#journey-modal .journey-node-selected:not(:disabled){background-color:#f9e7bd}#journey-modal .journey-actions:has(#start-boss-arena:not([hidden])){flex-wrap:wrap}#journey-modal #start-boss-arena{border-color:#a4644b}@media(max-width:600px){#journey-modal .journey-actions:has(#start-boss-arena:not([hidden])){flex-direction:row;align-items:stretch;gap:6px}#journey-modal .journey-actions:has(#start-boss-arena:not([hidden])) #journey-selected{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#journey-modal .journey-actions:has(#start-boss-arena:not([hidden])) .button{flex:1 1 120px;width:auto;padding-inline:8px;white-space:normal}}#journey-new-level{align-self:flex-start;flex:none;min-height:44px;margin:0 0 8px}#gameover-level-button{grid-column:1 / -1}.gameover-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 0 6px;padding:7px 5px;border-radius:8px;background:#2c5248;color:var(--journal-paper);font-family:var(--brand-font)}.gameover-stats>div+div{border-left:1px solid #7b9985}.gameover-stats dt{font-size:10px;line-height:1.2;font-weight:700;color:#ffc4a9}.gameover-stats dd{margin:2px 0 0;font:800 clamp(15px,3.8vw,22px)/1 var(--brand-font);font-variant-numeric:tabular-nums}#gameover-modal #gameover-goal{color:var(--brand-burnt);font-weight:800}.journey-map-view .journey-node:not(:disabled){border-color:#9fac8d;border-radius:12px;box-shadow:0 3px #c3ccb0}.journey-map-view .journey-node-selected:not(:disabled){border-color:#a64025;background:#fff0d4;box-shadow:0 0 0 1px #a64025,0 4px #c8946d}#journey-modal .journey-map-starting .journey-node{display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr);align-items:center;min-height:101px;gap:10px;padding:8px 10px;border-radius:13px}#journey-modal .journey-map-starting .journey-biome-icon{width:100%;height:auto;aspect-ratio:112 / 72;border:1px solid #9e8063;border-radius:5px;box-shadow:0 2px #947b535c}#journey-modal .journey-map-starting .journey-node-order{display:grid;top:5px;left:5px;width:22px;height:22px;background:var(--journal-ink);color:#fff8e8}#journey-modal .journey-map-starting .journey-node-name{text-align:left}#journey-modal .journey-map-starting .journey-node-selected .journey-node-name{color:#843820}@media(max-width:760px),(max-height:620px){#journey-modal:has(.journey-map-starting){max-height:calc(100dvh - 12px);padding:6px 12px}#journey-modal:has(.journey-map-starting) .journey-heading{align-items:center}#journey-modal:has(.journey-map-starting) .journey-heading h2{font-size:clamp(18px,3.3vw,23px)}#journey-modal:has(.journey-map-starting) .journey-instruction{margin:2px 0 4px;font-size:12px;line-height:1.25}#journey-modal .journey-map-starting .journey-map-scroll{padding:4px 5px 5px}#journey-modal .journey-map-starting .journey-map-nodes{gap:6px 9px}#journey-modal .journey-map-starting .journey-node{justify-content:stretch;min-height:clamp(44px,calc((100dvh - 190px) / 3),72px);max-width:none;gap:5px;padding:4px 5px;border-radius:9px}#journey-modal .journey-map-starting .journey-biome-icon{max-height:clamp(22px,calc((100dvh - 235px) / 3),50px);border-radius:5px}#journey-modal .journey-map-starting .journey-node-name{font-size:clamp(11px,2.4vw,14px)}#journey-modal:has(.journey-map-starting) .journey-actions{flex-direction:row;align-items:center;padding:5px 0 0;gap:8px}#journey-modal:has(.journey-map-starting) .journey-actions p{font-size:clamp(11px,2vw,13px);font-weight:700}#journey-modal:has(.journey-map-starting) .journey-actions .button{flex:none;width:auto;min-height:44px;padding:6px 11px;font-size:clamp(11px,2.1vw,15px)}}@media(max-width:600px)and (min-height:520px){#journey-modal .journey-map-starting .journey-node{grid-template-columns:minmax(0,1fr);min-height:80px;gap:4px;padding:5px}#journey-modal .journey-map-starting .journey-biome-icon{max-height:58px}#journey-modal .journey-map-starting .journey-node-name{text-align:center}#journey-modal .journey-map-starting .journey-node-order{width:18px;height:18px}}@media(max-height:519px){#journey-modal .journey-map-starting .journey-node-order{display:none}}.modal :is(h3,p,summary,.eyebrow,.text-button,.journey-node-name,.journey-node-status),#gameover-modal #gameover-reason,#gameover-modal .gameover-copy p,#help-modal :is(h3,.guide-body p,.guide-card summary,.guide-card small,.guide-rules summary),.map-select{color:var(--brand-ink)}.map-select,kbd,.keycap{font-family:var(--brand-font)}#pause-modal{width:min(430px,calc(100% - 24px));max-height:calc(100% - 18px);padding:0;text-align:left;overscroll-behavior:contain;scroll-padding:12px}.pause-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:3px solid #c28856;background:radial-gradient(ellipse at right top,#52745a,#284a41 70%)}#pause-modal .pause-heading .eyebrow{color:#e0ebcb;font-size:10px;letter-spacing:.12em}#pause-modal .pause-heading h2{margin:2px 0 0;color:var(--cabinet-paper);font-size:clamp(20px,4vw,27px);line-height:1.15}.pause-mark{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#ebcd9d;color:var(--journal-ink)}.pause-mark svg{width:20px;height:20px}.pause-body{padding:16px 18px 12px}.pause-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.pause-options:not(:has(#fluid-button:not([hidden]))) #pause-album-button{grid-column:1 / -1}#pause-modal #pause-replay{margin-top:8px}#replay-modal{width:min(410px,calc(100% - 24px))}#replay-image{display:block;width:100%;height:auto;margin:8px auto;border-radius:6px;background:#222538}#replay-seek{display:block;width:100%;accent-color:var(--brand-orange)}#replay-details{min-height:2.5em;margin:5px 0;font-size:.78rem}.replay-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}@media(max-height:420px){#replay-modal{padding:10px 12px 12px}#replay-title{margin:2px 0 4px;font-size:22px}#replay-image{width:auto;max-width:100%;max-height:32dvh}.replay-actions .button{min-height:44px;padding:7px 11px;font-size:13px}}@media(max-height:420px)and (min-width:500px)and (orientation:landscape){#replay-modal{display:grid;width:min(510px,calc(100% - 24px));grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"title title" "image label" "image seek" "image details" "image actions";align-items:center;gap:3px 12px}#replay-title{grid-area:title}#replay-image{grid-area:image;width:100%;max-height:none;margin:0}#replay-modal label{grid-area:label}#replay-seek{grid-area:seek}#replay-details{grid-area:details}.replay-actions{grid-area:actions}}.sound-mixer{margin-top:9px;padding:8px 10px;border-radius:10px;background:#70889724}.sound-mixer summary{cursor:pointer;font-weight:700}.sound-mixer-controls{display:grid;gap:5px;padding-top:7px}.sound-mixer-controls label{display:grid;grid-template-columns:minmax(78px,1fr) minmax(65px,2fr) 42px;align-items:center;gap:7px;font-size:.85rem}.sound-mixer-controls input{min-width:0;width:100%;accent-color:#e66337}.sound-mixer-controls output{text-align:right;font-variant-numeric:tabular-nums}#weed-pull{position:absolute;z-index:5;bottom:max(14%,65px);left:50%;translate:-50% 0;min-height:44px;padding:7px 14px;font-size:clamp(12px,1.35cqw,16px)}#album-modal .journey-heading{align-items:center}#album-title{margin:0;color:#384c3e;text-align:left;font-family:Georgia,serif}.album-paper{position:relative;display:grid;justify-items:center;align-content:center;min-height:clamp(120px,20cqw,196px);margin-block:8px;padding:10px 20px 13px;border:1px solid #c9ac7c;border-radius:4px 9px 9px 4px;background:repeating-linear-gradient(0deg,#aa8b5f1d 0 1px,transparent 1px 19px),#fff5db;box-shadow:inset 7px 0 #c6a77b50,0 3px #d0b990;color:#364729}.album-specimen{font:700 9px/1.3 Georgia,serif;letter-spacing:.15em;color:#725137}.album-placeholder{width:clamp(44px,7cqw,65px);height:auto;color:#8c946a;margin-block:7px}.album-paper[data-found=true] .album-placeholder{display:none}.album-paper[data-found=true]:after{content:"";position:absolute;top:10px;right:12px;width:30px;height:9px;background:#d5b57799;transform:rotate(11deg);pointer-events:none}#album-fruit{width:clamp(55px,9cqw,104px);height:auto}#album-fruit-name{font:700 clamp(16px,2cqw,23px)/1.25 Georgia,serif}#album-fruit-note{margin:0;font-size:clamp(12px,1.3cqw,15px);color:#56644b}.album-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px}.album-navigation .button{min-width:44px;min-height:44px}#album-page-count{font-size:clamp(12px,1.25cqw,15px)}.save-flag{display:inline-block;color:#325c42;background:#e7f1d7;border-radius:8px;padding:3px 9px;font-size:clamp(12px,1.2cqw,16px)}.save-flag i{display:inline-block;font-style:normal;transform-origin:left center;animation:save-flag-flutter .19s ease-in-out 2}@keyframes save-flag-flutter{50%{transform:skewY(-17deg) scaleX(.87)}}#pause-modal .button{min-height:44px;margin:0;padding:8px 10px;font:700 13px/1.25 var(--brand-font)}#pause-modal #resume-button{min-height:50px;justify-content:space-between;padding-inline:14px;font-size:16px}#pause-modal #resume-button>span{font-size:22px}#pause-modal .setting-button{gap:7px}#pause-modal .setting-button:after{content:"";flex:0 0 8px;height:8px;border-radius:50%;border:1px solid #687795;background:#fff8ee}#pause-modal .setting-button[aria-pressed=true]:after{background:#b93615;border-color:#b93615}#pause-modal #restart-button{display:block;margin:8px auto 0;min-height:40px;font-weight:700;color:var(--brand-burnt)}#help-modal .guide-heading,#help-modal .guide-footer{background:#f0f2f9;border-color:var(--cabinet-line)}#help-modal .guide-card{border-color:var(--cabinet-line);background:#fffdf8}#help-modal .guide-card[open]{border-color:#8794af;background:var(--cabinet-soft)}#help-modal .guide-card canvas{background:var(--cabinet-soft)}#help-modal .guide-expand{color:var(--brand-burnt)}.modal :is(button,summary):focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px}.hud{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(5px,1.6cqw,14px);font-family:var(--brand-font)}#game-window .hud #pause-button{pointer-events:auto}.hud-stats{display:flex;align-items:center;gap:7px;min-height:37px;padding:4px 8px;border:1px solid #88765e;border-left:3px solid #eaa568;border-radius:9px;background:#303f3d;box-shadow:0 2px 0 var(--cabinet-shadow)}#game-window .hud-stats :is(.lives-panel,.discount-panel){flex:none;min-width:0;min-height:0;padding:0 0 0 7px;border:0;border-left:1px solid #826f56;border-radius:0;background:none;box-shadow:none;text-shadow:none}.hud-stats :is(.lives-panel,.discount-panel)>span{display:none}#game-window .hud-stats .discount-panel>b{color:#ffad87;font:700 14px/1 var(--brand-font);font-variant-numeric:tabular-nums}.hud .heart{fill:#ec8a68;stroke:#251d19}.hud .heart.lost{fill:#41514d;stroke:#c3bba3}#game-window .hud .score-only{display:grid;justify-items:start;flex:none;min-width:0;grid-template-columns:auto auto auto;align-items:end;column-gap:7px;row-gap:0;padding:0;text-shadow:none;white-space:nowrap}#game-window .hud .hud-brand{display:block;grid-column:1;grid-row:1 / span 2;align-self:center;width:clamp(47px,8cqw,76px);height:auto;padding:3px 4px;border-radius:5px;background:#fff3dd}#game-window .hud .score-only>span{grid-column:2 / -1;color:#ffd2a9;font:700 9px/1.1 var(--brand-font);letter-spacing:.09em}#game-window .hud .score-only>b{grid-column:2;color:#fff4d6;font:700 20px/1 var(--brand-font);font-variant-numeric:tabular-nums;letter-spacing:.035em}#game-window .hud #course-progress{position:static;width:100%;max-width:300px;margin:0 auto;color:var(--cabinet-paper);text-shadow:none}#region-label{width:max-content;max-width:100%;margin:0 auto;padding:1px 6px;border-radius:4px;background:#303f3d;font:700 11px/1.3 var(--brand-font)}#game-window .hud .course-track{height:3px;margin-top:2px;background:#263451bf;border-radius:4px}#game-window .hud .course-track>i{background:#ff8659;border-radius:inherit}#game-window .hud #course-progress[data-finale=locked] .course-track>i{background:#ffc277}#game-window .hud #course-progress[data-finale=cleared] .course-track>i{background:#a7e0a3}.boss-lives{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:4px auto 0;padding:3px 7px;border:1px solid #687996;border-radius:6px;background:var(--brand-ink);font:800 11px/1.15 var(--brand-font);white-space:nowrap}.boss-hearts{display:flex;gap:4px}.boss-hearts i{width:13px;height:11px;background:#ff8ca2;clip-path:polygon(50% 100%,5% 55%,0 34%,7% 13%,24% 0,39% 3%,50% 18%,61% 3%,76% 0,93% 13%,100% 34%,95% 55%)}.boss-lives[data-remaining="2"] i:nth-child(3),.boss-lives[data-remaining="1"] i:nth-child(n+2),.boss-lives[data-remaining="0"] i{background:#72829b}#fps-meter{min-width:6ch;padding:3px 4px;border-radius:4px;background:#34476a;color:#e2e8f8;font:600 10px/1 var(--brand-font);font-variant-numeric:tabular-nums;text-align:center}.level-entry{position:absolute;top:54px;left:7px;z-index:3;display:flex;align-items:center;gap:7px;max-width:min(250px,calc(100% - 14px));padding:4px 8px 4px 4px;border:1px solid var(--cabinet-edge);border-left:3px solid var(--brand-orange);border-radius:8px;background:var(--brand-ink);color:var(--cabinet-paper);box-shadow:0 2px 0 var(--cabinet-shadow);font:700 clamp(12px,2.2vw,14px)/1.25 var(--brand-font);pointer-events:none}.level-entry .journey-biome-icon{width:42px;height:27px;border-radius:4px}.touch-controls{display:none}@media(max-width:760px),(any-pointer:coarse){.touch-controls{--touch-key-height: 56px;--touch-bottom: 10px;position:absolute;z-index:4;inset:auto 10px var(--touch-bottom);display:flex;align-items:center;justify-content:space-between;height:var(--touch-key-height);gap:10px;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}}@media(max-width:440px){#game-window .hud{grid-template-columns:minmax(0,1fr) auto}#game-window .hud-stats{justify-self:start;gap:3px;padding-inline:3px}#game-window .hud-stats :is(.discount-panel,.lives-panel){padding-left:4px}#game-window .hud .score-only{grid-template-columns:auto auto;column-gap:3px}#game-window .hud .hud-brand{width:46px}#game-window .hud .score-only>span,#game-window .hud #fps-meter{grid-column:2;grid-row:1}#game-window .hud .score-only>b{grid-row:2}#game-window .hud .score-only:has(#fps-meter:not([hidden]))>span{visibility:hidden}#game-window .hud #fps-meter{padding:1px 3px}#game-window .hud #pause-button{grid-column:2;grid-row:1}#game-window .hud #course-progress{grid-column:1 / -1;grid-row:2}#game-window .level-entry{top:76px}}@media(orientation:landscape){.touch-controls{--touch-key-height: 48px;--touch-bottom: 6px}}.touch-directions{display:flex;gap:10px}.touch-controls .touch-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:56px;height:var(--touch-key-height, 56px);min-height:var(--touch-key-height, 56px);pointer-events:auto;touch-action:none;border:1px solid #586786;border-radius:11px;background:var(--brand-ink);color:var(--cabinet-paper);box-shadow:0 3px 0 var(--cabinet-shadow)}.touch-button svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.touch-controls .touch-jump{flex-direction:column;width:clamp(82px,14vw,105px);border-color:#bd3b19;background:var(--brand-orange);color:var(--cabinet);box-shadow:0 3px 0 var(--brand-burnt);font:800 12px/1 var(--brand-font);letter-spacing:.035em}.touch-jump>span{font-size:11px;letter-spacing:1px}.touch-controls .touch-button[aria-pressed=true]{background:#3a5075;box-shadow:0 1px 0 var(--cabinet-shadow);transform:translateY(2px)}.touch-controls .touch-jump[aria-pressed=true]{background:#ffa178}.touch-button:focus-visible{outline:3px solid #f3ad36;outline-offset:3px}@media(max-width:760px)and (min-height:501px){#welcome{inset:auto 12px max(12px,env(safe-area-inset-bottom)) 12px;align-items:center;width:auto;max-height:51svh;transform:none;padding:13px 14px 15px;box-shadow:inset 0 0 0 3px #fffaf2,0 4px #6b513f}#welcome>.eyebrow{margin-bottom:6px}#welcome h1{margin-bottom:8px;font-size:clamp(35px,9.4vw,48px)}#welcome h1 span{display:inline;font-size:inherit}#welcome .welcome-description{margin-bottom:9px}#welcome .welcome-badges{margin-bottom:10px}#welcome #start-button,#welcome #start-button:not([data-intent=new]){min-height:48px;margin-bottom:9px;padding:6px 11px;font-size:27px}#welcome #journey-button{justify-content:center}}@media(max-height:500px){#welcome{top:max(62px,21%);width:min(52%,500px);max-height:calc(100svh - max(62px,21svh) - 9px);transform:none;padding:10px 13px 13px}#welcome>.eyebrow,#welcome .welcome-description{display:none}#welcome h1{margin-bottom:7px;font-size:clamp(26px,6vw,50px)}#welcome h1 span{display:inline;font-size:inherit}#welcome .welcome-badges{margin-bottom:9px}#welcome #start-button,#welcome #start-button:not([data-intent=new]){min-height:44px;margin-bottom:8px;padding:5px 9px;font-size:clamp(19px,4vw,31px)}#welcome #journey-button{min-height:44px}.pause-heading{padding:10px 14px}.pause-body{padding:12px 14px 8px}.pause-options{margin-top:10px;gap:7px}}@media(max-width:760px),(any-pointer:coarse){.hud-stats{gap:5px;padding-inline:5px}#game-window .hud-stats :is(.discount-panel,.lives-panel){padding-left:5px}#game-window .hud .score-only{column-gap:4px}#game-window .hud .score-only>b{font-size:clamp(15px,3.2vw,18px)}#game-window .hud #course-progress{max-width:210px}#fps-meter{font-size:9px}}@media(orientation:landscape)and (max-height:360px){#pause-modal:has(#fluid-button:not([hidden])){width:min(520px,calc(100% - 24px))}.pause-heading{padding-block:7px}.pause-options:has(#fluid-button:not([hidden])){grid-template-columns:repeat(3,minmax(0,1fr))}#pause-modal #restart-button{margin-top:4px}}@media(orientation:landscape)and (max-height:360px)and (min-width:500px){.pause-options:has(#fluid-button:not([hidden])){grid-template-columns:repeat(4,minmax(0,1fr))}#gameover-modal .gameover-actions{grid-template-columns:repeat(3,minmax(0,1fr))}#gameover-level-button{grid-column:auto}}#journey-postcards:empty,#finish-postcard:empty{display:none}#journey-postcards,#finish-postcard{margin-block:7px}.travel-postcard{display:grid;grid-template-columns:minmax(72px,.92fr) minmax(110px,1fr) auto;align-items:center;gap:8px;margin:0;padding:5px 7px 5px 5px;border:1px solid #bfa77e;border-radius:5px 9px 9px 5px;background:#fff6df;color:#493d2e;box-shadow:0 2px #b29a7245}.travel-postcard-picture{min-width:0;height:clamp(47px,9cqw,78px);overflow:hidden;border-radius:3px}.travel-postcard-picture svg{display:block;width:100%;height:100%}.travel-postcard figcaption{display:grid;justify-items:start;gap:2px;text-align:left;font-size:12px}.travel-postcard figcaption strong{font:700 clamp(14px,2.25cqw,18px)/1.06 Georgia,serif}.travel-postcard-name{color:#674932;font:700 10px/1.1 var(--brand-font);letter-spacing:.06em;text-transform:uppercase}.travel-postcard-stamp{align-self:start;transform:rotate(5deg)}.travel-postcard-stamp svg{display:block;width:clamp(27px,6cqw,44px);height:auto}.postcard-reverse{grid-column:1 / -1;border-top:1px dashed #c9b090;text-align:left}.travel-postcard .postcard-reverse>summary{min-height:32px;padding:7px;cursor:pointer;background:transparent;color:#624839;font:700 13px/1.3 var(--brand-font)}.postcard-note{display:grid;grid-template-columns:minmax(58px,86px) 1fr;align-items:center;gap:9px;padding:4px 8px;border-radius:4px;background:#f0e3cb}.postcard-note svg{display:block;width:100%}.postcard-note p{margin:0;color:#554452;font:600 13px/1.35 Georgia,serif}.postcard-journal{margin-block:6px 0;color:#553a28}.postcard-journal summary{min-height:34px;padding:7px 10px;cursor:pointer;border-radius:6px;background:#e9d9b6;text-align:left;font-weight:700;font-size:13px}.postcard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(236px,100%),1fr));gap:6px;margin-top:6px;padding-bottom:2px}#finish-postcard{max-width:380px;margin-inline:auto}@media(orientation:landscape)and (max-height:360px){.travel-postcard-picture{height:44px}#journey-postcards{margin-block:4px}}
