@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Titan One;font-style:normal;font-display:swap;font-weight:400;src:url(./titan-one-latin-400-normal-DwVbh4mi.woff2)format("woff2"),url(./titan-one-latin-400-normal-VZVzRR2h.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}.is-creator{isolation:isolate;color:#f5f4ef;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#22243b;position:fixed;inset:0}.is-creator .hud,.is-creator .minimap,.is-creator .score-popups,.is-creator .lobby-bg{display:none}.creator-backdrop{z-index:-1;background-color:#22243b;background-position:50%;background-size:cover;position:fixed;inset:0}.creator-backdrop[data-intro=true]{animation:1.2s ease-out both creator-arena-in}.creator-backdrop:after{content:"";background:radial-gradient(at 32% 48%,#22243b70,#22243bf2 76%),linear-gradient(#22243b77 35%,#22243b 98%);position:absolute;inset:0}.avatar-creator{--rail:clamp(64px, 7.5vw, 100px);--gap:clamp(12px, 2vw, 28px);z-index:3;padding:max(18px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) max(18px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));grid-template-columns:var(--rail) minmax(0, 1fr) minmax(300px, 40%);gap:var(--gap);pointer-events:none;font:500 14px var(--font-ui);color:#f5f4ef;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.avatar-creator button{font-family:var(--font-ui);cursor:pointer;-webkit-tap-highlight-color:transparent}.avatar-creator button,.creator-options,.creator-stage{pointer-events:auto}.avatar-creator button:focus-visible,.avatar-creator input:focus-visible{outline-offset:3px;outline:3px solid #ffcb58}.creator-header{grid-column:1/-1;align-items:center;gap:24px;min-height:54px;display:flex}.creator-header h1{font:400 clamp(21px, 3vw, 32px) var(--font-display);letter-spacing:.025em;margin:4px 0 0}.creator-eyebrow{color:#c3c5d5;letter-spacing:.17em;font-size:10px;font-weight:700}.creator-back{color:#f5f4ef;background:#363956;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:8px 16px;font-size:14px;display:flex}.creator-back>span{font-size:24px;line-height:1}.creator-skip{color:#c3c5d5;background:0 0;border:0;min-height:44px;margin-left:auto}.creator-categories{scrollbar-width:thin;touch-action:pan-y;flex-direction:column;gap:7px;min-height:0;margin:-3px;padding:3px;display:flex;overflow-y:auto}.creator-category{color:#c3c5d5;background:#36395680;border:0;border-radius:16px;flex-direction:column;flex:1 0 58px;justify-content:center;align-items:center;gap:5px;min-height:58px;transition:background .18s,color .18s,transform .18s;display:flex}.creator-category svg{width:27px;height:29px}.creator-category span{font-size:11px}.creator-category[aria-pressed=true]{color:#22243b;background:#ffcb58;box-shadow:0 4px 14px #ffcb5814}.creator-category:hover{background:#454969;transform:translateY(-1px)}.creator-category[aria-pressed=true]:hover{background:#ffd577}.creator-stage{cursor:grab;touch-action:none;min-width:0;position:relative}.creator-stage:active{cursor:grabbing}.creator-stage-glow{pointer-events:none;background:#ffcb581a;border-radius:50%;width:min(100%,290px);height:12%;position:absolute;bottom:13%;left:50%;translate:-50%;box-shadow:0 5px #ffcb580c,0 -24px 70px #ffcb580a}.creator-stage-caption{text-align:center;pointer-events:none;position:absolute;top:1%;left:0;right:0}.creator-stage-caption .creator-eyebrow{color:#ffcb58}.creator-stage-caption p{color:#c3c5d5;margin:7px 0;font-size:14px}.creator-turn-controls{white-space:nowrap;color:#c3c5d5;align-items:center;gap:12px;font-size:12px;display:flex;position:absolute;bottom:0;left:50%;translate:-50%}.creator-turn-controls button{color:#f5f4ef;background:#363956a6;border:0;border-radius:50%;width:44px;height:44px;font-size:26px}.creator-options{background:#363956ed;border-radius:24px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 14px 40px #13142630}.creator-options-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:22px 24px 16px;display:flex}.creator-options h2{font:400 24px var(--font-display);margin:5px 0 0}.creator-category-count{color:#c3c5d5;font-variant-numeric:tabular-nums;font-size:12px}#clothing-config{touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6e7297 transparent;min-height:0;padding:0 24px 20px;overflow-y:auto}.avatar-creator .clothing-controls{border:0;min-width:0;margin:0;padding:0}.avatar-creator .clothing-controls>legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.avatar-item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.avatar-item{color:#c3c5d5;background:#272940;border:0;border-radius:15px;flex-direction:column;align-items:center;min-width:0;padding:4px 4px 8px;transition:background .18s,box-shadow .18s;display:flex;position:relative;box-shadow:inset 0 0 0 2px #0000}.avatar-item:hover{background:#454969}.avatar-item[aria-pressed=true]{color:#ffcb58;background:#514b46;box-shadow:inset 0 0 0 2px #ffcb58}.avatar-item img,.thumbnail-placeholder{aspect-ratio:1;object-fit:contain;pointer-events:none;width:100%;min-height:0;display:block}.avatar-item>span:last-of-type{font-size:12px;line-height:1.2}.thumbnail-placeholder{color:#c3c5d5;opacity:.4;place-items:center;display:grid}.thumbnail-placeholder svg{width:35%;height:35%}.item-check{color:#22243b;background:#ffcb58;border-radius:50%;place-items:center;width:19px;height:19px;font-size:12px;display:grid;position:absolute;top:7px;right:7px}.avatar-creator .sex-options{grid-template-columns:repeat(2,minmax(0,1fr))}.sex-options .avatar-item img,.sex-options .thumbnail-placeholder{max-height:140px}.avatar-creator .field-label{color:#c3c5d5;margin:0 0 10px;font-weight:500}.avatar-creator .color-field,.avatar-creator .clothing-length-label{font-size:13px;font-weight:500}.avatar-creator .color-field input{background:#272940;border:0;border-radius:8px;width:36px;height:30px;padding:2px}.avatar-creator .color-presets{gap:9px;margin:12px 0 22px}.avatar-creator .color-swatch{border:0;width:32px;height:32px}.avatar-creator .color-swatch[aria-pressed=true]{outline-offset:3px;outline:2px solid #ffcb58}.body-ranges{grid-template-columns:1fr 1fr;gap:18px;display:grid}.avatar-creator .range-control+.range-control{margin-top:0}.avatar-creator .clothing-length-label output{color:#ffcb58}.avatar-creator .clothing-range{accent-color:#ffcb58;min-height:32px;margin:6px 0 0}.avatar-creator .clothing-scale{color:#c3c5d5;font-size:10px}.avatar-creator .reset-body{color:#c3c5d5;background:#272940;border:0;min-height:40px;margin-top:15px;padding:10px;font-size:12px;font-weight:500}.avatar-creator .reset-body:disabled{opacity:.4;cursor:default}.avatar-creator .follow-hair{color:#c3c5d5;margin:0 0 12px;font-size:12px;font-weight:500}.avatar-creator .follow-hair input{accent-color:#ffcb58}.creator-footer{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:18px;min-height:52px;display:flex}.creator-footer p{color:#c3c5d5;max-width:50%;margin:0 auto 0 0;font-size:12px}.creator-cancel{color:#c3c5d5;background:0 0;border:0;min-height:44px;padding:10px;font-size:14px}.creator-save{color:#f5f4ef;background:#ff481e;border:0;border-radius:16px;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:12px 26px;font-size:16px;font-weight:700;display:flex;box-shadow:0 4px #b52e14}.creator-save:hover{background:#ff603b}.creator-save:active{transform:translateY(3px);box-shadow:0 1px #b52e14}.avatar-creator[data-intro=true] .creator-header{animation:.35s ease-out .15s both creator-ui-in}.avatar-creator[data-intro=true] .creator-categories{animation:.4s ease-out .4s both creator-ui-in}.avatar-creator[data-intro=true] .creator-options{animation:.4s ease-out .6s both creator-ui-in}.avatar-creator[data-intro=true] .creator-footer,.avatar-creator[data-intro=true] .creator-stage-caption,.avatar-creator[data-intro=true] .creator-turn-controls{animation:.35s ease-out .85s both creator-ui-in}@keyframes creator-ui-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes creator-arena-in{0%{opacity:0;scale:1.04}to{opacity:1;scale:1}}@media (height<=600px),(width<=900px){.avatar-creator{--gap:12px;padding:max(10px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) max(10px, env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px));grid-template-columns:var(--rail) minmax(0, 1fr) minmax(260px, 40%)}.creator-header{gap:16px;min-height:44px}.creator-header h1{font-size:21px}.creator-category{border-radius:11px;flex-basis:44px;gap:2px;min-height:44px}.creator-category svg{width:22px;height:22px}.creator-category span{font-size:9px}.creator-categories{gap:5px}.creator-options{border-radius:18px}.creator-options-heading{padding:14px 16px 12px}.creator-options h2{font-size:20px}#clothing-config{padding:0 16px 16px}.avatar-item-grid{gap:8px;margin-bottom:16px}.avatar-item img,.thumbnail-placeholder{max-height:88px}.creator-stage-caption p{font-size:12px}.creator-footer{gap:10px;min-height:44px}.creator-save{border-radius:13px;min-height:44px;padding:9px 20px;font-size:14px}.creator-footer p{font-size:10px}}@media (height<=420px){.avatar-creator{--gap:8px}.creator-header .creator-eyebrow,.creator-stage-caption{display:none}.creator-options-heading .creator-eyebrow{font-size:8px}.creator-header h1{margin-top:0;font-size:18px}.creator-options-heading{padding-top:10px;padding-bottom:8px}.creator-turn-controls{gap:5px;font-size:10px}.creator-turn-controls button{width:40px;height:40px}.creator-category{flex-direction:row;flex-basis:40px;gap:8px;min-height:40px}.creator-category span{display:none}.avatar-item img,.thumbnail-placeholder{max-height:70px}}@media (width<=650px){.avatar-creator{--rail:52px;grid-template-columns:var(--rail) minmax(90px, 1fr) minmax(220px, 44%)}.creator-back{padding:8px 10px}.creator-footer p{max-width:34%}.creator-turn-controls>span{display:none}}@media (prefers-reduced-motion:reduce){.creator-backdrop,.avatar-creator[data-intro=true] *{animation:none!important}.avatar-creator *{transition:none!important}}@media (orientation:landscape) and (width<=1024px) and (height<=600px) and (pointer:coarse){.avatar-creator{--rail:clamp(52px, 7vw, 64px);--gap:clamp(8px, 1.2vw, 12px);grid-template-columns:var(--rail) minmax(0, calc(52% - var(--rail) * .8 - var(--gap) * 1.6)) 42%;block-size:100dvh;max-block-size:100%;min-inline-size:0;padding:max(8px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));grid-template-rows:auto minmax(0,1fr) auto;justify-content:space-between;overflow:hidden}.creator-header{gap:12px;min-width:0;min-height:44px}.creator-header h1{white-space:nowrap}.creator-back,.creator-skip{flex-shrink:0}.creator-categories{overscroll-behavior:contain;gap:6px;margin-top:12px;padding:3px;overflow-x:hidden}.creator-category{flex:1 0 44px;min-width:44px;min-height:44px}.creator-stage{min-height:0}.creator-turn-controls{gap:8px;max-width:100%;font-size:11px}.creator-turn-controls button{flex:0 0 44px;width:44px;height:44px}.creator-turn-controls>span{white-space:normal;text-align:center;min-width:0}.creator-options-heading{min-width:0;padding:10px 12px}.creator-options-heading>div{min-width:0}.creator-options h2{overflow-wrap:anywhere}.creator-category-count{flex-shrink:0}#clothing-config{padding:0 12px 12px;overflow-x:hidden}.avatar-item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.avatar-item{min-height:44px}.avatar-item img,.thumbnail-placeholder{max-height:clamp(56px,20dvh,80px)}.avatar-item>span:last-of-type{overflow-wrap:anywhere;max-width:100%}.avatar-creator .color-presets{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:6px;display:grid}.avatar-creator .color-swatch,.avatar-creator .color-field input{flex-shrink:0;width:44px;height:44px}.body-ranges{grid-template-columns:minmax(0,1fr);gap:10px}.avatar-creator .clothing-range,.avatar-creator .reset-body,.avatar-creator .follow-hair{min-height:44px}.creator-footer{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;min-height:44px;display:grid}.creator-footer p{overflow-wrap:anywhere;min-width:0;max-width:none;font-size:10px;line-height:1.25}.creator-cancel,.creator-save{white-space:nowrap;min-height:44px}.creator-save{gap:12px;padding:9px 16px}}:root{--paper:#fbfaf7;--ink:#202020;--ink-soft:#6f6a63;--chip:#ffffffd9;--accent:#e8954a;--font-ui:"Fredoka", system-ui, sans-serif;--font-display:"Titan One", "Fredoka", system-ui, sans-serif;--hud-bg:#22243bd1;--hud-surface:#363956;--hud-text:#f5f4ef;--hud-muted:#c3c5d5;--hud-accent:#ff481e;--hud-highlight:#ffcb58;--hud-top:calc(10px + env(safe-area-inset-top,0px));--hud-left:calc(12px + env(safe-area-inset-left,0px));--hud-right:calc(12px + env(safe-area-inset-right,0px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{height:100%}body{background:var(--paper);color:var(--ink);font:14px var(--font-ui);touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#app{position:fixed;inset:0}canvas{display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hud{top:calc(16px + env(safe-area-inset-top,0px));left:max(16px, env(safe-area-inset-left,0px));right:max(16px, env(safe-area-inset-right,0px));pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:fixed}.chip{background:var(--chip);border:2px solid var(--ink);font:400 13px var(--font-display);letter-spacing:.02em;border-radius:999px;padding:6px 14px}.hint{color:var(--ink-soft);background:var(--chip);border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700}.game-hud{top:var(--hud-top);left:var(--hud-left);right:var(--hud-right);grid-template-columns:max-content minmax(8px,1fr) max-content 48px;grid-template-areas:"player space stats menu""player space alerts alerts";align-items:start;gap:6px 12px;display:grid}.hud-left{flex-direction:column;grid-area:player;align-items:flex-start;gap:8px;min-width:0;display:flex}.game-hud>.menu-button{grid-area:menu}.hud-num{font:400 20px var(--font-display);letter-spacing:.01em;color:var(--hud-text);font-variant-numeric:tabular-nums;-webkit-text-stroke:0;text-shadow:none;line-height:1.1}.hud-num-coins{color:var(--hud-highlight)}.game-hud .hud-times{display:none}.hud-row{align-items:center;gap:4px;display:flex}.hud-row svg{flex-shrink:0;width:22px;height:22px}.player-hud{flex-direction:column;align-items:stretch;gap:4px;width:fit-content;min-width:0;display:flex}.player-hud>.hud-row{background:var(--hud-bg);border-radius:12px;flex-wrap:nowrap;gap:12px;padding:6px 9px}.counter{align-items:center;gap:4px;min-width:0;display:flex}.counter.hud-pop,.match-stat.hud-pop{animation:.45s ease-out hud-pop}@keyframes hud-pop{0%,to{transform:scale(1)}35%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.counter.hud-pop,.match-stat.hud-pop{animation:none}}.hud-center{flex-direction:column;grid-area:alerts;align-items:flex-end;gap:4px;min-width:0;display:flex}.hud-right{background:var(--hud-bg);border-radius:12px;flex-direction:column;grid-area:stats;align-items:flex-end;gap:4px;padding:6px 9px;display:flex}.hud-right .match-stats{align-items:center;gap:10px;display:flex}.hud-right [data-hud=score]{order:1}.hud-right .match-stat .hud-num{font:500 14px var(--font-ui);color:var(--hud-muted)}.hud-right .match-stat.hud-row svg{width:16px;height:16px}.hud-right .match-stat .hud-num-score{color:var(--hud-text)}.game-clock-time{color:var(--hud-highlight);font-size:26px}.game-clock svg{width:20px;height:20px}.menu-button{pointer-events:auto;background:var(--hud-bg);cursor:pointer;border:1px solid #c3c5d533;border-radius:50%;place-items:center;width:48px;height:48px;padding:6px;display:grid}.menu-button .touch-img{clip-path:circle(40%);width:100%;height:100%}.menu-button:active{transform:scale(.93)}.menu-button:focus-visible{outline:2px solid var(--hud-highlight);outline-offset:3px}.pause-menu{z-index:9;touch-action:pan-y;background:#0a140d99;place-items:center;padding:16px;animation:.2s ease-out both results-in;display:grid;position:fixed;inset:0;overflow-y:auto}.pause-card{background:#fffdf5;border:3px solid #202020;border-radius:14px;flex-direction:column;gap:10px;width:min(360px,100%);padding:18px;display:flex;box-shadow:6px 6px #202020}.pause-title{text-align:center;font:400 36px var(--font-display);color:#202020;margin:0 0 4px}.menu-action{color:#202020;min-height:48px;font:900 15px var(--font-ui);cursor:pointer;background:#fff;border:3px solid #202020;border-radius:6px;padding:10px 18px;box-shadow:3px 3px #202020}.menu-action:hover{background:#ffe27a}.menu-action:active{transform:translate(2px,2px);box-shadow:1px 1px #202020}.menu-action:focus-visible,.menu-controls summary:focus-visible,.menu-slider input:focus-visible{outline-offset:3px;outline:3px solid #ed00bc}.menu-primary{background:#fff31b}.menu-confirm{grid-template-columns:1fr 1fr;gap:8px;display:grid}.menu-confirm>span{text-align:center;color:#6c2a22;grid-column:1/-1;font-weight:800}.menu-sound{border:2px solid #202020;border-radius:8px;margin:4px 0 0;padding:8px 12px 12px}.menu-sound legend{font:800 12px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;padding:0 6px}.menu-slider{grid-template-columns:64px 1fr 42px;align-items:center;gap:8px;margin-top:6px;font-weight:800;display:grid}.menu-slider input{accent-color:#ed00bc;width:100%;min-height:32px}.menu-slider output{text-align:right;font-variant-numeric:tabular-nums}.menu-controls{border:2px solid #202020;border-radius:8px;padding:8px 12px}.menu-controls summary{cursor:pointer;font-weight:800}.menu-controls p{color:#4a4f48;margin:8px 0 0;font-size:13px;line-height:1.5}.is-game-over .menu-button,.is-game-over .pause-menu{display:none}.closure-hud{background:var(--hud-bg);min-height:26px;color:var(--hud-muted);font:500 12px var(--font-ui);white-space:nowrap;opacity:0;visibility:hidden;border:1px solid #c3c5d526;border-radius:10px;align-items:center;gap:6px;padding:4px 9px;transition:opacity .18s,transform .18s,visibility 0s linear .18s;display:flex;transform:translateY(-3px)}.closure-hud[data-visible=true]{opacity:1;visibility:visible;transition-delay:0s;transform:none}.closure-hud svg{flex-shrink:0;width:16px;height:16px}.closure-hud[data-alert=true]{color:var(--hud-text);border-color:var(--hud-accent);background:#802a1deb}.stamina-section{opacity:0;align-items:center;gap:6px;transition:opacity .3s,transform .3s;display:flex;transform:translateY(-4px)}.stamina-section[data-visible=true]{opacity:1;transform:none}.stamina-icon{flex-shrink:0;width:14px;height:14px}.score-popups{z-index:8;pointer-events:none;position:fixed;inset:0;overflow:hidden}.score-popup{color:#ffd84a;white-space:nowrap;font-size:30px;animation:1.1s ease-in both score-popup;position:absolute;transform:translate(-50%,-50%)}@keyframes score-popup{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}15%{opacity:1;transform:translate(-50%,calc(-50% - 14px))scale(1.25)}45%{opacity:1;transform:translate(-50%,calc(-50% - 38px))scale(1)}to{opacity:.2;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.45)}}@media (prefers-reduced-motion:reduce){.score-popup{animation:.9s both score-popup-still}@keyframes score-popup-still{0%{opacity:0}15%,70%{opacity:1}to{opacity:0}}}.stamina-bar{background:var(--hud-bg);border:0;border-radius:4px;flex:1;gap:2px;min-width:0;padding:2px;display:flex}.stamina-block{border-radius:1px;flex:1;min-width:0;height:5px;overflow:hidden}.stamina-fill{height:100%}.touch-controls-enabled{--joy-size:132px;--knob-size:58px;--bomb-size:96px;--jump-size:74px;--jump-shift:108px;--jump-lift:34px;--minimap-size:66px;--control-left:calc(clamp(16px, 3vw, 32px) + env(safe-area-inset-left,0px));--control-right:calc(clamp(16px, 3vw, 32px) + env(safe-area-inset-right,0px));--control-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.touch-controls{z-index:1;pointer-events:none;display:none;position:fixed;inset:0}.touch-controls-enabled .touch-controls:not([hidden]){display:block}#joy{width:var(--joy-size);height:var(--joy-size);left:var(--control-left);bottom:var(--control-bottom);pointer-events:auto;touch-action:none;border-radius:50%;position:absolute}#joy>.touch-img{opacity:.22;width:88%;height:88%;position:absolute;inset:6%}#knob>.touch-img{opacity:.78}#knob{width:var(--knob-size);height:var(--knob-size);margin-left:calc(var(--knob-size) / -2);margin-top:calc(var(--knob-size) / -2);pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%}.touch-action{font:800 15px var(--font-ui);touch-action:none;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;display:flex;position:absolute}.touch-action:before{content:"";background:var(--hud-bg);border:1px solid #c3c5d566;border-radius:50%;position:absolute;inset:10%}.touch-action .touch-img{clip-path:circle(40%);filter:invert();width:88%;height:88%;position:relative}#bombBtn:before{background:#ff481eeb;border-color:#ffcb5899;inset:4%}#bombBtn .touch-img{filter:none;mix-blend-mode:multiply}.touch-action{cursor:pointer;transition:transform .1s}.touch-action:active,.touch-action.is-pressed{transform:scale(.93)}.touch-action:active:before,.touch-action.is-pressed:before{background:var(--hud-surface);border-color:var(--hud-highlight)}#bombBtn:active:before,#bombBtn.is-pressed:before{background:var(--hud-highlight)}.touch-controls-demo,.touch-controls-demo *{pointer-events:none!important}.touch-action:focus-visible{outline:2px solid var(--hud-highlight);outline-offset:2px}#jumpBtn{width:var(--jump-size);height:var(--jump-size);right:calc(var(--control-right) + var(--jump-shift));bottom:calc(var(--control-bottom) + var(--jump-lift))}#bombBtn{width:var(--bomb-size);height:var(--bomb-size);right:var(--control-right);bottom:var(--control-bottom)}.touch-img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.minimap{background:var(--hud-surface);pointer-events:none;border:1px solid #c3c5d599;border-radius:50%;width:99px;height:99px}.touch-controls-enabled .minimap{width:var(--minimap-size);height:var(--minimap-size)}.touch,.touch-controls-enabled .kbd{display:none}.touch-controls-enabled .touch{display:block}.control-tutorial,.orientation-prompt{z-index:20;padding:calc(12px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));color:var(--hud-text);background:#22243bf0;place-content:center;display:grid;position:fixed;inset:0}.control-tutorial{touch-action:pan-y;overflow-y:auto}.tutorial-card{text-align:center;width:min(500px,100%);margin:auto}.tutorial-card h2{font:400 clamp(19px, 5dvh, 28px) var(--font-display);margin:0}.tutorial-goal{color:var(--hud-highlight);margin:6px 0 12px}.tutorial-controls p{text-align:left;align-items:center;gap:12px;margin:8px 0;display:flex}.tutorial-controls img{object-fit:contain;flex-shrink:0;width:44px;height:44px}.tutorial-controls b{color:var(--hud-text);font-weight:600;display:block}.tutorial-controls span,.tutorial-keyboard{color:var(--hud-muted);font-size:14px;line-height:1.4}.tutorial-note{color:var(--hud-muted);margin:12px 0;font-size:12px}.tutorial-card button{background:var(--hud-accent);min-height:48px;color:var(--hud-text);font:400 16px var(--font-display);cursor:pointer;border:0;border-radius:999px;padding:10px 28px}.tutorial-card button:focus-visible{outline:2px solid var(--hud-highlight);outline-offset:4px}.orientation-prompt{z-index:30;text-align:center}.orientation-prompt svg{width:64px;height:64px;color:var(--hud-highlight);justify-self:center}.orientation-prompt p{margin:12px 0 6px;font-size:22px}.orientation-prompt span{color:var(--hud-muted)}@media (prefers-reduced-motion:reduce){.closure-hud,.touch-action,.stamina-section{transition:none}}*{box-sizing:border-box}#root{height:100%}.error{border:2px solid var(--ink);text-align:center;background:#fff;border-radius:16px;padding:24px;position:fixed;inset:35% 24px auto}.creator-button,.creator-close,.creator-done,.clothing-menu-button{border:2px solid var(--ink);color:var(--ink);font:800 14px var(--font-ui);cursor:pointer;background:#fff}.creator-button{pointer-events:auto;border-radius:999px;padding:8px 18px}.creator-button[aria-expanded=true],.creator-button[aria-pressed=true],.creator-done{background:#fc9}.enemy-movement-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:100%;display:flex}.enemy-movement-controls .creator-button{min-height:44px;padding:8px 14px}.creator-panel{z-index:2;top:calc(72px + env(safe-area-inset-top,0px));right:max(16px, env(safe-area-inset-right,0px));width:min(320px,100vw - 32px);max-height:calc(100dvh - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));touch-action:pan-y;overscroll-behavior:contain;border:2px solid var(--ink);background:#fffffff7;border-radius:20px;padding:20px;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #20202014}.creator-heading,.color-field,.clothing-length-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.creator-heading h1{font:400 20px var(--font-display);margin:0}.creator-close{border-radius:50%;width:36px;height:36px;font-size:22px}.creator-panel p{color:var(--ink-soft);margin:10px 0 20px;line-height:1.5}.clothing-menu{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px;display:grid}.clothing-menu-button{border-radius:12px;padding:10px 8px}.clothing-menu-button[aria-pressed=true]{background:#fc9}.clothing-controls{border:0;border-top:1px solid #e6dfd3;min-width:0;margin:0;padding:16px 0 20px}.clothing-controls legend{padding:0 8px 0 0;font-size:16px;font-weight:800}.color-field,.clothing-length-label{font-weight:800}.color-field input{border:1px solid var(--ink-soft);cursor:pointer;background:#fff;border-radius:8px;width:48px;height:36px;padding:2px}.color-presets{flex-wrap:wrap;gap:8px;margin:12px 0 24px;display:flex}.style-options{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.color-swatch{cursor:pointer;border:1px solid #bcb6ad;border-radius:50%;width:36px;height:36px;font-size:18px}.color-swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.follow-hair{cursor:pointer;align-items:center;gap:8px;margin:-8px 0 20px;font-weight:800;display:flex}.follow-hair input{accent-color:#c87833;cursor:pointer;width:18px;height:18px}.clothing-length-label output{color:var(--ink-soft);font-variant-numeric:tabular-nums}.clothing-range{accent-color:#c87833;cursor:pointer;touch-action:none;width:100%;margin:16px 0 8px}.field-label{margin:4px 0 8px;font-weight:800}.sex-options{margin-bottom:20px}.base-color{margin-top:24px}.range-control+.range-control{margin-top:20px}.reset-body{border-radius:12px;width:100%;margin-top:20px;padding:10px 12px}.reset-body:disabled{opacity:.5;cursor:default}.clothing-scale{color:var(--ink-soft);justify-content:space-between;font-size:12px;display:flex}.creator-panel .creator-note{margin:20px 0 12px;font-size:12px}.creator-done{border-radius:12px;width:100%;padding:10px}.creator-button:focus-visible,.creator-panel :focus-visible{outline-offset:3px;outline:3px solid #c87833}.is-game-over .hud,.is-game-over .minimap,.is-game-over .creator-panel{display:none}.match-result{z-index:10;isolation:isolate;padding:max(10px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));color:#202020;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.result-backdrop{z-index:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c0e24bd;animation:.35s ease-out both result-backdrop-in;position:absolute;inset:0}.result-card{z-index:1;box-sizing:border-box;color:#fff;text-align:center;text-shadow:0 2px 6px #00000080;flex-direction:column;align-self:center;align-items:center;gap:clamp(8px,3.5dvh,22px);width:min(680px,100%);height:min(100%,460px);margin:0 auto;animation:.4s cubic-bezier(.2,.8,.2,1) both result-card-in;display:flex;position:relative}.result-header{flex-direction:column;align-items:center;display:flex}.result-kicker{color:#fff;font:900 clamp(10px, 2.6dvh, 13px) var(--font-ui);letter-spacing:.14em}.result-kicker:after{content:"";background:#ffcb58;border-radius:3px;width:clamp(180px,40vw,260px);height:3px;margin:clamp(3px,1dvh,6px) auto 0;display:block}.result-header h1{color:#fff;font:400 clamp(34px, 14dvh, 68px) var(--font-display);margin:clamp(2px,1dvh,8px) 0 0;line-height:1}.result-header p{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.result-body{flex:1;align-items:center;width:min(440px,100%);animation:.35s ease-out .3s both result-rise;display:flex}.result-stats{text-align:left;flex-direction:column;gap:clamp(1px,.8dvh,6px);width:100%;margin:0;display:flex}.result-stats>div{justify-content:space-between;align-items:baseline;gap:16px;padding:0 2px;display:flex}.result-stats>div:first-child{order:2}.result-stats>div:nth-child(2){order:3}.result-stats>div:nth-child(3){order:1}.result-stats>div:nth-child(4){order:5}.result-stats dt{color:#fff;font:900 clamp(13px, 3.8dvh, 19px) var(--font-ui);text-transform:uppercase;letter-spacing:.02em}.result-stats dd{color:#fff;font:400 clamp(17px, 4.6dvh, 26px) var(--font-display);font-variant-numeric:tabular-nums;margin:0}.result-stats .result-score dd{color:#ffcb58;font-size:clamp(20px,5.6dvh,32px)}.result-stats>div:nth-child(4){border-top:3px solid #ffcb58;margin-top:clamp(4px,1.6dvh,10px);padding-top:clamp(4px,1.6dvh,10px)}.result-actions{justify-content:center;gap:clamp(12px,3vw,24px);width:min(440px,100%);padding-bottom:6px;animation:.35s ease-out .55s both result-rise;display:flex}.result-actions button{cursor:pointer;min-height:clamp(40px,12dvh,56px);font:400 clamp(15px, 4.2dvh, 22px) var(--font-display);letter-spacing:.04em;color:#fff;text-shadow:none;border:0;border-radius:999px;flex:1 1 0;padding:4px 16px;transition:transform 80ms;box-shadow:0 0 0 3px #0c0e24e6,0 0 0 5px #fff}.result-restart{background:#ff481e}.result-exit{background:#363956}.result-actions button:hover{filter:brightness(1.1)}.result-actions button:active{transform:scale(.96)}.result-actions button:disabled{opacity:.6;cursor:default}.result-actions button:focus-visible{outline-offset:6px;outline:3px solid #ffcb58}@keyframes result-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes result-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes result-card-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.result-backdrop,.result-card,.result-body,.result-actions{animation:none}}@media (width<=1000px),(height<=600px){.game-hud{gap:6px 8px}.hud-num{font-size:18px}.game-clock-time,.score-popup{font-size:24px}}@media (width<=600px){.player-hud>.hud-row{gap:8px}.hud-right .match-stats{gap:6px}.creator-panel{top:calc(104px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 128px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}@media (width<=460px){.game-hud{grid-template-columns:max-content minmax(0,1fr) 48px;grid-template-areas:"player stats menu""player alerts alerts"}.hud-right .match-stats{flex-wrap:wrap;justify-content:flex-end}.hud-row svg{width:18px;height:18px}.hud-num{font-size:16px}}@media (height<=420px){.touch-controls-enabled{--joy-size:116px;--knob-size:52px;--bomb-size:84px;--jump-size:64px;--jump-shift:94px;--jump-lift:30px;--minimap-size:64px;--control-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.tutorial-goal{margin-bottom:6px}.tutorial-controls p{margin:4px 0}.tutorial-note{margin:8px 0}}.loading-screen{--loading-bg:#22243b;z-index:100;background:var(--loading-bg);isolation:isolate;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);flex-direction:column;display:flex;position:fixed;inset:0}.loading-arena{z-index:-1;background-position:bottom;background-size:cover;position:absolute;inset:0}.loading-arena:after{content:"";background:#22243bc7;position:absolute;inset:0}.loading-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(8px,2.5dvh,20px);min-height:0;padding:0 16px clamp(48px,16dvh,140px);display:flex}.loading-logo{object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px #0000001f);width:auto;max-width:min(440px,62vw);max-height:36dvh}.loading-action{left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + clamp(14px, 4dvh, 28px) + clamp(18px, 6dvh, 44px));justify-content:center;display:flex;position:absolute}.loading-continue{font:400 clamp(18px, 4.5dvh, 24px) var(--font-display);letter-spacing:.06em;color:#fff;cursor:pointer;background:#ff481e;border:0;border-radius:999px;min-height:44px;padding:6px clamp(36px,8vw,56px);animation:.45s cubic-bezier(.2,1.3,.4,1) both loading-zoom,2.4s ease-in-out .45s infinite loading-glow;box-shadow:0 4px #b72b13}.loading-continue:hover{background:#ff5c36}.loading-continue:active{box-shadow:none;animation:none;transform:translateY(4px)}.loading-continue:focus-visible{outline-offset:4px;outline:3px solid #fff}@keyframes loading-zoom{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}@keyframes loading-glow{0%,to{scale:1}50%{scale:1.035}}.loading-footer{align-items:center;gap:14px;padding:0 8vw clamp(14px,4dvh,28px) clamp(16px,3vw,32px);display:flex}.loading-tanke{pointer-events:none;flex-shrink:0;width:clamp(48px,8vw,72px)}.loading-bar{background:#363956;border-radius:999px;flex:1;height:10px;overflow:hidden}.loading-bar-fill{transform-origin:0;background:#ff481e;border-radius:999px;width:100%;height:100%}.loading-screen[data-ready=true] .loading-bar{visibility:hidden}@media (height<=520px){.loading-logo{max-height:34dvh}.loading-footer{padding-bottom:max(10px, env(safe-area-inset-bottom,0px))}.loading-action{bottom:calc(env(safe-area-inset-bottom,0px) + 28px)}.loading-tanke{width:44px}.loading-bar{height:8px}}@media (prefers-reduced-motion:reduce){.loading-continue{animation:none}}.loading-screen{transition:opacity .6s,scale .6s}.loading-screen[data-leaving=true]{opacity:0;pointer-events:none;scale:1.12}.loading-screen[data-leaving=true] .loading-continue{animation:none}.is-lobby{--lobby-cx:30vw;--paper-text:#f5f4ef}@media (aspect-ratio<=1){.is-lobby{--lobby-cx:38vw}}.lobby-bg{z-index:-1;background-position:50%;background-size:cover;animation:.8s ease-out both lobby-in;position:fixed;inset:0}.lobby-bg:after{content:"";background:radial-gradient(ellipse 28vw 42dvh at var(--lobby-cx,30vw) 52%, #ffcb5824, transparent 70%), #22243b94;position:absolute;inset:0}.pwa-install{display:none}@media (width>=768px) and (hover:hover) and (pointer:fine){.pwa-install{z-index:3;top:var(--hud-top);right:var(--hud-right);color:var(--hud-muted);display:block;position:fixed}}.pwa-install-button{background:var(--hud-bg);min-height:36px;color:var(--hud-text);font:500 13px var(--font-ui);cursor:pointer;border:1px solid #c3c5d54d;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;display:flex}.pwa-install-button svg{width:17px;height:17px}.pwa-install-button:hover{background:var(--hud-surface);border-color:var(--hud-muted)}.pwa-install-button:focus-visible{outline:2px solid var(--hud-highlight);outline-offset:3px}.pwa-install p{background:var(--hud-bg);border-radius:8px;margin:6px 0 0;padding:6px 10px;font-size:12px}.lobby-title{z-index:2;left:var(--lobby-cx);top:calc(clamp(14px, 6dvh, 48px) + env(safe-area-inset-top,0px));text-align:center;color:#f5f4ef;animation:.6s ease-out .1s both lobby-actions-in;position:fixed;translate:-50%}.lobby-title h1{font:400 clamp(22px, 6dvh, 40px) var(--font-display);letter-spacing:.06em;text-shadow:0 3px 10px #00000059;white-space:nowrap;margin:0}.lobby-title p{font:500 clamp(13px, 2.8dvh, 17px) var(--font-ui);color:#f5f4efcc;text-shadow:0 2px 6px #0006;margin:4px 0 0}.lobby-title b{color:#ffcb58;font-weight:700}.lobby-avatar-hit{z-index:1;left:var(--lobby-cx);cursor:pointer;background:0 0;border:0;border-radius:24px;width:min(46dvh,44vw);height:58dvh;position:fixed;top:20dvh;translate:-50%}.lobby-avatar-hit:focus-visible{outline-offset:-3px;outline:3px solid #ffcb58}.lobby-creator{z-index:2;left:var(--lobby-cx);bottom:calc(clamp(14px, 6dvh, 48px) + env(safe-area-inset-bottom,0px));font:500 clamp(13px, 2.9dvh, 16px) var(--font-ui);letter-spacing:.08em;color:#f5f4ef;white-space:nowrap;cursor:pointer;background:#363956;border:0;border-radius:999px;align-items:center;gap:10px;min-height:40px;padding:8px 26px;animation:.6s ease-out .2s both lobby-actions-in;display:flex;position:fixed;translate:-50%;box-shadow:0 4px 12px #0000004d}.lobby-creator svg{color:#ffcb58;flex-shrink:0;width:clamp(18px,3.6dvh,24px);height:clamp(18px,3.6dvh,24px)}.lobby-creator:hover{background:#444767}.lobby-creator:active{background:#2d3049}.lobby-play{z-index:2;right:max(8vw, env(safe-area-inset-right,0px));flex-direction:column;align-items:center;gap:14px;animation:.6s ease-out .15s both lobby-actions-in;display:flex;position:fixed;top:50%;translate:0 -50%}.lobby-play p{font:500 clamp(14px, 3.2dvh, 20px) var(--font-ui);color:#f5f4ef;text-shadow:0 2px 8px #0006;white-space:nowrap;margin:0}.lobby-start{font:400 clamp(20px, 5.5dvh, 30px) var(--font-display);letter-spacing:.06em;color:#f5f4ef;cursor:pointer;background:#ff481e;border:0;border-radius:999px;min-height:52px;padding:8px clamp(40px,8vw,72px);box-shadow:0 4px #b72b13,0 8px 20px #ff481e40}.lobby-start:hover{background:#ff5c36}.lobby-start:active{box-shadow:none;transform:translateY(4px)}.lobby-start:focus-visible,.lobby-creator:focus-visible{outline-offset:4px;outline:3px solid #fff}.is-lobby .hud,.is-lobby .minimap,.is-lobby .score-popups{display:none}@keyframes lobby-in{0%{opacity:.6;scale:1.08}to{opacity:1;scale:1}}@keyframes lobby-actions-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.loading-screen{transition:opacity .2s}.loading-screen[data-leaving=true]{scale:1}.lobby-bg,.lobby-actions{animation:none}}
