:root{--ink:#283f32;--muted:#7c8679;--paper:#f4f1e7;--orange:#df6b3e;--green:#377552}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #eead48;outline-offset:3px}.app{max-width:1440px;margin:auto;padding:0 48px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcded1}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink);font-weight:900;font-size:19px}.brand-icon{display:grid;place-items:center;width:43px;height:43px;background:var(--green);border-radius:13px;color:#fff;font-size:31px;transform:rotate(-5deg)}.brand small{display:block;font-size:9px;letter-spacing:2.1px;margin-top:4px;font-weight:600}.header-actions{display:flex;gap:12px;align-items:center}.badge{font-size:10px;letter-spacing:1.5px;color:#7c8679;margin-right:16px}.icon-btn{background:transparent;border:1px solid #d4d9ca;border-radius:9px;color:var(--ink);padding:9px 12px;font-size:12px}.icon-btn:disabled{opacity:.4;cursor:default}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:36px 0 27px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);font-weight:700}h1{font-size:30px;letter-spacing:-1px;margin:8px 0 0;font-weight:900}h1 span{color:var(--orange)}.intro p{font-size:12px;color:var(--muted);line-height:1.9;margin:0 0 2px}.game{border:1px solid #c5cfbc;border-radius:18px;overflow:hidden;background:#faf9f2;box-shadow:0 14px 40px #304e3010}.hud{display:flex;gap:30px;align-items:center;padding:15px 25px;background:#faf9f2;height:85px}.hud-player{display:flex;gap:10px;align-items:center;min-width:120px}.hud-player>span{font-size:35px}.hud-player small{display:block;font-size:10px;color:var(--muted)}.hud-player strong{font-size:23px}.hud-player strong span{font-size:12px;color:var(--muted);font-weight:500}.energy{width:220px}.energy>div:first-child{display:flex;justify-content:space-between;font-size:10px;font-weight:700;margin-bottom:6px}.energy-track{height:9px;border-radius:9px;background:#e5e8dc;overflow:hidden}.energy-track i{display:block;width:100%;height:100%;background:#649966;border-radius:9px;transition:width .12s}.energy small{font-size:9px;color:var(--muted)}.hud-score{margin-left:auto}.hud-score small,.hud-time small{display:block;font-size:9px;letter-spacing:1.7px;color:var(--muted)}.hud-score b,.hud-time b{font-size:23px;letter-spacing:1px;font-variant-numeric:tabular-nums}.hud-time{padding-left:24px;border-left:1px solid #e1e3d6}.stage{position:relative;width:100%;height:440px;overflow:hidden;background:#dfe8c7}canvas{display:block;width:100%;height:100%}.scene-tag{position:absolute;top:15px;left:20px;font-size:10px;letter-spacing:1px;background:#faf9f1bf;border:1px solid #ffffff80;padding:7px 12px;border-radius:20px;color:#4d684d}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#eff0d844;backdrop-filter:blur(4px)}.overlay.hidden,.hidden{display:none!important}.menu-content{max-width:630px;width:92%;padding:24px 32px;border-radius:19px;background:#fbfaf1f0;box-shadow:0 10px 45px #37593524;text-align:center;border:1px solid #fff}.menu-kicker,.result-kicker{font-size:10px;color:var(--orange);font-weight:800;letter-spacing:2px}h2{margin:7px 0;font-size:29px;letter-spacing:-.5px}.menu-sub{font-size:11px;color:var(--muted);margin:0 0 18px}.choices{display:flex;gap:10px;margin-bottom:16px}.choice{flex:1;border:1.5px solid #dde0d1;background:#f4f3e9;border-radius:12px;position:relative;padding:9px 6px 12px;color:var(--ink);transition:.15s}.choice[aria-pressed=true]{border-color:var(--green);background:#e9eee0;box-shadow:0 0 0 2px #37755210}.choice .check{position:absolute;right:8px;top:7px;font-size:12px;color:var(--green);opacity:0}.choice[aria-pressed=true] .check{opacity:1}.animal-art{width:90px;height:69px;display:block;margin:auto}.choice b{display:block;font-size:14px}.choice small{display:block;font-size:9px;color:#7b846f;margin-top:3px}.start-btn{border:0;border-radius:10px;background:var(--orange);color:#fff;font-size:14px;font-weight:800;min-height:46px;padding:12px 24px;box-shadow:0 3px 0 #b8502a;transition:transform .1s}.start-btn:hover{background:#d96135;transform:translateY(-1px)}.menu-content>.start-btn{width:100%;display:flex;justify-content:center;gap:40px}.best{font-size:10px;color:var(--muted);margin-top:12px}.progress{display:flex;gap:13px;align-items:center;padding:16px 25px 12px;font-size:8px;letter-spacing:1.5px;font-weight:700;color:#85907e}.race-track{position:relative;flex:1;height:5px;background:#e3e8da;border-radius:4px;margin:0 5px}.marker{position:absolute;top:-11px;font-size:20px;transform:translateX(-50%);transition:left .1s;filter:grayscale(.5);opacity:.8}.marker.you{z-index:2;filter:none;opacity:1}.finish-flag{position:absolute;right:-5px;top:-14px;font-size:22px;color:#587158}.controls{padding:14px 25px 21px;display:flex;align-items:center;justify-content:space-between;gap:15px}.control-help b{display:block;font-size:11px}.control-help>span{display:block;font-size:9px;color:#89917f;margin-top:6px}.touch-buttons{display:flex;gap:10px}.action-btn{touch-action:none;user-select:none;-webkit-user-select:none;min-width:122px;padding:13px 17px;border:1px solid #d5dbcd;border-radius:10px;font-size:12px;font-weight:700;box-shadow:0 3px 0 #d9decd}.action-btn span{font-size:17px;vertical-align:middle;margin-right:7px}.duck{color:var(--ink);background:#f0f1e6}.jump{color:#fff;background:var(--green);border-color:#377552;box-shadow:0 3px 0 #28553b}.action-btn:active,.action-btn.held{transform:translateY(3px);box-shadow:none}.guide{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 0 25px;gap:20px}.guide>div{display:flex;gap:12px;align-items:flex-start}.guide-number{width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;border:1px solid #d0d7c4;border-radius:50%;font-size:10px;color:var(--green)}.guide p{margin:2px 0 0}.guide b{display:block;font-size:11px}.guide p span{display:block;font-size:10px;line-height:1.9;color:#89917f;margin-top:4px}footer{display:flex;justify-content:space-between;border-top:1px solid #dcdfd1;padding:18px 0 26px;font-size:9px;color:#929986}#notice{position:absolute;top:55px;left:50%;transform:translateX(-50%);font-size:13px;font-weight:800;background:#fff8edee;padding:7px 18px;border-radius:30px;opacity:0;transition:opacity .2s;white-space:nowrap}.countdown{position:absolute;inset:0;display:grid;place-items:center;background:#f4f1e73b;font-size:95px;font-weight:900;color:var(--orange);text-shadow:0 5px #fff}.result-card{text-align:center;background:#fcfaf0f5;border:1px solid #fff;box-shadow:0 10px 40px #304e3020;border-radius:20px;padding:23px 34px;min-width:350px;max-width:93%}.result-emoji{font-size:42px;margin:6px}.result-card h2{font-size:26px}.result-card p{font-size:12px;color:#7e8876;margin:6px 0 14px}.result-score{padding:12px 0 18px}.result-score small{display:block;font-size:9px;letter-spacing:2px;color:#7b876f}.result-score strong{display:block;font-size:40px;color:var(--green);font-variant-numeric:tabular-nums}.result-score>span{display:block;font-size:10px;color:#7b876f}.result-buttons{display:flex;gap:10px;align-items:center}.secondary{border:0;background:none;color:var(--ink);font-size:11px;text-decoration:underline;padding:10px}.result-buttons .start-btn{font-size:12px}@media(min-width:1500px){.stage{height:500px}}@media(max-width:900px){.app{padding:0 20px}.intro{padding-top:25px}h1{font-size:24px}.intro p{font-size:10px}.hud{gap:18px}.guide{gap:12px}.guide b{font-size:10px}}@media(max-width:600px){.app{padding:0 10px}header{height:70px}.brand{font-size:13px;gap:8px}.brand small{font-size:7px;letter-spacing:1px}.brand-icon{width:30px;height:30px;font-size:24px;border-radius:9px}.badge{display:none}.header-actions{gap:5px}.icon-btn{font-size:10px;padding:7px}.intro{padding:22px 4px 17px}.eyebrow{font-size:9px;letter-spacing:1px}h1{font-size:22px;line-height:1.5}h1 span{display:block}.intro p{display:none}.game{border-radius:13px}.hud{height:73px;padding:10px;gap:12px}.hud-player{min-width:77px;gap:5px}.hud-player>span{font-size:25px}.hud-player strong{font-size:19px}.hud-player strong span{font-size:9px}.hud-player small{font-size:9px}.energy{width:auto;flex:1;max-width:160px}.energy>div:first-child{font-size:8px}.energy small{font-size:8px}.hud-score b,.hud-time b{font-size:18px}.hud-score small,.hud-time small{font-size:7px}.hud-time{display:none}.hud-score{min-width:61px}.stage{height:375px}.menu-content{padding:20px 12px;width:94%}h2{font-size:25px}.menu-sub{font-size:10px}.choices{gap:7px}.animal-art{width:72px;height:62px}.choice small{font-size:8px}.choice{padding:8px 2px 10px}.scene-tag{font-size:8px;top:9px;left:9px}.progress{padding:16px 14px 12px}.controls{padding:10px 12px 16px;display:block}.control-help{margin-bottom:12px;text-align:center}.control-help>span{display:none}.touch-buttons{width:100%}.action-btn{flex:1;min-height:54px}.guide{grid-template-columns:1fr;gap:15px;padding:24px 6px}.guide p span{font-size:11px}.guide b{font-size:12px}footer{display:block;line-height:2;padding:15px 6px}footer>span{display:block}.result-card{min-width:0;width:93%;padding:18px}.result-card h2{font-size:24px}.result-buttons{justify-content:center}.result-score strong{font-size:34px}.result-emoji{font-size:36px}}@media(max-height:550px) and (orientation:landscape){.app{padding:0 12px}header{height:43px}.brand{font-size:12px}.brand small,.badge,.intro,.guide,footer,.control-help{display:none}.brand-icon{height:25px;width:25px;font-size:20px;border-radius:7px}.game{margin-top:6px}.hud{height:49px;padding:6px 15px}.hud-player{min-width:90px}.hud-player>span{font-size:25px}.hud-player strong{font-size:16px}.hud-player small{font-size:8px}.energy small{display:none}.hud-score b,.hud-time b{font-size:17px}.stage{height:calc(100dvh - 155px);min-height:220px}.progress{padding:9px 20px}.controls{padding:4px 12px 9px;position:relative}.touch-buttons{position:absolute;bottom:65px;left:15px;right:15px;justify-content:space-between;pointer-events:none}.action-btn{pointer-events:auto;opacity:.85;min-height:43px;min-width:110px;flex:0}.menu-content{max-width:540px;padding:12px 22px}.menu-kicker,.menu-sub,.best{display:none}h2{font-size:20px;margin:0 0 8px}.animal-art{height:40px;width:70px}.choices{margin-bottom:8px}.choice{padding:3px 5px 6px}.choice small{font-size:8px}.start-btn{min-height:35px;padding:8px 20px}.result-card{padding:12px 25px}.result-emoji{font-size:25px;margin:0}.result-card h2{font-size:20px}.result-score{padding:5px}.result-score strong{font-size:27px}.result-card p{margin:4px}.result-kicker{font-size:8px}.result-buttons{margin-top:7px}}
/* Generated, transparent game artwork. */
.assets-link{text-decoration:none;white-space:nowrap}.asset-status{font-size:10px;color:#ad563b;margin:10px 0 0}.start-btn:disabled{cursor:wait;opacity:.65;transform:none}.hud-player>span>img{display:block;width:39px;height:43px;object-fit:contain}.marker img{width:25px;height:25px;object-fit:contain;display:block}.result-art{display:flex;align-items:center;justify-content:center;margin:6px auto 8px}.result-art img{display:block;object-fit:contain;width:210px;height:126px}.result-art.dish img{width:210px;height:104px}#result .result-card{max-height:calc(100% - 16px);overflow-y:auto;overscroll-behavior:contain}#result .result-score{padding:7px 0 12px}#result .result-score strong{font-size:34px}@media(max-width:600px){.assets-link{font-size:9px;padding:6px}.hud-player>span>img{width:29px;height:35px}.result-art img{height:91px;width:160px}.result-art.dish img{height:81px;width:170px}#result .result-card{padding:15px}#result .result-card h2{font-size:22px}#result .result-score strong{font-size:30px}#result .result-buttons{gap:5px}.header-actions{gap:4px}.header-actions .badge{display:none}}@media(max-height:550px) and (orientation:landscape){.result-art img,.result-art.dish img{height:70px;width:145px}.hud-player>span>img{width:25px;height:30px}#result .result-card{padding:12px 24px}#result .result-score{padding:3px 0}#result .result-score strong{font-size:25px}}

#audioStatus{font-size:10px;color:#ad563b;max-width:240px;margin:0 8px}#audioStatus[hidden]{display:none}@media(max-width:600px){#audioStatus{max-width:none;text-align:center;margin:6px 0 10px}}

.countdown{pointer-events:none}.countdown.preparing{font-size:clamp(25px,5vw,42px)}.countdown.start-cue{font-size:clamp(43px,8vw,80px);letter-spacing:.04em;background:transparent;animation:start-cue .85s ease-out both}@keyframes start-cue{0%{opacity:0;transform:scale(.8)}14%,70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.countdown.start-cue{animation:none}}

/* Portal navigation */
#how-to-play{scroll-margin-top:20px}.site-links{display:flex;justify-content:center;gap:20px;border-top:1px solid #dcdfd1;padding:17px 0 23px;font-size:11px}.site-links a{color:var(--green);text-underline-offset:3px}@media(max-width:600px){.site-links{font-size:10px}}
