:root{--ink:#2d3a5a;--sky:#7ec8ff;--sun:#ffd23f;--pink:#ff6b9a;--mint:#3ddc97;--bg:#bfe6ff}*{box-sizing:border-box;margin:0}html,body{background:var(--bg);height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}body{overscroll-behavior:none;background:linear-gradient(#9fd8ff,#e8f7ff);overflow:hidden}#game{touch-action:none;place-items:center;display:grid;position:fixed;inset:0}#game canvas{border-radius:0;display:block;box-shadow:0 0 0 1px #2d3a5a14}@media (min-aspect-ratio:3/4){#game canvas{border-radius:18px;box-shadow:0 20px 60px #2d3a5a40}}[hidden]{display:none!important}.screen{z-index:5;padding:max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));text-align:center;background:radial-gradient(circle at 50% 0,#ffffffe6,#bfe6ffeb 60%);flex-direction:column;align-items:center;gap:12px;animation:.3s ease-out both pop-in;display:flex;position:fixed;inset:0;overflow-y:auto}.screen>:first-child{margin-top:auto}.screen>:last-child{margin-bottom:auto}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.kicker{letter-spacing:.12em;color:#4a78c2;font-size:13px;font-weight:800}h1{letter-spacing:-.02em;font-size:clamp(34px,9vw,48px);font-weight:900;line-height:1.12}h1 span{color:var(--pink);text-shadow:0 3px #fff,0 6px 14px #ff6b9a59}h2{font-size:28px;font-weight:900}.lead{color:#44506e;max-width:360px;font-size:16px;line-height:1.6}.hero-plane{filter:drop-shadow(0 10px 10px #2d3a5a33);width:110px;height:auto;animation:2.4s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-10px)rotate(-3deg)}}.btn{border:3px solid var(--ink);width:min(100%,320px);min-height:52px;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 5px 0 var(--ink);background:#fff;border-radius:18px;font-size:18px;font-weight:900;transition:transform 60ms}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn--main{background:var(--sun);min-height:62px;font-size:22px}.btn--text{box-shadow:none;background:0 0;border:none;min-height:44px;font-size:16px;text-decoration:underline}.toggle{align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.toggle input{width:22px;height:22px}.howto{text-align:left;background:#ffffffb3;border-radius:14px;max-width:340px;padding:10px 14px;font-size:15px;line-height:1.6}.howto summary{cursor:pointer;text-align:center;font-weight:800}.howto p{margin-top:6px}.foot{color:#6a7590;font-size:12.5px}.foot a{color:inherit}.cities{flex-direction:column;gap:10px;width:min(100%,380px);padding:0;list-style:none;display:flex}.cities button{text-align:left;border:3px solid var(--ink);width:100%;font:inherit;color:var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:18px;grid-template-columns:54px 1fr auto;align-items:center;gap:4px 12px;padding:10px 14px;display:grid}.cities button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.cities .flag{grid-row:1/span 2;font-size:34px}.cities b{font-size:18px}.cities small{color:#5d6884;font-size:13px}.cities i{letter-spacing:-2px;grid-area:1/3/span 2;font-size:18px;font-style:normal}.cities .is-next{background:#fff7cf}.hello{color:var(--pink);font-size:30px;font-weight:900}.card-food{width:96px;height:96px;animation:1.6s ease-in-out infinite bob}.stamp{color:#e0435a;background:#fff9;border:6px double #e0435a;border-radius:50%;place-items:center;width:132px;height:132px;font-size:18px;font-weight:900;line-height:1.2;animation:.6s cubic-bezier(.2,1.6,.4,1) .2s both stamp;display:grid;transform:rotate(-12deg)}.stamp span{font-size:40px;display:block}@keyframes stamp{0%{opacity:0;transform:scale(2.4)rotate(-30deg)}}.stars{letter-spacing:4px;min-height:56px;font-size:46px}.stars span{animation:.4s cubic-bezier(.2,1.8,.4,1) both star-in;display:inline-block}.stars span.off{filter:grayscale()opacity(.35)}@keyframes star-in{0%{opacity:0;transform:scale(.2)rotate(-90deg)}}.nums{grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,360px);display:grid}.nums div{border:3px solid var(--ink);background:#fff;border-radius:14px;padding:8px 4px}.nums dt{color:#5d6884;font-size:12.5px;font-weight:700}.nums dd{font-size:20px;font-weight:900}.dex,.paints{grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,380px);padding:0;list-style:none;display:grid}.dex li{border:3px solid var(--ink);background:#fff;border-radius:16px;padding:8px 4px;font-size:13px;font-weight:800}.dex li img{width:56px;height:56px;margin:0 auto;display:block}.dex li.is-new{opacity:.4}.dex li small{color:#6a7590;font-weight:600;display:block}.paints button{border:3px solid var(--ink);width:100%;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:16px;padding:8px 4px;font-size:13px;font-weight:800}.paints button img{width:70px;height:auto;margin:0 auto 4px;display:block}.paints button[aria-pressed=true]{box-shadow:0 0 0 3px var(--sun);background:#fff7cf}.paints button:disabled{opacity:.45;cursor:not-allowed}.hud{z-index:3;pointer-events:none;font-weight:900;position:fixed;inset:0}.hud__top{top:max(10px, env(safe-area-inset-top));align-items:center;gap:8px;display:flex;position:absolute;left:12px;right:12px}.pill{border:3px solid var(--ink);white-space:nowrap;background:#ffffffe0;border-radius:999px;padding:4px 12px;font-size:16px}.pill--score{font-variant-numeric:tabular-nums;margin-left:auto}.pill--btn{pointer-events:auto;width:46px;height:46px;font:inherit;color:var(--ink);cursor:pointer;padding:0;font-size:16px}.trip{top:calc(max(10px, env(safe-area-inset-top)) + 56px);background:#fff9;border-radius:4px;height:8px;position:absolute;left:16px;right:16px}.trip i{background:var(--mint);border-radius:4px;width:0;height:100%;display:block}.trip span{font-size:22px;position:absolute;top:-12px;left:0;transform:translate(-50%)rotate(45deg)}.combo{top:calc(max(10px, env(safe-area-inset-top)) + 80px);color:var(--pink);text-shadow:0 2px #fff,0 0 10px #fff;font-size:22px;position:absolute;left:50%;transform:translate(-50%)}.belly{left:12px;bottom:max(14px, env(safe-area-inset-bottom));border:3px solid var(--ink);background:#ffffffd9;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:flex;position:absolute}.belly i{background:#e8eef8;border-radius:6px;width:110px;height:12px;overflow:hidden}.belly b{background:linear-gradient(90deg,#ffd23f,#ff6b9a);width:0;height:100%;transition:width .15s;display:block}.bossbar{top:calc(max(10px, env(safe-area-inset-top)) + 76px);text-align:center;width:min(86vw,420px);font-size:15px;position:absolute;left:50%;transform:translate(-50%)}.bossbar i{border:3px solid var(--ink);background:#fffc;border-radius:8px;height:16px;margin-top:4px;display:block;overflow:hidden}.bossbar b{background:linear-gradient(90deg,#ffd23f,#3ddc97);width:0;height:100%;transition:width .12s;display:block}.bossbar em{color:#44506e;margin-top:2px;font-size:12px;font-style:normal;display:block}.vacuum{pointer-events:auto;right:14px;bottom:max(14px, env(safe-area-inset-bottom));border:4px solid var(--ink);width:104px;height:104px;font:inherit;color:var(--ink);box-shadow:0 6px 0 var(--ink), 0 0 0 0 #ffd23fb3;cursor:pointer;background:radial-gradient(circle at 35% 30%,#fff6c2,#ffd23f 60%,#ffb300);border-radius:50%;font-size:20px;font-weight:900;animation:1s infinite pulse;position:absolute}@keyframes pulse{70%{box-shadow:0 6px 0 var(--ink), 0 0 0 18px #ffd23f00}}.banner{text-align:center;opacity:0;width:92vw;transition:opacity .2s;position:absolute;top:34%;left:50%;transform:translate(-50%)}.banner.is-show{opacity:1}.banner b{color:#ff4d6d;text-shadow:0 3px #fff,0 0 18px #fff;font-size:clamp(28px,8vw,44px);display:block}.banner span{color:var(--ink);text-shadow:0 2px #fff,0 0 10px #fff;font-size:20px;display:block}.toast{left:50%;bottom:max(140px, calc(env(safe-area-inset-bottom) + 130px));z-index:9;color:#fff;opacity:0;pointer-events:none;text-align:center;background:#2d3a5aeb;border-radius:14px;max-width:90vw;padding:10px 16px;font-size:15px;font-weight:700;transition:opacity .25s;position:fixed;transform:translate(-50%)}.toast.is-show{opacity:1}@media (prefers-reduced-motion:reduce){.screen,.hero-plane,.card-food,.stamp,.stars span,.vacuum{animation:none!important}}
