@font-face{font-family:Fredoka;src:url(/assets/fonts/Fredoka-Variable.woff2)format("woff2");font-weight:300 700;font-display:swap}:root{--ink:#2b2150;--ink-soft:#4a3f7a;--paper:#fffaf0;--yellow:#ffd23d;--yellow-dark:#e0a800;--pink:#ff5f8f;--pink-dark:#d23a6c;--blue:#3d8bff;--blue-dark:#2563c9;--mint:#3ddc84;--mint-dark:#1fae5e;--sky:#9edbff;--radius:22px;--font:"Fredoka", "Baloo 2", "Arial Rounded MT Bold", "Nunito", system-ui, sans-serif;--shadow:0 6px 0 #2b215059}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{height:100%;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;background:#d6f1ff;margin:0;overflow:hidden}body{width:100%;position:fixed;top:0;bottom:0;left:0;right:0}input,textarea,select{-webkit-user-select:text;user-select:text;font-size:max(16px,1em)}button,[role=button]{touch-action:manipulation}#app{position:fixed;top:0;bottom:0;left:0;right:0}#game-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#ui{pointer-events:none;z-index:2;position:fixed;top:0;bottom:0;left:0;right:0}#ui .screen{pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#ui .screen.passthrough{pointer-events:none}.hidden{display:none!important}.logo{letter-spacing:.02em;color:var(--yellow);-webkit-text-stroke:clamp(4px, 1.1vw, 10px) var(--ink);paint-order:stroke fill;text-shadow:0 clamp(6px, 1.4vw, 14px) 0 var(--ink);margin:0 0 8px;font-size:clamp(64px,17vw,168px);font-weight:700;line-height:.9;display:flex;transform:rotate(-4deg)}.logo span{animation:2.4s ease-in-out infinite logo-bounce;display:inline-block}.logo span:nth-child(2){color:var(--pink);animation-delay:.12s}.logo span:nth-child(3){color:#56c8ff;animation-delay:.24s}.logo span:nth-child(4){color:var(--mint);animation-delay:.36s}.logo span:nth-child(5){animation-delay:.48s}@keyframes logo-bounce{0%,60%,to{transform:translateY(0)scale(1)}70%{transform:translateY(-12%)scale(.95,1.08)}80%{transform:translateY(0)scale(1.08,.92)}}.tagline{color:var(--ink);background:#ffffffbf;border-radius:999px;margin-bottom:18px;padding:6px 16px;font-size:clamp(16px,2.6vw,22px);font-weight:600}.btn{font-family:var(--font);letter-spacing:.04em;color:var(--ink);border:4px solid var(--ink);border-radius:var(--radius);box-shadow:0 6px 0 var(--ink);cursor:pointer;touch-action:manipulation;background:#fff;min-width:170px;min-height:56px;padding:12px 26px;font-size:clamp(18px,3vw,24px);font-weight:700;transition:transform 80ms,box-shadow 80ms,filter .1s}@media (hover:hover){.btn:hover{box-shadow:0 8px 0 var(--ink);filter:brightness(1.05);transform:translateY(-2px)scale(1.03)}}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(5px)}.btn:focus-visible{outline:4px dashed var(--pink);outline-offset:4px}.btn.primary{background:var(--yellow);box-shadow:0 9px 0 var(--ink);border-width:5px;border-radius:30px;padding:14px 56px;font-size:clamp(34px,7vw,56px);animation:1.8s ease-in-out infinite primary-pulse}.btn.primary:active{box-shadow:0 2px 0 var(--ink)}@keyframes primary-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn.pink{background:var(--pink);color:#fff}.btn.blue{background:#56c8ff}.btn.mint{background:var(--mint)}.btn.small{min-width:0;min-height:44px;box-shadow:0 4px 0 var(--ink);border-width:3px;padding:8px 14px;font-size:16px}.btn[disabled]{opacity:.5;pointer-events:none}.icon-btn{justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;padding:0;font-size:24px;display:inline-flex}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.stack{flex-direction:column;align-items:center;gap:14px;display:flex}.menu-screen{--menu-gap:16px;--tool:64px;padding:calc(var(--tool) + 30px + env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));background:linear-gradient(#56acff9e 0%,#8cccff52 26%,#fff0 50%),radial-gradient(#fff0 55%,#2b21501f 100%)}.menu-center{flex-direction:column;align-items:center;max-width:100%;display:flex}.menu-logo{align-items:center;gap:clamp(0px,1vw,12px);display:flex}.menu-screen .logo{margin:0;transform:rotate(-2deg)}.logo-burst{flex:none;width:clamp(26px,4.2vw,58px);animation:2.4s ease-in-out infinite burst-pop;display:block}.logo-burst svg{width:100%;height:auto;display:block}.logo-burst.right{animation-name:burst-pop-r;transform:scaleX(-1)}@keyframes burst-pop{0%,60%,to{opacity:1;transform:scale(1)}75%{transform:scale(1.18)}}@keyframes burst-pop-r{0%,60%,to{opacity:1;transform:scaleX(-1)}75%{transform:scaleX(-1.18)scaleY(1.18)}}.menu-screen .tagline{background:#fff;margin:clamp(-18px,-1.2vw,-6px) 0 clamp(16px,2.6vh,28px);padding:6px 26px;font-weight:700;position:relative;box-shadow:0 4px #2b21502e,0 8px 24px #2b21501f}.btn.play-btn{background:linear-gradient(180deg, #ffe46b 0%, var(--yellow) 55%, #ffc21f 100%);border-radius:999px;align-items:center;gap:clamp(12px,1.8vw,22px);padding:10px clamp(36px,5vw,64px) 12px clamp(28px,3.6vw,44px);display:inline-flex;position:relative;overflow:hidden}.btn.play-btn:before{content:"";pointer-events:none;background:#ffffff80;border-radius:999px;height:18%;position:absolute;top:5px;left:9%;right:9%}.play-btn .play-icon,.play-text{position:relative}.play-btn .play-icon{flex:none;width:clamp(46px,6vw,70px);height:auto}.play-text{flex-direction:column;align-items:flex-start;line-height:1;display:flex}.play-label{letter-spacing:.03em;font-size:clamp(42px,6.4vw,70px)}.play-sub{letter-spacing:.1em;margin-top:2px;font-size:clamp(13px,1.6vw,19px)}.menu-profile{top:calc(var(--menu-gap) + env(safe-area-inset-top));left:calc(var(--menu-gap) + env(safe-area-inset-left));max-width:calc(100% - 2 * var(--menu-gap) - 3 * var(--tool) - 2 * 12px - 14px);flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute}.profile-card{background:var(--paper);border:4px solid var(--ink);width:380px;max-width:100%;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:12px;padding:6px 22px 6px 6px;display:flex}.profile-avatar{cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;padding:0;transition:transform .1s}@media (hover:hover){.profile-avatar:hover{transform:scale(1.06)rotate(-4deg)}}.profile-avatar:active{transform:scale(.94)}.profile-avatar:focus-visible{outline:4px dashed var(--pink);outline-offset:4px}.profile-avatar .bumpling-avatar{--size:60px;box-shadow:0 0 0 3px var(--yellow), 0 0 0 6px var(--ink);border-radius:50%;margin:6px}.profile-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.profile-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.profile-card .name-btn{text-overflow:ellipsis;white-space:nowrap;text-align:left;border-bottom:none;min-width:0;font-size:clamp(18px,2.2vw,22px);font-weight:700;overflow:hidden}.profile-card .locker-level{flex:none;padding:2px 12px;font-size:15px}.profile-xp{background:var(--ink);border:3px solid var(--ink);border-radius:999px;height:16px;overflow:hidden}.profile-xp-fill{background:linear-gradient(180deg, #ffe680, var(--yellow));border-radius:999px;min-width:10px;height:100%;transition:width .6s cubic-bezier(.2,1.4,.4,1)}.name-btn{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0 2px}.name-btn:after{content:" ✏️";font-size:.75em}.profile-card.name-edit{gap:8px;width:auto;padding:6px 8px 6px 12px}.edit-btn{width:44px;height:44px;min-height:44px}.name-input{font:inherit;color:var(--ink);border:3px solid var(--ink);background:#fffbe8;border-radius:12px;outline:none;width:min(12ch,40vw);min-width:0;padding:4px 10px;font-size:20px;font-weight:700}.name-input:focus{box-shadow:0 0 0 3px var(--yellow);background:#fff}.name-error:empty{display:none}.name-error{border:3px solid var(--ink);background:#fff;border-radius:999px;margin:0;padding:2px 14px}.menu-tools{top:calc(var(--menu-gap) + env(safe-area-inset-top));right:calc(var(--menu-gap) + env(safe-area-inset-right));gap:12px;display:flex;position:absolute}.btn.tool-btn{width:var(--tool);height:var(--tool);border-radius:20px;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;display:inline-flex;position:relative}.tool-btn .ui-icon{width:58%;height:58%}.btn.menu-room{bottom:calc(var(--menu-gap) + 4px + env(safe-area-inset-bottom));border-radius:999px;align-items:center;gap:12px;padding:10px 30px 10px 14px;font-size:clamp(18px,2.2vw,24px);display:inline-flex;position:absolute}.menu-room.create{left:calc(var(--menu-gap) + env(safe-area-inset-left))}.menu-room.join{right:calc(var(--menu-gap) + env(safe-area-inset-right))}.menu-room .ui-icon{flex:none;width:38px;height:38px}.menu-room.mint .ui-icon{width:42px}.controls-hint{bottom:calc(26px + env(safe-area-inset-bottom));border:3px solid var(--ink);white-space:nowrap;background:#ffffffd1;border-radius:999px;gap:18px;padding:8px 18px;font-size:15px;font-weight:600;display:flex;position:absolute;left:50%;transform:translate(-50%)}.key{border:2px solid var(--ink);text-align:center;background:#fff;border-bottom-width:4px;border-radius:8px;min-width:28px;margin-right:4px;padding:1px 7px;font-size:13px;font-weight:700;display:inline-block}.panel{background:var(--paper);border:5px solid var(--ink);box-shadow:0 10px 0 var(--ink);border-radius:30px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:min(560px,100%);padding:26px 28px;animation:.25s cubic-bezier(.2,1.6,.4,1) pop-in;display:flex}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.panel h2{margin:0;font-size:clamp(28px,5vw,40px);font-weight:700}.backdrop{background:#2b215073}#ui .screen.backdrop{z-index:8}.code-input{gap:8px;display:flex}.code-input input{width:clamp(44px,12vw,64px);height:clamp(56px,14vw,76px);font-family:var(--font);text-align:center;text-transform:uppercase;border:4px solid var(--ink);color:var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:16px;outline:none;font-size:clamp(28px,7vw,40px);font-weight:700}.code-input input:focus{background:#fff6c9}.error-text{color:var(--pink-dark);min-height:1.2em;font-weight:700}.room-code{letter-spacing:.18em;border:4px dashed var(--ink);background:#fff;border-radius:20px;padding:4px 18px 4px 28px;font-size:clamp(40px,10vw,64px);font-weight:700}.player-list{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.player-pill{border:3px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:4px 14px 4px 6px;font-weight:600;display:flex}.player-pill .dot{border:3px solid var(--ink);border-radius:50%;width:24px;height:24px}.player-pill.me{background:#fff6c9}.player-pill .tag{background:var(--ink);color:#fff;border-radius:999px;padding:1px 8px;font-size:12px}.lobby-bar{pointer-events:auto;flex-flow:wrap;justify-content:center;align-items:center;gap:18px;max-width:min(980px,100%);padding:14px 20px}.lobby-code{flex-direction:column;align-items:center;gap:4px;display:flex}.lobby-code .room-code{font-size:clamp(32px,6vw,46px)}.lobby-label{letter-spacing:.1em;font-size:14px;font-weight:700}.lobby-hint{text-align:center;opacity:.8;font-size:14px;font-weight:600}.lobby-players{flex-direction:column;flex:1;gap:8px;min-width:200px;display:flex}.lobby-actions{gap:8px}.btn.primary.lobby-start{padding:8px 34px;font-size:clamp(28px,5vw,40px)}.lobby-actions .tagline{margin:0}.create-panel{max-width:min(460px,100%)}.create-q{font-size:clamp(22px,4vw,28px);font-weight:700}.seg.big-seg{box-shadow:0 4px 0 var(--ink);border-width:4px}.seg.big-seg button{min-height:52px;padding:10px 22px;font-size:clamp(18px,3.4vw,22px)}.seg.big-seg button+button{border-left-width:4px}.bot-picker{border:3px dashed var(--ink);background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:10px;width:100%;padding:12px 14px;transition:opacity .2s,filter .2s;display:flex}.bot-picker.off{opacity:.35;filter:grayscale()}.bot-row{gap:10px;display:flex}.bot-face{opacity:.2;filter:grayscale();font-size:34px;line-height:1;transition:transform .2s cubic-bezier(.2,1.8,.4,1),opacity .15s;transform:scale(.8)}.bot-face.on{opacity:1;filter:none;transform:scale(1)}.bot-slider{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;font-weight:700;display:grid}.bot-slider input[type=range]{height:20px}.bot-slider input[type=range]:disabled::-webkit-slider-thumb{cursor:default}.bot-summary{font-size:20px;font-weight:700}.create-panel .error-text:empty{display:none}.create-actions{gap:10px;margin-top:4px}.spark-title{letter-spacing:.02em;align-items:center;gap:18px;display:flex}.spark-title .spark{flex:none;width:22px;height:26px;position:relative}.spark-title .spark:before,.spark-title .spark:after{content:"";background:var(--yellow);border-radius:999px;height:7px;position:absolute}.spark-title .spark:before{width:18px;top:3px;left:2px;transform:rotate(35deg)}.spark-title .spark:after{width:16px;bottom:2px;left:0}.spark-title .spark.right{transform:scaleX(-1)}#settings .panel,#pause .panel{overscroll-behavior:contain;touch-action:pan-y;max-height:100%;overflow-y:auto}#settings .panel{gap:16px;max-width:min(640px,100%);padding:22px 24px 26px}.spark-title{font-size:clamp(30px,6vw,48px)!important}.set-body{grid-template-columns:1fr 1fr;grid-template-areas:"vol vol""gfx touch""motion reports""keys keys";gap:12px;width:100%;display:grid}.set-volume{grid-area:vol}.set-graphics{grid-area:gfx}.set-touch{grid-area:touch}.set-motion{grid-area:motion}.set-reports{grid-area:reports}.set-controls{grid-area:keys}.set-card{background:#f7efe2;border:2px solid #ebe0cd;border-radius:20px;flex-direction:column;gap:10px;min-width:0;padding:12px 16px;display:flex}.set-volume{gap:4px;padding:10px 16px}.set-head{white-space:nowrap;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.set-ico{flex:none;width:32px;height:32px}.setting-row{grid-template-columns:32px 86px 1fr 40px;align-items:center;gap:12px;width:100%;min-height:46px;font-size:20px;font-weight:700;display:grid}.setting-row .set-value{text-align:right;font-variant-numeric:tabular-nums}.setting-row input[type=range]{height:20px}.setting-row input[type=range]::-webkit-slider-thumb{width:36px;height:36px}.setting-row input[type=range]::-moz-range-thumb{width:28px;height:28px}.set-card .seg{width:100%;box-shadow:0 3px 0 var(--ink);border-radius:18px}.set-card .seg button{flex:1;min-height:46px;padding:6px 8px;font-size:17px}.set-toggle{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.switch{cursor:pointer;background:#b4afc2;border:3px solid #9b96aa;border-radius:999px;flex:none;width:64px;height:38px;padding:0;transition:background .15s,border-color .15s;position:relative}.switch .knob{background:#fff;border-radius:50%;width:28px;height:28px;transition:transform .18s cubic-bezier(.3,1.6,.5,1);position:absolute;top:2px;left:2px;box-shadow:0 2px #2b215040}.switch.on{background:var(--yellow);border-color:var(--yellow-dark)}.switch.on .knob{transform:translate(26px)}.switch:focus-visible{outline:4px dashed var(--pink);outline-offset:3px}.key-row{justify-content:space-between;display:flex}.key-group{letter-spacing:.04em;color:var(--ink-soft);flex-direction:column;flex:1;align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.key-group+.key-group{border-left:2px solid #e3d7c2}.keycaps{gap:4px;display:flex}.keycap{border:3px solid var(--ink);min-width:34px;height:36px;color:var(--ink);background:#fff;border-radius:9px;justify-content:center;align-items:center;padding:0 8px;font-size:17px;font-weight:700;display:inline-flex}.touch .set-controls{display:none}.btn.big-back{border-width:5px;border-radius:28px;min-width:220px;padding:8px 40px;font-size:clamp(26px,5vw,36px)}#pause .panel{gap:16px;max-width:min(420px,100%);padding:22px 28px 30px}.pause-btn{justify-content:center;align-items:center;gap:12px;width:100%;display:inline-flex}.pause-btn.resume{border-width:5px;border-radius:28px;min-height:72px;font-size:clamp(28px,5vw,36px)}.btn-ico{flex:none;width:30px;height:30px}.pause-btn.resume .btn-ico{width:36px;height:36px}@media (max-width:560px){#settings .panel{gap:12px;padding:16px 14px 20px}.set-body{grid-template-columns:1fr;grid-template-areas:"vol""gfx""touch""motion""reports""keys";gap:10px}.setting-row{grid-template-columns:28px 72px 1fr 34px;gap:8px;font-size:17px}.set-ico{width:28px;height:28px}.set-head{font-size:18px}.key-row{flex-wrap:wrap;row-gap:10px}.key-group{flex:1 0 30%}.key-group:nth-child(4){border-left:none}}@media (max-height:520px) and (min-width:561px){#ui #settings,#ui #pause{padding:8px}#settings .panel{border-radius:22px;gap:8px;max-width:min(860px,100%);padding:8px 20px 12px}.spark-title{gap:12px;font-size:28px!important}.spark-title .spark{transform:scale(.75)}.spark-title .spark.right{transform:scale(-.75,.75)}.set-body{grid-template-columns:1.25fr 1fr 1fr;grid-template-areas:"vol gfx gfx""vol touch touch""vol motion reports""keys keys keys";gap:8px}.set-card{border-radius:16px;gap:6px;padding:6px 12px}.set-volume{justify-content:center}.setting-row{grid-template-columns:26px 66px 1fr 32px;gap:8px;min-height:40px;font-size:16px}.set-ico{width:26px;height:26px}.set-head{gap:8px;font-size:16px}.set-graphics,.set-touch{flex-direction:row;align-items:center}.set-graphics .set-head,.set-touch .set-head{flex:none;width:112px}.set-card .seg button{min-height:40px;font-size:15px}.set-toggle .set-head{white-space:normal;font-size:14px}.switch{width:54px;height:32px}.switch .knob{width:22px;height:22px}.switch.on .knob{transform:translate(22px)}.set-controls{display:none}.btn.big-back{border-width:4px;min-height:44px;padding:2px 36px;font-size:24px}#pause .panel{gap:10px;padding:10px 24px 16px}.pause-btn{min-height:48px;padding-top:4px;padding-bottom:4px}.pause-btn.resume{min-height:56px;font-size:26px}}input[type=range]{-webkit-appearance:none;appearance:none;border:3px solid var(--ink);background:#fff;border-radius:999px;width:100%;height:16px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--yellow);border:4px solid var(--ink);cursor:pointer;border-radius:50%;width:30px;height:30px}input[type=range]::-moz-range-thumb{background:var(--yellow);border:4px solid var(--ink);cursor:pointer;border-radius:50%;width:24px;height:24px}.seg{border:3px solid var(--ink);border-radius:16px;display:flex;overflow:hidden}.seg button{font-family:var(--font);color:var(--ink);cursor:pointer;background:#fff;border:none;padding:8px 16px;font-size:16px;font-weight:700}.seg button+button{border-left:3px solid var(--ink)}.seg button.on{background:var(--yellow)}.minutes-seg{margin-bottom:6px}.minutes-seg button{min-width:58px;min-height:48px;font-size:clamp(18px,3.4vw,22px)}.hud{pointer-events:none}.hud-top{top:calc(10px + env(safe-area-inset-top));flex-direction:column;align-items:center;gap:clamp(6px,1.4vh,12px);display:flex;position:absolute;left:0;right:0}.hud-bottom{bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column-reverse;align-items:center;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-callout{align-items:center;gap:8px;display:flex}@media (max-width:1000px){body:not(.touch) .hud-bottom{bottom:80px}}.hud.announcing .event-chip{display:none}.timer{border:5px solid var(--ink);box-shadow:0 6px 0 var(--ink);text-align:center;font-variant-numeric:tabular-nums;background:#fff;border-radius:24px;min-width:132px;padding:0 22px;font-size:clamp(30px,min(6vw,10vh),52px);font-weight:700}.timer.urgent{background:var(--pink);color:#fff;animation:.5s ease-in-out infinite alternate urgent}@keyframes urgent{to{transform:scale(1.08)}}.hud-left{z-index:3;top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute}.score-card{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}.score-card:active{transform:translateY(2px)}.board-caret{margin-left:-4px;font-size:16px;transition:transform .2s}.hud.board-open .board-caret{transform:rotate(180deg)}.lives-row{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:999px;align-items:center;gap:4px;width:max-content;padding:2px 10px;display:flex}.lives-row .life{color:var(--pink);-webkit-text-stroke:2px var(--ink);font-size:24px;line-height:1.05;transition:transform .2s,color .2s,opacity .2s}.lives-row .life.lost{color:#0000;opacity:.45;transform:scale(.85)}.lives-row .life.gained{animation:.6s ease-out life-gain}.lives-row.last .life:not(.lost){color:#ff3b4e;animation:.7s ease-in-out infinite life-beat}.lives-row.ouch{animation:.4s ease-out lives-ouch}@keyframes lives-ouch{0%{background:#ffd1e3;transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}to{background:#fff;transform:none}}@keyframes life-beat{50%{transform:scale(1.22)}}@keyframes life-gain{0%{transform:scale(.2)}60%{transform:scale(1.5)}to{transform:scale(1)}}.score-card{transform-origin:0;border:5px solid var(--ink);box-shadow:0 6px 0 var(--ink);background:#fff;border-radius:24px;align-items:center;gap:10px;padding:4px 16px 4px 8px;font-weight:700;display:flex}.score-card .star{font-size:clamp(24px,min(5vw,8vh),40px);line-height:1}.score-card .num{font-variant-numeric:tabular-nums;min-width:1.2em;font-size:clamp(26px,min(5.5vw,9vh),44px);line-height:1}.score-card .rank{background:var(--ink);color:#fff;border-radius:12px;padding:2px 10px;font-size:18px}.score-card.pop{animation:.4s cubic-bezier(.2,2,.4,1) score-pop}@keyframes score-pop{0%{transform:scale(1)}40%{transform:scale(1.25)rotate(-3deg)}to{transform:scale(1)}}.board{flex-direction:column;align-items:flex-end;gap:5px;display:flex;position:absolute;top:78px;right:12px}.board-row{border:3px solid var(--ink);background:#ffffffe0;border-radius:999px;align-items:center;gap:6px;padding:1px 10px 1px 4px;font-size:15px;font-weight:700;transition:transform .3s;display:flex}.board-row.me{background:#fff6c9}.board-row .dot{border:2px solid var(--ink);border-radius:50%;width:18px;height:18px}.board-row .pos{text-align:center;opacity:.6;min-width:1.4ch;font-size:12px}.board-row.out{opacity:.55}.board-row .lives{color:var(--pink-dark);font-size:13px}.board-row .out-tag{background:var(--ink);color:#fff;border-radius:999px;padding:0 6px;font-size:11px}.hud:not(.board-open) .board-row.extra{display:none}.hud.board-open .board{z-index:6;pointer-events:auto;cursor:pointer;display:flex!important}.board-row .name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.event-chip{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:2px 12px 3px 4px;font-size:14px;font-weight:700;display:flex;position:relative;overflow:hidden}.event-chip .icon{justify-content:center;align-items:center;width:26px;height:26px;font-size:18px;display:flex}.event-chip .icon img{width:26px;height:26px}.event-chip .bar{background:var(--event-color,var(--pink));height:4px;position:absolute;bottom:0;left:0}.banner{border:4px solid var(--ink);border-bottom-width:7px;border-bottom-color:var(--event-color,var(--ink));box-shadow:0 4px 0 var(--ink);pointer-events:none;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:2px 16px 2px 4px;animation:.45s cubic-bezier(.2,2,.4,1) banner-in;display:flex}.banner .icon{justify-content:center;align-items:center;width:clamp(30px,6.5vh,46px);height:clamp(30px,6.5vh,46px);font-size:clamp(22px,5vh,34px);line-height:1;animation:.6s cubic-bezier(.2,2,.4,1) banner-icon;display:flex}.banner .icon img{width:100%;height:100%}.banner .title{color:#fff;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink);white-space:nowrap;font-size:clamp(18px,min(3.2vw,5.5vh),30px);font-weight:700;animation:.5s cubic-bezier(.2,2,.4,1) banner-title}@keyframes banner-in{0%{opacity:0;transform:translateY(24px)scale(.4)}to{opacity:1;transform:none}}@keyframes banner-icon{0%{transform:scale(0)rotate(-40deg)}to{transform:scale(1)rotate(0)}}@keyframes banner-title{0%{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(1)}}.center-text{color:var(--yellow);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink);pointer-events:none;white-space:nowrap;font-size:clamp(52px,min(18vw,23vh),170px);font-weight:700;line-height:1;position:absolute;top:31%;left:50%;transform:translate(-50%,-50%)}.center-text.go{color:var(--mint)}.center-text.anim{animation:.9s ease-out count-pop}@keyframes count-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(2.2)}20%{opacity:1;transform:translate(-50%,-50%)scale(.9)}35%{transform:translate(-50%,-50%)scale(1.05)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}.toasts{flex-direction:column-reverse;align-items:flex-start;gap:6px;display:flex}.toast{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);transform-origin:0;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:14px;max-width:min(44vw,360px);padding:2px 12px;font-size:clamp(15px,min(2.4vw,4.6vh),22px);font-weight:700;animation:2.2s ease-out forwards toast;overflow:hidden}.toast.good{background:var(--yellow)}.toast.oops{background:#ffd1e3}.toast.info{background:#d6f1ff}@keyframes toast{0%{opacity:0;transform:translate(-36px)scale(.6)}10%{opacity:1;transform:translate(4px)scale(1.08)}18%{transform:none}80%{opacity:1;transform:none}to{opacity:0;transform:translate(-24px)}}.wind-arrow{justify-content:center;align-items:center;width:clamp(36px,8vh,48px);height:clamp(36px,8vh,48px);font-size:clamp(18px,4.5vh,26px);transition:opacity .3s;display:flex}.wind-arrow .arrow{box-sizing:border-box;border:3px solid var(--ink);width:100%;height:100%;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.wind-arrow.warn .arrow{background:#d6f1ff;animation:.3s ease-in-out infinite alternate wind-warn}@keyframes wind-warn{to{transform:scale(1.15)}}.cooldown{border:5px solid var(--ink);background:conic-gradient(var(--pink) calc(var(--p,1) * 360deg), #fff 0);width:86px;height:86px;box-shadow:0 5px 0 var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;position:absolute;bottom:22px;right:22px}.cooldown span{border:3px solid var(--ink);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.cooldown.ready span{background:var(--yellow)}.cooldown.powered{border-color:var(--ability-color,var(--ink));animation:.9s ease-in-out infinite alternate powered}@keyframes powered{0%{box-shadow:0 5px 0 var(--ink), 0 0 0 0 var(--ability-color)}to{box-shadow:0 5px 0 var(--ink), 0 0 0 7px color-mix(in srgb, var(--ability-color) 45%, transparent)}}.ability-badge{border:3px solid var(--ink);background:radial-gradient(circle, #fff 58%, transparent 60%), conic-gradient(var(--ability-color,var(--pink)) calc(var(--left,1) * 360deg), #ece7f7 0);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:flex;position:absolute;top:-12px;left:-12px}.touch .ability-badge{width:44px;height:44px;font-size:24px;top:-14px;left:-14px}.spectate-bar{pointer-events:auto;align-items:center;gap:8px;display:flex}.spectate-who{border:4px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:20px;flex-direction:column;align-items:center;min-width:150px;padding:2px 16px 4px;display:flex}.spectate-label{opacity:.65;font-size:12px;font-weight:700}.spectate-name{text-overflow:ellipsis;white-space:nowrap;border-bottom:4px solid var(--who,var(--ink));max-width:44vw;font-size:20px;font-weight:700;overflow:hidden}.spectate-arrow{border:4px solid var(--ink);background:var(--yellow);width:54px;height:54px;box-shadow:0 4px 0 var(--ink);color:var(--ink);cursor:pointer;border-radius:50%;padding:0;font-size:22px}.spectate-arrow:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.hud.spectating .cooldown,.hud.spectating .touch-btn,.hud.spectating .lives-row,.hud.spectating .touch-stick-zone:after,.hud.spectating .touch-stick-base{display:none!important}.emote-bar{pointer-events:auto;gap:6px;display:flex;position:absolute;bottom:18px;left:18px}.emote-bar button{border:3px solid var(--ink);width:48px;height:48px;box-shadow:0 4px 0 var(--ink);cursor:pointer;background:#ffffffeb;border-radius:14px;padding:0;font-size:24px;position:relative}.emote-bar button small{font-family:var(--font);background:var(--ink);color:#fff;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700;position:absolute;top:-8px;right:-6px}.emote-bar button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.hud-menu-btn{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));pointer-events:auto;position:absolute}.emote-toggle,.touch-zone,.touch-btn,.touch-stick-base{display:none}.touch .touch-zone{pointer-events:auto;touch-action:none;width:50%;display:block;position:absolute;top:72px;bottom:0}.touch .touch-stick-zone{left:0}.touch .touch-look-zone{right:0}.touch .touch-stick-zone:after{content:"MOVE";left:calc(28px + env(safe-area-inset-left));bottom:calc(28px + env(safe-area-inset-bottom));color:#2b21508c;background:#ffffff2e;border:4px dashed #2b215059;border-radius:50%;justify-content:center;align-items:center;width:116px;height:116px;font-size:18px;font-weight:700;display:flex;position:absolute}.touch .touch-stick-zone.active:after{opacity:0}.touch .touch-stick-base{pointer-events:none;background:#ffffff59;border:4px solid #2b21508c;border-radius:50%;width:132px;height:132px;margin:-66px 0 0 -66px;display:block;position:fixed}.touch .touch-stick-knob{border:4px solid var(--ink);background:var(--yellow);width:62px;height:62px;box-shadow:0 4px 0 var(--ink);border-radius:50%;margin:-31px 0 0 -31px;position:absolute;top:50%;left:50%}.touch .touch-btn{right:calc(22px + 108px + 18px + env(safe-area-inset-right));bottom:calc(26px + env(safe-area-inset-bottom));border:5px solid var(--ink);background:var(--mint);width:88px;height:88px;box-shadow:0 6px 0 var(--ink);font-family:var(--font);color:var(--ink);pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:20px;font-weight:700;display:flex;position:absolute}.touch .cooldown{right:calc(22px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;width:108px;height:108px;font-size:22px}.touch .cooldown span{width:80px;height:80px}.touch .touch-btn.pressed,.touch .cooldown.pressed{box-shadow:0 2px 0 var(--ink);transform:translateY(4px)scale(.96)}@media (orientation:portrait){.touch .touch-btn{right:calc(32px + env(safe-area-inset-right));bottom:calc(22px + 108px + 20px + env(safe-area-inset-bottom))}.touch .hud-bottom{bottom:calc(160px + env(safe-area-inset-bottom));left:calc(20px + env(safe-area-inset-left));align-items:flex-start;transform:none}}.touch .emote-toggle{top:calc(12px + env(safe-area-inset-top));right:calc(12px + 52px + 10px + env(safe-area-inset-right));border:3px solid var(--ink);width:52px;height:52px;box-shadow:0 4px 0 var(--ink);pointer-events:auto;background:#ffffffeb;border-radius:14px;justify-content:center;align-items:center;padding:0;font-size:26px;display:flex;position:absolute}.touch .emote-bar{top:calc(74px + env(safe-area-inset-top));bottom:auto;left:auto;right:calc(12px + env(safe-area-inset-right));z-index:2;display:none}.touch .emote-bar.open{display:flex}.touch .emote-bar button small,.touch .controls-hint{display:none}@media (max-height:560px){.touch .board{display:none}}.touch .hud.board-open .board{top:calc(112px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));align-items:stretch;max-height:calc(100vh - 140px);right:auto;overflow-y:auto}.touch .hud.board-open .board-row{padding:3px 12px 3px 6px;font-size:17px}@media (max-height:560px){.touch .hud.board-open .board{top:calc(106px + env(safe-area-inset-top));gap:3px}.touch .hud.board-open .board-row{border-width:2px;padding:0 10px 0 4px;font-size:14px}.touch .hud.board-open .board-row .dot{width:14px;height:14px}}.net-badge{background:var(--pink);color:#fff;border:3px solid var(--ink);border-radius:999px;padding:4px 14px;font-weight:700}.respawn-note{color:#fff;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);white-space:nowrap;font-size:clamp(26px,min(6vw,9vh),44px);font-weight:700}.results-screen{background:radial-gradient(70% 60% at 50% 38%,#fff4c48c 0%,#fff4c400 70%),linear-gradient(#2b21502e,#2b21500d 45%,#2b21504d);gap:clamp(8px,1.6vh,16px);overflow:hidden auto;justify-content:flex-start!important;padding-top:clamp(14px,4vh,40px)!important;padding-bottom:clamp(14px,3vh,28px)!important}.results-screen>*{z-index:1;flex-shrink:0;position:relative}.results-title{color:var(--yellow);-webkit-text-stroke:clamp(5px, .8vw, 7px) var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink);text-align:center;overflow-wrap:anywhere;max-width:100%;margin:0;padding:0 8px;font-size:clamp(34px,min(8.5vw,8vh),80px);font-weight:700;line-height:1.05;animation:.7s cubic-bezier(.2,1.8,.4,1) both title-pop,2.4s ease-in-out .7s infinite title-bob}.results-screen.i-won .results-title{color:var(--mint)}@keyframes title-pop{0%{opacity:0;transform:scale(.3)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes title-bob{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-5px)rotate(1.5deg)}}.podium-stage{justify-content:center;width:min(560px,100%);display:flex;position:relative}.podium-rays{aspect-ratio:1;pointer-events:none;z-index:0;background:repeating-conic-gradient(#ffe26e8c 0deg 12deg,#ffe26e00 12deg 24deg);border-radius:50%;width:min(620px,130vw);animation:24s linear infinite rays-spin,.8s ease-out .5s both fade-in;position:absolute;top:40%;left:50%;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#000 18%,#0000 68%);mask-image:radial-gradient(circle,#000 18%,#0000 68%)}@keyframes rays-spin{to{rotate:360deg}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.podium{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(6px,1.6vw,12px);width:100%;display:grid;position:relative}.podium .place{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.podium .place.empty{visibility:hidden}.podium .bumpling{aspect-ratio:1/1.08;border:4px solid var(--ink);width:clamp(40px,min(9vw,7vh),58px);box-shadow:inset -6px -6px 0 #00000024, 0 4px 0 var(--ink);border-radius:50% 50% 46% 46%;animation:.55s cubic-bezier(.2,1.6,.4,1) both bumpling-drop,1.6s ease-in-out infinite bumpling-hop;position:relative}.podium .bumpling:before,.podium .bumpling:after{content:"";background:var(--ink);border-radius:50%;width:18%;height:24%;position:absolute;top:34%;box-shadow:inset 2px 2px #ffffffe6}.podium .bumpling:before{left:26%}.podium .bumpling:after{right:26%}.podium .crown{filter:drop-shadow(0 3px 0 var(--ink));font-size:clamp(22px,4.2vh,32px);animation:1.2s ease-in-out infinite crown-wiggle;position:absolute;bottom:82%;left:50%;translate:-50%}@keyframes crown-wiggle{0%,to{rotate:-10deg}50%{rotate:10deg}}@keyframes bumpling-drop{0%{opacity:0;transform:translateY(-60px)scale(.6,1.3)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bumpling-hop{0%,70%,to{translate:0;scale:1}80%{translate:0 -10px;scale:.94 1.08}90%{translate:0;scale:1.08 .92}}.podium .p1 .bumpling{width:clamp(50px,min(11vw,9vh),72px);animation-delay:.55s,1.1s}.podium .p2 .bumpling{animation-delay:.35s,1.3s}.podium .p3 .bumpling{animation-delay:.35s,1.5s}.podium .who{border:3px solid var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:5px;max-width:100%;padding:2px 10px;font-size:clamp(13px,2.4vw,17px);font-weight:700;display:flex}.podium .who .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.results-screen .tag.out{background:var(--ink)}.podium .who .tag,.rest-row .tag,.rest-row.me .rank{background:var(--pink);color:#fff;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:11px}.podium .place.me .who{background:#fff6c9}.podium .block{border:5px solid var(--ink);transform-origin:bottom;border-bottom-width:0;border-radius:20px 20px 0 0;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;width:100%;padding-top:clamp(6px,1.2vh,12px);font-weight:700;animation:.6s cubic-bezier(.2,1.6,.4,1) both rise;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -10px #2b21501f,inset 0 6px #ffffff8c}.podium .block:after{content:"";background:linear-gradient(90deg,#fff0,#ffffffb3,#fff0);width:40%;animation:3.2s ease-in-out 1.4s infinite shine;position:absolute;top:-20%;bottom:-20%;left:-60%;right:auto;transform:skew(-18deg)}@keyframes shine{0%{left:-60%}35%,to{left:130%}}.podium .p1 .block{height:clamp(104px,20vh,176px);animation-delay:.45s}.podium .p2 .block,.podium .p3 .block{height:clamp(76px,14vh,124px);animation-delay:.2s}.podium .r1 .block{background:linear-gradient(#ffe46f,#ffc21a)}.podium .r2 .block{background:linear-gradient(#f4f7ff,#c9d3ee)}.podium .r3 .block{background:linear-gradient(#ffd6b3,#f0a36b)}.podium .r0 .block{background:linear-gradient(#fff,#dfe6f5);padding-top:clamp(14px,3vh,28px)}.results-screen.no-stars .podium-rays{display:none}.podium .r1 .block:after{animation-delay:1.2s}.podium .medal{filter:drop-shadow(0 3px #2b215073);font-size:clamp(26px,min(5vw,5vh),40px);line-height:1;animation:.5s cubic-bezier(.2,1.8,.4,1) .8s both medal-pop}@keyframes medal-pop{0%{transform:scale(0)rotate(-40deg)}to{transform:scale(1)rotate(0)}}.podium .score{color:var(--ink);align-items:center;gap:2px;font-size:clamp(22px,min(4.4vw,4.4vh),34px);display:flex}.podium .p1 .score{font-size:clamp(28px,min(5.6vw,5.6vh),44px)}.podium .score .star{font-size:.8em}.podium .score .num{font-variant-numeric:tabular-nums}.podium-stage:after{content:"";border:5px solid var(--ink);background:var(--pink);height:14px;box-shadow:0 5px 0 var(--ink);z-index:2;border-radius:10px;animation:.3s ease-out both fade-in;position:absolute;bottom:-12px;left:-10px;right:-10px}@keyframes rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.results-rest{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;width:min(460px,100%);margin-top:10px;display:grid}.rest-row{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:2px 12px 2px 6px;font-size:clamp(13px,min(2.4vw,2.2vh),16px);font-weight:700;animation:.35s cubic-bezier(.2,1.6,.4,1) both row-in;display:flex}.rest-row:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 4px)}.rest-row .rank{text-align:center;opacity:.75;min-width:26px}.rest-row.me{background:#fff6c9}.rest-row.me .rank{opacity:1}.rest-row .dot{border:3px solid var(--ink);border-radius:50%;width:20px;height:20px}.rest-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rest-row .pts{font-variant-numeric:tabular-nums}@keyframes row-in{0%{opacity:0;transform:translateY(12px)scale(.9)}to{opacity:1;transform:none}}.results-mine{background:var(--yellow);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:999px;padding:4px 16px;font-size:clamp(16px,2.8vw,20px);font-weight:700;animation:.4s cubic-bezier(.2,1.6,.4,1) 1.2s both row-in}.results-actions{gap:10px;margin-top:auto;padding-top:8px}.results-actions .tagline{margin:0}.results-actions .btn.primary{padding:clamp(8px,1.4vh,14px) 52px;font-size:clamp(30px,min(7vw,6vh),56px)}@media (max-height:820px){.results-mine{display:none}}.confetti{pointer-events:none;top:0;bottom:0;left:0;right:0;overflow:hidden;z-index:0!important;position:absolute!important}.confetti i{border:2px solid var(--ink);border-radius:3px;width:10px;height:16px;animation:linear infinite both confetti-fall;position:absolute;top:-24px}.confetti i:nth-child(3n){border-radius:50%;width:12px;height:12px}@keyframes confetti-fall{0%{transform:translate(0)rotate(0)}to{transform:translate(var(--drift,0), 110vh) rotate(var(--spin,3turn))}}@media (max-width:420px){.results-rest{grid-template-columns:minmax(0,1fr);width:min(280px,100%)}.rest-row:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;width:auto}}@media (max-height:560px){.results-screen{gap:6px}.results-title{text-shadow:0 5px 0 var(--ink);font-size:clamp(28px,8vh,44px)}.podium .p1 .block{height:clamp(78px,20vh,104px)}.podium .p2 .block,.podium .p3 .block{height:clamp(56px,13vh,72px)}.podium .bumpling{width:36px}.podium .p1 .bumpling{width:44px}.podium .crown{font-size:20px}.podium .block{flex-direction:row;justify-content:center;align-items:center;gap:6px;padding-top:0;padding-bottom:6px}.podium .p1 .block{align-items:flex-start;padding-top:10px}.podium .medal{font-size:24px}.results-rest{grid-template-columns:minmax(0,280px);justify-content:center;margin-top:8px}.results-rest .rest-row:not(.me){display:none}.results-rest .rest-row.me{grid-column:auto;justify-self:stretch;width:auto}.results-rest:not(:has(.me)){display:none}.results-mine{display:none}.results-actions{flex-direction:row;align-items:center;padding-top:4px}.results-actions .btn.primary{min-height:0;padding:8px 30px;font-size:26px}}@media (prefers-reduced-motion:reduce){.results-screen *,.results-screen :before,.results-screen :after{animation-iteration-count:1!important}.confetti,.podium-rays{display:none}}body.reduced-motion .results-screen *,body.reduced-motion .results-screen :before,body.reduced-motion .results-screen :after{animation-iteration-count:1!important}body.reduced-motion .confetti,body.reduced-motion .podium-rays{display:none}#loading{z-index:10;background:linear-gradient(#58b8ff,#d6f1ff 70%,#ffd9ee);flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .4s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#loading.done{opacity:0;pointer-events:none}.progress{border:5px solid var(--ink);width:min(320px,70vw);height:26px;box-shadow:0 5px 0 var(--ink);background:#fff;border-radius:999px;overflow:hidden}.progress .fill{background:repeating-linear-gradient(-45deg, var(--yellow) 0 14px, #ffe46f 14px 28px);width:0;height:100%;transition:width .25s}.loading-tip{text-align:center;max-width:min(560px,100vw - 32px);font-size:clamp(22px,4vw,30px);font-weight:700}.boot-error-code{opacity:.55;text-align:center;overflow-wrap:anywhere;max-width:calc(100vw - 32px);font-size:12px}.debug-panel{z-index:20;color:#d6ffe8;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#141028db;border-radius:10px;max-width:330px;padding:8px 10px;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;bottom:80px;left:8px}.debug-panel button,.debug-panel select{color:#fff;cursor:pointer;background:#2b2150;border:1px solid #7a6fb5;border-radius:6px;margin:2px 2px 0 0;padding:2px 6px;font:11px ui-monospace,monospace}.debug-panel label{grid-template-columns:110px 1fr 40px;align-items:center;gap:4px;display:grid}.debug-panel input[type=range]{border-width:1px;height:8px}.debug-panel details summary{cursor:pointer;color:#ffd23d}@media (max-width:640px){.board{display:none}.hud.board-open .board{top:calc(112px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));align-items:stretch;right:auto}.hud-top{align-items:flex-end;padding-right:76px}.timer{min-width:104px;padding:0 12px}.controls-hint{display:none}.emote-bar button{width:40px;height:40px;font-size:20px}.score-card{padding:2px 10px 2px 6px}.touch .emote-toggle{top:calc(72px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right))}.touch .emote-bar{top:calc(132px + env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){.logo span,.logo-burst,.btn.primary,.timer.urgent,.lives-row.last .life{animation:none}}body.reduced-motion .lives-row.last .life{animation:none}body.reduced-motion .logo span,body.reduced-motion .logo-burst,body.reduced-motion .btn.primary,body.reduced-motion .timer.urgent,body.reduced-motion .center-text.anim{animation-duration:10ms}.locker-level{background:var(--ink);color:#fff;border-radius:999px;padding:1px 8px;font-size:13px;font-weight:700}.bumpling-avatar{--size:36px;width:var(--size);height:var(--size);flex:none;display:inline-block;position:relative}.bumpling-avatar .av-disc{border:3px solid var(--ink);background:radial-gradient(circle at 50% 30%,#fff 0%,#d4f0ff 75%);border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.bumpling-avatar svg{width:100%;height:100%;display:block}.bumpling-avatar .av-hat{font-size:calc(var(--size) * .52);pointer-events:none;line-height:1;position:absolute;top:-30%;left:50%;transform:translate(-50%)rotate(-10deg)}.locker-dot{background:var(--pink);border:3px solid var(--ink);border-radius:50%;width:16px;height:16px;position:absolute;top:-6px;right:-6px}.locker-panel{gap:12px;max-width:min(620px,100%);max-height:100%;padding:20px 22px;overflow-y:auto}.locker-progress,.locker-save{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.level-row{align-items:center;gap:10px;width:100%;display:flex}.level-badge{background:var(--yellow);border:4px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:16px;flex:none;padding:2px 12px;font-size:20px;font-weight:700}.xp-bar{border:3px solid var(--ink);background:#ece7f7;border-radius:999px;flex:1;height:28px;position:relative;overflow:hidden}.xp-fill{background:linear-gradient(90deg, var(--mint), #8ef0b8);height:100%;transition:width .4s ease-out}.xp-text{justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.locker-stats{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid}.locker-stat{border:3px solid var(--ink);background:#fff;border-radius:16px;flex-direction:column;align-items:center;padding:4px 2px;display:flex}.stat-icon{font-size:18px}.stat-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.stat-label{opacity:.65;font-size:11px;font-weight:700}.locker-note{text-align:center;opacity:.8;font-weight:600}.locker-save{border:4px solid var(--ink);text-align:center;border-radius:20px;padding:10px 14px}.locker-save.guest{background:#fff6c9}.locker-save.saved{background:#d9f8e6}.save-title{font-size:20px;font-weight:700}.save-text{font-size:15px;font-weight:600}.save-text.small{opacity:.75;font-size:12px}.google-slot{justify-content:center;align-items:center;min-height:44px;display:flex}.locker-msg:empty{display:none}.locker-section{flex-direction:column;gap:6px;width:100%;display:flex}.locker-label{opacity:.7;font-size:14px;font-weight:700}.locker-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.locker-grid.colors{grid-template-columns:repeat(8,1fr)}.locker-color{aspect-ratio:1;border:4px solid var(--ink);cursor:pointer;border-radius:50%;min-height:36px;padding:0}.locker-color.on{box-shadow:0 0 0 4px var(--yellow), 0 0 0 7px var(--ink)}.locker-item{font-family:var(--font);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;min-height:64px;color:var(--ink);background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.locker-item .item-icon{font-size:26px;line-height:1.1}.locker-item .item-name{font-size:11px;font-weight:700}.locker-item.on{background:var(--yellow)}.locker-item.locked{cursor:default;background:#ece7f7}.locker-item.locked .item-icon{filter:grayscale();opacity:.45}.locker-item:not(.locked):active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.lb-card{right:calc(var(--menu-gap) + env(safe-area-inset-right));top:calc(var(--menu-gap) + var(--tool) + 22px + env(safe-area-inset-top));border:4px solid var(--ink);width:320px;box-shadow:var(--shadow);background:#fffaf0f5;border-radius:26px;flex-direction:column;gap:4px;padding:8px 16px 12px;display:flex;position:absolute}.lb-head{font-family:var(--font);letter-spacing:.02em;color:var(--ink);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #2b21501f;align-items:center;gap:10px;width:100%;margin-bottom:4px;padding:4px 0 10px;font-size:20px;font-weight:700;display:flex}.lb-head:focus-visible{outline:4px dashed var(--pink);outline-offset:2px;border-radius:12px}.lb-trophy{flex:none;width:36px;height:36px}.lb-chevron{flex:none;width:22px;height:22px;margin-left:auto;transition:transform .12s}@media (hover:hover){.lb-head:hover .lb-chevron{transform:translate(4px)}}.lb-sub{opacity:.75;text-align:center;margin-top:-8px;font-size:14px;font-weight:600}.lb-list{flex-direction:column;gap:5px;width:100%;display:flex}.lb-list.full{max-height:min(56vh,520px);padding:8px 4px 6px;overflow-y:auto}.lb-row{border:3px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:3px 12px 3px 5px;font-size:16px;font-weight:700;display:flex}.lb-row.me{background:#fff6c9}.lb-row.top1{background:#ffeaa0}.lb-rank{border:2px solid var(--ink);font-variant-numeric:tabular-nums;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 4px;font-size:14px;display:inline-flex;box-shadow:inset 0 -3px #2b21502e}.top1 .lb-rank{background:var(--yellow)}.top2 .lb-rank{background:#dfe2ec}.top3 .lb-rank{background:#f3a462}.lb-avatar{--size:34px}.lb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lb-level{background:var(--ink);color:#fff;border-radius:999px;flex:none;padding:0 6px;font-size:11px}.lb-stars{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:2px;display:inline-flex}.lb-star{width:18px;height:18px}.lb-empty{text-align:center;opacity:.75;padding:8px 4px;font-weight:600}.lb-mine:empty{display:none}.lb-mine{border:3px solid var(--ink);background:#fff6c9;border-radius:999px;padding:2px 14px;font-weight:700}.lb-panel{max-width:min(560px,100%);max-height:100%}.lb-card .lb-row,.lb-card .lb-row.top1,.lb-card .lb-row.me{background:0 0;border:none;gap:10px;padding:3px 0;font-size:18px}.lb-card .lb-row.me .lb-name{-webkit-text-decoration:underline wavy var(--yellow-dark);text-decoration:underline wavy var(--yellow-dark);text-underline-offset:4px}.lb-card .lb-level,.lb-card .lb-star{display:none}@media (max-width:1240px) and (max-height:999px),(max-width:760px),(max-height:620px){.lb-card{display:none!important}}.lb-flag,.report-flag{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:999px;flex:none;min-width:32px;min-height:32px;padding:0 6px;font-size:15px;line-height:1}.report-flag[disabled]{opacity:.6;cursor:default}.player-pill .report-flag{min-width:28px;min-height:28px;font-size:13px}.report-panel{max-width:min(480px,100%)}.report-who{color:var(--pink-dark)}.report-reasons{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.report-reason{flex-direction:column;align-items:center;gap:2px;min-width:0;padding:10px 8px;font-size:16px;display:flex}.report-icon{font-size:30px}.report-thanks{font-size:22px;font-weight:700}.results-progress{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;animation:.4s cubic-bezier(.2,1.6,.4,1) both row-in;display:flex}.results-progress .gain{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:999px;padding:2px 12px;font-size:clamp(15px,2.6vw,19px);font-weight:700}.results-progress .gain.level-up{background:var(--yellow)}.results-progress .gain.unlock{background:#d9f8e6}.podium .who .report-flag{min-width:26px;min-height:26px;font-size:12px}@media (max-height:560px){.locker-stats{grid-template-columns:repeat(4,1fr)}.locker-item{min-height:54px}.results-progress .gain{padding:1px 10px;font-size:14px}}@media (max-width:1180px){.controls-hint{bottom:calc(96px + env(safe-area-inset-bottom))}}@media (max-width:640px){.menu-screen{--menu-gap:12px;--tool:48px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.menu-tools{gap:8px}.btn.tool-btn{box-shadow:0 4px 0 var(--ink);border-width:3px;border-radius:15px}.menu-profile{max-width:calc(100% - 2 * var(--menu-gap) - 3 * var(--tool) - 2 * 8px - 10px)}.profile-card{border-width:3px;gap:8px;padding:3px 14px 3px 3px}.profile-avatar .bumpling-avatar{--size:38px;margin:5px}.profile-card .name-btn{font-size:16px}.profile-card .name-btn:after{content:none}.profile-main{gap:4px}.profile-card .locker-level{padding:1px 7px;font-size:12px}.profile-xp{border-width:2px;height:12px}.profile-card.name-edit{gap:4px;padding:4px}.edit-btn{width:40px;height:40px;min-height:40px}.name-input{width:100%;font-size:17px}.btn.menu-room{width:calc(50% - var(--menu-gap) * 1.5);text-align:left;justify-content:center;gap:8px;padding:8px 10px;font-size:17px;line-height:1.05}.menu-room .ui-icon{width:30px;height:30px}.menu-room.mint .ui-icon{width:34px}.btn.play-btn{padding:8px 30px 10px 22px}}@media (max-height:520px){.menu-screen{--menu-gap:12px;--tool:50px;padding-top:calc(var(--tool) + 20px + env(safe-area-inset-top));padding-bottom:calc(66px + env(safe-area-inset-bottom))}.menu-screen>*{flex-shrink:0}.menu-screen .logo{font-size:clamp(54px,17vh,92px)}.logo-burst{width:clamp(22px,5vh,36px)}.menu-screen .tagline{display:none}.menu-tools{gap:8px}.btn.tool-btn{box-shadow:0 4px 0 var(--ink);border-width:3px;border-radius:15px}.profile-card{border-width:3px;padding:2px 16px 2px 2px}.profile-avatar .bumpling-avatar{--size:40px;margin:5px}.profile-main{gap:4px}.profile-card .name-btn{font-size:17px}.profile-xp{border-width:2px;height:12px}.btn.play-btn{margin-top:10px;padding:4px 34px 6px 24px}.play-btn .play-icon{width:40px}.play-label{font-size:40px}.play-sub{font-size:12px}.btn.menu-room{min-height:48px;padding:4px 22px 4px 8px;font-size:18px}.menu-room .ui-icon{width:32px;height:32px}.menu-room.mint .ui-icon{width:36px}.controls-hint{display:none}}
