/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start: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}}.table{display:table}}: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}}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{gap:12px;display:flex}.result-actions .result-replay{background:var(--paper)}@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 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}}
