@font-face{font-family:Fredoka;src:url(/fonts/fredoka.ttf) format("truetype");font-weight:300 700;font-display:swap}:root{--paper:#f7f3e8;--ink:#25473e;--muted:#738078;--orange:#d97b4f;--line:#d9dfcf;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d97b4f;outline-offset:4px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}.fever-spill{position:absolute;right:-28px;top:-5px;width:60px;height:85px;pointer-events:none;overflow:visible}html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{min-height:100dvh;background:#e4e5d1;color:#213e3c;margin:0}.environment{position:fixed;inset:0;background:linear-gradient(#f8efda,#ddceb0);pointer-events:none;z-index:-2}.environment:after{content:"";position:absolute;inset:0;background:linear-gradient(#fff8e74d,transparent 25%,transparent 80%,#201c121c)}body[data-background=scene]:not(.minimal) .environment{background:url(/backgrounds/picnic.svg) center center/cover no-repeat}body[data-background=plain] .environment{background:linear-gradient(145deg,#d6e2d7,#9bbbaf)}body[data-background=black] .environment{background:radial-gradient(ellipse at 50% 75%,#203e43,#081720)}body[data-background=cream] .environment{background:linear-gradient(#fbf1dd,#d6c9ad)}body.minimal[data-background=scene] .environment{background:radial-gradient(ellipse at 35% 20%,#365a62,#142e3b 50%,#081a24)}body.minimal,body[data-background=black]{--ink:#f5f5e8;--paper:#20373e;--muted:#b6c9c8;--line:#526b70;color:#eff7f2}body[data-background=black] .environment:after,body.minimal .environment:after{background:linear-gradient(#ffffff05,transparent)}[hidden]{display:none!important}.menu-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:env(safe-area-inset-top) 25px env(safe-area-inset-bottom);isolation:isolate}.menu-title{text-align:center;margin-top:-90px;text-shadow:0 2px 14px #fff8df90}.menu-overline{font-size:10px;letter-spacing:3px;font-weight:700;opacity:.7}.menu-title h1{font-family:Fredoka,Arial,sans-serif;font-size:clamp(62px,14vw,88px);font-weight:600;letter-spacing:-1px;margin:0 0 6px;line-height:1.15}.menu-title>p:last-child{font-size:13px;margin:10px 0;color:inherit;opacity:.8}#menu-jellies{width:min(90vw,330px);height:165px;margin:8px 0 10px;filter:drop-shadow(0 14px 14px #26443720)}.menu-actions{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:18px}.menu-actions>div{display:grid;justify-items:center;gap:15px}.menu-actions span{font-size:11px;letter-spacing:1px;font-weight:600}.round-button{width:45px;height:45px;border-radius:50%;border:1px solid #ffffff85;background:#f9ffef72;box-shadow:inset 0 1px #ffffffc0,0 4px 15px #1235360f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;place-items:center;color:inherit;font-size:23px;cursor:pointer}.round-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.side-button{width:64px;height:64px;box-shadow:inset 0 2px #fff8,0 9px 25px #18393424}.side-button svg{width:25px;height:25px}.play-button{width:108px;height:108px;background:linear-gradient(150deg,#f3ffdf,#96cbbb);color:#264d49;border:2px solid #f5ffee;box-shadow:inset 0 3px 8px #fff8,0 12px 30px #264d4950}.play-button svg{width:40px;height:40px;fill:currentColor;stroke:none;margin-left:6px}.round-button:active{transform:scale(.95)}body.minimal .round-button,body[data-background=black] .round-button{background:#ffffff12;border-color:#ffffff35;box-shadow:inset 0 1px #ffffff20,0 5px 20px #07171e30}body.minimal .play-button,body[data-background=black] .play-button{background:linear-gradient(145deg,#9ed4c6,#4d9898);color:#10383c;box-shadow:inset 0 3px 5px #fff5,0 8px 30px #71b6b535}.game-shell{position:relative;width:min(100%,500px);height:100dvh;margin:auto;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 8px max(13px,env(safe-area-inset-bottom));touch-action:none}.hud{height:92px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 19px;z-index:2}.hud-menu{width:38px;height:38px;align-self:flex-start;margin-top:8px}.hud-menu svg{width:19px;height:19px}.score-stat{display:flex;flex-direction:column;align-items:center;margin-right:auto;min-width:85px;text-shadow:0 2px 8px #f7fff34d}.score-stat>span,.next-stat>span{font-size:9px;letter-spacing:2px;font-weight:700;opacity:.7}.score-stat strong{font-size:38px;line-height:1.2;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums}.score-stat small{font-size:9px;letter-spacing:1px;opacity:.65}.score-stat small b{font-weight:500}.next-stat{display:flex;align-items:center;gap:0}.next-stat canvas{width:60px;height:60px}.status{position:absolute;top:110px;left:50%;transform:translate(-50%);text-align:center;font-size:11px;z-index:5;width:max-content;max-width:90%;padding:7px 13px;border-radius:18px;background:#fff4dacc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#793e28;box-shadow:0 4px 12px #44251315}.status:empty{display:none}.status:not(.warning){position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.play-surface{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;touch-action:none}.play-surface canvas{height:100%;width:auto;max-width:100%;aspect-ratio:2/3;object-fit:contain;background:transparent;display:block;touch-action:none;-webkit-user-select:none;user-select:none;outline-offset:-6px;border-radius:0}#thumb-zone{position:absolute;inset:auto 0 0;height:8%;touch-action:none}.corner-controls{height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 19px;z-index:2}.corner-controls .round-button{width:44px;height:44px;font-size:23px;font-family:Fredoka,Arial,sans-serif}.corner-controls svg{width:21px;height:21px}#score-effects{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden}.score-fly{position:fixed;transform:translate(-50%,-50%);font-size:34px;font-weight:850;letter-spacing:-1px;white-space:nowrap;color:#fffbea;-webkit-text-stroke:1px #edce7080;text-shadow:0 0 6px #fff,0 0 14px #ffe18c,0 0 28px #ffbe45,0 3px 5px #75562466;will-change:transform,opacity}.score-fly small{display:block;text-align:center;font-size:11px;font-weight:650;letter-spacing:.4px;-webkit-text-stroke:0;text-shadow:0 1px 5px #302a15}.score-stat.arrival strong{animation:score-arrival .4s ease-out}.burst-flash{position:fixed;border-radius:50%;background:radial-gradient(#ffffffe8,#ffd88260 30%,transparent 68%);width:220px;height:220px;transform:translate(-50%,-50%);animation:burst-flash .45s ease-out forwards}.reduced .burst-flash{display:none}@keyframes score-arrival{0%{transform:scale(1.32);color:#d19f3b;text-shadow:0 0 17px #ffe191}to{transform:scale(1)}}@keyframes burst-flash{0%{opacity:.8;scale:.2}to{opacity:0;scale:1.3}}dialog{border:1px solid #ffffff85;border-radius:28px;background:#f7f3e8f2;color:#25473e;padding:27px;width:min(90%,410px);max-height:85dvh;box-shadow:0 25px 90px #102b3b40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}dialog::backdrop{background:#16353670;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:12px}dialog h2{font-family:Fredoka,Arial,sans-serif;font-weight:400;font-size:29px;margin:0}.close-button{border:0;background:transparent;color:inherit;font-size:29px;padding:0 5px}dialog p{font-size:14px;line-height:1.6;color:#667b71}dialog label{display:flex;justify-content:space-between;align-items:center;margin:19px 0;font-size:14px;gap:12px}dialog select{padding:9px;border:1px solid #cfdbc9;border-radius:10px;background:#fbf8ef;color:#25473e}dialog input[type=range]{width:130px;accent-color:#559785}dialog .check{justify-content:flex-start;gap:12px}dialog .check input{accent-color:#559785;width:16px;height:16px}dialog .fine{font-size:11px}dialog ol{padding-left:20px}dialog li{font-size:13px;line-height:1.55;margin:15px 0}.dialog-actions{display:flex;gap:12px;margin-top:20px}.dialog-actions button{padding:12px;border-radius:15px;border:1px solid #cfdbc9;background:transparent;color:#25473e}.primary,dialog .primary{background:#25473e;color:#f7f3e8;border:0;padding:14px 22px;border-radius:40px;font-weight:650;font-size:14px;cursor:pointer}.environment{z-index:0}.menu-screen,.game-shell{z-index:1}.menu-screen:before{content:"";position:absolute;inset:8% 8% 20%;background:radial-gradient(ellipse,#fbf8e691,transparent 68%);z-index:-1;pointer-events:none}body.minimal .menu-screen:before,body[data-background=black] .menu-screen:before{background:radial-gradient(ellipse,#5d9e9c1c,transparent 68%)}.menu-title{margin-top:-65px}.menu-actions{display:grid;grid-template-columns:64px 108px 64px;align-items:center;justify-content:center;gap:28px;margin-top:12px}.play-button svg{margin:0}.menu-actions>.round-button{justify-self:center}.menu-title h1{margin:0}.menu-screen #menu-jellies{margin:18px 0 4px}@media(max-height:680px){.hud{height:76px}.score-stat strong{font-size:31px}.corner-controls{height:45px}.menu-title{margin-top:-25px}#menu-jellies{height:115px;width:250px;margin:0}.menu-actions{margin-top:0;grid-template-columns:56px 90px 56px}.play-button{width:90px;height:90px}.side-button{width:56px;height:56px}.menu-title h1{font-size:64px}.status{top:90px}}@media(min-width:700px){body[data-background=scene]:not(.minimal) .environment{background-size:cover}.menu-screen{max-width:600px;left:50%;transform:translate(-50%);width:100%}.game-shell{padding-top:20px;padding-bottom:22px}}@media(prefers-reduced-motion:reduce){.score-stat.arrival strong,.burst-flash{animation:none}}.fever-hud{display:flex;align-items:center;gap:9px;height:26px;margin:0 22px;z-index:2;font-size:9px;letter-spacing:1px;font-weight:700;color:inherit}.fever-meter{height:7px;flex:1;border-radius:20px;background:#52735b20;overflow:hidden;box-shadow:inset 0 1px 2px #3a5b4115}.fever-meter>div{height:100%;width:0;background:linear-gradient(90deg,#88baa0,#d1b96a);border-radius:inherit;transition:width .45s ease}.fever #fever-fill{background:linear-gradient(90deg,#e0ba68,#f2dc96,#d6a34d);box-shadow:0 0 8px #d7ad65}.fever .fever-hud{color:#96703a}.fever .environment:after{background:radial-gradient(ellipse at 50% 45%,transparent 50%,#f4d48725)}body.minimal .fever-meter{background:#fff2}body.minimal.fever .fever-hud{color:#f6dc98}.fever-value{min-width:45px}.score-fly small{font-size:13px;letter-spacing:.5px;margin-top:3px}@media(min-width:700px){body[data-background=scene]:not(.minimal) .environment{background-image:url(/backgrounds/picnic-wide.svg);background-size:cover;background-position:center}.environment{width:auto;inset:0;transform:none;box-shadow:none}.menu-screen{width:600px;max-width:600px}.game-shell{width:min(500px,62dvh);padding-top:12px;padding-bottom:13px}.menu-title h1{font-size:72px}}.status{top:137px}@media(max-height:680px){.status{top:116px}}body.fever .environment:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,#f3a3b62e,#f5d8871c 20%,#a4dfbe26,#a2d9f22e,#c4b0ea2e 80%,#f3a3b62e);background-size:250% 250%;animation:rainbow-light 5s ease-in-out infinite alternate}body.fever #fever-fill{background:linear-gradient(90deg,#f4a0b3,#f7cf77,#9adbad,#8bcfe8,#bba6e5,#f4a0b3);background-size:200% 100%;animation:rainbow-meter 3s linear infinite;box-shadow:0 0 9px #fff8}body.fever .fever-meter{height:9px;box-shadow:0 0 12px #fff5}body.fever .score-stat strong{color:#8a7650;text-shadow:0 0 14px #fff9}body.minimal.fever .score-stat strong{color:#fff1cb}@keyframes rainbow-light{to{background-position:100% 100%}}@keyframes rainbow-meter{to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){body.fever .environment:before,body.fever #fever-fill{animation:none}}body.reduced.fever .environment:before,body.reduced.fever #fever-fill{animation:none}body.fever .fever-meter{overflow:visible;background:#fff5;box-shadow:0 0 13px #c8b7ff,0 0 26px #98e4ef99}body.fever #fever-fill{position:relative;transition:width .08s linear;box-shadow:0 0 8px #fff,0 0 16px #f5a5d699}body.fever .fever-hud{color:#7656a4;text-shadow:0 0 8px #fff}body.fever .environment:before{background:radial-gradient(ellipse at 15% 20%,#ffa6ca66,transparent 55%),radial-gradient(ellipse at 85% 55%,#bca1ff66,transparent 55%),linear-gradient(120deg,#ffb0b340,#ffe29440,#a7e5bd40,#9cddf340,#c5a8f440);background-size:180% 180%;animation:rainbow-light 4s ease-in-out infinite alternate}body.fever .environment:after{background:radial-gradient(ellipse at 50% 40%,#fff8db44,transparent 65%);animation:fever-breathe 2.8s ease-in-out infinite}.fever-title{position:fixed;left:50%;top:38%;z-index:7;pointer-events:none;width:max-content;max-width:95vw;font:700 clamp(32px,8vw,64px)/1.1 Fredoka,Arial,sans-serif;letter-spacing:1px;text-align:center;background:linear-gradient(100deg,#eb84ab,#f0c260,#78bf9b,#7eb9ed,#b891e3);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:1px #fff8e6;filter:drop-shadow(0 3px 0 #fff6db) drop-shadow(0 0 18px #fff);transform:translate(-50%,-50%)}.fever-title[hidden]{display:none}@keyframes fever-breathe{50%{opacity:.35}}body.reduced.fever .environment:after{animation:none}@media(prefers-reduced-motion:reduce){body.fever .environment:after{animation:none}}body.fever .environment:before{opacity:var(--fever-strength,1)}body.fever .environment:after{opacity:calc(var(--fever-strength,1)*.7);animation:none}.fever-meter{transition:height .65s ease,box-shadow .65s ease}.fever-hud,.score-stat strong{transition:color .65s ease,text-shadow .65s ease}body.fever .fever-meter{box-shadow:0 0 13px rgb(200 183 255 / calc(var(--fever-strength,1)*.8)),0 0 26px rgb(152 228 239 / calc(var(--fever-strength,1)*.6))}body.fever #fever-fill{box-shadow:0 0 8px rgb(255 255 255 / var(--fever-strength,1)),0 0 16px rgb(245 165 214 / calc(var(--fever-strength,1)*.6))}.fever-score{color:#fff9ed;-webkit-text-stroke:1px #efbbdf;text-shadow:0 0 5px #fff,0 0 14px #c5b4ff,0 0 25px #9cddf3,0 3px 5px #56407080}.fever-score small{color:#fff4c4;background:linear-gradient(100deg,#8c699ad9,#667f98d9);border:1px solid #fff5;border-radius:20px;padding:4px 10px;box-shadow:0 0 12px #c4b6ff80}body.fever .score-stat strong{text-shadow:0 0 12px #c3acff,0 0 22px #ffe6ac}.link-record{margin-top:3px}.link-record em{font-style:normal;opacity:.65;margin-left:5px}.bloom-toast{position:fixed;top:25%;left:50%;transform:translate(-50%);z-index:6;pointer-events:none;color:#fff9db;text-shadow:0 2px 3px #668579,0 0 15px #ffffffc0;font:600 clamp(20px,5vw,32px) Fredoka,Arial,sans-serif;letter-spacing:1px}.fever-meter{position:relative}.fever #fever-fill{transition:width .45s ease}.fever .fever-meter{background-image:linear-gradient(90deg,transparent 24%,#fff8 24%,#fff8 25%,transparent 25%,transparent 49%,#fff8 49%,#fff8 50%,transparent 50%,transparent 74%,#fff8 74%,#fff8 75%,transparent 75%)}#fever-value{min-width:48px;font-size:8px;letter-spacing:.5px}body,button,input,select,dialog{font-family:Fredoka,Arial,sans-serif}.studio-intro{position:fixed;inset:0;z-index:100;background:#090b0d;display:grid;place-items:center;touch-action:none;transition:opacity .55s ease;color:#f6f5f1}.studio-mark{display:flex;align-items:center;gap:23px;max-width:90vw;transform:translateY(-4px)}.studio-mark>img{width:86px;height:86px;object-fit:cover;border-radius:50%;border:1px solid #ffffff2b;box-shadow:0 0 28px #ffffff0a;animation:studio-portrait .65s cubic-bezier(.16,1,.3,1) both}.studio-name{display:flex;font:500 36px/1.15 Fredoka,Arial,sans-serif;letter-spacing:.3px}.studio-name span{display:inline-block;animation:studio-letter .48s cubic-bezier(.18,.8,.28,1.15) both;animation-delay:calc(.32s + var(--i)*55ms)}.studio-games{font:450 11px Fredoka,Arial,sans-serif;letter-spacing:5px;margin:11px 0 0 2px;color:#b7c1be;animation:studio-subtitle .6s .85s both}.studio-intro.leaving{opacity:0;pointer-events:none}@keyframes studio-portrait{0%{opacity:0;transform:scale(.82) translateY(9px)}to{opacity:1;transform:none}}@keyframes studio-letter{0%{opacity:0;transform:translateY(12px) scale(.92)}65%{opacity:1;transform:translateY(-2px) scale(1.015)}to{opacity:1;transform:none}}@keyframes studio-subtitle{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.reduced .studio-mark img,.reduced .studio-name span,.reduced .studio-games{animation:none}@media(prefers-reduced-motion:reduce){.studio-mark img,.studio-name span,.studio-games{animation:none}}body.fever .fever-meter:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,transparent 24%,#fff8 24%,#fff8 25%,transparent 25%,transparent 49%,#fff8 49%,#fff8 50%,transparent 50%,transparent 74%,#fff8 74%,#fff8 75%,transparent 75%)}.bloom-toast{top:23%;width:max-content;max-width:92vw;padding:6px 12px;border:0;background:none;color:#fff0ba;box-shadow:none;text-shadow:0 2px 2px #456c61,0 0 12px #fff6c4;font-size:clamp(20px,4.5vw,28px);text-align:center;letter-spacing:.6px}.studio-mark{justify-content:center}.studio-mark>img{flex-shrink:0}.studio-name{white-space:nowrap}@media(max-width:350px){.studio-mark{gap:16px}.studio-mark>img{width:68px;height:68px}.studio-name{font-size:30px}}#game-over{text-align:center}#game-over h2{font-size:2.4rem;letter-spacing:.05em}#game-over b{font-size:1.8rem}#game-over .dialog-actions{justify-content:center;align-items:center;gap:1.5rem}.retry-button{width:72px;height:72px;border-radius:50%;font-size:2rem!important}.trophy-button{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:calc(50% - 24px);width:48px;height:48px;font-size:25px}#drag-cancel{position:fixed;z-index:40;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:#fff4eddd;border:2px solid #cc6259;color:#b34b48;display:grid;place-items:center;font-size:38px;pointer-events:none}#drag-cancel[hidden]{display:none}#drag-cancel.armed{background:#c95450;color:#fff;box-shadow:0 0 0 7px #e5766544}#danger-toast{position:fixed;z-index:12;top:calc(145px + env(safe-area-inset-top));left:50%;transform:translate(-50%);background:#fff1d8ed;color:#943f3b;border:2px solid #c75f50;border-radius:20px;padding:10px 18px;text-align:center;pointer-events:none;box-shadow:0 5px 20px #73493918;white-space:nowrap}#danger-toast b{font-size:17px;display:block}#danger-toast span{display:block;font-size:12px}#danger-toast.announce{padding:16px 25px}#danger-toast.announce b{font-size:25px}#danger-toast[hidden]{display:none}#achievements{width:min(510px,92vw);max-height:82dvh}#achievement-count{white-space:nowrap;color:#53735f}#achievement-list{max-height:60dvh;overflow:auto;padding:5px}.achievement-row{position:relative;display:flex;gap:14px;padding:16px 2px;border-bottom:1px solid #53735f22}.achievement-icon{flex:0 0 48px;height:48px;border-radius:50%;background:#d9e4c6;display:grid;place-items:center;font-size:26px;color:#436d5c}.achievement-row>div{flex:1;min-width:0}.achievement-row b{font-size:18px}.achievement-row p{margin:4px 0 12px;font-size:13px}.achievement-bar{height:7px;border-radius:10px;background:#d7ddc9;margin-right:28px;overflow:hidden}.achievement-bar i{height:100%;display:block;background:#83b695}.achievement-row small{font-size:11px;color:#53735f}.achievement-check{position:absolute;right:3px;bottom:31px;border:2px solid #79a287;border-radius:50%;width:20px;height:20px;text-align:center;font-size:13px}.complete .achievement-icon{background:#f4dfa5}.fever-spill{top:-13px!important}#drag-cancel{background:#fff4ed99;border-color:#bd766c88}#drag-cancel svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}#drag-cancel.armed{background:#cb776ba8;box-shadow:0 0 0 5px #d58c7222}#danger-toast{background:#fff6e4df;color:#5d705a;border:0;border-radius:24px;padding:11px 22px;box-shadow:0 4px 16px #674d3a12}#danger-toast b{font-size:18px;font-weight:550}#danger-toast span{color:#8e7458}#danger-toast.announce{padding:14px 25px}#danger-toast.announce b{font-size:21px}.achievement-icon svg{width:30px;height:30px}.quiet-button{background:transparent;border:1px solid #54706433;color:#68796b;font-size:13px!important;padding:8px 12px;border-radius:16px}#reset-local{display:block;margin:24px auto 0;font-size:12px!important}#result-share{width:min(370px,92vw)}#result-preview{width:100%;max-height:65dvh;object-fit:contain;border-radius:22px}#result-share .dialog-actions{justify-content:center}#game-over .dialog-actions{flex-wrap:wrap}#share-result{width:100%;margin:4px 25px 8px}.online-menu-button{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:calc(50% + 42px);width:48px;height:48px;border-radius:50%;border:1px solid #fff9;background:#fff9;color:#294e43;font-size:25px}#online-home{width:min(490px,92vw);max-height:85dvh;overflow:auto}#online-home input{font:inherit;border-radius:14px;border:1px solid #79958466;padding:9px 12px;max-width:100%;background:#fff7}#online-home label{display:flex;align-items:center;gap:12px}.online-input{display:flex;gap:8px;margin:14px 0}.online-input input{min-width:0;flex:1}.online-friend{display:flex;justify-content:space-between;align-items:center;margin:8px 0}#online-home details{margin:20px 0}#online-home details input{display:block;width:100%;margin:10px 0}#online-hud{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:20;max-width:240px;background:#fff7e6ed;border:1px solid #d8dec8;border-radius:18px;padding:7px 16px;text-align:center;color:#294e43;font-size:12px;pointer-events:none}#online-hud b{display:block;font-size:15px}#online-hud[hidden]{display:none}.online-menu-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#online-home button{border:1px solid #93a78a44;background:#eef0df;border-radius:20px;padding:10px 14px;font:inherit;color:#294e43;cursor:pointer}#online-home button.primary{background:#294e43;color:#fff7e6}#online-home .close-button{background:transparent;border:0;padding:0;font-size:25px}#online-home .online-input button{flex-shrink:0}body.minimal #online-home button{background:#374e42;color:#f8f1df}.menu-profile,.menu-leaderboard,.menu-friends{position:fixed;right:max(22px,env(safe-area-inset-right));width:44px;height:44px;z-index:6}.menu-profile{top:max(24px,env(safe-area-inset-top))}.menu-leaderboard{top:80px}.menu-friends{top:136px}.menu-versus,.menu-coop{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));width:48px;height:48px}.menu-versus{left:calc(50% - 88px)}.menu-coop{left:calc(50% + 40px)}#friend-panel,#leaderboard-panel,#online-mode{width:min(460px,92vw);max-height:82dvh;overflow:auto}.online-input input{font:inherit;padding:10px 12px;border:1px solid #93a78a66;border-radius:16px;width:100%;background:#fff8}.online-input button,.online-friend button{font:inherit;border-radius:18px;border:1px solid #93a78a44;background:#eef0df;padding:9px 12px;color:#294e43}.online-friend{gap:10px}.online-friend span{flex:1}.online-friend button{font-size:12px}.online-friend .friend-actions{display:flex;gap:5px}.menu-versus:after,.menu-coop:after{position:absolute;top:53px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:1px;color:inherit;white-space:nowrap}.menu-versus:after{content:"VERSUS"}.menu-coop:after{content:"CO-OP"}.vs-glyph{font-size:20px;font-weight:600;line-height:1;letter-spacing:-1px}.leader-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #53735f22}.rank-number{display:grid;place-items:center;flex:0 0 38px;height:38px;font-size:19px;font-weight:600;border-radius:50%}.rank-gold{border:2px solid #cba648;background:#f6eac6}.rank-silver{border:2px solid #9babb2;background:#e9edef}.rank-bronze{border:2px solid #b78763;background:#efe0d1}.leader-row b{display:block}.leader-row small{font-size:12px;color:#68796b}.connection-notice{position:fixed;left:50%;top:max(12px,env(safe-area-inset-top));transform:translate(-50%);z-index:80;background:#fff7e6ed;border:1px solid #d8dec8;border-radius:18px;padding:10px 16px;max-width:300px;width:max-content;text-align:center;font-size:13px;color:#294e43;pointer-events:none}.connection-notice[hidden]{display:none}.rank-gold,.rank-silver,.rank-bronze{color:#294e43}.portrait{width:44px;height:44px;object-fit:cover;border-radius:50%;flex-shrink:0;border:2px solid #fff9;box-shadow:0 2px 5px #294e4312}#friend-panel [hidden]{display:none!important}#friend-panel{height:min(570px,82dvh);box-sizing:border-box;overflow:hidden}#friend-panel>form{height:100%;display:flex;flex-direction:column;min-height:0}#friend-panel .dialog-top,#friend-panel .friend-tabs,#friend-panel #friends-status{flex-shrink:0}#friends-list-page,#friends-requests-page{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px 0}#friends-add-page{flex:1;min-height:0;display:flex;flex-direction:column}#friends-add-page[hidden]{display:none}#friend-search-results{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.own-code{flex-shrink:0}#friends-tools-menu{position:absolute;top:64px;right:25px;z-index:2;padding:10px;border-radius:15px;background:#edf0df;box-shadow:0 5px 15px #294e4322}.profile-head{display:flex;align-items:center;gap:20px;margin:24px 0}.profile-head>div{flex:1;min-width:0}.profile-head input{width:100%;font-size:22px!important;font-weight:550}.profile-head small{display:block;margin-top:12px;color:#6b806e;font-size:12px;overflow-wrap:anywhere}#profile-avatar{padding:0!important;border:0!important;background:none!important;border-radius:50%}#profile-avatar .portrait{width:80px;height:80px}.profile-records{display:flex;justify-content:space-around;text-align:center;padding:20px 0;border-top:1px solid #79958433}.profile-records b{display:block;font-size:28px}.profile-records small{font-size:10px;letter-spacing:1px}#profile-bio{width:100%;box-sizing:border-box;resize:vertical;min-height:75px;background:#fff8;border:1px solid #79958444;border-radius:16px;padding:12px;font:inherit;color:inherit}.profile-badges{display:flex;justify-content:center;gap:18px;margin:22px 0}.badge-slot{width:58px;height:58px;border-radius:50%!important;padding:12px!important}.badge-slot svg{width:100%;height:100%}#online-home{text-align:center}.profile-head{text-align:left}#online-home .primary{display:block;width:100%}#avatar-panel,#crop-panel,#badge-panel,#account-panel,#match-lobby,#match-results,#lobby-friends{width:min(420px,92vw);max-height:85dvh;overflow:auto}#avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:15px 0}.avatar-choice{aspect-ratio:1;border-radius:50%;padding:5px!important;background:#e9eedc;font-size:34px!important;border:2px solid transparent}.avatar-choice img{width:100%;height:100%}.avatar-choice.selected{border-color:#84b397;box-shadow:0 0 0 4px #84b39733}.avatar-choice.upload{color:#819780}#avatar-confirm,#crop-confirm,#lobby-action{width:100%;margin-top:18px}#crop-canvas{display:block;width:min(260px,100%);height:auto;margin:18px auto;border-radius:50%;touch-action:none}#account-panel input{width:100%;box-sizing:border-box;padding:12px;border-radius:14px;border:1px solid #79958444;font:inherit;background:#fff8}#account-panel label{display:block}#account-panel button{margin:8px 5px 8px 0}#badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.earned-badge{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid #79958433;border-radius:15px;background:#e9eedc;font:inherit}.earned-badge svg{width:35px;height:35px;flex-shrink:0}.earned-badge span{font-size:12px}.friend-tabs{display:flex;gap:6px;padding:12px 0;border-bottom:1px solid #79958433}.friend-tabs button{position:relative;flex:1;font:inherit;font-size:13px;padding:10px 4px;border:0;border-radius:15px;background:transparent;color:inherit}.friend-tabs button.active{background:#dce9d4}.friend-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #79958422}.friend-row>div{flex:1;min-width:0}.friend-row b,.friend-row small{display:block}.friend-row small{font-size:11px;color:#7e8b77;margin-top:4px}.friend-row button,.friend-dropdown button{font:inherit;border-radius:16px;border:1px solid #79958444;padding:8px 12px;background:#e8eddc;color:#294e43}.friend-dropdown{text-align:right;padding:10px;border-radius:15px;background:#e8eddc}.own-code{text-align:center;color:#687e66;margin:35px 0 10px}.has-requests:before{content:"";position:absolute;right:2px;top:2px;width:9px;height:9px;border-radius:50%;background:#d77067;border:2px solid #fff4df}.accept-request{color:#558865!important}.reject-request{color:#b17067!important}.ready-status{color:#65956d}.room-code-label{text-align:center;font-size:10px;letter-spacing:2px;color:#7c8870;margin:20px 0}.room-code-label strong{display:block;font-size:27px;letter-spacing:4px;color:#294e43;margin-top:8px}#lobby-invite{display:block;margin:18px auto}#match-countdown{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;z-index:60;font:600 100px Fredoka;color:#fff4cf;text-shadow:0 4px 0 #699780,0 0 30px #fff}#match-countdown[hidden]{display:none}#match-results{text-align:center}#winner-portrait{position:relative;width:106px;margin:22px auto 40px;padding:16px;border:3px solid #d7b96a;border-radius:24px 24px 50% 50%;background:linear-gradient(#fff0bd,#ead89b)}#winner-portrait:after{content:"";position:absolute;left:24px;right:24px;bottom:-20px;height:16px;border-bottom:6px solid #d7b96a;border-radius:4px}#winner-portrait img{width:68px;height:68px}#match-result-scores{display:flex;gap:12px;justify-content:center}#match-result-scores>div{flex:1;padding:14px 6px}#match-result-scores strong{display:block;font-size:30px;margin:8px 0}#match-result-scores small{display:block;color:#7e8b77}#match-results .dialog-actions{justify-content:center;flex-wrap:wrap}.rank-gold,.rank-silver,.rank-bronze{position:relative;box-shadow:0 3px #0001}.rank-gold:after,.rank-silver:after,.rank-bronze:after{content:"";position:absolute;bottom:-6px;width:13px;height:8px;background:inherit;border:inherit;border-radius:0 0 4px 4px;z-index:-1}button:disabled{opacity:.45;cursor:default}#friend-code,#own-friend-code,#lobby-code{cursor:pointer;-webkit-user-select:all;user-select:all}#friend-code:focus-visible,#own-friend-code:focus-visible,#lobby-code:focus-visible{outline:2px solid #84b397;outline-offset:5px;border-radius:5px}dialog button{box-shadow:none}.friend-tabs button{min-width:0;line-height:1.3}.friend-row{gap:10px}.friend-row button{flex-shrink:0}#account-panel form{display:flex;flex-direction:column;gap:12px}#account-panel .dialog-top{margin-bottom:4px}#account-panel input,#account-panel button{margin:0}#account-panel label{flex-direction:column;align-items:stretch;gap:8px;margin:0}#account-panel .close-button{align-self:center}#account-panel .fine{margin:0}.profile-badges{padding-block:4px;flex-wrap:wrap}.dialog-actions{flex-wrap:wrap}#match-lobby,#online-home,#profile-panel{overflow-y:auto}@media(max-width:360px){dialog{padding:22px}.friend-tabs{gap:6px}.friend-tabs button{font-size:12px}.friend-row{gap:8px}.friend-row button{padding:8px}}#leaderboard-panel,#player-profile,#party-board{width:min(420px,92vw);height:min(570px,82dvh);box-sizing:border-box;overflow:hidden}#leaderboard-panel form,#player-profile form,#party-board form{display:flex;flex-direction:column;height:100%;min-height:0}#leaderboard-list,#party-table{flex:1;min-height:0;overflow-y:auto;padding:8px 2px 16px}#leaderboard-panel .dialog-top,#leaderboard-panel .fine,#party-board .dialog-top{flex-shrink:0}#player-profile{overflow-y:auto}#player-profile-avatar{margin:20px auto 0}#player-profile-avatar img{width:80px;height:80px}#player-profile-bio{overflow-wrap:anywhere}.portrait[role=button]{cursor:pointer}.party-scores{font-size:11px;border-collapse:collapse;width:100%}.party-scores td{padding:3px 5px}.party-scores td:nth-child(2){max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-scores .portrait{width:22px;height:22px}.party-scores .you{color:#b0783a}#online-hud:has(.party-scores){left:auto;right:18px;transform:none;max-width:260px}#party-score-button{position:fixed;right:14px;bottom:76px;z-index:21;border:1px solid #cad8c5;border-radius:20px;padding:9px 14px;background:#fff7e6;color:#294e43;font:14px Fredoka}#match-countdown{font-size:clamp(42px,12vw,100px);color:#294e43;-webkit-text-stroke:2px #fff7e6;text-shadow:0 3px 0 #fff7e6,0 6px 25px #294e4370}#winner-portrait.silhouette img{filter:brightness(0) opacity(.65)}#winner-portrait img{transition:filter .65s ease,transform .65s ease}.revealed #winner-portrait img{transform:scale(1.1)}#match-result-scores{flex-wrap:wrap}#match-result-scores>div{flex:1 1 110px}#result-confetti{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}#result-confetti i{position:absolute;left:var(--x);top:-20px;width:8px;height:13px;border-radius:3px;animation:result-confetti 2.4s ease-out forwards}@keyframes result-confetti{to{transform:translateY(90vh) rotate(var(--r));opacity:0}}@media(max-width:699px){#online-hud:has(.party-scores){left:50%;right:auto;transform:translate(-50%)}#online-hud .party-scores{display:none}}@media(min-width:700px){#party-score-button{display:none}}.reduced #result-confetti{display:none}body[data-online-mode=versus] #online-hud{padding:5px 8px;cursor:pointer}body[data-online-mode=versus] #online-hud>b{font-size:11px;line-height:14px}body[data-online-mode=versus] .party-scores td{padding:1px 3px;height:16px;font-size:10px;line-height:13px}body[data-online-mode=versus] .party-scores td:nth-child(2){max-width:72px}body[data-online-mode=versus] .party-scores .portrait{width:14px;height:14px;vertical-align:middle}body[data-online-mode=versus] #online-hud .party-scores{display:table}@media(max-width:699px){body[data-online-mode=versus] .corner-controls{height:var(--party-footer-height,54px);flex-shrink:0;align-items:flex-end;padding-bottom:5px}body[data-online-mode=versus] #online-hud{width:calc(100% - 144px);max-width:220px;box-sizing:border-box;left:50%;right:auto;transform:translate(-50%);bottom:max(15px,env(safe-area-inset-bottom))}body[data-online-mode=versus] .party-scores td:nth-child(2){max-width:55px}}body[data-online-mode=versus] .party-scores{table-layout:fixed}body[data-online-mode=versus] .party-scores td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body[data-online-mode=versus] .party-scores td:first-child{width:18px}body[data-online-mode=versus] .party-scores td:nth-child(3){width:32px}body[data-online-mode=versus] .party-scores td:nth-child(4){width:44px}@media(max-width:699px){.game-shell{padding-top:calc(24px + env(safe-area-inset-top))}.menu-profile{top:calc(32px + env(safe-area-inset-top))}.menu-leaderboard{top:calc(88px + env(safe-area-inset-top))}.menu-friends{top:calc(144px + env(safe-area-inset-top))}}body[data-online-mode=versus] #online-hud,body[data-online-mode=versus] #online-hud *{pointer-events:none;cursor:default}body[data-online-mode=versus] .party-scores td:nth-child(3){width:38px}body[data-online-mode=versus] .party-scores td:nth-child(4){width:40px}#practice-hint{position:fixed;top:36%;left:50%;transform:translate(-50%);z-index:22;max-width:280px;width:78vw;text-align:center;border-radius:20px;padding:12px 16px;background:#fff8e5ed;color:#294e43;pointer-events:none}#practice-hint b,#practice-hint span{display:block;font-size:14px}#practice-hint span{font-size:12px;margin-top:5px}#practice-skip{pointer-events:auto;margin-top:9px;background:none;border:0;color:#6b826e;font:inherit;font-size:12px}.practice-chapters{display:grid;gap:12px;margin-top:20px}.practice-chapters button{padding:14px;border:1px solid #91aa8a55;border-radius:18px;background:#e8efdc;font:inherit;color:#294e43}.board-controls{display:flex;gap:8px;margin:10px 0;flex-shrink:0}.board-controls button{flex:1;padding:10px 5px;border:0;background:#eef0df;border-radius:15px;font:inherit;font-size:13px;color:#294e43}.board-controls button.active{background:#d7e7ca}#leaderboard-own{flex-shrink:0}#leaderboard-more{flex-shrink:0;margin:10px auto 0}#update-notice{position:fixed;z-index:90;left:50%;bottom:20px;transform:translate(-50%);width:min(340px,90vw);box-sizing:border-box;padding:16px;border-radius:22px;background:#fff8e9;color:#294e43;text-align:center}#update-notice b{display:block;font-size:15px;margin-bottom:10px}#update-notice button{font:inherit;background:#d7e7ca;color:#294e43;border:0;border-radius:15px;margin:0 5px;padding:9px 12px}
