.pet{display:block;overflow:visible}.pet-bob,.pet-ear,.pet-foot,.pet-tail,.pet-hat,.pet-eye,.pet-shadow{transform-box:fill-box;transform-origin:50%}.pet-bob,.pet-hat{transform-origin:50% 100%}.pet-ear{transform-origin:50% 88%}.pet-ear--hang{transform-origin:90% 5%}.pet-ear--drape{transform-origin:88% 4%}.pet-ear--behind{transform-origin:8% 6%}.pet--idle .pet-bob{animation:2.8s ease-in-out infinite pet-breathe}.pet--idle .pet-eye,.pet--walk .pet-eye{animation:4.2s infinite pet-blink}.pet--idle .pet-ear--near{animation:5.2s ease-in-out infinite pet-twitch}.pet--idle .pet-ear--far{animation:7.1s ease-in-out 1.3s infinite pet-twitch}.pet--idle .pet-tail{animation:.9s ease-in-out infinite alternate pet-wag}@keyframes pet-breathe{50%{transform:scale(1.025,.97)}}.pet-spin{transform-box:fill-box;transform-origin:50%}.pet--idle .pet-spin,.pet--walk .pet-spin{animation:3.2s linear infinite pet-spin}@keyframes pet-spin{to{transform:rotate(360deg)}}@keyframes pet-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes pet-twitch{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-10deg)}94%{transform:rotate(5deg)}}@keyframes pet-wag{0%{transform:translateY(-8%)}to{transform:translateY(10%)}}.pet--walk .pet-bob{animation:.28s ease-in-out infinite pet-step}.pet--walk .pet-foot--a{animation:.56s ease-in-out infinite pet-foot}.pet--walk .pet-foot--b{animation:.56s ease-in-out -.28s infinite pet-foot}.pet--walk .pet-ear{animation:.28s ease-in-out infinite alternate pet-flop}.pet--walk .pet-hat{animation:.28s ease-in-out 60ms infinite pet-hat-bounce}.pet--walk .pet-shadow{animation:.28s ease-in-out infinite pet-shadow-pulse}@keyframes pet-step{0%,to{transform:translateY(0)scale(1.04,.96)}50%{transform:translateY(-4%)scale(.98,1.03)}}@keyframes pet-foot{0%,to{transform:translateY(0)}50%{transform:translateY(-75%)}}@keyframes pet-flop{0%{transform:rotate(-5deg)}to{transform:rotate(6deg)}}@keyframes pet-hat-bounce{50%{transform:translateY(-7%)}}@keyframes pet-shadow-pulse{50%{transform:scaleX(.85)}}.pet--drop .pet-bob{animation:.32s ease-out pet-drop}@keyframes pet-drop{30%{transform:scale(1.16,.8)}65%{transform:scale(.93,1.1)}}.pet--win .pet-bob{animation:.64s ease-in-out infinite pet-jump}.pet--win .pet-ear{animation:.32s ease-in-out infinite alternate pet-flop}.pet--win .pet-hat{animation:.64s ease-in-out .1s infinite pet-hat-bounce}.pet--win .pet-shadow{animation:.64s ease-in-out infinite pet-shadow-jump}@keyframes pet-jump{0%,to{transform:translateY(0)scale(1.1,.88)}35%{transform:translateY(-15%)scale(.94,1.08)}55%{transform:translateY(-17%)scale(1)}85%{transform:translateY(0)scale(1.08,.9)}}@keyframes pet-shadow-jump{45%{opacity:.1;transform:scaleX(.6)}}.pet--ko .pet-bob{animation:1.3s ease-in-out infinite pet-sway}.pet-star{animation:1.5s linear infinite pet-orbit}@keyframes pet-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes pet-orbit{0%,to{transform:translate(44px)}12.5%{transform:translate(31px,10px)}25%{transform:translateY(14px)}37.5%{transform:translate(-31px,10px)}50%{transform:translate(-44px)}62.5%{transform:translate(-31px,-10px)}75%{transform:translateY(-14px)}87.5%{transform:translate(31px,-10px)}}@media (prefers-reduced-motion:reduce){.pet *{animation:none!important}}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#245c41;--text:#fff;--muted:#b9b3e0;--ink:#2b2440;--panel:#ffffff21;--panel-2:#ffffff38;--yellow:#ffd23f;--yellow-dark:#d99a00;--green:#46b060;--green-dark:#2c8044;--pink:#ff5fa2;--on-primary:#4a3200;--on-secondary:#fff;--bomb-ledge:#c93a78;--ghost:#fff3;--teal:#3ee0c5;--sheet:#2e2568;--sheet-2:#3d3187;--nav:#352b78;--scrim:#0a061eb3;--well:#00000038;--card:#ffffff14;--line:#ffffff38;--ledge:#00000047;--price:var(--yellow);--icon-accent:var(--yellow);--spot:#beb4ff6b;--disc-top:#4a9a62;--disc-bottom:#357a4b;--disc-rim:#1c4a30;--sky-decor:radial-gradient(circle 24px at 20% 13%, #fff6cf 97%, transparent), radial-gradient(circle 70px at 20% 13%, #fff6cf47, transparent);--scene:radial-gradient(circle 1.5px at 38% 8%, #fff 99%, transparent), radial-gradient(circle 1px at 52% 21%, #fff 99%, transparent), radial-gradient(circle 1.5px at 66% 9%, #fff 99%, transparent), radial-gradient(circle 1px at 80% 19%, #fff 99%, transparent), radial-gradient(circle 1.5px at 92% 31%, #fff 99%, transparent), radial-gradient(circle 1px at 8% 36%, #fff 99%, transparent), radial-gradient(circle 1px at 70% 34%, #fff 99%, transparent), radial-gradient(95% 26% at 14% 70%, #2f7350 99%, transparent), radial-gradient(90% 24% at 90% 72%, #2a6848 99%, transparent), linear-gradient(#231752, #43308a 64%, #245c41 64%);--radius:20px;--nav-space:74px;--safe-top:calc(var(--tg-viewport-safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--tg-viewport-content-safe-area-inset-top,0px));--safe-bottom:calc(var(--tg-viewport-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--tg-viewport-content-safe-area-inset-bottom,0px));--safe-left:calc(var(--tg-viewport-safe-area-inset-left,env(safe-area-inset-left,0px)) + var(--tg-viewport-content-safe-area-inset-left,0px));--safe-right:calc(var(--tg-viewport-safe-area-inset-right,env(safe-area-inset-right,0px)) + var(--tg-viewport-content-safe-area-inset-right,0px));--browser-height:100vh;--app-height:max(var(--tg-viewport-stable-height,0px), var(--browser-height))}@supports (height:100dvh){:root{--browser-height:100dvh}}html[data-theme=day]{--bg:#86cd5f;--text:#24402f;--muted:#5d7d69;--ink:#fff;--panel:#ffffffc2;--panel-2:#fff;--ghost:var(--panel);--green:#58c46a;--green-dark:#3a9a4c;--sheet:#e3f3ff;--sheet-2:#fff;--nav:#fff;--scrim:#283c506b;--well:#24402f1a;--card:#fff;--line:#24402f33;--ledge:#24402f33;--price:#c98500;--icon-accent:#e8a900;--spot:#ffffffbf;--disc-top:#7ccf58;--disc-bottom:#5cb040;--disc-rim:#3d7f3a;--sky-decor:radial-gradient(circle 24px at 20% 13%, #ffe27a 97%, transparent), radial-gradient(circle 64px at 20% 13%, #fff0aa8c, transparent), radial-gradient(18% 5% at 74% 17%, #fff 98%, transparent), radial-gradient(14% 4% at 85% 20%, #fff 98%, transparent), radial-gradient(16% 4.5% at 58% 31%, #fff 98%, transparent);--scene:radial-gradient(95% 26% at 14% 70%, #9cdb74 99%, transparent), radial-gradient(90% 24% at 90% 72%, #90d168 99%, transparent), linear-gradient(#8fd4ff, #dcf4ff 64%, #86cd5f 64%)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:var(--app-height);margin:0}html{overscroll-behavior:none}body{background:var(--scene);background-attachment:fixed;background-color:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;touch-action:manipulation;font-family:Nunito,ui-rounded,system-ui,sans-serif;font-weight:800;overflow:hidden}#root{max-width:480px;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);flex-direction:column;margin:0 auto;display:flex;position:relative}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled:not(.slot){opacity:.45;cursor:default}button:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}h1,h2,h3{margin:0;font-weight:900}h1{font-size:26px}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:4px 0 10px;font-size:13px}.screen{flex-direction:column;flex:1;gap:14px;min-height:0;padding:12px 16px 16px;display:flex}.home,.customize,.matched,.results,.welcome{background:var(--sky-decor)}.spacer{flex:1}.btn{border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:4px 20px;font-size:17px;font-weight:900;line-height:1.15;transition:transform 80ms,box-shadow 80ms,opacity .15s;display:inline-flex}.btn small{opacity:.7;font-size:12px;font-weight:800}.btn:active:not(:disabled){box-shadow:none;transform:translateY(4px)}.btn-primary{background:var(--yellow);color:var(--on-primary);box-shadow:0 5px 0 var(--yellow-dark)}.btn-secondary{background:var(--green);color:var(--on-secondary);box-shadow:0 5px 0 var(--green-dark)}.btn-ghost{background:var(--ghost)}.btn-xl{min-height:64px;font-size:24px}.btn-sm{min-height:40px;box-shadow:none;border-radius:14px;flex-direction:row;gap:5px;padding:0 14px;font-size:14px;position:relative}.btn-sm.btn-primary{box-shadow:0 3px 0 var(--yellow-dark)}.btn-sm.btn-primary:active:not(:disabled){transform:translateY(3px)}.btn.is-busy{pointer-events:none;position:relative}.btn.is-busy:before{content:"";opacity:0;border:3px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;margin-top:-9px;animation:.2s .4s forwards appear,.7s linear infinite busy-spin;position:absolute;top:50%;right:18px}@keyframes busy-spin{to{transform:rotate(360deg)}}.btn-ghost,.round-btn,.tab,.option,.nav-item,.nameplate,button.code,button.slot{transition:transform 80ms,opacity .15s}.btn-ghost:active:not(:disabled),.round-btn:active:not(:disabled),.tab:active:not(.is-disabled),.option:active:not(:disabled),.nav-item:active:not(:disabled),.nameplate:active,button.code:active,button.slot:active:not(:disabled){transform:scale(.96)}.btn-sm:after,.round-btn:after,.tab:after,button.code:after{content:"";position:absolute;inset:-4px 0}.round-btn:after{inset:-2px}button.code:after{inset:-6px 0}.topbar{justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.profile{background:var(--panel);border-radius:999px;align-items:center;gap:8px;min-width:0;padding:4px 14px 4px 4px;font-size:15px;display:flex}.profile span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{width:34px;height:34px;color:var(--on-primary);background:linear-gradient(135deg,#ffd23f,#ff8a65);border-radius:50%;flex-shrink:0;place-items:center;font-size:16px;font-weight:900;display:grid}.pill{background:var(--panel);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 13px;font-size:15px;display:inline-flex}.save-status{top:calc(var(--safe-top) + 8px);z-index:6;background:var(--sheet);justify-content:space-between;position:absolute;left:16px;right:16px;box-shadow:0 6px 20px #0003}.join-notice{z-index:11;border-radius:var(--radius);gap:8px;font-size:14px}.join-notice>span{text-wrap:balance;flex:1;min-width:0}.join-notice.is-slow{visibility:hidden;opacity:0;animation:.2s 4s forwards appear-late}@keyframes appear-late{to{visibility:visible;opacity:1}}.round-btn{z-index:1;background:var(--panel-2);width:40px;height:40px;box-shadow:0 2px 0 var(--ledge);border-radius:50%;flex-shrink:0;place-items:center;font-size:24px;line-height:1;display:grid;position:relative}.topbar-end{align-items:center;gap:8px;display:flex}.home{z-index:3;position:relative;overflow-x:clip}.sparkle{z-index:-1;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:.55;background:#fff;width:16px;height:16px;animation:3.2s ease-in-out infinite twinkle;position:absolute}.home.is-covered>:not(dialog) .pet *,.home.is-covered>.sparkle{animation-play-state:paused}html:not([data-theme=day]) .sparkle{clip-path:none;opacity:.9;background:#ffe98a;border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px 3px #ffe98a99}@keyframes twinkle{50%{opacity:.1}}.hero{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;min-height:0;display:flex}.podium{place-items:center;display:grid;position:relative}.podium:before,.podium:after{pointer-events:none}.podium:before{content:"";background:radial-gradient(closest-side, var(--spot), transparent);border-radius:50%;position:absolute;inset:-14% -22% 6%}.podium:after{content:"";background:linear-gradient(var(--disc-top), var(--disc-bottom));height:24%;box-shadow:0 8px 0 var(--disc-rim), inset 0 3px 0 #ffffff4d;border-radius:50%;position:absolute;bottom:-6%;left:4%;right:4%}.podium .pet{z-index:1;position:relative}.nameplate{background:var(--panel);border-radius:999px;align-items:center;gap:10px;margin-top:12px;padding:6px 6px 6px 20px;font-size:22px;font-weight:900;display:flex}.actions{flex-direction:column;gap:14px;padding-bottom:4px;display:flex}.btn-play,.btn-row{flex-direction:row;gap:12px}.btn-play span{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.nav{z-index:2;background:var(--nav);border-radius:24px;margin:0 12px 10px;padding:6px;display:flex;position:relative;box-shadow:0 4px 14px #00000029}.nav-item{color:var(--muted);border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:7px 0 6px;font-size:11px;display:flex;position:relative}.nav-item.is-active{background:var(--well);color:var(--text)}.nav-item.is-active svg{color:var(--icon-accent)}.soon{background:var(--pink);color:#fff;text-transform:uppercase;border-radius:999px;padding:1px 5px;font-size:8px;position:absolute;top:2px;right:22%}.overlay{height:var(--app-height);padding:var(--safe-top) var(--safe-right) 0 var(--safe-left);z-index:10;background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0 0 auto}.friends-overlay{width:100%;max-width:none;max-height:none;color:inherit;border:0;margin:0;overflow:visible}.friends-overlay:not([open]){display:none}.friends-overlay::backdrop{background:0 0}.sheet{width:100%;max-width:480px;max-height:100%;padding:24px 16px calc(20px + var(--safe-bottom));background:var(--sheet);text-align:center;border-radius:28px 28px 0 0;flex-direction:column;gap:18px;margin:0 auto;animation:.25s ease-out rise;display:flex;position:relative;overflow-y:auto}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px)}}.slots{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.slots-lg{grid-template-columns:repeat(2,1fr);gap:12px}.slot{aspect-ratio:1/1.1;border-radius:var(--radius);border:2px dashed var(--line);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex;position:relative}.slots-lg .slot{aspect-ratio:1.25;font-size:14px}.slot.is-filled{background:var(--panel);color:var(--text);border:0;animation:.25s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.8)}}.plus{font-size:30px;line-height:1}.host{background:var(--yellow);color:var(--on-primary);border-radius:999px;padding:2px 7px;font-size:9px;position:absolute;top:8px;left:8px}.spinner{border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.private-lobby,.public-lobby{overscroll-behavior-y:contain;touch-action:pan-y;overflow-y:auto}.private-lobby>*,.public-lobby>*{flex-shrink:0}.code{background:var(--panel);color:var(--muted);border-radius:999px;flex:none;align-items:baseline;gap:6px;padding:7px 12px;font-size:14px;display:flex;position:relative}.code small{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.code b{color:var(--text);letter-spacing:.12em;-webkit-user-select:text;user-select:text}.private-head{flex-direction:column;gap:8px;display:flex}.private-title{align-items:center;gap:10px;display:flex}.private-title h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:clamp(20px,6.4vw,26px);overflow:hidden}.private-title .code{padding:7px 10px}.private-title .code b{letter-spacing:.06em}@media (orientation:portrait) and (height<=620px){.private-lobby .slot{aspect-ratio:1.6}.private-lobby .slot .pet{width:52px;height:52px}}.private-head p,.private-actions p,.results .actions>p{margin:0;font-size:13px}.private-head p{color:var(--muted)}.private-actions p,.results .actions>p{text-align:center}button.slot{font:inherit;color:var(--muted);font-size:14px}button.slot:active:not(:disabled){background:var(--panel)}.slot.is-bot{border-style:solid}.slot.is-bot .pet{opacity:.45;filter:saturate(.4)}.private-actions{gap:10px;margin-top:auto}.bot-difficulty{border-radius:var(--radius);background:var(--panel);gap:6px;padding:8px;font-size:13px;display:grid}.bot-difficulty>span{color:var(--muted);padding:2px 6px 0}.bot-difficulty .tabs{min-width:0}.bot-difficulty .tab{text-align:center;cursor:pointer;flex:1 1 0;place-items:center;padding:0 4px;font-size:13px;display:grid}.bot-difficulty .tab.is-disabled{cursor:default}.bot-difficulty .tab.is-disabled:not(.is-active){opacity:.5}.bot-difficulty .tab:has(input:focus-visible){outline:2px solid var(--yellow);outline-offset:-2px}.bot-difficulty input{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.friends-sheet{gap:14px;padding-top:20px}.sheet-close{font-size:15px;position:absolute;top:12px;right:12px}.join-lobby{text-align:left;flex-direction:column;gap:8px;display:flex}.join-lobby label{color:var(--muted);font-size:13px}.join-row{gap:8px;display:flex}.join-row .btn{flex:none;margin-bottom:5px;padding:0 20px}.or{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:12px;font-size:12px;display:flex}.or:before,.or:after{content:"";background:var(--line);border-radius:2px;flex:1;height:2px}.join-lobby input{border:2px solid var(--line);background:var(--well);-webkit-user-select:text;user-select:text;border-radius:14px;width:100%;min-width:0;padding:12px 14px;font-size:16px}.join-lobby input:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.join-lobby input[aria-invalid=true]{border-color:var(--pink)}.join-lobby p{margin:0;font-size:13px}.settings{grid-template-columns:1fr 1fr;gap:12px;display:grid}.setting{border-radius:var(--radius);background:var(--panel);flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;font-size:16px;display:flex}.setting small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.customize{margin-bottom:calc(-1 * (var(--nav-space) + var(--safe-bottom)));gap:8px;padding-bottom:0}.name-field{background:var(--panel);min-width:0;color:var(--muted);border:2px solid #0000;border-radius:14px;align-items:center;gap:6px;padding:0 12px;display:flex}.name-field:focus-within{border-color:var(--green)}.name-input{width:8em;min-width:0;color:var(--text);-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:0;padding:7px 0;font-size:18px;font-weight:900}.preview{justify-content:center;align-items:center;gap:18px;padding:4px 0 22px;display:flex;position:relative}.dice{position:absolute;top:0;right:0}.wardrobe{background:var(--sheet);border-radius:28px 28px 0 0;flex-direction:column;flex:1;gap:12px;min-height:0;margin:0 -16px;padding:14px 16px 0;display:flex;box-shadow:0 -6px 20px #00000024}.tabs{background:var(--well);scrollbar-width:none;border-radius:999px;flex-shrink:0;gap:4px;padding:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.podium-bomb{z-index:2;aspect-ratio:1;width:42%;animation:.3s cubic-bezier(.2,1.4,.4,1) pop;position:absolute;bottom:-8%;right:-12%}.tab{min-height:36px;color:var(--muted);border-radius:999px;flex:1 0 auto;padding:0 12px;font-size:14px;position:relative}.tab.is-active{background:var(--text);color:var(--ink)}.panel{min-height:0;padding:2px 16px calc(var(--nav-space) + var(--safe-bottom) + 16px);flex:1;margin:0 -16px;overflow-y:auto}.grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.option{border-radius:var(--radius);background:var(--card);border:2.5px solid #0000;flex-direction:column;align-items:center;gap:1px;padding:10px 6px;font-size:13px;display:flex;position:relative}.option.is-selected{border-color:var(--yellow);background:#ffd23f1f}.option-name{margin-top:4px}.owned-tag{color:var(--muted);font-size:11px;font-weight:600}.price{color:var(--price);align-items:center;gap:3px;font-size:12px;display:inline-flex}.badge{color:#fff;background:#0000004d;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:7px;right:7px}.badge-check{background:var(--yellow);color:var(--on-primary)}.buybar{left:calc(16px + var(--safe-left));right:calc(16px + var(--safe-right));bottom:calc(86px + var(--safe-bottom));z-index:5;background:var(--sheet-2);border-radius:20px;justify-content:space-between;align-items:center;gap:10px;max-width:448px;margin:0 auto;padding:10px 10px 10px 16px;font-size:14px;animation:.2s ease-out pop;display:flex;position:absolute;box-shadow:0 12px 30px #00000080}.buybar small{color:var(--pink);font-size:11px;font-weight:600;display:block}.game{gap:10px;padding:8px 8px 12px;position:relative}.game.is-preparing{inset:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);visibility:hidden;pointer-events:none;position:absolute}.network-readout{z-index:8;background:var(--sheet);overscroll-behavior-y:contain;border-radius:12px;width:min(320px,100% - 32px);max-height:min(180px,40%);padding:8px 12px;font-size:12px;line-height:1.4;position:absolute;top:72px;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.network-readout summary{cursor:pointer}.network-readout textarea{width:100%;margin-top:8px;font-size:11px}.network-readout .readout-field{align-items:center;gap:8px;margin-top:8px;display:flex}.network-readout .readout-field select{flex:1;min-width:0}.lag-mark{z-index:8;background:var(--sheet);color:inherit;font:inherit;touch-action:manipulation;border:0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;position:absolute;top:72px;right:12px;box-shadow:0 4px 16px #00000040}.network-readout>div,.network-readout .btn{margin-top:8px}.hud{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.hud>.btn{grid-area:1/1;justify-self:start}.hud>.timer{grid-column:2}.hud-players{grid-area:1/1;justify-self:start;gap:6px;display:flex}.hud>.btn+.hud-players{margin-left:46px}.hud-players--far{grid-column:3;justify-self:end}.arena{flex:1;place-content:center;min-height:0;display:grid;container-type:size}.arena-frame{--frame-row:34px;--frame-gap:6px;width:min(100cqw, (100cqh - var(--frame-row) - var(--frame-gap)) * var(--aspect));gap:var(--frame-gap);flex-direction:column;display:flex}.arena-frame>.board-wrap{aspect-ratio:var(--aspect);flex:none}.hud-player{background:var(--panel);border-radius:12px;flex-direction:column;align-items:center;width:52px;padding:3px 2px;font-size:10px;display:flex;overflow:hidden}.hud-player span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.hud-player.is-me{box-shadow:inset 0 0 0 2px var(--yellow)}.timer{background:var(--panel);text-align:center;font-variant-numeric:tabular-nums;border-radius:14px;min-width:56px;padding:8px 10px;font-size:16px}.board-wrap{flex:1;place-items:center;min-height:0;display:grid;position:relative;container-type:size}.out-bar{z-index:5;border-radius:var(--radius);background:var(--sheet);white-space:nowrap;opacity:0;align-items:center;gap:12px;padding:6px 6px 6px 16px;animation:.25s .9s forwards appear;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.out-bar .btn{padding:0 30px}.out-bar .btn.is-busy:before{border-width:2px;width:14px;height:14px;margin-top:-7px;right:9px}.board{isolation:isolate;width:min(100cqw - 12px, (100cqh - 16px) * var(--aspect));aspect-ratio:var(--aspect);background:var(--frame);box-shadow:0 0 0 6px var(--frame), 0 10px 0 6px #00000040;border-radius:10px;position:relative}.board--fenced{width:min(100cqw, 100cqh * var(--aspect));box-shadow:none;background:0 0;border-radius:0}.board-border{pointer-events:none;overflow:visible}.board--fenced .board-ground{border-radius:3px}.board-border,.board-field,.board-ground{width:100%;height:100%;position:absolute;inset:0}.board-ground{border-radius:8px}.ent{width:calc(100% / var(--cols));height:calc(100% / var(--rows));pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.ent>div{width:100%;height:100%}.ent-static{will-change:auto}.ent>.tile-sprite{background-repeat:no-repeat;position:absolute}canvas.board-ground,canvas.board-border{pointer-events:none;-webkit-touch-callout:none}canvas.board-pixi{pointer-events:none;-webkit-touch-callout:none;position:absolute}.ent>.closing-mark{background:#ff464666;border-radius:22%;width:auto;height:auto;animation:.24s ease-in-out infinite alternate warn;position:absolute;inset:5%;box-shadow:inset 0 0 0 2px #ff3b3b}.ent>.closing-block{position:absolute;inset:0}@keyframes warn{to{opacity:.35}}.timer.is-hurry{background:var(--pink);color:#fff;animation:.4s ease-in-out infinite alternate warn}.pet-ent .pet{position:absolute;top:-25%;left:-10%}.pet-ent.is-me:before{content:"";border:2px solid var(--yellow);border-radius:50%;position:absolute;inset:62% 0 -6%}.pet-out{animation:.8s ease-out forwards knocked}.bomb-pulse{transform-origin:50% 85%;animation:.42s ease-in-out infinite alternate pulse}.pickup{animation:1.1s ease-in-out infinite alternate hover}.bomb-pulse.is-hot{filter:brightness(1.5)saturate(1.4);animation-duration:.14s}.fx,.fx-label{width:100%;height:100%;position:absolute;inset:0}.fx-shard,.fx-puff{border-radius:20%;width:28%;height:20%;animation:.5s cubic-bezier(.2,.7,.4,1) forwards fx-fly;position:absolute;top:38%;left:36%}.fx-puff{border-radius:50%;height:28%;animation-duration:.58s}.fx-ring{border:3px solid #fff;border-radius:50%;animation:.4s ease-out forwards fx-ring;position:absolute;inset:0}.fx-ring--small{animation-name:fx-ring-small}.fx-label{animation:.78s ease-out forwards fx-rise}@keyframes fx-fly{to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(.4);opacity:0}}@keyframes fx-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.8)}}@keyframes fx-ring-small{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.5)}}@keyframes fx-rise{20%{opacity:1;transform:translateY(-35%)scale(1.15)}to{opacity:0;transform:translateY(-95%)}}@media (prefers-reduced-motion:reduce){.fx-shard,.fx-puff,.fx-ring{display:none}}@keyframes knocked{to{opacity:0;transform:translateY(-45%)scale(.6)rotate(24deg)}}@keyframes pulse{to{transform:scale(1.14)}}@keyframes hover{to{transform:translateY(-9%)}}.hud-player.is-out{opacity:.5}.controls{justify-content:space-between;align-items:center;padding:0 8px;display:flex}.game{--control-size:116px}.joystick{width:var(--control-size);height:var(--control-size);touch-action:none;position:relative}.joystick:before{content:"";position:absolute;inset:-40px -10px -8px -8px}.joystick-base{background:var(--panel);border:2px solid var(--line);pointer-events:none;border-radius:50%;place-items:center;transition:transform .12s ease-out;display:grid;position:absolute;inset:0}.joystick.is-held .joystick-base{transition:none}.joystick-thumb{pointer-events:none;background:linear-gradient(#fff,#cfc8f5);border-radius:50%;width:52px;height:52px;box-shadow:0 4px #00000040}.loadout{height:var(--frame-row);justify-content:space-between;align-items:center;display:flex}.loadout .mute-btn{width:var(--frame-row);height:var(--frame-row)}.loadout-stats{background:var(--panel);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;gap:6px;padding:5px 8px;font-size:13px;display:flex}.bomb-btn{width:var(--control-size,96px);height:var(--control-size,96px);background:var(--pink);box-shadow:0 6px 0 var(--bomb-ledge);touch-action:none;border-radius:50%;place-items:center;transition:transform 80ms,box-shadow 80ms;display:grid}.bomb-btn:active{box-shadow:0 1px 0 var(--bomb-ledge);transform:translateY(5px)}.auth-screen{text-align:center;justify-content:center;align-items:center;gap:18px}.startup{justify-content:center;align-items:center}.startup-dots{opacity:0;gap:10px;animation:.4s 1.2s forwards appear;display:flex}.startup-dots i{background:var(--text);border-radius:50%;width:12px;height:12px;animation:.9s ease-in-out infinite alternate startup-dot}.startup-dots i:nth-child(2){animation-delay:.3s}.startup-dots i:nth-child(3){animation-delay:.6s}@keyframes appear{to{opacity:1}}@keyframes startup-dot{0%{opacity:.3;transform:scale(.7)}}.auth-screen p{max-width:32ch}.auth-screen a{text-decoration:none}.test-banner{color:#1b1440;text-align:center;background:#ffc857;padding:5px 12px;font-size:12px;font-weight:800}.matched,.results{text-align:center;justify-content:space-between;align-items:center;padding-top:28px;padding-bottom:28px;position:relative;overflow:hidden}.matched-head p,.results-head p,.entering p{color:var(--muted);margin:4px 0 0;font-size:14px}.versus{grid-template-columns:1fr 1fr;gap:34px 20px;width:100%;padding:0 8px;display:grid;position:relative}.contender{flex-direction:column;align-items:center;gap:16px;animation:.35s ease-out backwards pop;display:flex}.contender-name{background:var(--panel);border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:15px;display:flex}.contender.is-me .contender-name{background:var(--yellow);color:var(--on-primary)}.bot-tag{background:var(--well);letter-spacing:.06em;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:9px}.ready-tag{background:var(--green);color:#fff}.slot-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 6px;overflow:hidden}.wins{font-variant-numeric:tabular-nums;margin-left:6px;font-size:12px}.kick{background:var(--well);min-width:28px;height:28px;color:var(--muted);font:inherit;border-radius:999px;padding:0 8px;font-size:12px;position:absolute;top:6px;right:6px}.kick:after{content:"";position:absolute;inset:-8px}.kick.is-armed{background:var(--pink);color:#fff}.vs{background:var(--pink);width:58px;height:58px;box-shadow:0 5px 0 var(--bomb-ledge);border-radius:50%;place-items:center;font-size:20px;font-weight:900;animation:.4s ease-out .5s backwards pop;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.entering{width:100%}.loading{background:var(--panel);border-radius:999px;width:min(240px,70%);height:10px;margin:0 auto;overflow:hidden}.loading-fill{border-radius:inherit;background:linear-gradient(90deg, var(--teal), #7df0dc);height:100%;animation:linear forwards fill}@keyframes fill{0%{width:0}to{width:100%}}.results{justify-content:flex-start;gap:22px}.results .actions{width:100%}.champion{margin-top:6px;animation:.4s ease-out backwards pop;position:relative}.champion:before{content:"";background:repeating-conic-gradient(#ffd23f42 0 12deg, transparent 12deg 24deg);border-radius:50%;animation:16s linear infinite spin;position:absolute;inset:-34%;-webkit-mask:radial-gradient(closest-side,#000 35%,#0000);mask:radial-gradient(closest-side,#000 35%,#0000)}.knocked{justify-content:center;gap:10px;width:100%;margin-top:14px;display:flex}.knocked.is-draw{flex-wrap:wrap;margin-top:40px}.knocked-pet{border-radius:var(--radius);background:var(--panel);flex-direction:column;flex:1;align-items:center;gap:4px;max-width:112px;padding:10px 4px 8px;font-size:13px;display:flex}.knocked.is-draw .knocked-pet{flex:0 0 40%;max-width:none}.knocked-pet .pet{filter:saturate(.7);rotate:-9deg}.knocked-pet:nth-child(2n) .pet{rotate:8deg}.confetti{pointer-events:none;position:absolute;inset:0}.confetti span{border-radius:2px;width:8px;height:14px;animation:linear infinite backwards fall;position:absolute;top:-20px}@keyframes fall{to{transform:translateY(105vh)rotate(540deg)}}@media (orientation:landscape){#root:has(.game:not(.is-preparing)){max-width:none;padding-top:0}.game.is-preparing{height:calc(var(--app-height) - var(--safe-bottom));position:fixed;top:0;bottom:auto}.hud-players,.timer,.hud>.btn{margin-top:var(--safe-top)}.game{grid-template:"players board timer""players2 board loadout"".board."1fr"stick board bomb"/auto minmax(0,1fr) auto;gap:6px 12px;padding:6px 16px 8px;display:grid}.hud,.controls{display:contents}.hud>.btn{grid-area:timer;justify-self:start}.hud>.btn~.timer{justify-self:end}.arena,.arena-frame{display:contents}.arena-frame>.board-wrap{aspect-ratio:auto}.hud-players{grid-area:players;grid-template-columns:repeat(2,1fr);width:116px;display:grid}.hud-players,.hud>.btn,.hud>.timer{align-self:start}.hud>.btn+.hud-players{margin-left:0}.hud-players--far{grid-area:players2;margin-top:0}.hud-player{width:auto}.hud>.timer{grid-area:timer}.board-wrap{grid-area:board}.network-readout{top:calc(var(--safe-top) + 8px);width:min(320px,100% - 288px)}.joystick{grid-area:stick}.joystick:before{top:-80px}.bomb-btn{grid-area:bomb;justify-self:center}.loadout{flex-direction:column;grid-area:loadout;justify-content:flex-start;gap:6px;height:auto}.loadout .mute-btn{width:40px;height:40px}}.welcome{text-align:center;align-items:center;gap:18px;padding-top:26px;padding-bottom:24px}.welcome-head p{color:var(--muted);margin:4px 0 0;font-size:15px}.dots{justify-content:center;gap:6px;margin-bottom:14px;display:flex}.dots span{background:var(--line);border-radius:50%;width:8px;height:8px;transition:width .2s,background .2s}.dots span.is-on{background:var(--yellow);border-radius:999px;width:22px}.welcome .podium{aspect-ratio:1;flex:1 1 0;min-height:96px;max-height:min(60vw,30vh);margin:auto 0}.welcome-body:empty{display:none}.egg{z-index:1;transform-origin:50% 92%;width:82%;height:82%;animation:1.7s ease-in-out infinite egg-wobble;position:relative}.egg.is-hatching{animation:90ms linear infinite alternate egg-shake}.hatched{z-index:1;width:100%;height:100%;animation:.4s cubic-bezier(.2,1.4,.4,1) pop;position:relative}.egg-crack{stroke-dasharray:1;animation:.18s ease-out backwards egg-crack}.egg-burst{pointer-events:none}.egg-burst .fx-shard{border-radius:30% 30% 45% 45%;width:16%;height:12%;animation-duration:.75s;top:44%;left:42%;box-shadow:inset 0 0 0 2px #d9c7a3}@keyframes egg-crack{0%{stroke-dashoffset:1px}}@keyframes egg-wobble{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-7deg)}80%{transform:rotate(6deg)}90%{transform:rotate(-3deg)}}@keyframes egg-shake{0%{transform:rotate(-6deg)scale(1.04)}to{transform:rotate(6deg)scale(1.08)}}.welcome-body{flex-direction:column;flex:none;justify-content:center;gap:10px;width:100%;margin-top:12px;display:flex}.choice{border-radius:var(--radius);background:var(--panel);align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:14px;display:flex}.choice>span{text-align:left;width:42px;color:var(--muted)}.choice-options{flex:1;justify-content:flex-end;gap:8px;display:flex}.choice-option{background:var(--card);border:2.5px solid #0000;border-radius:16px;place-items:center;width:54px;height:54px;display:grid}.choice-option.is-selected{border-color:var(--yellow)}.choice-swatch{border-radius:50%;width:34px;height:34px;box-shadow:inset 0 -4px #00000024}.name-row{justify-content:center;align-items:center;gap:10px;display:flex}.name-input-lg{border-radius:var(--radius);border:2px solid var(--line);background:var(--panel);text-align:center;width:9em;padding:12px 16px;font-size:24px}.name-input-lg:focus{border-color:var(--green)}.welcome .actions{width:100%}@media (height<=620px){.welcome{gap:10px;padding-top:12px;padding-bottom:12px}.welcome .dots{margin-bottom:8px}.welcome-body{gap:6px}.choice{padding:5px 5px 5px 16px}.choice-option{border-radius:13px;width:44px;height:44px}.choice-option .pet{width:36px;height:36px}.choice-swatch{width:28px;height:28px}}@media (aspect-ratio>=3/2) and (height<=520px){:root{--nav-space:0px}#root{max-width:900px}#root:has(.nav){flex-direction:row}.test-banner{z-index:20;border-radius:0 0 0 10px;position:absolute;top:0;right:0}.screen{gap:10px;min-width:0;padding:10px 16px}.btn-xl{min-height:52px;font-size:20px}.spacer{display:none}.nav{flex-direction:column;order:-1;justify-content:center;gap:4px;width:72px;margin:10px 0 10px 12px}.nav-item{flex:none;padding:10px 0}.home{grid-template:"top top""hero actions"minmax(0,1fr)/minmax(0,1fr) minmax(0,1fr);column-gap:20px;display:grid}.home .topbar{grid-area:top}.hero{grid-area:hero;gap:14px}.home .hero .pet{width:min(24vw,30vh);height:min(24vw,30vh)}.home .actions{grid-area:actions;justify-content:center}.customize{grid-template:"top wardrobe""preview wardrobe"minmax(0,1fr)/minmax(0,5fr) minmax(0,7fr);column-gap:16px;margin-bottom:0;padding-right:0;display:grid}.customize .topbar{grid-area:top}.preview{grid-area:preview;align-self:center}.preview .pet{width:min(20vw,40vh);height:min(20vw,40vh)}.wardrobe{border-radius:24px 0 0;grid-area:wardrobe;margin:0}.panel{padding-bottom:16px}.welcome{grid-template:"head body""podium body"minmax(0,1fr)"podium actions"/minmax(0,2fr) minmax(0,3fr);gap:8px 20px;padding-top:10px;padding-bottom:10px;display:grid}.welcome:has(.egg){grid-template:"head""podium"minmax(0,1fr)/1fr}.welcome-head{grid-area:head}.welcome .podium{grid-area:podium;place-self:center;width:min(24vw,46vh);min-height:0;max-height:none;margin:0}.welcome:has(.egg) .podium{width:min(30vw,52vh)}.welcome-body{grid-area:body;align-self:center;margin-top:0}.welcome:has(.name-row) .welcome-body{grid-row:1/3}.welcome .actions{grid-area:actions;gap:8px}.lobby{grid-template:"head slots"minmax(0,1fr)"actions slots"/minmax(0,1fr) minmax(0,1fr);gap:8px 20px;display:grid}.lobby>.topbar{grid-area:head;place-self:end start}.private-head{grid-area:head;justify-content:center;gap:4px}.private-lobby,.public-lobby{grid-template-rows:minmax(min-content,1fr) auto}.private-title h1{font-size:22px}.lobby .slot.is-bot .pet{width:44px;height:44px}.private-lobby{padding-block:8px}.private-actions{grid-area:actions;gap:6px}.private-actions .btn{min-height:44px}.private-actions .btn-xl{flex-direction:row;padding:0 16px;font-size:20px}.private-actions .btn-xl small{display:none}.private-actions .btn-secondary{padding:0 12px}.private-actions .bot-difficulty{gap:4px;padding:6px;font-size:12px}.private-actions .bot-difficulty .tab{font-size:12px}.queue-head{grid-area:head}.queue-head p,.queue-actions p{margin:6px 0 0}.queue-actions{grid-area:actions;gap:8px}.lobby .slots{grid-area:slots;grid-auto-rows:minmax(0,1fr);gap:8px}.lobby .slot{aspect-ratio:auto;min-height:0}.lobby .slot .pet{width:52px;height:52px}.results{grid-template:"head knocked""champion knocked"minmax(0,1fr)"champion actions"/minmax(0,1fr) minmax(0,1fr);gap:8px 20px;padding-top:12px;padding-bottom:12px;display:grid}.results:not(:has(.champion)){grid-template:"head head""knocked actions"minmax(0,1fr)/minmax(0,3fr) minmax(0,2fr)}.results-head{grid-area:head}.champion{grid-area:champion;place-self:center;margin:0}.champion .pet{width:min(22vw,44vh);height:min(22vw,44vh)}.knocked,.knocked.is-draw{flex-wrap:nowrap;grid-area:knocked;align-self:center;margin-top:0}.knocked.is-draw .knocked-pet{flex:1}.knocked-pet .pet{width:56px;height:56px}.results .actions{grid-area:actions;align-self:center;gap:8px}}@media (prefers-reduced-motion:reduce){.sparkle,.podium-bomb,.champion,.champion:before,.friends-overlay,.friends-sheet{animation:none}.confetti{display:none}.confetti span{animation:none}.btn,.bomb-btn,.round-btn,.tab,.option,.nav-item,.nameplate,button.code,button.slot{transition:none}.btn:active:not(:disabled),.bomb-btn:active,.round-btn:active:not(:disabled),.tab:active:not(.is-disabled),.option:active:not(:disabled),.nav-item:active:not(:disabled),.nameplate:active,button.code:active,button.slot:active:not(:disabled){transform:none}}
