@font-face{font-family:GameRound;src:local("Arial Rounded MT Bold"),local("Trebuchet MS");font-display:swap}
:root{color-scheme:light;--ink:#78334d;--pink:#f64299;--cream:#fff8ee;--mint:#b8f6d5;--line:#a34463;font-family:GameRound,"Trebuchet MS",sans-serif;color:var(--ink)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{min-height:100svh;display:grid;place-items:center;background:#edb6c7;overflow-x:hidden}body::before{content:"";position:fixed;inset:-30px;background:linear-gradient(#fcd6e24a,#e4a4bd66),url('assets/machine.png') center/cover;filter:blur(19px);z-index:-1}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible+.switch{outline:4px solid #5e8765;outline-offset:5px}button:disabled{cursor:default}.game{position:relative;width:min(100vw,100svh);aspect-ratio:1;isolation:isolate;container-type:inline-size;overflow:hidden;box-shadow:0 0 100px #72364740;user-select:none;-webkit-user-select:none;touch-action:manipulation}.plate,#scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#scene{z-index:1}.hud{position:absolute;inset:0;pointer-events:none;z-index:2}.timer,.score{position:absolute;color:#bb0860;font-weight:900;font-size:3.1cqw;line-height:1;letter-spacing:-.12cqw;font-variant-numeric:tabular-nums;text-align:center;text-shadow:0 1px #fff}.timer{left:31.6%;top:12.65%;width:8.7%}.score{left:65.8%;top:13.22%;width:8.5%;font-size:3cqw}.time-track{position:absolute;left:40.69%;top:12.99%;width:14.7%;height:2.03%;background:#fce4d1;border-radius:99px;overflow:hidden;box-shadow:inset 0 1px 3px #a0544150}.time-track>div{width:100%;height:100%;border-radius:99px;background:linear-gradient(#ff96c9,#f4469c);box-shadow:inset 0 2px 0 #ffd5e9;transition:width .12s linear}.time-track.urgent>div{background:linear-gradient(#ffa59b,#ed4468)}.timer.urgent{animation:tick 1s infinite}.caught-pill{position:absolute;top:24.2%;right:26.1%;padding:.35cqw 1cqw;font-size:1.45cqw;color:#973750;background:#fff9f0e8;border:1px solid #f0abc4;border-radius:99px;box-shadow:0 2px 6px #8e385a18}.caught-pill span:first-child{color:#df3380}.art-button{position:absolute;z-index:4;border:0;background:transparent;border-radius:50%;transition:box-shadow .15s,background .15s;touch-action:none;min-width:40px;min-height:40px}.art-button:hover:not(:disabled){background:#fff4;box-shadow:0 0 18px #fff8,inset 0 0 0 2px #fff9}.art-button:active:not(:disabled),.art-button.held{background:#b4004d22;box-shadow:inset 0 4px 12px #91285166}.back{left:19.45%;top:7.1%;width:6.4%;height:6.2%;border-radius:30%}.pause{left:73.9%;top:7.1%;width:6.2%;height:6.2%;border-radius:30%}.left{left:23.85%;top:68.85%;width:10.05%;height:8.65%}.right{left:37.8%;top:68.85%;width:10.05%;height:8.65%}.catch{left:50.65%;top:68.65%;width:25.3%;height:8.65%;border-radius:5cqw}.catch:disabled{background:#92334619}.catch-status{position:absolute;left:51%;top:69%;width:24.4%;height:8%;z-index:3;border-radius:5cqw;display:none;align-items:center;justify-content:center;background:linear-gradient(#ffb4d6,#f468ae);border:3px solid #ffe8f2;box-shadow:0 3px 0 #b84371;color:#fff;font-size:2.5cqw;font-weight:bold;text-shadow:0 2px 0 #ad285b}.catch-status.active{display:flex}.collection-counts{position:absolute;z-index:3;left:25.5%;top:84.9%;width:49.5%;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none}.collection-counts span{justify-self:end;border:1px solid #e995b3;border-radius:99px;background:#fff9ec;padding:.15cqw .55cqw;font-size:1.35cqw;font-weight:bold;color:#a3385b;box-shadow:0 1px 3px #96315a1a}.toast{position:absolute;z-index:5;left:50%;top:28%;max-width:65%;transform:translate(-50%,-5px);opacity:0;transition:opacity .18s,transform .18s;background:#fff8efef;border:2px solid #f09fbd;border-radius:99px;padding:.7cqw 1.7cqw;font-size:1.65cqw;box-shadow:0 4px 15px #7b25432a;pointer-events:none;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.menu-shade{position:absolute;z-index:6;inset:18% 18% 6%;border-radius:5%;background:#f5bfd040;backdrop-filter:blur(2px);transition:opacity .25s}.menu-shade[hidden]{display:none}.menu-card{position:absolute;z-index:7;left:24%;top:28%;width:52%;padding:3cqw 3.4cqw 2cqw;text-align:center;border:3px solid #fff9f0;border-radius:3.2cqw;background:linear-gradient(155deg,#fffdf6 0%,#fff1ed 55%,#ffe1ec 100%);box-shadow:0 0 0 2px #e899b5,0 9px 0 #c756831d,0 20px 45px #87385533;animation:appear .35s ease-out}.card-flower{position:absolute;top:-1.45rem;left:calc(50% - 1.45rem);width:2.9rem;height:2.9rem;display:grid;place-items:center;background:#fff3f4;border:2px solid #fff;border-radius:50%;color:#eb5b9a;font-size:2rem;text-shadow:0 2px #ffc5da;box-shadow:0 2px 0 #eda5c2}.menu-card .card-flower{width:5cqw;height:5cqw;top:-2.5cqw;left:calc(50% - 2.5cqw);font-size:3.7cqw}.eyebrow{margin:.8em 0 1em;font-size:.68rem;font-weight:900;letter-spacing:.15em;color:#b56a83}.menu-card .eyebrow{font-size:1cqw}.menu-card h1{font-size:3.7cqw;line-height:1.1;margin:0;letter-spacing:-.05em}.menu-card h1 em{font-style:normal;color:#db367f}h2{font-size:2.5rem;line-height:1.1;margin:.4em 0;color:#c63474;letter-spacing:-.04em}.menu-friends,.result-friends{display:flex;align-items:center;justify-content:center}.menu-friends{height:9cqw;margin:1.1cqw -1cqw .3cqw}.plush{display:block;flex:none;width:8.7cqw;aspect-ratio:1;background-image:url('assets/plushies.png');background-size:200% 200%;background-repeat:no-repeat;filter:drop-shadow(0 3px 1px #b7697830)}.plush.cat{background-position:0 0;transform:rotate(-9deg)}.plush.bunny{background-position:100% 0;transform:rotate(5deg)}.plush.frog{background-position:0 100%;transform:rotate(-5deg)}.plush.star{background-position:100% 100%;transform:rotate(10deg)}.menu-copy{font-size:1.5cqw;line-height:1.5;margin:0 0 1.4cqw}.candy{display:block;width:100%;border:2px solid #fffaf5;border-radius:99px;padding:.75rem 1.25rem;font-weight:900;font-size:1.35rem;line-height:1.2;transition:transform .13s,filter .13s;position:relative;box-shadow:0 0 0 1px #ce6892,0 4px 0 #b64b7b,0 7px 10px #ab517022}.candy:hover{filter:brightness(1.05);transform:translateY(-1px)}.candy:active{transform:translateY(3px);box-shadow:0 0 0 1px #ce6892,0 1px 0 #b64b7b}.primary{background:linear-gradient(#ff9ecb 0%,#ff70b4 42%,#f63b96 100%);color:white;text-shadow:0 2px 0 #b83270}.mint{background:linear-gradient(#dbffe9,#a4edc5);color:#276855;text-shadow:0 1px 0 #fff;box-shadow:0 0 0 1px #88bc9d,0 3px 0 #70a48a,0 6px 10px #54906b1a;margin-top:1rem}.menu-card .candy{font-size:2.65cqw;padding:1.1cqw 1cqw}.menu-card .mint{width:78%;margin:1.4cqw auto 0;font-size:2cqw;padding:.9cqw}.howto{margin:1.6cqw 0 0;font-size:1.17cqw;color:#a26479}.keyboard-hint{position:absolute;z-index:2;bottom:.45%;left:0;width:100%;text-align:center;font-size:1.13cqw;color:#69394b;text-shadow:0 1px #fff;margin:0}.keyboard-hint span{padding:0 .8em}dialog{padding:0;border:0;border-radius:1.8rem;overflow:visible;background:transparent;color:var(--ink);max-width:min(440px,90vw);width:440px;max-height:88svh}dialog::backdrop{background:#63314266;backdrop-filter:blur(5px)}.dialog-card{position:relative;text-align:center;padding:2.2rem 1.9rem 1.55rem;border:3px solid #fff9f0;border-radius:1.8rem;background:linear-gradient(145deg,#fffdf6,#fff1ee 55%,#ffe2ed);box-shadow:0 0 0 2px #e99fba,0 22px 80px #46152f55;max-height:88svh;overflow-y:auto;scrollbar-width:thin}.dialog-card>p:not(.eyebrow){font-size:.95rem;line-height:1.5}.dialog-card .candy{margin-top:1rem}.setting-row{position:relative;display:flex;gap:1rem;text-align:left;align-items:center;justify-content:space-between;padding:1.15rem 0;border-bottom:1px solid #f1c9d7;cursor:pointer}.setting-row strong{display:block;font-size:1.05rem}.setting-row small{display:block;margin-top:.3rem;font-size:.8rem;color:#a0667c}.setting-row input{position:absolute;right:0;width:54px;height:32px;opacity:0;cursor:pointer}.switch{flex:none;width:54px;height:32px;border:2px solid #d2a9b6;border-radius:99px;background:#e7d5dd;transition:.2s}.switch::after{content:"";display:block;width:24px;height:24px;margin:2px;border-radius:50%;background:#fffaf5;box-shadow:0 1px 3px #8551684d;transition:.2s}.setting-row input:checked+.switch{background:#91dab4;border-color:#64a48a}.setting-row input:checked+.switch::after{transform:translateX(22px)}.text-button{border:0;background:transparent;color:#986179;text-decoration:underline;text-underline-offset:4px;padding:1rem .1rem .1rem;font-size:.85rem}.result-friends{margin:-.3rem -.8rem .4rem}.result-friends .plush{width:23%;}.results-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.results-stats>div{padding:.65rem;background:#fffaf5;border:2px solid #f4b5ce;border-radius:1.2rem;box-shadow:0 2px 0 #fff}.results-stats span{display:block;font-size:.9rem}.results-stats strong{display:block;font-size:2.5rem;color:#d12979;line-height:1.1;margin-top:.2rem}.result-breakdown{display:flex;justify-content:space-around;gap:.25rem;margin:.7rem 0;font-size:.78rem;color:#976177}.closing-note{color:#ac6781;font-size:.78rem!important;margin-bottom:0}.loading{position:absolute;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff2eeda;backdrop-filter:blur(5px);gap:1rem;font-size:clamp(16px,2cqw,24px)}.loading-flower{font-size:3em;color:#ee69a3;animation:spin 4s linear infinite}.loading[hidden]{display:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes appear{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes tick{50%{color:#fa506d;transform:scale(1.06)}}
@media(max-width:560px){.game{width:100vw}.menu-card{left:19%;width:62%;top:26%;padding:4cqw 3.5cqw 2.8cqw}.menu-card h1{font-size:5cqw}.menu-card .eyebrow{font-size:1.5cqw}.menu-copy{font-size:2.3cqw}.menu-friends{height:12cqw}.menu-friends .plush{width:11.5cqw}.menu-card .candy{font-size:4cqw;padding:2cqw 1cqw;min-height:44px}.menu-card .mint{font-size:3.2cqw;padding:1.5cqw;margin-top:2cqw}.howto{font-size:1.9cqw;margin-top:2.5cqw}.art-button{min-width:40px;min-height:44px}.back,.pause{min-width:32px;min-height:32px}.caught-pill{font-size:2cqw;top:24.3%}.collection-counts span{font-size:2cqw}.toast{font-size:2.6cqw;padding:1cqw 2cqw}.keyboard-hint{display:none}.dialog-card{padding:1.7rem 1.3rem 1.2rem}h2{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.menu-shade{inset:18% 16% 5%;background:radial-gradient(ellipse,#b44b7433,#edb4cd66);backdrop-filter:blur(3px)}
.menu-card{left:22%;top:25%;width:56%;padding:3.4cqw 4cqw 2.5cqw;border:4px solid #fff9ee;border-radius:4.4cqw;background:radial-gradient(ellipse at 20% 0%,#fffefa 0%,transparent 60%),linear-gradient(155deg,#fff8e9,#ffeaf0 78%,#ffd6e8);box-shadow:0 0 0 2px #d779a0,0 1cqw 0 #bb507729,0 2.5cqw 6cqw #79335345}
.menu-card::before{content:"";position:absolute;inset:.8cqw;border:1.5px dashed #e9a8c2;border-radius:3.4cqw;pointer-events:none}
.menu-card .card-flower{width:6.5cqw;height:6.5cqw;left:50%;transform:translateX(-50%);top:-3.7cqw;font-size:4.8cqw;border:3px solid #fff9f3;background:#ffd8e8;box-shadow:0 .3cqw 0 #db8bab;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}
.menu-card .card-flower span{display:block;font-family:"Segoe UI Symbol",sans-serif;line-height:1;text-align:center;transform:translateY(-.055em);text-shadow:none}
dialog{max-height:calc(100svh - 5rem)}
dialog .dialog-card{max-height:calc(100svh - 5rem)}
dialog>.card-flower{z-index:2;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}
dialog>.card-flower>span{font-family:"Segoe UI Symbol",sans-serif;display:block;line-height:1;transform:translateY(-.055em);text-shadow:none}
.menu-card .eyebrow{letter-spacing:.14em;font-size:1.05cqw;margin:1cqw 0 1.4cqw;color:#a66280}
.menu-card h1{font-size:4cqw;line-height:1.08;letter-spacing:-.04em;color:#84445b;text-shadow:0 2px #fff}
.menu-card h1 em{color:#d72e78}.menu-friends{position:relative;height:14cqw;margin:.6cqw -3.2cqw .2cqw;border-bottom:2px solid #f6bfd1;border-radius:40%;background:radial-gradient(ellipse at 50% 96%,#eda4c94d,transparent 65%)}
.menu-friends .plush{width:13.5cqw;filter:drop-shadow(0 .6cqw .2cqw #bd749329);animation:friend-bob 3.4s ease-in-out infinite}
.menu-friends .bunny{animation-delay:-.8s}.menu-friends .frog{animation-delay:-1.6s}.menu-friends .star{animation-delay:-2.4s}
.menu-tokens{display:flex;justify-content:center;gap:1cqw;margin:1.2cqw 0}.menu-tokens span{padding:.55cqw 1.2cqw;font-size:1.35cqw;font-weight:bold;background:#fffaf3;border:1px solid #efb5cc;border-radius:99px;color:#a74f77;box-shadow:0 2px 0 #fff}
.menu-copy{font-size:1.4cqw;margin:1cqw 0 1.8cqw;color:#a3647c}.menu-card .primary{font-size:2.6cqw;display:flex;align-items:center;justify-content:space-around;padding:1.4cqw 1.5cqw;box-shadow:0 0 0 2px #d96899,0 .6cqw 0 #b94478,0 1cqw 1.6cqw #ca719636}.menu-card .primary span{font-size:.8em}
.menu-card .mint{font-size:1.85cqw;padding:1cqw;margin-top:1.8cqw;width:70%}.howto{margin-top:1.7cqw;font-size:1.15cqw;color:#a66b82}
@keyframes friend-bob{0%,100%{translate:0 0}50%{translate:0 -.7cqw}}
@media(max-width:560px){.menu-card{left:16%;width:68%;top:24%;padding:4cqw 4.5cqw 3cqw;border-width:3px}.menu-card .eyebrow{font-size:1.45cqw;margin:1.6cqw 0 2cqw}.menu-card h1{font-size:5.6cqw}.menu-friends{height:17cqw;margin:1cqw -2cqw .4cqw}.menu-friends .plush{width:15.5cqw}.menu-tokens{gap:1.5cqw;margin:1.8cqw 0}.menu-tokens span{font-size:2cqw;padding:.8cqw 1.8cqw}.menu-copy{font-size:2.05cqw;margin:1.4cqw 0 2.3cqw}.menu-card .primary{font-size:4.2cqw;padding:2cqw;min-height:44px}.menu-card .mint{font-size:3.1cqw;padding:1.4cqw;margin-top:2.6cqw;min-height:42px}.howto{font-size:1.8cqw;margin-top:2.5cqw}}
