:root{--ink: #3b2a1e;--paper: #fff8ea;--accent: #c0452c;--accent-dark: #8f2f1c;--gold: #f2c230;font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#2e2018;color:var(--ink);touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none}#stage{position:fixed;top:0;bottom:0;left:50%;width:min(100vw,56.25vh);transform:translate(-50%);overflow:hidden;background:#dde8ec}#sky,.sky,#game,#hud,.screen{position:fixed;inset:0}.sky{opacity:0;background-size:cover;background-position:center 38%}#sky0{opacity:1;background-image:linear-gradient(#8fd0f5,#cfeaf7 46%)}#sky1{background-image:linear-gradient(#f6c98a,#fbe6c8 46%)}#sky2{background-image:linear-gradient(#9fb0d6,#d3d9e8 46%)}.sky.has-image{background-repeat:no-repeat}#sky0.has-image{background-color:#dde8ec}#sky1.has-image{background-color:#fddec2}#sky2.has-image{background-color:#cfdae0}#game{width:100%;height:100%;display:block}button{font:inherit;color:inherit;border:0;cursor:pointer}#hud{display:none;pointer-events:none;padding:calc(12px + env(safe-area-inset-top)) 16px 16px}#hud.on{display:block}.top{display:flex;justify-content:space-between;align-items:flex-start}.left{display:flex;align-items:baseline;gap:10px}#score{font-size:40px;font-weight:800;line-height:1;color:#fff;text-shadow:0 2px 0 rgba(59,42,30,.55),0 0 12px rgba(59,42,30,.25);font-variant-numeric:tabular-nums}#mult{font-size:20px;font-weight:800;padding:2px 10px;border-radius:999px;background:#fff8ead9;opacity:.6}#mult.hot{opacity:1;background:var(--gold)}#mult.pop{animation:pop .3s}@keyframes pop{40%{transform:scale(1.35)}}.icon{pointer-events:auto;width:44px;height:44px;border-radius:50%;background:#fff8eae0;font-size:16px;box-shadow:0 2px #3b2a1e40}#kids{display:flex;gap:6px;margin-top:12px}#kids i{width:18px;height:18px;border-radius:50%;background:#fff8ea73;border:2px solid rgba(59,42,30,.35);transition:background .2s,transform .2s}#kids i.on{background:var(--gold);border-color:var(--ink);transform:scale(1.12)}#shield{display:none;margin-top:12px;width:150px;font-size:13px;font-weight:700;color:#fff;text-shadow:0 1px 0 rgba(59,42,30,.6)}#shield.on{display:block}#shield b{display:block;height:8px;margin-top:4px;border-radius:4px;background:#3b2a1e59;overflow:hidden}#shield-bar{display:block;height:100%;background:#cfd5de;transform-origin:left}#hint{position:absolute;left:50%;top:24%;transform:translate(-50%);width:max-content;max-width:90%;padding:10px 18px;border-radius:14px;background:#3b2a1ed1;color:#fff;font-size:20px;font-weight:700;text-align:center;opacity:0;transition:opacity .2s}#hint.on{opacity:1}.screen{display:none;align-items:center;justify-content:center;padding:24px;text-align:center}.screen.on{display:flex}.dim{background:#3b2a1e80}#title{background:linear-gradient(#8fd0f5,#cfeaf7 40%,#7fc66b 40.2%,#6ab257);background-size:cover;background-position:center top;align-items:flex-end;padding-bottom:calc(9vh + env(safe-area-inset-bottom))}#title .shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,#3b2a1e8c);opacity:0}#title.has-image .shade{opacity:1}.panel{position:relative;width:min(100%,460px)}.kicker{margin:0 0 6px;font-size:15px;font-weight:700;letter-spacing:.12em;color:var(--accent-dark)}#title.has-image .kicker,#title.has-image .lead,#title.has-image #best{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}h1{margin:0;font-size:clamp(44px,13vw,72px);font-weight:900;letter-spacing:.04em;color:#fff;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink)}.lead{margin:14px 0 26px;font-size:17px;font-weight:600}#best{min-height:1.4em;margin:16px 0 0;font-weight:700}.primary{display:block;width:100%;max-width:300px;margin:0 auto;padding:16px 20px;border-radius:18px;background:var(--accent);color:#fff;font-size:24px;font-weight:800;letter-spacing:.2em;box-shadow:0 6px 0 var(--accent-dark)}.primary:active{transform:translateY(4px);box-shadow:0 2px 0 var(--accent-dark)}.ghost{display:block;margin:16px auto 0;padding:10px 18px;background:none;font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.corner{position:absolute;top:calc(12px + env(safe-area-inset-top));right:16px}.card{width:min(100%,360px);padding:28px 24px 22px;border-radius:24px;background:var(--paper);box-shadow:0 8px #3b2a1e59}.card h2{margin:0 0 14px;font-size:22px}.card .icon{margin-top:14px;background:#f0e2c4}#over-new{display:none;margin:0 auto 10px;width:fit-content;padding:4px 16px;border-radius:999px;background:var(--gold);font-weight:800}#over-new.on{display:block}#over-score{font-size:60px;font-weight:900;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}dl{margin:18px 0 22px}dl div{display:flex;justify-content:space-between;padding:8px 4px;border-bottom:1px dashed rgba(59,42,30,.25)}dt{font-weight:600}dd{margin:0;font-weight:800}#intro{background:#2e20189e}.card.wide{width:min(100%,420px);max-height:100%;overflow-y:auto;text-align:left}.page{display:none;min-height:250px}.page.on{display:block}.page p{margin:0 0 12px;font-size:17px;line-height:1.75}.page h2{font-size:26px;margin-bottom:16px}.step{margin:0 0 4px!important;font-size:13px!important;font-weight:800;letter-spacing:.12em;color:var(--accent)}.rules{margin:0;padding:0;list-style:none}.rules li{display:grid;grid-template-columns:7.2em 1fr;gap:10px;padding:9px 0;border-bottom:1px dashed rgba(59,42,30,.22);font-size:15px;line-height:1.55}.rules b{color:var(--accent-dark)}.touch-only{display:none}.touch .touch-only{display:inline}.touch .key-only{display:none}.dots{display:flex;justify-content:center;gap:8px;margin:16px 0 18px}.dots i{width:8px;height:8px;border-radius:50%;background:#3b2a1e38}.dots i.on{background:var(--accent)}#title .ghost{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}.ghost[hidden]{display:none}.secondary{display:block;width:100%;max-width:300px;margin:14px auto 0;padding:11px 20px 9px;border-radius:16px;background:#fff8eaeb;color:var(--accent-dark);font-size:19px;font-weight:800;letter-spacing:.12em;box-shadow:0 4px #3b2a1e59}.secondary small{display:block;margin-top:2px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink);opacity:.75}.secondary:disabled{opacity:.7;cursor:default}#title .ghost{margin-top:8px}#progress,#balance{display:none;position:absolute;left:50%;transform:translate(-50%);width:min(56%,240px);text-align:center;color:#fff;font-size:13px;font-weight:800;text-shadow:0 1px 2px rgba(59,42,30,.7)}#progress{bottom:calc(16px + env(safe-area-inset-bottom));width:min(72%,300px)}#progress.on,#balance.on{display:block}#progress b,#balance b{position:relative;display:block;height:10px;border-radius:5px;background:#3b2a1e59;border:2px solid rgba(255,248,234,.9);overflow:hidden}#progress-bar{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}#progress span{display:block;margin-top:4px}#balance{bottom:calc(18% + env(safe-area-inset-bottom));width:min(70%,280px)}#balance b{height:16px;border-radius:8px;background:linear-gradient(90deg,#c0452c 0 12%,#f2c230 12% 30%,#7cb35a 30% 70%,#f2c230 70% 88%,#c0452c 88%)}#balance-needle{position:absolute;top:-2px;bottom:-2px;left:50%;width:6px;margin-left:-3px;border-radius:3px;background:#fff;box-shadow:0 0 0 2px var(--ink)}#balance span{display:block;margin-top:6px;font-size:15px}#toast{position:absolute;left:50%;top:40%;transform:translate(-50%,10px);width:max-content;max-width:90%;padding:10px 18px;border-radius:14px;background:var(--gold);color:var(--ink);font-size:20px;font-weight:900;text-align:center;opacity:0;transition:opacity .2s,transform .2s}#toast.on{opacity:1;transform:translate(-50%)}#clear-story p{margin:0 0 10px;font-size:15px;line-height:1.75}#clear-next{margin:0 0 16px;font-size:14px;font-weight:700;color:var(--accent-dark);text-align:center}#clear .card dl{margin:14px 0 16px}#race{display:none;position:absolute;left:50%;bottom:calc(18% + env(safe-area-inset-bottom));transform:translate(-50%);width:max-content;max-width:90%;padding:8px 16px;border-radius:999px;background:#c0452ce6;color:#fff;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}#race.on{display:block}#level-list{display:grid;gap:12px;margin:4px 0 8px}.level{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;width:100%;padding:14px 16px;border-radius:16px;background:#f3e6c9;text-align:left;box-shadow:0 4px #3b2a1e40}.level b{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;font-size:20px}.level strong{font-size:18px}.level small{font-size:13px;opacity:.8}.level:disabled{opacity:.5;cursor:default}.level:disabled b{background:#9a8c78}[hidden]{display:none!important}.brief-place{margin:-8px 0 14px!important;font-size:14px!important;font-weight:700;color:var(--accent-dark)}#brief-text p{margin:0 0 10px;font-size:16px;line-height:1.75}.brief-goal{display:grid;gap:4px;margin:16px 0 18px!important;padding:12px 14px;border-radius:12px;background:#f3e6c9;font-size:15px!important;line-height:1.6}.brief-goal b{font-size:12px;letter-spacing:.12em;color:var(--accent)}.home-link{position:absolute;top:calc(18px + env(safe-area-inset-top));left:16px;padding:8px 14px;border-radius:999px;background:#fff8eae6;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 2px #3b2a1e40}
