:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#213c37;background:#f6f4e9;font-synthesis:none;line-height:1.55;--ink:#213c37;--green:#225d4c;--orange:#f2ab6d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{ -webkit-tap-highlight-color:transparent}a{color:var(--green);text-underline-offset:4px}button{border:1px solid #b9c7bd;background:#fffdf6;color:var(--ink);padding:9px 18px;border-radius:12px;cursor:pointer;font-weight:700;min-height:44px}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){background:#e6eee2}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b75825;outline-offset:4px}.topbar{max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;border-bottom:1px solid #d9ded0}.brand{font-size:19px;font-weight:850;text-decoration:none;line-height:1.3}.brand span{display:block;font-size:12px;font-weight:550;margin-top:5px;color:#5a7067}nav{display:flex;gap:22px;font-size:14px;font-weight:700}main{max-width:1100px;padding:0 26px;margin:auto}.intro{display:flex;align-items:center;gap:35px;padding:42px 10px 28px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px;color:#647970}h1{font-size:clamp(27px,3.7vw,43px);line-height:1.12;letter-spacing:-1.1px;margin:16px 0}h1 span{display:block;font-size:16px;letter-spacing:0;margin-top:14px;color:#517064;font-weight:550}.intro p:not(.eyebrow){max-width:670px;font-size:15px}.snack-art{width:145px;flex-shrink:0;height:168px;filter:drop-shadow(7px 8px 0 #e6e5d5)}.game-panel{background:#fffdf5;border:1px solid #ccd6c8;border-radius:22px;overflow:hidden;box-shadow:0 10px 0 #e7e8db}.game-toolbar{display:flex;gap:20px;padding:16px 21px;align-items:center;flex-wrap:wrap}.game-toolbar label{font-size:13px;font-weight:700}.game-toolbar select{display:block;border:0;background:#e9eee3;border-radius:9px;color:var(--ink);padding:8px;max-width:100%}.gentle{display:flex;align-items:center;gap:7px;margin-left:auto}.gentle input{width:18px;height:18px;accent-color:var(--green)}.scene-wrap{position:relative;background:#d9eee0}canvas{display:block;width:100%;height:auto;outline-offset:-5px;touch-action:manipulation}canvas:focus-visible{outline:3px solid #c25b2d}.game-dialog{position:absolute;inset:0;display:grid;place-items:center;background:#143d2e22;padding:14px}.game-dialog[hidden]{display:none}.dialog-card{width:min(380px,94%);padding:20px 25px;text-align:center;border:2px solid #fffdf6;background:#fffdf4f5;border-radius:22px;box-shadow:0 9px 25px #173a2e25}.dialog-card h2{font-size:23px;line-height:1.15;margin:7px 0 10px}.dialog-card p{font-size:14px;line-height:1.45;margin:10px 0 18px}.dialog-card>span{font-size:30px;color:#a45923}.primary{background:var(--green);color:white;border:0;padding:12px 22px}.primary:hover:not(:disabled){background:#164c3c}.statusbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 22px;border-bottom:1px solid #e3e8da;font-size:13px;font-weight:700}.statusbar p{margin:0}.statusbar button{font-size:12px;padding:5px 12px;min-height:38px}.touch-controls{display:flex;justify-content:space-between;padding:14px 22px 3px;gap:20px}.touch-controls div{display:flex;gap:10px}.touch-controls button{min-width:60px;background:#eaf0e4;border:0;font-size:21px;touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls button[data-control=jump]{font-size:15px;min-width:128px}.touch-controls button.held{background:#b9d5c2;transform:translateY(2px)}.help{font-size:12px;text-align:center;padding:4px 16px;margin:10px 0;color:#536b60}.announcement{font-size:12px;text-align:center;margin:0 14px 10px;min-height:18px}.after-game{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:36px 5px}.after-game h2{font-size:20px;margin:0 0 8px}.after-game p,.after-game ol{font-size:13px}.after-game ol{padding-left:22px}.after-game li{margin:5px 0}.tip{align-self:start;display:flex;gap:17px;background:#ececdb;border-radius:17px;padding:16px 20px}.tip>span{font-size:35px;color:#3a7157}.tip p{margin:0}footer{font-size:12px;color:#61776c;border-top:1px solid #d8ded0;padding:20px 0 28px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}@media(max-width:650px){.topbar{padding:18px;align-items:flex-start}.brand{font-size:15px}nav{gap:10px;flex-direction:column;font-size:12px}main{padding:0 12px}.intro{padding:24px 4px 18px;gap:10px}.snack-art{width:83px;height:115px}.eyebrow{font-size:9px;letter-spacing:.8px}h1{font-size:28px;letter-spacing:-.8px}h1 span{font-size:13px;line-height:1.4}.intro p:not(.eyebrow){font-size:13px}.game-toolbar{gap:10px;padding:12px}.game-toolbar label{font-size:11px}.game-toolbar select{font-size:12px}.gentle{margin-left:0}.game-toolbar #pause{margin-left:auto;padding:6px 10px;font-size:12px}.dialog-card{padding:13px 15px}.dialog-card h2{font-size:18px;margin:0}.dialog-card>span{display:none}.dialog-card p{font-size:12px;margin:7px 0 10px}.dialog-card button{min-height:40px;padding:8px 16px;font-size:13px}.statusbar{padding:8px 11px;font-size:11px;flex-wrap:wrap}.touch-controls{padding:12px}.touch-controls button{min-width:53px}.touch-controls button[data-control=jump]{min-width:112px}.help{font-size:11px}.after-game{grid-template-columns:1fr;gap:15px;margin:27px 4px}.game-panel{border-radius:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.snack-art{height:auto;aspect-ratio:1;object-fit:contain;padding:6px;background:#fff;border-radius:16px}

.route-hud{padding:10px 22px 8px;border-bottom:1px solid #e3e8da;background:#f5f4e8}.route-hud p{margin:0 0 5px;font-size:13px;font-weight:700;line-height:1.4}.route-hud progress{display:block;width:100%;height:10px;accent-color:var(--green)}.legacy-records{padding:10px 12px;border-left:3px solid #b99c60;background:#efefdf;border-radius:0 8px 8px 0}.legacy-records[hidden]{display:none}@media(max-width:650px){.route-hud{padding:9px 11px}.route-hud p{font-size:11px}}
