:root{--bg-top:#fbe4ea;--bg-bot:#d6ebf5;--ink:#5b4a6e;--ink-soft:#8a7a9e;--pink:#f59ab2;--pink-deep:#e9789a;--cream:#fff6ec;--lav:#bcaaf0;--mint:#9fdcc6;--gold:#ffd27a;--font:"Fredoka", "M PLUS Rounded 1c", ui-rounded, system-ui, sans-serif;--font-jp:"M PLUS Rounded 1c", "Fredoka", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;background:linear-gradient(180deg, var(--bg-top) 0%, #f3e6f4 45%, var(--bg-bot) 100%);height:100%;color:var(--ink);font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;margin:0;padding:0;overflow:hidden}#app{touch-action:none;width:100vw;height:100dvh;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#app:before{content:"";pointer-events:none;background:radial-gradient(circle at 78% 16%,#fff6d6f2 0 7%,#fff0dc00 22%),radial-gradient(30% 4% at 16% 30%,#ffffffd9 0 60%,#0000 62%),radial-gradient(22% 3% at 84% 62%,#ffffffbf 0 60%,#0000 62%),radial-gradient(26% 3.5% at 12% 74%,#fff9 0 60%,#0000 62%);position:absolute;top:0;bottom:0;left:0;right:0}canvas#c{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.hud{top:max(8px, env(safe-area-inset-top));pointer-events:none;gap:6px;display:flex;position:absolute;left:max(8px,50% - 240px);right:max(52px,50% - 196px)}.chip{white-space:nowrap;background:#fffaf5eb;border-radius:16px;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 10px;display:flex;box-shadow:0 2px #bca0d273,0 4px 12px #9678b426}.chip.coins{flex:1.5 1 0}.chip.score{flex:1.2 1 0}.chip.streak{flex:1 1 0}.lbl{letter-spacing:.08em;color:var(--ink-soft);font-size:10px;font-weight:600}.val{color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;line-height:1}.score .val{color:var(--pink-deep)}.pips{justify-content:center;gap:3px;display:flex}.pip{background:#eadff0;border-radius:50%;width:12px;height:12px;transition:transform .25s,background .25s;box-shadow:inset 0 -2px #0000000f}.pip.on{background:radial-gradient(circle at 35% 30%, #fff3c4 0 22%, var(--gold) 24% 70%, #f1b54c 72%);box-shadow:0 2px #e0a43f}.streak.hot{background:linear-gradient(#fff3d6,#ffe1ec)}.streak.hot .val{color:#f08a3c}.controls{left:0;right:0;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.hint{color:var(--ink);background:#fffaf5f2;border-radius:999px;padding:4px 16px;font-size:16px;font-weight:700;box-shadow:0 2px #bca0d273}.hold{pointer-events:auto;touch-action:none;border:7px solid var(--cream);background:radial-gradient(circle at 38% 30%, #ffd3df 0 18%, var(--pink) 50%, var(--pink-deep) 100%);color:#fff;cursor:pointer;width:116px;height:116px;font:inherit;border-radius:50%;place-items:center;padding:0;transition:transform 80ms,box-shadow 80ms,filter .2s;display:grid;box-shadow:0 8px #cf6d8c,0 16px 26px #a05a8259}.hold .icon{filter:drop-shadow(0 2px #a03c6459);width:54px;height:54px;display:block}.hold .icon svg{width:100%;height:100%}.hold.down{transform:translateY(6px)scale(.97);box-shadow:0 2px #cf6d8c,0 6px 12px #a05a824d}.hold.insert{display:none}.chip.coins{position:relative}.chip.coins.can-drag{pointer-events:auto;touch-action:none;cursor:grab;animation:1.1s ease-in-out infinite insertPulse}.chip.coins.can-drag:before{content:"";position:absolute;top:-8px;bottom:-8px;left:-6px;right:-6px}.hold.insert .icon{filter:drop-shadow(0 2px #a0641466)}@keyframes insertPulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.fly-coin{pointer-events:none;z-index:5;background:radial-gradient(circle at 35% 30%, #fff3c4 0 22%, var(--gold) 24% 70%, #f1b54c 72%);border-radius:50%;width:26px;height:26px;position:absolute;box-shadow:0 2px #e0a43f,0 0 14px #ffd27ae6}.coin-pickup{pointer-events:auto;touch-action:none;cursor:grab;color:#c8862a;letter-spacing:-.5px;place-items:center;width:64px;height:64px;font-size:18px;font-weight:700;animation:1.4s ease-in-out infinite coinBob;display:grid;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px #e0a43f,0 0 22px #ffd27af2,inset 0 0 0 5px #f6c25a,inset 0 0 0 7px #fff1c9}.coin-pickup:after{content:"100";text-shadow:0 1px #fff4d6}.is-start .coin-pickup{display:none!important}@keyframes coinBob{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-58%)scale(1.06)}}.hold.busy{filter:saturate(.35)brightness(1.08)}.popups{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.popup{color:var(--pink-deep);white-space:nowrap;text-align:center;text-shadow:0 3px #fff,0 -2px #fff,2px 0 #fff,-2px 0 #fff;font-size:30px;font-weight:700;animation:1.6s ease-out forwards popup;position:absolute;transform:translate(-50%,-50%)}.popup small{color:#f08a3c;font-size:17px;display:block}.popup.sad{color:var(--ink-soft);font-size:22px}.popup.gold{color:#e3a21c;font-size:36px}@keyframes popup{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.1)}30%{transform:translate(-50%,-70%)scale(1)}to{opacity:0;transform:translate(-50%,-160%)scale(1)}}.popup.big{color:var(--pink-deep);z-index:6;-webkit-text-stroke:7px #fff;paint-order:stroke fill;text-shadow:0 4px #5b4a6e59;font-family:Fredoka,"M PLUS Rounded 1c",sans-serif;font-size:52px;font-weight:700;animation:1.7s cubic-bezier(.2,.9,.3,1.2) forwards popupBig}.popup.big.gold{color:#f0a020}.popup .badge{vertical-align:middle;color:var(--ink);-webkit-text-stroke:0;background:var(--gold);border:3px solid var(--ink);text-shadow:none;border-radius:999px;margin-left:6px;padding:1px 9px;font-size:22px;line-height:1.2;display:inline-block;transform:rotate(-6deg)}@keyframes popupBig{0%{opacity:0;transform:translate(-50%,-20%)scale(.3)}18%{opacity:1;transform:translate(-50%,-60%)scale(1.3)}32%{transform:translate(-50%,-60%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-130%)scale(1)}}.popup.miss{color:var(--ink);z-index:6;-webkit-text-stroke:6px #fff;paint-order:stroke fill;font-size:30px;animation:1.5s ease-out forwards popupMiss}.popup.miss small{color:var(--pink-deep);-webkit-text-stroke:4px #fff;paint-order:stroke fill;font-size:15px}@keyframes popupMiss{0%{opacity:0;transform:translate(-50%,-40%)scale(.5)rotate(-6deg)}15%{opacity:1;transform:translate(-50%,-80%)scale(1.15)rotate(4deg)}28%{transform:translate(-50%,-75%)scale(1)rotate(-3deg)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-120%)scale(1)rotate(0)}}.chip.streak.pulse{animation:.5s ease-out chipPulse}@keyframes chipPulse{0%{transform:scale(1)}30%{background:#ffe1a0;transform:scale(1.3)}to{transform:scale(1)}}.hud.shake{animation:.4s ease-out hudShake}@keyframes hudShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.slot-arrow{pointer-events:none;z-index:5;filter:drop-shadow(0 2px #ffffffe6);width:30px;height:36px;margin:-36px 0 0 -15px;animation:.8s ease-in-out infinite arrowBob;position:absolute}.slot-arrow svg{width:100%;height:100%;display:block}@keyframes arrowBob{0%,to{transform:translateY(-8px)}50%{transform:translateY(4px)}}.prize-pop{width:84px;height:84px;animation:1.5s cubic-bezier(.2,.9,.3,1.2) forwards prize;position:absolute;transform:translate(-50%,-50%)}@keyframes prize{0%{opacity:0;transform:translate(-50%,-20%)scale(.4)}20%{opacity:1;transform:translate(-50%,-110%)scale(1.15)rotate(-8deg)}40%{transform:translate(-50%,-95%)scale(1)rotate(5deg)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-140%)scale(.9)}}.screen{place-items:center;padding:16px;transition:opacity .35s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.hidden{opacity:0;visibility:hidden;pointer-events:none!important}.start{cursor:pointer;background:linear-gradient(#fff0f58c,#f0ebffd1 55%,#e2f0fae6)}.title-wrap{text-align:center;flex-direction:column;align-items:center;display:flex;transform:translateY(-2vh)}.is-start .hud,.is-start .controls{opacity:0;pointer-events:none}.hud,.controls{transition:opacity .3s}.title-logo{-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 0 3px #fff)drop-shadow(0 4px #fff)drop-shadow(0 10px 16px #c878a059);width:min(56vw,250px);height:auto;margin:0 auto;display:block}.title-jp{font-family:var(--font-jp);color:var(--pink-deep);text-shadow:0 5px #fff,0 -3px #fff,4px 0 #fff,-4px 0 #fff,0 10px 18px #c878a059;letter-spacing:.02em;font-size:min(15vw,76px);font-weight:800;line-height:1.02}.title-en{letter-spacing:.32em;color:var(--lav);text-shadow:0 2px #fff;margin-top:10px;font-size:18px;font-weight:700}.birds-row{flex-wrap:wrap;justify-content:center;gap:2px;margin:14px 0 6px;display:flex}.birds-row img{width:64px;height:64px;animation:1.8s ease-in-out infinite hop}.start-birds img:nth-child(2){animation-delay:.2s}.start-birds img:nth-child(3){animation-delay:.4s}.start-birds img:nth-child(4){animation-delay:.6s}.start-birds img:nth-child(5){animation-delay:.8s}@keyframes hop{0%,70%,to{transform:translateY(0)}80%{transform:translateY(-10px)}90%{transform:translateY(0)scaleY(.92)}}.howto{text-align:left;background:#fffcf8cc;border-radius:18px;flex-direction:column;gap:6px;margin:10px auto 0;padding:12px 16px;font-size:15px;font-weight:500;display:inline-flex}.howto b{background:var(--mint);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:6px;font-size:13px;display:inline-grid}.howto .small{text-align:center;color:var(--ink-soft);font-size:13px}.tap{background:var(--pink);color:#fff;letter-spacing:.06em;border-radius:999px;margin:22px auto 0;padding:14px 34px;font-size:22px;font-weight:700;animation:1.4s ease-in-out infinite pulse;display:inline-block;box-shadow:0 6px #cf6d8c}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.over{-webkit-backdrop-filter:blur(3px);background:#f4ecfc99}.card{background:var(--cream);text-align:center;border-radius:30px;width:min(92vw,400px);padding:22px 18px 18px;animation:.5s cubic-bezier(.2,.9,.3,1.2) cardIn;box-shadow:0 8px #e6cfe0,0 24px 50px #785aa040}@keyframes cardIn{0%{opacity:0;transform:translateY(30px)scale(.92)}}.over-jp{font-family:var(--font-jp);color:var(--pink-deep);font-size:30px;font-weight:800}.over-en{letter-spacing:.3em;color:var(--ink-soft);font-size:13px;font-weight:600}.big-score{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:6px;font-size:64px;font-weight:700;line-height:1.1}.pb-badge{background:var(--gold);color:#8a5a10;border-radius:999px;margin-top:2px;padding:3px 12px;font-size:14px;font-weight:700;animation:1.2s infinite pulse;display:inline-block}.caught{background:#fdeef3;border-radius:18px;align-items:center;min-height:70px;margin:12px 0;padding:6px}.caught img{width:52px;height:52px;animation:.45s cubic-bezier(.2,.9,.3,1.4) both popIn}.caught .empty{color:var(--ink-soft);padding:18px 0;font-size:15px}.caught .more{color:var(--ink-soft);padding:0 6px;font-weight:700}@keyframes popIn{0%{opacity:0;transform:scale(0)}}.stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stats>div{background:#f2ecfb;border-radius:16px;padding:8px}.stats .v{font-size:26px;font-weight:700}.btns{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.btn{font:inherit;cursor:pointer;color:var(--ink);touch-action:manipulation;background:#ece5f8;border:0;border-radius:999px;padding:13px 10px;font-size:19px;font-weight:700;box-shadow:0 5px #d4c7ea}.btn.primary{background:var(--pink);color:#fff;box-shadow:0 5px #cf6d8c}.btn:active{transform:translateY(4px);box-shadow:0 1px #cf6d8c}.gallery{background:#fff8faeb;grid-template-columns:1fr 1fr;align-content:center;gap:10px;padding:20px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.g-item{text-align:center}.g-item img{width:100%;max-width:300px}.g-name{font-family:var(--font-jp);font-size:20px;font-weight:800}.rotate{z-index:50;background:linear-gradient(160deg,#ffe3ec,#e6defa 55%,#d8eef7);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.rotate.show{display:flex}@media (orientation:landscape) and (max-height:600px) and (pointer:coarse) and (hover:none){.rotate{display:flex}}.phone{border:7px solid var(--pink-deep);background:#fff6fa;border-radius:18px;width:70px;height:120px;animation:2s ease-in-out infinite rot;position:relative}.phone .screen-dot{background:var(--pink);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;bottom:7px;left:50%}@keyframes rot{0%,20%{transform:rotate(-90deg)}55%,to{transform:rotate(0)}}.rot-jp{font-family:var(--font-jp);color:var(--pink-deep);font-size:30px;font-weight:800}.rot-en{color:var(--ink);font-weight:600}.toast{opacity:0;pointer-events:none;background:var(--ink);color:#fff;z-index:60;border-radius:999px;padding:10px 18px;font-weight:600;transition:all .25s;position:absolute;bottom:22%;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.mute{z-index:5;right:max(8px,50% - 240px);top:max(8px, env(safe-area-inset-top));width:32px;height:32px;color:var(--ink-soft);cursor:pointer;touch-action:manipulation;background:#fffaf5e0;border:0;border-radius:50%;padding:7px;position:absolute;box-shadow:0 2px #bca0d273}.mute svg{width:100%;height:100%;display:block}.mute.off{opacity:.7}.is-start .mute{top:max(8px, env(safe-area-inset-top))}
