/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.power-meter{border:2px solid var(--ink);background:#cac3b7;border-radius:7px;width:100%;height:9px;position:relative;overflow:hidden}.power-meter i{background:linear-gradient(90deg,var(--lime),var(--acid) 58%,var(--coral));min-width:20%;height:100%;transition:width 40ms linear;display:block}.power-meter.charging{box-shadow:0 0 0 3px #ffd52f47}.fire.charging{background:var(--acid);box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)rotate(-1deg)}:root{--ink:#191b1f;--paper:#f3eddf;--lime:#b8ef49;--coral:#ff685d;--acid:#d6ff58;--line:#191b1f2e}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);font-family:var(--font-geist),Arial,sans-serif;overscroll-behavior:none;background:#17151d;margin:0}button,input{font:inherit}.game-shell{background:var(--paper);flex-direction:column;min-height:100vh;display:flex;overflow:hidden}.topbar{background:var(--paper);border-bottom:2px solid var(--ink);flex:none;align-items:center;gap:24px;height:76px;padding:0 2.3vw;display:flex}.brand{align-items:center;gap:10px;min-width:210px;display:flex}.brand-bug{background:var(--ink);width:40px;height:40px;color:var(--acid);font:900 25px var(--font-mono);border-radius:12px 8px 14px 7px;place-items:center;display:grid;transform:rotate(-4deg)}.brand strong{font:900 25px/20px var(--font-mono);letter-spacing:-2px}.brand small{font:700 8px var(--font-mono);letter-spacing:2.2px;margin-top:5px;display:block}.turn{align-items:center;gap:10px;margin:auto;display:flex}.turn small,.timer small{font:700 10px var(--font-mono);letter-spacing:1.3px;color:#6b6865;display:block}.turn strong{font:800 16px var(--font-mono)}.team-dot{border:2px solid var(--ink);width:13px;height:13px;box-shadow:3px 3px 0 var(--ink);border-radius:50%}.team-dot.t0{background:var(--lime)}.team-dot.t1{background:var(--coral)}.timer{border-left:1px solid var(--line);align-items:baseline;gap:4px;padding-left:25px;display:flex}.timer small{margin-right:6px}.timer b{font:900 30px var(--font-mono)}.timer span{font:700 10px var(--font-mono)}.icon-btn{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;width:38px;height:38px;font-size:17px}.arena-wrap{background:#281f45;flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.arena-wrap:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #0c08186b}canvas{object-fit:contain;image-rendering:auto;width:100%;height:100%;display:block}.wind{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#18151fc7;border:1px solid #ffffff38;border-radius:8px;padding:8px 13px;position:absolute;top:18px;left:24px}.wind small{font:700 8px var(--font-mono);letter-spacing:1.5px;color:#c9c1d1;display:block}.wind b{font:800 17px var(--font-mono)}.game-over{z-index:3;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#140f1db3;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.game-over small{font:800 11px var(--font-mono);letter-spacing:3px}.game-over h1{font:900 clamp(35px,6vw,80px) var(--font-mono);letter-spacing:-4px;margin:8px}.game-over button,.reset{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:var(--lime);font:900 13px var(--font-mono);cursor:pointer;padding:13px 24px}.control-deck{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);background:var(--paper);flex:none;grid-template-columns:1fr 1.25fr .65fr;align-items:center;gap:30px;height:128px;padding:15px 2.3vw;display:grid}.move-controls{gap:7px;display:flex}.move-controls button{border:1.5px solid var(--ink);width:72px;height:66px;box-shadow:3px 3px 0 var(--ink);font:900 28px var(--font-mono);cursor:pointer;touch-action:none;background:#fff9ed;border-radius:9px}.move-controls button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.move-controls button small{font:700 7px var(--font-mono);letter-spacing:.7px;display:block}.move-controls .jump{background:var(--acid)}.aim-controls{grid-template-columns:1fr 1fr;gap:24px;display:grid}.aim-controls label>span{font:700 10px var(--font-mono);letter-spacing:1px;justify-content:space-between;margin-bottom:12px;display:flex}.aim-controls b{font-size:14px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:5px;accent-color:var(--ink);background:#cac3b7;border-radius:5px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--ink);border:4px solid var(--acid);cursor:grab;border-radius:50%;width:19px;height:19px}.fire{border:2px solid var(--ink);background:var(--coral);height:78px;color:var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:pointer;border-radius:10px;transform:rotate(-1deg)}.fire:hover{background:#ff7c6e}.fire:active{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)rotate(-1deg)}.fire span{font:700 9px var(--font-mono);letter-spacing:2px;display:block}.fire b{font:900 24px var(--font-mono);display:block}.fire small{font:700 7px var(--font-mono)}footer{color:#69645d;height:34px;font:600 9px var(--font-mono);letter-spacing:.6px;background:#e5ded1;flex:none;justify-content:center;align-items:center;gap:28px;display:flex}footer button{font:800 9px var(--font-mono);cursor:pointer;color:var(--ink);background:0 0;border:0}.debug{z-index:5;border:2px solid var(--ink);width:280px;font-family:var(--font-mono);background:#f4eddf;padding:18px;position:absolute;top:88px;right:16px;box-shadow:8px 8px #191b1fb3}.debug>div{border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:14px;padding-bottom:12px;display:flex}.debug>div b{font-size:13px}.debug>div button{cursor:pointer;background:0 0;border:0;font-size:20px}.debug label{grid-template-columns:1fr auto;gap:7px;margin:11px 0;font-size:10px;font-weight:700;display:grid}.debug label input{grid-column:1/3}.debug input[type=number]{background:#fff;border:1px solid #999;width:100%;padding:7px}.debug .reset{width:100%;margin:10px 0;padding:10px;font-size:10px}.debug>small{color:#777;font-size:8px;line-height:1.5;display:block}@media (max-width:760px){.topbar{gap:10px;height:58px;padding:0 12px}.brand{min-width:auto}.brand-bug{width:34px;height:34px}.brand strong{font-size:18px}.brand small,.turn small,.timer small,.timer span{display:none}.turn{margin-left:auto}.turn strong{font-size:11px}.timer{padding-left:10px}.timer b{font-size:22px}.icon-btn{width:32px;height:32px}.arena-wrap{min-height:42vh}.control-deck{grid-template-columns:1fr 1fr;gap:11px;height:186px;padding:10px 12px}.move-controls{grid-column:1}.move-controls button{width:56px;max-width:28vw;height:58px}.aim-controls{grid-area:2/1/auto/3;gap:18px}.aim-controls label>span{margin-bottom:7px}.fire{grid-area:1/2;height:65px}.fire b{font-size:20px}footer{display:none}.debug{width:calc(100% - 16px);max-width:310px;top:66px;right:8px}canvas{object-fit:cover}.wind{padding:5px 9px;top:10px;left:10px}.wind small{display:none}.wind b{font-size:13px}}@media (max-height:620px) and (orientation:landscape){.topbar{height:48px}.control-deck{height:96px}.move-controls button{height:58px}.fire{height:60px}footer,.brand small{display:none}}.weapon-zone{flex-direction:column;gap:7px;display:flex}.weapon-pick{grid-template-columns:1fr 1fr;gap:5px;display:grid}.weapon-pick button{border:1px solid var(--ink);font:800 8px var(--font-mono);cursor:pointer;background:0 0;border-radius:5px;padding:4px 2px}.weapon-pick button.active{background:var(--ink);color:var(--acid)}.weapon-zone .fire{height:61px}@media (max-width:760px){.control-deck{height:198px}.weapon-zone{grid-area:1/2}.weapon-zone .fire{height:57px}.weapon-zone .fire b{font-size:18px}}.game-shell{height:100dvh;min-height:0}.arena-wrap canvas{width:100%;height:100%;position:absolute;inset:0}.bot-level{border:1px solid var(--line);background:var(--paper);width:48px;min-width:48px;font:800 8px var(--font-mono);cursor:pointer;border-radius:8px}.weapon-zone{position:relative}.weapon-trigger{border:1px solid var(--ink);background:var(--paper);width:100%;min-height:27px;font:900 8px var(--font-mono);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:5px 9px;display:flex}.weapon-trigger b{font-size:12px}.weapon-menu{z-index:12;border:2px solid var(--ink);background:var(--paper);border-radius:8px;grid-template-columns:1fr 1fr;gap:5px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 7px);left:0;right:0;box-shadow:5px 5px #191b1fa6}.weapon-menu button{border:1px solid var(--ink);min-width:0;font:800 8px var(--font-mono);cursor:pointer;background:#fff9ed;border-radius:5px;padding:7px 4px}.weapon-menu button.active{background:var(--ink);color:var(--acid)}@media (pointer:fine){.move-controls{display:none}.control-deck{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:40px}.aim-controls{grid-column:1}.weapon-zone{grid-column:2}}.arena-wrap canvas{cursor:grab;touch-action:none}.arena-wrap canvas.is-panning{cursor:grabbing}select{font:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.language{flex:none}.language select{border:1px solid var(--line);max-width:118px;height:36px;color:var(--ink);font:700 10px var(--font-mono);cursor:pointer;background:#fff9ed;border-radius:18px;padding:0 26px 0 10px}.language select:focus-visible{outline:3px solid var(--lime);outline-offset:2px}html[dir=rtl] .game-shell{direction:rtl}html[dir=rtl] canvas{direction:ltr}@media (max-width:760px){.language select{color:#0000;width:43px;max-width:43px;padding:0 6px}.language select option{color:var(--ink)}.topbar{gap:8px}.turn,.turn>div{min-width:0}.turn strong,.turn small{white-space:nowrap;text-overflow:ellipsis;max-width:29vw;display:block;overflow:hidden}}.match-actions{flex:none;gap:4px;display:flex}.match-actions button{border:1px solid var(--line);font:800 7px var(--font-mono);cursor:pointer;background:0 0;border-radius:12px;padding:5px 7px}.match-actions button.active{background:var(--ink);color:var(--acid)}.match-actions button.danger{color:#a52c29}.weapon-pick{grid-template-columns:repeat(3,1fr)}.weapon-pick button{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (max-width:1000px){.match-actions{display:none}.brand{min-width:150px}.topbar{gap:10px}}@media (max-width:760px){.weapon-pick{grid-template-columns:repeat(3,1fr)}.weapon-pick button{padding:3px 1px;font-size:6.5px}.weapon-zone{gap:4px}}.brand-bug{border:2px solid var(--ink);background-image:url(/bugout-sprites.png);background-position:-15px -35px;background-repeat:no-repeat;background-size:384px 256px;font-size:0}.brand-lockup{background:url(/bug-blast-logo.png) 50%/contain no-repeat;width:220px;height:68px;display:block}.brand{min-width:220px}@media (max-width:1000px){.brand-lockup{width:165px;height:56px}.brand{min-width:165px}}@media (max-width:760px){.brand-lockup{width:124px;height:48px}.brand{min-width:124px}}.room-panel{z-index:8;background:var(--paper);border:2px solid var(--ink);width:min(360px,100vw - 24px);font-family:var(--font-mono);padding:20px;position:absolute;top:86px;right:18px;box-shadow:8px 8px #191b1fbf}.room-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:13px;display:flex}.room-title small{letter-spacing:1.8px;color:#777;font-size:8px;display:block}.room-title b{font-size:15px}.room-title button{cursor:pointer;background:0 0;border:0;font-size:24px}.room-panel p{color:#625d57;font-size:11px;line-height:1.45}.connection{border-radius:10px;margin-top:14px;padding:5px 8px;font-size:8px;font-weight:900;display:inline-block}.connection.good{color:#345215;background:#dff2b2}.connection.bad{color:#8d2721;background:#ffd0c8}.room-code{letter-spacing:7px;font-weight:900;color:var(--ink)!important;margin:10px 0 0!important;font-size:42px!important;line-height:1!important}.room-players{gap:7px;margin:14px 0;display:grid}.room-players span{background:#e8e0d2;border-radius:7px;align-items:center;gap:9px;padding:8px;font-size:10px;font-weight:800;display:flex}.room-players i{box-shadow:none;width:10px;height:10px;display:inline-block}.room-primary,.room-secondary,.join-row button{border:2px solid var(--ink);background:var(--lime);width:100%;font:900 10px var(--font-mono);box-shadow:3px 3px 0 var(--ink);cursor:pointer;padding:11px}.room-secondary{box-shadow:none;background:0 0;border-width:1px;margin-top:9px}.join-row{grid-template-columns:1fr 80px;gap:7px;margin-top:12px;display:grid}.join-row input{border:2px solid var(--ink);text-transform:uppercase;min-width:0;font:800 12px var(--font-mono);letter-spacing:2px;padding:10px}.join-row button{box-shadow:none}.room-error{font-weight:800;color:#b1362d!important}.match-actions button.online{background:var(--acid);color:var(--ink)}@media (max-width:1000px){.match-actions{display:flex}.match-actions button:not(.online){display:none}.room-panel{top:68px}}@media (max-width:760px){.topbar .timer{display:none}.brand-lockup{width:108px}.brand{min-width:108px}.room-panel{top:64px;right:8px}.match-actions button.online{text-overflow:ellipsis;max-width:58px;overflow:hidden}}.result-stats{gap:10px;margin:10px 0 20px;display:flex}.result-stats span{min-width:110px;font:700 8px var(--font-mono);letter-spacing:1px;text-align:center;background:#100d1673;border:1px solid #ffffff4d;border-radius:8px;padding:10px 14px}.result-stats b{color:var(--acid);letter-spacing:-1px;font-size:21px;display:block}.result-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.result-actions .result-replay{background:var(--paper)}.result-actions .result-share{background:var(--acid)}.result-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.result-confetti i{left:calc(7% + var(--n,0)*7.7%);border:2px solid var(--ink);background:var(--acid);width:10px;height:24px;animation:confetti-fall 2.3s calc(var(--n,0)*-.11s) linear infinite;position:absolute;top:-12%}.result-confetti i:nth-child(3n+2){background:var(--coral);transform:rotate(35deg)}.result-confetti i:nth-child(3n){background:#68a7ff;border-radius:50%}.result-confetti i:first-child{--n:0}.result-confetti i:nth-child(2){--n:1}.result-confetti i:nth-child(3){--n:2}.result-confetti i:nth-child(4){--n:3}.result-confetti i:nth-child(5){--n:4}.result-confetti i:nth-child(6){--n:5}.result-confetti i:nth-child(7){--n:6}.result-confetti i:nth-child(8){--n:7}.result-confetti i:nth-child(9){--n:8}.result-confetti i:nth-child(10){--n:9}.result-confetti i:nth-child(11){--n:10}.result-confetti i:nth-child(12){--n:11}.game-over[data-outcome=draw] .result-confetti i{background:#dad5ca}@keyframes confetti-fall{to{top:112%;transform:translate(35px)rotate(420deg)}}@media (max-width:760px){.result-stats{gap:5px}.result-stats span{min-width:0;padding:8px}.result-stats b{font-size:16px}.game-over h1{letter-spacing:-2px;font-size:32px}.result-actions{max-width:95%}.result-actions button{padding:10px 14px}}.tutorial{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#140f1dc2;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.tutorial-card{background:var(--paper);border:3px solid var(--ink);width:min(540px,100%);box-shadow:10px 10px 0 var(--acid);font-family:var(--font-mono);padding:28px}.tutorial-art{background:url(/bug-blast-logo.png) 50%/contain no-repeat;height:88px;margin:-8px 0 10px;display:block}.tutorial-card>small{letter-spacing:2px;color:#777;font-weight:900}.tutorial-card h1{letter-spacing:-1.5px;margin:8px 0;font-size:30px;line-height:1}.tutorial-card p{color:#5f5a54;font-size:12px;line-height:1.55}.tutorial-card ol{gap:7px;padding:0;list-style:none;display:grid}.tutorial-card li{background:#e7dfd2;align-items:center;gap:12px;padding:9px;font-size:10px;font-weight:800;display:flex}.tutorial-card li b{color:#d94736;font-size:14px}.tutorial-card>button,.access-settings button{border:2px solid var(--ink);background:var(--coral);width:100%;font:900 11px var(--font-mono);box-shadow:4px 4px 0 var(--ink);cursor:pointer;padding:13px}.access-settings{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.access-settings>b{margin-bottom:9px;font-size:10px;display:block}.access-settings label{justify-content:space-between;align-items:center;grid-template-columns:none!important;display:flex!important}.access-settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink);grid-column:auto!important}.access-settings button{background:var(--paper);box-shadow:none;padding:8px;font-size:8px}html[data-colorblind=true]{--lime:#ffe54d;--coral:#4193ff;--acid:#fff36b}.debug{max-height:calc(100vh - 104px);overflow:auto}@media (prefers-reduced-motion:reduce){.game-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:760px){.tutorial-card{padding:18px}.tutorial-art{height:62px}.tutorial-card h1{font-size:24px}.tutorial-card p{font-size:10px}.tutorial-card li{padding:7px;font-size:8px}}.touch-movement,.touch-actions{display:none}.challenge-panel{z-index:30;border:3px solid var(--ink);width:min(980px,100vw - 28px);max-height:calc(100vh - 28px);font-family:var(--font-mono);background:#fff9ed;border-radius:16px;padding:22px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:12px 12px #141018ad}.challenge-panel header{justify-content:space-between;align-items:center;display:flex}.challenge-panel header small{color:#6a635b;font:800 8px var(--font-mono);letter-spacing:2px;display:block}.challenge-panel header b{font:900 25px var(--font-mono)}.challenge-panel header button{border:2px solid var(--ink);width:38px;height:38px;font:900 22px var(--font-mono);cursor:pointer;background:#fff;border-radius:50%}.challenge-panel>p{color:#686159;font:700 10px/1.5 var(--font-mono);margin:10px 0 18px}.challenge-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.challenge-grid article{border:2px solid var(--ink);min-height:190px;box-shadow:4px 4px 0 var(--ink);background:#eef5d7;border-radius:11px;flex-direction:column;gap:9px;padding:15px;display:flex;position:relative}.challenge-grid article:nth-child(4n+2){background:#e5f2ff}.challenge-grid article:nth-child(4n+3){background:#ffe2cd}.challenge-grid article:nth-child(4n){background:#f2e7ff}.challenge-grid article>small{color:#756d64;font:900 8px var(--font-mono);position:absolute;top:12px;right:12px}.challenge-grid article.locked{filter:grayscale(.75);opacity:.58}.challenge-grid article.done{background:#ddff8b}.challenge-grid i{font:900 30px var(--font-mono);font-style:normal}.challenge-grid b{font:900 12px var(--font-mono)}.challenge-grid span{color:#625b54;font:700 8px/1.45 var(--font-mono);flex:1}.challenge-grid button{border:2px solid var(--ink);background:var(--acid);box-shadow:3px 3px 0 var(--ink);font:900 8px var(--font-mono);cursor:pointer;border-radius:6px;padding:9px}.challenge-grid button:disabled{cursor:not-allowed;box-shadow:none}.challenge-status{z-index:7;text-align:center;min-width:260px;font:900 9px var(--font-mono);background:#fff9edeb;border:2px solid #17191d;border-radius:9px;padding:9px 14px;position:absolute;bottom:15px;left:50%;transform:translate(-50%);box-shadow:4px 4px #17191dbf}.challenge-status.complete{background:#d6ff58f0}.challenge-status.failed{background:#ff685df0}@media (max-width:900px){.challenge-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.challenge-grid{grid-template-columns:1fr}.challenge-grid article{min-height:0}.challenge-status{width:calc(100% - 24px);min-width:0;bottom:68px}}@media (pointer:coarse){.touch-movement,.touch-actions,.touch-movement button,.touch-actions button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.touch-movement{z-index:6;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));gap:6px;display:flex;position:absolute}.touch-movement button{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);touch-action:none;background:#fff9ede6;width:50px;height:50px}.touch-movement .jump{background:#d6ff58f0}.touch-actions{z-index:7;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:7px;width:126px;display:grid;position:absolute}.touch-actions button{border:2px solid var(--ink);min-width:0;box-shadow:3px 3px 0 var(--ink);touch-action:none;border-radius:10px}.touch-actions small{font:800 6px var(--font-mono);display:block}.touch-aim{height:48px;font:900 24px var(--font-mono);background:#fff9edeb}.touch-fire{background:#ff685df2;grid-column:1/3;height:58px}.touch-fire.charging{background:#d6ff58f5}.touch-fire b,.touch-fire span{display:block}.touch-fire b{font:900 14px var(--font-mono)}.touch-fire span{font:800 8px var(--font-mono)}}.arena-weapon{z-index:7;width:190px;position:absolute;top:18px;right:24px}.arena-weapon .weapon-trigger{color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#18151fd6;border-color:#ffffff57;min-height:39px;padding:8px 11px;font-size:10px}.arena-weapon .weapon-menu{top:calc(100% + 7px);bottom:auto}.arena-weapon .weapon-menu button{font-size:9px}.weapon-backdrop{display:none}@media (max-width:760px){.arena-weapon{width:150px;top:10px;right:10px}.arena-weapon .weapon-trigger{min-height:34px;padding:6px 9px;font-size:8px}.arena-weapon .weapon-menu{grid-template-columns:1fr;padding:6px}.arena-weapon .weapon-menu button{padding:6px 3px;font-size:8px}}@media (pointer:coarse){.arena-weapon.open{z-index:50}.weapon-backdrop{z-index:40;touch-action:none;background:#0d0a139e;border:0;display:block;position:fixed;inset:0}.arena-weapon .weapon-menu{z-index:41;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(380px,100vw - 28px);max-height:min(64dvh,540px);padding:12px;display:grid;position:fixed;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:8px 8px #0e0b13b8}.arena-weapon .weapon-menu button{touch-action:manipulation;min-height:44px;padding:9px 6px;font-size:9px}}.arena-wrap canvas.is-teleporting{cursor:crosshair}.camera-controls{z-index:7;gap:5px;display:flex;position:absolute;top:78px;left:24px}.camera-controls button{color:#fff;width:34px;height:34px;font:900 18px var(--font-mono);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:manipulation;background:#18151fd1;border:1px solid #ffffff4d;border-radius:8px;place-items:center;display:grid;box-shadow:2px 2px #0a080ea6}.camera-controls button:active{box-shadow:none;transform:translate(1px,1px)}.camera-controls button:nth-child(2){font-size:15px}@media (max-width:760px){.camera-controls{gap:4px;top:48px;left:10px}.camera-controls button{width:32px;height:32px}}.tutorial{overflow:auto}.tutorial-card{width:min(760px,100%);margin:auto}.species-picker{border:2px solid var(--ink);background:#e9e1d3;border-radius:10px;margin:14px 0;padding:12px}.species-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.species-heading b{font:900 12px var(--font-mono);letter-spacing:.8px}.species-heading span{font:700 8px var(--font-mono);color:#6c665f;text-align:right}.species-team{grid-template-columns:78px 1fr 150px;align-items:center;gap:8px;margin-top:7px;display:grid}.species-team>small{font:900 8px var(--font-mono);letter-spacing:.8px}.species-team>p{font:700 8px/1.25 var(--font-mono);color:#58534d;margin:0}.species-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.species-options button{min-width:0;color:var(--ink);font:800 7px/1.1 var(--font-mono);cursor:pointer;text-overflow:ellipsis;background:#fff9ed;border:1px solid #8f887e;border-radius:6px;padding:5px 2px;overflow:hidden}.species-options button span{font-size:17px;line-height:1.25;display:block}.species-options button.active{background:var(--ink);color:var(--acid);border-color:var(--ink);box-shadow:2px 2px 0 var(--coral)}@media (max-width:760px){.tutorial-card{width:min(620px,100%)}.species-heading{display:block}.species-heading span{text-align:left;margin-top:4px;display:block}.species-team{grid-template-columns:1fr}.species-options{grid-template-columns:repeat(3,1fr)}.species-team>p{min-height:20px}.tutorial-card ol{display:none}}.profile-card{border:2px solid var(--ink);background:#fff9ed;border-radius:10px;margin:14px 0;padding:13px}.profile-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.profile-title b{font:900 12px var(--font-mono);letter-spacing:.8px}.profile-title span{font:700 8px var(--font-mono);color:#6c665f}.profile-editor{grid-template-columns:1fr auto;gap:7px;display:grid}.profile-editor input{border:1.5px solid var(--ink);min-width:0;font:800 10px var(--font-mono);background:#fff;border-radius:6px;padding:9px 10px}.profile-editor button{border:2px solid var(--ink);background:var(--acid);box-shadow:2px 2px 0 var(--ink);font:900 8px var(--font-mono);cursor:pointer;border-radius:6px;padding:8px 14px}.profile-editor button:disabled{opacity:.55;cursor:wait}.profile-stats{grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0;display:grid}.profile-stats span{font:700 7px/1.25 var(--font-mono);text-align:center;color:#625d57;background:#e9e1d3;border-radius:6px;padding:7px 4px}.profile-stats b{color:var(--ink);margin-bottom:2px;font-size:14px;display:block}.mastery-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.mastery-grid span{font:800 7px var(--font-mono);border:1px solid #c6bdae;border-radius:6px;justify-content:space-between;align-items:center;gap:5px;padding:6px 7px;display:flex}.mastery-grid b{color:#cf412f}.profile-note{font:700 8px/1.4 var(--font-mono)!important;color:#6c665f!important;margin:9px 0 0!important}.profile-note.error{color:#a52c29!important}.fighter-name-editor{background:#eee6d8;border:1px solid #b9b0a2;border-radius:7px;grid-template-columns:1fr auto;gap:6px;margin:9px 0;padding:9px;display:grid}.fighter-name-editor>b{font:900 8px var(--font-mono);letter-spacing:.8px}.fighter-name-editor>div{grid-column:1/3;grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.fighter-name-editor input{border:1px solid var(--ink);min-width:0;font:800 8px var(--font-mono);background:#fff;border-radius:5px;padding:7px}.fighter-name-editor>button{border:1px solid var(--ink);font:900 7px var(--font-mono);cursor:pointer;background:#fff;border-radius:5px;grid-column:2;padding:6px 9px}.account-card{background:#fff9ed;border:1px solid #b9b0a2;border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:7px;margin:9px 0;padding:9px;display:grid}.account-card>div{gap:3px;display:grid}.account-card b,.account-card strong{font:900 8px var(--font-mono);letter-spacing:.7px}.account-card span{font:700 7px/1.35 var(--font-mono);color:#6c665f}.account-card button{border:1px solid var(--ink);background:var(--acid);font:900 7px var(--font-mono);cursor:pointer;border-radius:5px;padding:7px 9px}.account-card button:disabled{opacity:.55;cursor:wait}.account-card small{color:#a52c29;font:800 7px var(--font-mono);grid-column:1/4}.privacy-gate{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#131419d1;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.privacy-gate section{border:3px solid var(--ink);width:min(540px,100%);box-shadow:8px 8px 0 var(--acid);text-align:center;background:#fff9ed;border-radius:16px;padding:24px}.privacy-gate .tutorial-art{margin:0 auto 8px;display:block}.privacy-gate h2{font:900 21px/1.1 var(--font-display);margin:5px 0 10px}.privacy-gate p{font:700 11px/1.5 var(--font-mono)}.privacy-gate small{color:#6c665f;font:700 8px/1.45 var(--font-mono);margin:12px 0;display:block}.privacy-gate div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.privacy-gate button{border:2px solid var(--ink);background:var(--acid);box-shadow:3px 3px 0 var(--ink);font:900 9px var(--font-mono);cursor:pointer;padding:12px}.privacy-gate button:first-child{background:#fff}.privacy-gate button:disabled{opacity:.55}.leaderboard{font:800 7px var(--font-mono);border-top:1px solid #c6bdae;gap:3px;margin-top:9px;padding-top:8px;display:grid}.leaderboard>b{letter-spacing:.8px;margin-bottom:3px}.leaderboard span{background:#eee6d9;border-radius:4px;grid-template-columns:20px 1fr auto;align-items:center;gap:6px;padding:4px 6px;display:grid}.leaderboard i{color:#cf412f;font-style:normal}.leaderboard em{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.leaderboard strong{font-size:9px}.ranked-note{grid-column:1/-1;font:800 7px/1.4 var(--font-mono)!important;color:#5b554d!important;margin:5px 0 0!important}@media (max-width:760px){.profile-card{padding:10px}.profile-title{display:block}.profile-title span{margin-top:4px;display:block}.profile-stats,.mastery-grid,.fighter-name-editor>div{grid-template-columns:repeat(2,1fr)}.account-card{grid-template-columns:1fr 1fr}.account-card>div{grid-column:1/3}.account-card button{min-width:0}.account-card small{grid-column:1/3}}.social-card{border:2px solid var(--ink);background:#eef5d7;border-radius:10px;margin:14px 0;padding:13px}.social-heading{font:900 11px var(--font-mono);justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.social-heading span,.social-subtitle{font:800 7px var(--font-mono);letter-spacing:1px;color:#665f57}.social-subtitle{margin:11px 0 6px}.social-card>p{font:700 8px/1.4 var(--font-mono);color:#665f57;margin:8px 0}.social-player{border-top:1px solid #191b1f2e;grid-template-columns:minmax(80px,1fr) auto auto auto;align-items:center;gap:5px;padding:6px 0;display:grid}.social-player>span{min-width:0}.social-player b,.social-player small{text-overflow:ellipsis;white-space:nowrap;font:800 8px var(--font-mono);display:block;overflow:hidden}.social-player small{color:#706960;margin-top:2px;font-size:6px}.social-player button,.report-form button{border:1px solid var(--ink);font:900 6px var(--font-mono);cursor:pointer;background:#fff;border-radius:4px;padding:6px}.social-player button.danger{color:#9c2d27}.social-player em{font:800 6px var(--font-mono);color:#706960}.social-player.blocked{opacity:.72}.report-form{grid-template-columns:1fr auto auto;gap:5px;margin-top:8px;display:grid}.report-form select{border:1px solid var(--ink);min-width:0;font:800 7px var(--font-mono);background:#fff;border-radius:4px;padding:6px}.social-success{color:#426818!important}@media (max-width:760px){.social-player{grid-template-columns:minmax(70px,1fr) auto auto}.social-player .danger{grid-column:2/4}.report-form{grid-template-columns:1fr 1fr}.report-form select{grid-column:1/3}}.room-panel{width:min(430px,100vw - 24px);max-height:calc(100dvh - 105px);overflow:auto}.lobby-rules{border:1px solid var(--ink);background:#fff9ed;border-radius:8px;margin:12px 0;padding:10px}.lobby-rules>b{letter-spacing:1px;margin-bottom:8px;font-size:9px;display:block}.lobby-rule-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.lobby-rule-grid label{font:800 7px var(--font-mono);color:#6a645d;gap:4px;display:grid}.lobby-rule-grid select,.room-players select{border:1px solid var(--ink);width:100%;min-width:0;font:800 8px var(--font-mono);color:var(--ink);background:#fff;border-radius:5px;padding:7px 5px}.lobby-rule-grid select:disabled{opacity:.72}.room-players>span{grid-template-columns:auto minmax(80px,1fr) minmax(92px,auto) auto;display:grid}.room-player-name{background:0 0!important;padding:0!important;display:block!important}.room-players small{color:#665f57;font-size:7px}.room-players b{white-space:nowrap;border-radius:8px;padding:4px 6px;font-size:6px}.player-ready{color:#345215;background:#dff2b2}.player-waiting{color:#6f675e;background:#ded7cc}.ready-toggle{margin-top:0}.start-match{margin-top:9px}.room-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.room-panel>.room-secondary+.room-secondary{margin-top:6px}@media (max-width:760px){.room-panel{max-height:calc(100dvh - 72px)}.lobby-rule-grid{grid-template-columns:1fr}.room-players>span{grid-template-columns:auto 1fr auto}.room-players select{grid-column:2/4}.room-players b{grid-column:3}}.spectator-badge{color:#244e83;font:900 8px var(--font-mono);background:#dce9ff;border-radius:10px;margin-left:6px;padding:5px 8px;display:inline-block}.spectator-count{color:#625d57;font:800 7px var(--font-mono);margin:4px 0 10px}.room-chat{border:1px solid var(--ink);background:#fff9ed;border-radius:8px;margin:12px 0;padding:10px}.room-chat>b{font:900 8px var(--font-mono);letter-spacing:1px;margin-bottom:7px;display:block}.chat-log{gap:4px;max-height:118px;display:grid;overflow:auto}.chat-log:empty:after{content:"…";color:#8a8278;font:700 9px var(--font-mono)}.chat-log p{background:#eee6d9;border-radius:4px;grid-template-columns:88px 1fr;gap:6px;padding:4px 5px;display:grid;font:700 7px/1.35 var(--font-mono)!important;margin:0!important}.chat-log strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);overflow:hidden}.chat-log span,.chat-log em{overflow-wrap:anywhere;color:#5c554d}.chat-log em{color:#b63e2b;font-style:normal;font-weight:900}.quick-emotes{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:7px;display:grid}.quick-emotes button,.chat-compose button{border:1px solid var(--ink);background:var(--acid);font:900 6px var(--font-mono);cursor:pointer;border-radius:4px;padding:6px 3px}.chat-compose{grid-template-columns:1fr auto;gap:5px;margin-top:6px;display:grid}.chat-compose input{border:1px solid var(--ink);min-width:0;font:700 8px var(--font-mono);background:#fff;border-radius:4px;padding:7px}.chat-compose button:disabled{opacity:.45;cursor:not-allowed}.matchmaking-card{border:2px solid var(--ink);background:linear-gradient(135deg,#edf9b8,#ffc76b);border-radius:9px;margin:12px 0;padding:11px}.matchmaking-title{gap:4px;display:grid}.matchmaking-title b{font:900 11px var(--font-mono)}.matchmaking-title span{font:700 7px/1.4 var(--font-mono);color:#5f594f}.matchmaking-card>label{font:900 7px var(--font-mono);grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-top:9px;display:grid}.matchmaking-card select{border:1px solid var(--ink);min-width:0;font:800 7px var(--font-mono);background:#fff;border-radius:5px;padding:7px}.matchmaking-actions{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.matchmaking-actions button,.matchmaking-search button{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);font:900 7px var(--font-mono);cursor:pointer;background:#fff;border-radius:5px;padding:9px 6px}.matchmaking-actions button:last-child{background:var(--acid)}.matchmaking-search{grid-template-columns:1fr auto;align-items:center;gap:4px;margin-top:9px;display:grid}.matchmaking-search strong,.matchmaking-search small{font:900 7px var(--font-mono)}.matchmaking-search small{color:#625d57;grid-column:1}.matchmaking-search button{box-shadow:none;grid-area:1/2/3}.matchmaking-card .room-error{margin-bottom:0!important}.party-card{border:2px solid var(--ink);background:linear-gradient(135deg,#dcecff,#dff4b2);border-radius:9px;margin:12px 0;padding:11px}.party-heading{gap:4px;display:grid}.party-heading b{font:900 11px var(--font-mono)}.party-heading span,.party-note{font:700 7px/1.4 var(--font-mono);color:#5f594f}.party-create{grid-template-columns:1fr 82px auto;gap:5px;margin-top:9px;display:grid}.party-create input{border:1px solid var(--ink);min-width:0;font:900 8px var(--font-mono);text-transform:uppercase;background:#fff;border-radius:5px;padding:8px}.party-card button{border:1.5px solid var(--ink);font:900 7px var(--font-mono);cursor:pointer;background:#fff;border-radius:5px;padding:7px}.party-card button:disabled{opacity:.45;cursor:not-allowed}.party-code{grid-template-columns:auto 1fr auto;align-items:center;gap:7px;margin-top:9px;display:grid}.party-code span{font:800 6px var(--font-mono);color:#625d57}.party-code strong{font:900 14px var(--font-mono);letter-spacing:2px}.party-members{gap:4px;margin-top:8px;display:grid}.party-members>span{background:#ffffffa8;border-radius:5px;grid-template-columns:72px 1fr auto;align-items:center;gap:5px;padding:6px;display:grid}.party-members b,.party-members em,.party-members small{font:800 7px var(--font-mono);font-style:normal}.party-members em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.party-members>small{text-align:center;color:#625d57;padding:8px}.party-match-actions{grid-template-columns:1fr 1fr;gap:5px;margin-top:8px;display:grid}.party-match-actions button:last-child{background:var(--acid)}.party-search{font:900 7px var(--font-mono);justify-content:space-between;align-items:center;gap:7px;margin-top:8px;display:flex}.party-search small{font-weight:700}.party-leave{color:#8e2f29;width:100%;margin-top:7px}.party-note{margin-top:8px;display:block}.party-card .room-error{margin-bottom:0!important}@media (max-width:520px){.party-create{grid-template-columns:1fr auto}.party-create>button:first-child{grid-column:1/3}.party-code{grid-template-columns:1fr auto}.party-code span{grid-column:1/3}.party-members>span{grid-template-columns:56px 1fr auto}}.cosmetic-card{background:linear-gradient(135deg,#d9f0a8,#f8e6ad);border:1.5px solid #b9ae9c;border-radius:9px;margin-top:10px;padding:10px;position:relative;overflow:hidden}.cosmetic-card.banner_night{color:#fff;background:linear-gradient(135deg,#222c52,#755a87)}.cosmetic-card.banner_harvest{color:#3a241c;background:linear-gradient(135deg,#ffd05d,#d87b39)}.cosmetic-preview{background:#ffffff61;border-radius:7px;align-items:center;min-height:54px;padding:8px 12px 8px 78px;display:flex;position:relative}.cosmetic-preview b{font:900 11px var(--font-mono);letter-spacing:.5px}.cosmetic-bug{border:3px solid var(--ink);background:var(--cosmetic-accent);width:35px;height:26px;box-shadow:-10px 8px 0 -5px var(--ink),10px 8px 0 -5px var(--ink);border-radius:55% 48% 45% 52%;position:absolute;top:15px;left:28px}.cosmetic-bug:before,.cosmetic-bug:after{content:"";border-top:3px solid var(--ink);width:11px;height:15px;position:absolute;top:-12px}.cosmetic-bug:before{left:5px;transform:rotate(-25deg)}.cosmetic-bug:after{right:5px;transform:rotate(25deg)}.cosmetic-hat{z-index:2;position:absolute;top:6px;left:32px}.cosmetic-hat.hat_leaf{border:2px solid var(--ink);background:#7faa36;border-radius:100% 0;width:27px;height:11px;transform:rotate(-12deg)}.cosmetic-hat.hat_acorn{border:2px solid var(--ink);background:#8b5a2b;border-radius:50% 50% 35% 35%;width:25px;height:14px}.cosmetic-hat.hat_acorn:before{content:"";border:2px solid var(--ink);background:#5c3b20;border-radius:50%;height:6px;position:absolute;top:-4px;left:-2px;right:-2px}.cosmetic-hat.hat_clover{border:2px solid var(--ink);background:#55b957;border-radius:50%;width:13px;height:13px;box-shadow:-9px 0 #55b957,9px 0 #55b957,0 -9px #55b957}.cosmetic-trail{background:#ffffffb3;border-radius:50%;width:27px;height:5px;position:absolute;top:27px;left:3px;box-shadow:-8px 5px #ffffff6b}.cosmetic-trail.trail_sparks{background:#ffd23f;box-shadow:-8px 5px #ff763b,-15px -4px #fff19a}.cosmetic-trail.trail_fireflies{background:#d9ff61;box-shadow:-8px 5px #fff6a8,-15px -4px #8df36e}.cosmetic-editor{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:6px;margin-top:8px;display:grid}.cosmetic-editor label{font:800 6px var(--font-mono);gap:3px;display:grid}.cosmetic-editor select{width:100%;min-width:0;font-size:8px}.cosmetic-editor button{background:var(--acid);height:29px}.cosmetic-card>small{font:700 7px var(--font-mono);margin-top:7px;display:block}@media (max-width:720px){.cosmetic-editor{grid-template-columns:1fr 1fr}.cosmetic-editor button{grid-column:1/3}}.season-pass{color:#fff;background:linear-gradient(135deg,#28243d,#4d3151);border:1.5px solid #8e783f;border-radius:9px;margin-top:10px;padding:10px}.season-pass-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.season-pass-head span{gap:2px;display:grid}.season-pass-head b,.season-pass-head strong{font:900 9px var(--font-mono)}.season-pass-head small,.season-pass>small{font:700 6px var(--font-mono);opacity:.82}.pass-track{background:#171521;border:1px solid #16131f;border-radius:5px;height:8px;margin:8px 0 5px;overflow:hidden}.pass-track i{background:linear-gradient(90deg,var(--acid),#ffb331);height:100%;display:block}.quest-list{gap:5px;margin-top:8px;display:grid}.quest{background:#ffffff14;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:6px;display:grid}.quest.ready{box-shadow:inset 0 0 0 1px var(--acid)}.quest span{gap:2px;display:grid}.quest b{font:800 7px var(--font-mono)}.quest small{font:700 6px var(--font-mono);opacity:.8}.quest button{background:var(--acid);min-width:70px;font-size:7px}.replay-viewer{z-index:20;width:min(620px,100% - 28px);color:var(--ink);background:#f8f1e1f5;border:2px solid #18151d;border-radius:10px;padding:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #120c1761}.replay-head,.replay-status,.replay-controls{justify-content:space-between;align-items:center;gap:8px;display:flex}.replay-head span{gap:2px;display:grid}.replay-head b{font:900 10px var(--font-mono)}.replay-head small,.replay-status,.replay-warning,.replay-viewer p{font:700 7px var(--font-mono)}.replay-head>button{background:0 0;padding:6px 8px}.replay-viewer>input{accent-color:#ff5b3d;width:100%;margin:10px 0 5px}.replay-status b{color:#b43c2c}.replay-controls{justify-content:flex-start;margin-top:9px}.replay-controls button:first-child{background:var(--acid)}.replay-warning{color:#a83e34;margin-top:6px;display:block}.replay-viewer[dir=rtl],html[dir=rtl] .replay-viewer{direction:rtl}@media (max-width:620px){.replay-viewer{padding:9px;bottom:8px}.replay-head{align-items:flex-start}.replay-controls{grid-template-columns:1fr 1fr 1fr;display:grid}.replay-controls button{padding:8px 5px;font-size:6px}}.create-room-row{grid-template-columns:1fr 150px;gap:7px;margin-top:12px;display:grid}.create-room-row input,.join-row input{border:2px solid var(--ink);min-width:0;font:800 10px var(--font-mono);padding:10px}.join-row{grid-template-columns:minmax(100px,.8fr) minmax(130px,1.2fr) 80px}.join-row input[type=password]{text-transform:none;letter-spacing:0;font-size:10px}.room-protected{color:#674b00;font:900 7px var(--font-mono);background:#fff0aa;border-radius:10px;margin:14px 0 0 6px;padding:5px 8px;display:inline-block}@media (max-width:760px){.create-room-row{grid-template-columns:1fr}.join-row{grid-template-columns:1fr 1fr}.join-row button{grid-column:1/3}}.access-settings select{border:1px solid var(--ink);min-width:112px;font:800 8px var(--font-mono);background:#fff;padding:6px}.control-bindings{border:1px solid var(--line);background:#ebe3d6;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0;padding:8px;display:grid}.control-bindings>b{letter-spacing:.7px;grid-column:1/3;font-size:8px}.control-bindings label{grid-template-columns:minmax(0,1fr) 88px!important;gap:5px!important;margin:0!important;font-size:7px!important;display:grid!important}.control-bindings label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.control-bindings button{background:#fff!important;width:88px!important;padding:6px 3px!important}.control-bindings button.listening{animation:.65s ease-in-out infinite alternate key-listen;background:var(--acid)!important}.control-bindings .reset-controls{grid-column:1/3;margin-top:3px;width:100%!important}@keyframes key-listen{to{box-shadow:inset 0 0 0 2px var(--coral)}}.tournament-panel{z-index:24;border:3px solid var(--ink);background:var(--paper);width:min(440px,100vw - 24px);max-height:calc(100dvh - 92px);font-family:var(--font-mono);border-radius:10px;padding:20px;position:absolute;top:74px;right:18px;overflow:auto;box-shadow:9px 9px #191b1fb8}.tournament-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.tournament-panel header small{color:#777;font:900 8px var(--font-mono);letter-spacing:1.8px;display:block}.tournament-panel header b{font:900 14px/1.25 var(--font-mono);margin-top:4px;display:block}.tournament-panel header button{cursor:pointer;background:0 0;border:0;font-size:25px}.tournament-panel p{font:700 9px/1.5 var(--font-mono);color:#625d57}.tournament-create,.tournament-join{grid-template-columns:1fr auto;gap:6px;margin-top:10px;display:grid}.tournament-panel input{border:2px solid var(--ink);min-width:0;font:800 9px var(--font-mono);background:#fff;border-radius:5px;padding:10px}.tournament-panel button{border:1.5px solid var(--ink);font:900 8px var(--font-mono);cursor:pointer;background:#fff;border-radius:5px;padding:9px}.tournament-panel button:disabled{opacity:.45;cursor:not-allowed}.tournament-create button,.tournament-primary{box-shadow:3px 3px 0 var(--ink);background:var(--acid)!important}.tournament-code{background:#e8e0d2;border-radius:7px;grid-template-columns:1fr auto;align-items:end;gap:6px;margin:13px 0;padding:10px;display:grid}.tournament-code span{font:800 7px var(--font-mono);color:#625d57;grid-column:1/3}.tournament-code strong{font:900 22px var(--font-mono);letter-spacing:3px}.tournament-members{grid-template-columns:1fr 1fr;gap:5px;display:grid}.tournament-members span{background:#fff;border-radius:6px;align-items:center;gap:7px;padding:8px;display:flex}.tournament-members i{background:var(--lime);width:20px;height:20px;font:900 8px var(--font-mono);border-radius:50%;place-items:center;font-style:normal;display:grid}.tournament-members b{text-overflow:ellipsis;font:800 8px var(--font-mono);white-space:nowrap;overflow:hidden}.tournament-primary,.tournament-leave{width:100%;margin-top:10px}.tournament-leave{color:#8e2f29}.tournament-bracket{gap:6px;margin-top:13px;display:grid}.tournament-bracket h3{font:900 8px var(--font-mono);letter-spacing:1px;margin:5px 0 0}.tournament-bracket article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;padding:8px;display:grid}.tournament-bracket article.final{border:2px solid var(--coral)}.tournament-bracket article span{text-overflow:ellipsis;font:800 8px var(--font-mono);white-space:nowrap;overflow:hidden}.tournament-bracket article span:last-of-type{text-align:right}.tournament-bracket article b{font:900 7px var(--font-mono);color:#777}.tournament-bracket article small{text-align:center;font:800 7px var(--font-mono);color:#6d653e;grid-column:1/4}.tournament-champion{border:2px solid var(--ink);background:linear-gradient(135deg,var(--acid),#ffae3d);place-items:center;gap:5px;margin-top:13px;padding:15px;display:grid}.tournament-champion small{font:900 8px var(--font-mono);letter-spacing:2px}.tournament-champion strong{font:900 17px var(--font-mono)}@media (max-width:760px){.tournament-panel{max-height:calc(100dvh - 70px);padding:14px;top:62px;right:7px}.tournament-code strong{font-size:18px}.tournament-members{grid-template-columns:1fr}}.clan-panel{z-index:25;border:3px solid var(--ink);background:var(--paper);width:min(520px,100vw - 24px);max-height:calc(100dvh - 92px);font-family:var(--font-mono);border-radius:10px;padding:20px;position:absolute;top:74px;right:18px;overflow:auto;box-shadow:9px 9px #191b1fb8}.clan-panel header{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:12px;display:flex}.clan-panel header small{color:#777;font:900 8px var(--font-mono);letter-spacing:1.8px;display:block}.clan-panel header b{font:900 14px var(--font-mono);margin-top:4px;display:block}.clan-panel header button{background:0 0;border:0;font-size:25px}.clan-panel p{font:700 9px/1.5 var(--font-mono);color:#625d57}.clan-panel button{border:1.5px solid var(--ink);font:900 7px var(--font-mono);cursor:pointer;background:#fff;border-radius:5px;padding:8px}.clan-panel button:disabled{opacity:.45}.clan-panel input{border:2px solid var(--ink);min-width:0;font:800 8px var(--font-mono);background:#fff;border-radius:5px;padding:9px}.clan-create{grid-template-columns:1fr 92px;gap:6px;display:grid}.clan-create .motto,.clan-create button{grid-column:1/3}.clan-create button{background:var(--acid)}.clan-join{grid-template-columns:1fr auto;gap:6px;margin-top:8px;display:grid}.clan-stats{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.clan-stats span{text-align:center;font:800 6px var(--font-mono);background:#e8e0d2;border-radius:6px;gap:3px;padding:8px;display:grid}.clan-stats b{font-size:13px}.clan-motto{grid-template-columns:1fr auto;gap:5px;margin-top:9px;display:grid}.clan-members{gap:5px;margin-top:10px;display:grid}.clan-members article{background:#fff;border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px;display:grid}.clan-members span{min-width:0}.clan-members b,.clan-members small{text-overflow:ellipsis;white-space:nowrap;font:800 8px var(--font-mono);display:block;overflow:hidden}.clan-members small{color:#777;margin-top:3px;font-size:6px}.clan-members em{background:var(--lime);font:900 6px var(--font-mono);border-radius:8px;padding:4px;font-style:normal}.clan-members div{gap:3px;display:flex}.clan-members div button:last-child{color:#922c28}.clan-actions{grid-template-columns:1fr 1fr;gap:5px;margin-top:9px;display:grid}.clan-actions button:first-child{background:var(--acid)}.clan-actions button:last-child{color:#922c28}.clan-board{border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.clan-board h3{font:900 9px var(--font-mono);letter-spacing:1px}.clan-board article{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:center;gap:7px;padding:7px;display:grid}.clan-board article>b,.clan-board strong,.clan-board small,.clan-board em{font:800 7px var(--font-mono);font-style:normal}.clan-board strong,.clan-board small{display:block}.clan-board small{color:#777;margin-top:2px;font-size:6px}.clan-board em{font-size:11px}@media (max-width:760px){.clan-panel{max-height:calc(100dvh - 70px);padding:14px;top:62px;right:7px}.clan-stats{grid-template-columns:1fr 1fr}.clan-members article{grid-template-columns:minmax(0,1fr) auto}.clan-members article div{grid-column:1/3}.clan-members article div button{flex:1}}.lobby-rule-grid{grid-template-columns:repeat(2,1fr)}.lobby-rule-map{grid-column:1/3}.debug>label>select{width:100%;font:800 9px var(--font-mono);background:#fff;border:1px solid #999;grid-column:1/3;padding:7px}@media (max-width:760px){.lobby-rule-grid{grid-template-columns:1fr}.lobby-rule-map{grid-column:auto}}.sudden-death{z-index:3;border:2px solid var(--ink);background:var(--coral);box-shadow:3px 3px 0 var(--ink);font:900 9px var(--font-mono);letter-spacing:.8px;white-space:nowrap;border-radius:6px;padding:8px 14px;animation:.8s ease-in-out infinite alternate sudden-pulse;position:absolute;top:18px;left:50%;transform:translate(-50%)rotate(-1deg)}@keyframes sudden-pulse{to{filter:brightness(1.16);transform:translate(-50%)rotate(1deg)}}@media (max-width:760px){.sudden-death{text-overflow:ellipsis;max-width:62vw;padding:6px 9px;font-size:7px;top:8px;overflow:hidden}}.map-editor{z-index:60;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#110e19d1;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.map-editor-card{border:3px solid var(--ink);background:var(--paper);width:min(1120px,100%);max-height:calc(100dvh - 32px);box-shadow:10px 10px 0 var(--acid);font-family:var(--font-mono);overflow:auto}.map-editor-card>header{border-bottom:2px solid var(--ink);background:#fff9ed;justify-content:space-between;gap:12px;padding:16px 18px;display:flex}.map-editor-card header b{font-size:18px}.map-editor-card header p{color:#69635d;margin:4px 0 0;font-size:8px}.map-editor button{border:2px solid var(--ink);font:900 8px var(--font-mono);cursor:pointer;background:#fff;border-radius:5px;padding:8px}.map-editor button:disabled{opacity:.45;cursor:not-allowed}.map-editor-layout{grid-template-columns:minmax(0,2.2fr) minmax(230px,1fr);gap:14px;padding:14px;display:grid}.map-canvas-wrap canvas{aspect-ratio:2.5;border:2px solid var(--ink);cursor:crosshair;touch-action:none;background:#ffd267;width:100%}.map-tools{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.map-tools button.active{background:var(--acid)}.map-editor-layout aside{align-content:start;gap:8px;display:grid}.map-editor-layout aside label{font:800 7px var(--font-mono);gap:4px;display:grid}.map-editor-layout aside input[type=text],.map-editor-layout aside input:not([type]),.map-editor-layout aside select{border:1px solid var(--ink);width:100%;font:800 9px var(--font-mono);background:#fff;padding:8px}.map-editor-layout aside>button:first-of-type{background:var(--lime)}.map-editor-layout aside>button:nth-of-type(2){background:var(--coral)}.map-valid,.map-invalid{border:2px solid var(--ink);font:900 8px var(--font-mono);padding:8px}.map-valid{background:#dff2b2}.map-invalid{background:#ffd0c8}.map-success{color:#2f6d25;font:900 8px var(--font-mono)}.map-error{color:#a52c29;font:900 8px var(--font-mono)}.map-gallery{padding:0 14px 14px}.map-gallery>b{font-size:11px}.map-gallery>div{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px;display:grid}.map-gallery article{border:1px solid var(--ink);background:#fff9ed;gap:4px;padding:9px;display:grid}.map-gallery article strong{font-size:9px}.map-gallery article small{color:#666;font-size:7px}.map-gallery article span{gap:5px;display:flex}.map-gallery article button{padding:5px;font-size:6px}@media (max-width:760px){.map-editor{padding:7px}.map-editor-card{max-height:calc(100dvh - 14px)}.map-editor-layout{grid-template-columns:1fr;padding:8px}.map-editor-card>header{padding:11px}.map-editor-card header b{font-size:14px}.map-gallery>div{grid-template-columns:1fr}.map-tools button{flex:1 0 28%;font-size:6px}}html[data-ui-scale=compact] body{zoom:.9}html[data-ui-scale=compact] .game-shell{width:111.112vw;min-height:111.112vh}html[data-ui-scale=large] body{zoom:1.15}html[data-ui-scale=large] .game-shell{width:86.957vw;min-height:86.957vh}html[data-ui-scale=large] .debug{max-height:calc(86.957vh - 82px)}html[data-ui-scale=large] .room-panel{max-height:calc(86.957dvh - 76px)}.debug{overflow-x:hidden}@media (max-width:480px){.control-bindings{grid-template-columns:1fr}.control-bindings>b,.control-bindings .reset-controls{grid-column:1}.control-bindings label{grid-template-columns:minmax(0,1fr) 104px!important}.control-bindings button{width:104px!important}}.team-dot.t2{background:#a8d342}.team-dot.t3{background:#bd72de}.tutorial-tabs{gap:7px;margin:-10px 0 14px;display:flex}.tutorial-tabs button{border:1px solid var(--ink);font:900 9px var(--font-mono);cursor:pointer;background:#e7dfd2;flex:1;padding:9px}.tutorial-tabs button.active{background:var(--ink);color:var(--acid)}.tutorial-card.tutorial-view .profile-card,.tutorial-card.tutorial-view .social-card,.tutorial-card.profile-view .tutorial-intro,.tutorial-card.profile-view>ol{display:none}.tutorial-focus{border:2px solid var(--ink);background:var(--acid);box-shadow:4px 4px 0 var(--ink);font:900 12px/1.35 var(--font-mono);grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:14px 0;padding:14px;display:grid}.tutorial-focus b{color:#d94736;font-size:25px}.tutorial-card ol li{border:2px solid #0000;padding:0}.tutorial-card ol li button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:9px;display:flex}.tutorial-card ol li.active{border-color:var(--ink);background:#fff9ed}.result-burst{background:url(/bug-blast-logo.png) 50%/contain no-repeat;width:118px;height:92px;margin-bottom:4px;animation:.65s cubic-bezier(.2,1.5,.5,1) result-pop;position:relative}.result-burst:before,.result-burst:after{content:"★";color:var(--acid);text-shadow:2px 2px 0 var(--ink);font-size:30px;animation:1.1s ease-in-out infinite alternate result-star;position:absolute}.result-burst:before{top:12px;left:-35px;transform:rotate(-18deg)}.result-burst:after{animation-delay:.25s;top:2px;right:-34px;transform:rotate(18deg)}@keyframes result-pop{0%{opacity:0;transform:scale(.35)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes result-star{to{transform:translateY(-10px)rotate(12deg)scale(1.12)}}.achievement-card{border:2px solid var(--ink);background:linear-gradient(135deg,#fff7d6,#f0ffd0);border-radius:14px;gap:10px;padding:12px;display:grid}.achievement-card>div{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.achievement-card>div small{text-align:right;max-width:260px}.achievement-card section{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.achievement-card section span{border:2px solid var(--ink);text-align:center;border-radius:10px;place-items:center;gap:3px;min-height:70px;padding:7px;display:grid}.achievement-card section i{font-size:20px;font-style:normal}.achievement-card .unlocked{background:var(--acid)}.achievement-card .locked{opacity:.55;background:#fff}.achievement-card section small{font-size:7px}@media (max-width:720px){.achievement-card section{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-card>div{flex-direction:column;align-items:flex-start}.achievement-card>div small{text-align:left}}.game-over[data-outcome=defeat] .result-confetti{display:none}.game-over[data-outcome=defeat] h1{color:#ff8b7f}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
