@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600 800;font-display:swap;src:url('./assets/fonts/barlow-800.ttf') format('truetype')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:900;font-display:swap;src:url('./assets/fonts/barlow-900.ttf') format('truetype')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url('./assets/fonts/nunito-400.ttf') format('truetype')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:700;font-display:swap;src:url('./assets/fonts/nunito-700.ttf') format('truetype')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:800;font-display:swap;src:url('./assets/fonts/nunito-800.ttf') format('truetype')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:900;font-display:swap;src:url('./assets/fonts/nunito-900.ttf') format('truetype')}

:root{font-family:'Nunito Sans','Trebuchet MS',sans-serif;color:#e7e9e5;background:#192b43;font-synthesis:none;--navy:#1b2d45;--navy-dark:#132338;--navy-soft:#294058;--muted:#aab9c6;--yellow:#ffce54;--border:#435269}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #ffe38b;outline-offset:3px}button{color:inherit}button,input,select{border-radius:7px}button{transition:background .15s,transform .12s,border-color .15s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.game-shell{height:100dvh;min-height:520px;display:flex;flex-direction:column;overflow:hidden}.topbar{height:82px;flex-shrink:0;display:flex;align-items:center;gap:36px;padding:0 30px;border-bottom:1px solid #4a5d68;background:var(--navy);z-index:10;box-shadow:0 4px 0 #20324635}.brand{color:var(--yellow);text-decoration:none;display:flex;flex-direction:column;align-items:center;line-height:.83;transform:rotate(-3deg);width:140px;flex-shrink:0}.brand-word{font:900 43px/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1.5px;text-shadow:2px 3px 0 #825f30,-1px -1px 0 #fff1a0}.brand-bang{display:inline-block;transform:rotate(8deg);margin-left:2px}.brand-sub{margin-top:8px;font:800 13px/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:4.4px;color:#f4e5b9}.mode-tabs{display:flex;height:100%;gap:6px;align-items:center}.mode-tab{height:38px;padding:0 18px;border:1px solid transparent;background:transparent;color:#b8c4d1;font-size:14px;font-weight:800}.mode-tab:hover{background:#ffffff0b;color:#fff}.mode-tab.selected{border-color:#536273;background:#33465a;color:#f8e5ad}.top-actions{margin-left:auto;display:flex;gap:9px}.icon-button{width:35px;height:35px;background:#263a50;border:1px solid #485a6c;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:21px;flex-shrink:0}.icon-button:hover{background:#39536a;border-color:#879797}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-button.is-muted{color:#f4937f}.match-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800}.match-round{font-size:12px;color:#95aabc;border-left:1px solid #566273;margin-left:12px;padding-left:20px;letter-spacing:1px}.status-dot{height:7px;width:7px;border-radius:50%;background:#acd892;display:inline-block;box-shadow:0 0 0 3px #acd89217}.battlefield{position:relative;flex:1;min-height:0;background:#78c7df;isolation:isolate;overflow:hidden}#game-canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.setup-panel{position:absolute;left:28px;top:26px;bottom:26px;width:334px;max-height:640px;background:#1c2e47f5;border:1px solid #556473;border-top:4px solid #f9ca61;border-radius:12px;box-shadow:0 12px 32px #2134443b;padding:23px;overflow:auto;scrollbar-width:thin;scrollbar-color:#53667a transparent;display:flex;flex-direction:column;z-index:2}.eyebrow{display:block;color:#e9c475;letter-spacing:1.9px;font-size:10px;font-weight:900}.setup-heading h1{font:800 35px/1.08 'Barlow Condensed',Impact,sans-serif;letter-spacing:.3px;color:#fff6dc;margin:7px 0 7px}.setup-heading p{font-size:13px;color:#b5c4d3;margin:0 0 22px;line-height:1.5}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:10px;font-weight:900;color:#a8bdcc;letter-spacing:1.4px}.text-button{border:0;background:transparent;padding:0;color:#d2dfdf;font-size:12px;font-weight:800;letter-spacing:0}.text-button:hover{color:#ffdd86}.text-button span{font-size:17px;margin-right:3px}.terrain-picker{display:flex;gap:8px}.terrain-choice{padding:0;border:2px solid #506073;background:#2d4156;overflow:hidden;width:calc((100% - 16px)/3);border-radius:6px}.terrain-choice canvas{width:100%;height:47px;display:block}.terrain-choice span{font-size:10px;font-weight:800;display:block;padding:6px 1px;white-space:nowrap}.terrain-choice.selected{border-color:var(--yellow);color:#ffe39a}.terrain-choice:hover{border-color:#f5dda1}.setup-row{display:flex;gap:12px;margin-top:16px}.setup-row label{width:50%;font-size:11px;font-weight:800;color:#9eb4c5;display:flex;flex-direction:column;gap:6px}.setup-row select,.seed-label input{width:100%;min-height:36px;color:#e3e8ea;background:#2a4057;border:1px solid #4b6074;padding:5px 8px;font-size:12px;font-weight:800;accent-color:#ffce54}.team-label{margin-top:22px}.team-label>span:last-child{font-size:9px;letter-spacing:1px;color:#7e9aae}.team-setup{display:flex;flex-direction:column;gap:7px}.team-row{display:flex;align-items:center;gap:8px;background:#2b4056;border-radius:6px;border:1px solid #43596d;padding:7px 9px}.team-swatch{height:17px;width:17px;border-radius:50%;box-shadow:inset -2px -3px 0 #0003;flex-shrink:0}.team-row input{background:transparent;color:#e9e5dd;width:100%;min-width:0;border:0;outline-offset:0;font-weight:800;font-size:12px;padding:2px}.team-row select{background:#1c3047;border:1px solid #506174;color:#cbd9e1;width:63px;padding:4px 3px;flex-shrink:0;font-size:10px}.match-options{margin:17px 0 19px;border-top:1px solid #40536b;border-bottom:1px solid #40536b;padding:11px 0}.match-options summary{list-style:none;cursor:pointer;font-size:12px;font-weight:700;color:#bfced7;display:flex;justify-content:space-between}.match-options summary::-webkit-details-marker{display:none}.match-options summary span{font-size:17px;line-height:1;color:#99b0c2}.match-options[open] summary span{transform:rotate(45deg)}.match-options[open]{margin-bottom:15px}.seed-label{display:flex;gap:10px;align-items:center;font-size:11px;color:#a6bacb;margin-top:14px}.seed-label input{width:130px}.start-button{background:var(--yellow);color:#2d3540;border:1px solid #ffe18e;box-shadow:0 4px 0 #b58a3c;min-height:47px;display:flex;align-items:center;justify-content:center;gap:16px;font:900 20px/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;width:100%;padding:13px 15px;flex-shrink:0}.start-button:hover{background:#ffdd7c}.start-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #b58a3c}.start-button span{font-size:21px}.setup-footnote{font-size:9px;line-height:1.6;color:#849fb2;text-align:center;margin:13px 0 0}.preview-caption{position:absolute;top:34px;right:32px;text-align:right;color:#28445b}.preview-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #4b85963b;background:#d4eef16e;border-radius:20px;font-size:9px;font-weight:900;letter-spacing:1.3px}.preview-pill .status-dot{background:#467f78;box-shadow:none;width:5px;height:5px}.preview-caption p{font-size:12px;margin-top:9px;font-weight:700}.preview-caption p span{opacity:.6;margin:0 6px}.camera-tools{position:absolute;bottom:19px;right:25px;display:flex;align-items:center;gap:10px;border:1px solid #b7d0d644;border-radius:8px;padding:5px;background:#1d385299;font:700 12px monospace}.camera-tools .icon-button{border:0;background:transparent;width:25px;height:25px}.battlebar{background:var(--navy);border-top:1px solid #617481;z-index:10;flex-shrink:0}.setup-controls{min-height:76px;display:flex;align-items:center;gap:26px;padding:12px 30px}.key-group{display:flex;gap:4px;align-items:center}.key-group>span{font-size:10px;letter-spacing:.7px;color:#a5b8c8;font-weight:800;margin-left:8px}kbd{font-family:inherit;font-size:11px;font-weight:800;min-width:23px;height:24px;border:1px solid #597084;border-bottom:3px solid #526479;border-radius:4px;background:#2d435b;color:#c9d7df;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;white-space:nowrap}.fan-label{margin-left:auto;white-space:nowrap;font-size:9px;font-weight:800;letter-spacing:1px;color:#6d899e}.setup-controls>.text-button{font-size:11px;white-space:nowrap}.team-hud{position:absolute;top:23px;left:25px;display:flex;flex-direction:column;gap:7px;width:208px}.team-score{display:flex;align-items:center;gap:9px;background:#1d344adf;padding:9px 11px;border:1px solid #405c70;border-left:4px solid var(--team-color);border-radius:6px}.team-score.active{background:#263e51f2;box-shadow:0 0 0 1px #e5e5bb80}.team-score.eliminated{opacity:.4}.team-score-copy{flex:1;min-width:0}.team-score-name{font-size:11px;font-weight:900;color:var(--team-color);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-track{background:#10283d;height:4px;border-radius:2px;margin-top:5px;overflow:hidden}.health-fill{height:100%;background:var(--team-color);border-radius:2px;transition:width .3s}.team-score-hp{font-family:'Barlow Condensed',Impact,sans-serif;font-size:23px;line-height:1;font-weight:700;color:#f9efd6}.team-score-count{font-size:9px;color:#9db4c3;display:block;text-align:right}.turn-hud{position:absolute;top:22px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;background:#1c344bea;border:1px solid #e4ce8b66;border-radius:10px;padding:10px 19px 10px 12px;min-width:200px;box-shadow:0 4px 0 #2b42533d}.turn-clock{font:800 48px/1 'Barlow Condensed',Impact,sans-serif;color:var(--yellow);border-right:1px solid #597182;padding-right:12px;min-width:61px;text-align:center}.turn-clock.urgent{color:#ff947c}.turn-hud>div:last-child{display:flex;flex-direction:column}.turn-hud span:first-child{font-size:9px;letter-spacing:1.6px;font-weight:900;color:#8fb1c8}.turn-hud strong{font-size:19px;line-height:1.4;color:#ffefd5}.turn-hud span:last-child{font-size:10px;font-weight:800;color:#ed998c}.wind-hud{position:absolute;top:27px;right:26px;width:132px;background:#203951c9;border:1px solid #6992a066;border-radius:7px;padding:10px 13px}.wind-hud>div:first-child{display:flex;justify-content:space-between;align-items:center}.wind-hud span{font-size:9px;letter-spacing:1.5px;font-weight:900;color:#b6d1d9}.wind-hud strong{font-size:12px;color:#ffebae}.wind-track{height:8px;border-radius:3px;background:#162f45;position:relative;margin-top:9px;overflow:hidden}.wind-center{position:absolute;width:2px;height:100%;left:50%;background:#a2b8bf;z-index:1}#wind-fill{position:absolute;height:100%;background:#eac56d}.game-toast{position:absolute;bottom:29px;left:50%;transform:translateX(-50%);max-width:min(680px,80%);padding:12px 20px;text-align:center;background:#1d344bee;border:1px solid #79949e;border-radius:8px;font-size:14px;font-weight:800;color:#f6e7c4;box-shadow:0 4px 12px #0002;pointer-events:none;z-index:4}.target-prompt{position:absolute;top:110px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:800;color:#213c53;background:#fae1a8e8;border:1px solid #fdf3d1;border-radius:5px;padding:7px 12px;pointer-events:none;max-width:80%;text-align:center}.play-controls{display:grid;grid-template-columns:250px 1fr auto;grid-template-rows:74px 29px;align-items:center;padding:0 25px;column-gap:24px}.current-weapon{display:flex;gap:11px;align-items:center;background:transparent;border:0;padding:0;text-align:left;min-width:0}.current-weapon canvas{flex-shrink:0;width:49px;height:49px;background:#2c4258;border:1px solid #51667a;border-radius:8px}.current-weapon>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.weapon-label{font-size:8px;letter-spacing:1.2px;color:#879fb4;font-weight:900}.current-weapon strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:24px;color:#f8e9c8;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-weapon #ammo-label{font-size:10px;color:#a2bac9;font-weight:700}.weapon-chevron{color:#8da6bc;margin-left:auto}.quick-weapons{display:flex;justify-content:center;gap:7px}.quick-weapon{position:relative;width:48px;height:49px;padding:2px;background:#293e55;border:1px solid #4a6076;border-radius:6px}.quick-weapon canvas{width:36px;height:36px}.quick-weapon:hover{background:#40546a}.quick-weapon.selected{border-color:var(--yellow);background:#4d514c}.quick-ammo{position:absolute;bottom:1px;right:5px;font-size:9px;color:#bcd0d6;font-weight:900}.fire-controls{display:flex;align-items:center;gap:10px}.arsenal-button{height:41px;background:#314960;border:1px solid #576d81;display:flex;align-items:center;gap:10px;padding:0 12px;font-size:12px;font-weight:900}.arsenal-button kbd{font-size:9px;height:21px;min-width:20px;padding:0 4px}.fire-button{height:45px;min-width:90px;background:var(--yellow);color:#303d49;border:1px solid #ffe59c;box-shadow:0 3px 0 #aa8238;font:900 23px/.9 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:8px;touch-action:none;user-select:none}.fire-button span{font:900 8px/1 'Nunito Sans',sans-serif;letter-spacing:.5px;opacity:.7}.fire-button.charging{background:#f59066;transform:translateY(2px);box-shadow:0 1px 0 #af6a3f}.fuse-controls{display:flex;flex-direction:column;align-items:center;gap:4px}.fuse-controls label{font-size:8px;letter-spacing:1px;color:#a2b9c8}.fuse-controls select{background:#30485e;border:1px solid #698094;color:#ffdf90;padding:3px;font-size:11px}.weapon-hint{grid-column:1/3;font-size:11px;color:#9fb5c5;align-self:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-key-hint{display:flex;justify-content:flex-end;gap:14px;grid-column:3;font-size:9px;color:#89a5b9;white-space:nowrap;align-self:start}.arsenal-panel{position:absolute;bottom:15px;right:23px;width:590px;max-width:calc(100% - 46px);max-height:calc(100% - 38px);overflow:auto;background:#192e46f7;border:1px solid #718493;border-top:3px solid #f1ce7f;border-radius:11px;padding:20px;box-shadow:0 15px 40px #142d4966;z-index:5;scrollbar-width:thin}.arsenal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.arsenal-heading h2{font:800 28px/1 'Barlow Condensed',Impact,sans-serif;margin:7px 0 0;color:#f9ebc7}.arsenal-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.arsenal-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:79px;padding:6px 3px;background:#2d435a;border:1px solid #53697d;border-radius:6px}.arsenal-item canvas{width:33px;height:33px}.arsenal-item .item-name{font-size:9px;font-weight:800;line-height:1.25;text-align:center;max-width:100%;color:#d3dee2}.arsenal-item .item-ammo{position:absolute;right:5px;top:3px;font-size:10px;font-weight:900;color:#efd797}.arsenal-item.selected{border-color:#ffce54;background:#5a5844}.arsenal-item:hover:not(:disabled){border-color:#f5db98;background:#3a5269}.overlay{position:absolute;inset:0;background:#0d223875;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:22px;z-index:8}.dialog{position:relative;width:460px;max-width:100%;max-height:100%;overflow:auto;background:#20344d;border:1px solid #728798;border-top:4px solid #f2ce7d;border-radius:13px;padding:31px;box-shadow:0 18px 60px #102c4966;text-align:center;scrollbar-width:thin}.dialog h2{font:800 38px/1.1 'Barlow Condensed',Impact,sans-serif;color:#fff0cb;margin:10px 0 12px}.dialog>p{font-size:14px;line-height:1.65;color:#b6c9d6;margin:0 0 26px}.compact-dialog{width:360px}.dialog .start-button{margin-top:24px}.secondary-button{width:100%;min-height:43px;border:1px solid #6a7f92;background:#314b64;margin-top:14px;font-size:13px;font-weight:800}.secondary-button:hover{background:#405d76}.dialog>.text-button{margin-top:22px;font-size:12px}.dialog-close{position:absolute;right:15px;top:15px}.help-dialog{width:650px;text-align:left}.help-dialog h2{font-size:35px;margin-top:14px}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 23px;margin:24px 0}.controls-grid>div{display:flex;gap:4px;align-items:center;font-size:12px}.controls-grid span{margin-left:7px;color:#c7d7df;font-size:11px}.controls-grid kbd{font-size:10px;flex-shrink:0}.help-note{font-size:12px;line-height:1.65;color:#a9c0ce;border-top:1px solid #4b6277;padding-top:17px}.help-note strong{color:#efd59e;font-size:13px}.help-note p{margin:8px 0}.victory-medal{font-size:55px;line-height:1;width:90px;height:90px;display:flex;align-items:center;justify-content:center;border:5px double #c9a657;background:#edc765;border-radius:50%;color:#6e593c;text-shadow:1px 2px #ffe296;margin:0 auto 20px;transform:rotate(-9deg);box-shadow:0 5px 0 #536078}.result-stats{display:flex;justify-content:center;gap:26px}.result-stat strong{display:block;font:700 31px/1.2 'Barlow Condensed',Impact,sans-serif;color:#f8d98f}.result-stat span{font-size:9px;letter-spacing:1px;font-weight:800;color:#a8c0cf}.touch-controls{padding:10px 17px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #415a70}.touch-controls>div{display:flex;gap:8px}.touch-controls button{background:#314b63;border:1px solid #5a788c;min-width:44px;height:39px;font-size:20px;touch-action:none;user-select:none}.touch-controls #touch-jump{font-size:12px;font-weight:900;padding:0 15px}
@media(min-height:850px){.setup-panel{top:40px;bottom:auto;padding:26px;max-height:calc(100% - 80px)}.setup-heading h1{font-size:39px}.setup-heading p{margin-bottom:26px}.terrain-choice canvas{height:54px}.setup-row{margin-top:19px}.team-row{padding:9px}.match-options{margin-top:22px;margin-bottom:23px}.setup-footnote{font-size:10px}}
@media(max-width:1150px){.topbar{gap:18px;padding:0 20px}.mode-tab{padding:0 12px}.setup-controls{gap:20px;padding:12px 20px}.fan-label{display:none}.play-controls{grid-template-columns:205px 1fr auto;column-gap:12px;padding:0 17px}.quick-weapons{gap:5px}.quick-weapon{width:41px}.quick-weapons .quick-weapon:nth-last-child(-n+2){display:none}.play-key-hint{gap:9px;font-size:8px}.weapon-hint{font-size:10px}.arsenal-button{padding:0 10px}.fire-controls{gap:8px}.current-weapon strong{font-size:22px}}
@media(max-height:730px) and (min-width:761px){.topbar{height:68px}.brand-word{font-size:37px}.brand-sub{font-size:11px}.setup-panel{top:15px;bottom:15px;padding:17px;width:320px}.setup-heading h1{font-size:30px}.setup-heading p{margin-bottom:14px}.setup-heading .eyebrow{font-size:9px}.setup-row{margin-top:11px}.team-label{margin-top:15px}.team-row{padding:5px 8px}.match-options{margin:12px 0;padding:8px 0}.setup-footnote{margin-top:10px}.start-button{min-height:42px;font-size:18px}.setup-controls{min-height:58px}.terrain-choice canvas{height:38px}}
@media(max-width:760px){.game-shell{min-height:560px}.topbar{height:67px;padding:0 14px;gap:12px}.brand{width:101px}.brand-word{font-size:33px}.brand-sub{font-size:9px;letter-spacing:3.2px;margin-top:6px}.mode-tabs{position:absolute;top:67px;left:0;width:100%;height:43px;background:#243a53e8;justify-content:center;z-index:11;gap:6px}.mode-tab{height:30px;font-size:11px;padding:0 15px}.top-actions{gap:7px}.icon-button{width:31px;height:31px;font-size:18px}.top-actions .icon-button:nth-child(3){display:none}.setup-panel{top:58px;left:15px;bottom:12px;width:288px;padding:16px;border-radius:9px;max-height:570px}.setup-heading h1{font-size:29px;margin:5px 0}.setup-heading p{font-size:11px;margin-bottom:14px}.eyebrow{font-size:9px}.setup-row{margin-top:12px;gap:9px}.setup-row label{font-size:10px}.setup-row select{font-size:11px;min-height:33px}.section-label{font-size:9px}.terrain-choice canvas{height:35px}.terrain-choice span{font-size:9px;padding:5px 0}.team-label{margin-top:16px}.team-row{padding:6px}.team-row input{font-size:11px}.match-options{margin:13px 0;padding:9px 0}.start-button{min-height:43px;font-size:19px}.setup-footnote{font-size:8px;margin-top:11px}.preview-caption{top:61px;right:15px}.preview-pill{font-size:8px;padding:5px 8px}.preview-caption p{font-size:10px}.setup-controls{min-height:55px;padding:10px 16px;gap:16px}.key-group{gap:3px}.key-group>span{font-size:8px;margin-left:3px}.key-group kbd{height:20px;min-width:18px;padding:0 3px;font-size:9px}.setup-controls .key-group:nth-child(2){display:none}.setup-controls>.text-button{font-size:10px;margin-left:auto}.setup-controls .text-button span{display:none}.match-title{font-size:12px;gap:7px}.match-round{display:none}.team-hud{top:12px;left:12px;width:140px;gap:5px}.team-score{padding:6px 7px;gap:6px}.team-score-name{font-size:9px}.team-score-hp{font-size:19px}.team-score-count{font-size:8px}.turn-hud{top:12px;left:auto;right:12px;transform:none;min-width:0;padding:8px 10px;gap:8px}.turn-clock{font-size:37px;min-width:45px;padding-right:8px}.turn-hud strong{font-size:15px}.turn-hud span:first-child{font-size:8px;letter-spacing:1px}.turn-hud span:last-child{display:none}.wind-hud{top:85px;right:12px;width:113px;padding:8px 10px}.wind-hud span{font-size:8px}.wind-hud strong{font-size:10px}.camera-tools{bottom:12px;right:12px;padding:2px;gap:5px}.target-prompt{top:137px;font-size:10px;width:240px}.play-controls{grid-template-columns:1fr auto;grid-template-rows:61px 24px;padding:0 12px;column-gap:8px}.quick-weapons{display:none}.current-weapon canvas{width:40px;height:40px}.current-weapon{gap:8px}.current-weapon strong{font-size:20px;white-space:normal;line-height:1.05}.current-weapon #ammo-label{font-size:8px}.weapon-label{font-size:7px}.weapon-chevron{display:none}.arsenal-button{font-size:10px;height:35px;padding:0 8px}.arsenal-button kbd{display:none}.fire-button{height:37px;min-width:71px;font-size:20px;gap:5px}.fire-button span{font-size:7px}.fire-controls{gap:6px}.fuse-controls label{font-size:7px}.fuse-controls select{font-size:10px;padding:1px}.weapon-hint{grid-column:1/3;font-size:9px}.play-key-hint{display:none}.arsenal-panel{right:12px;bottom:12px;max-width:calc(100% - 24px);padding:14px;max-height:calc(100% - 24px)}.arsenal-grid{grid-template-columns:repeat(5,1fr);gap:5px}.arsenal-item{min-height:72px}.arsenal-item .item-name{font-size:8px}.arsenal-item canvas{width:29px;height:29px}.arsenal-heading{margin-bottom:12px}.arsenal-heading h2{font-size:25px}.game-toast{font-size:11px;bottom:56px;padding:9px 13px;max-width:90%;width:max-content}.overlay{padding:15px}.dialog{padding:23px}.dialog h2{font-size:31px}.dialog>p{font-size:12px;margin-bottom:18px}.controls-grid{gap:12px;grid-template-columns:1fr}.controls-grid>div{font-size:11px}.controls-grid span{font-size:11px}.help-note{font-size:11px}.help-note strong{font-size:12px}.help-dialog .eyebrow{padding-right:24px}.result-stats{gap:20px}}
@media(max-width:500px){.is-setup .preview-caption{display:none}.is-setup .camera-tools{display:none}.setup-panel{left:50%;transform:translateX(-50%);width:min(334px,calc(100% - 28px));background:#1c2e47f5}.setup-controls .key-group:nth-child(1){display:none}.setup-controls{justify-content:center}.setup-controls>.text-button{margin-left:0}.match-title{font-size:10px}.match-title .status-dot{display:none}.topbar{gap:8px}.top-actions{gap:5px}.top-actions .icon-button{width:28px;height:28px}.arsenal-grid{grid-template-columns:repeat(4,1fr)}.touch-controls{padding:8px 12px}.touch-controls button{height:35px;min-width:41px}}
@media(pointer:coarse){.play-key-hint{display:none}.touch-controls:not([hidden]){display:flex}}
.touch-controls .touch-jumps button{font-size:10px;font-weight:900;padding:0 9px;min-width:42px}.touch-controls .touch-jumps #touch-jump{font-size:10px;padding:0 9px}
.context-controls{min-height:36px;display:flex;align-items:center;gap:11px;padding:5px 25px;border-top:1px solid #334e62;background:#192f46}.drop-button{height:29px;min-width:90px;padding:0 9px;background:#d6b866;color:#2d3b45;border:1px solid #f0d98a;box-shadow:0 2px 0 #8d7137;font:900 16px/.9 'Barlow Condensed',Impact,sans-serif;letter-spacing:.8px;display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0}.drop-button:hover:not(:disabled){background:#ebce79}.drop-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 #8d7137}.drop-button kbd{height:19px;min-width:20px;padding:0 4px;font-size:9px;color:#d6e0e4;background:#31495f;border-color:#5b7182;border-bottom-width:2px}.drop-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9eb5c5;font-size:10px;font-weight:700}@media(max-width:760px){.context-controls{min-height:33px;padding:4px 12px;gap:8px}.drop-button{height:27px;min-width:74px;font-size:14px;gap:5px}.drop-button kbd{display:none}.drop-hint{font-size:8px}}@media(max-width:500px){.context-controls{padding:4px 12px}.drop-button{min-width:70px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.round-clock{margin-top:6px;color:#c5d4d5;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums}.round-clock.urgent{color:#ffd277}.utility-status{margin-top:6px;padding-top:5px;border-top:1px solid #8facb54d;color:#e8e8b9;font-size:9px;font-weight:800;line-height:1.3;white-space:pre-line}@media(max-width:760px){.round-clock,.utility-status{font-size:8px}}

/* Alliance controls fit the existing team rows at every viewport. */
.team-row{display:grid;grid-template-columns:17px minmax(0,1fr) 63px}.team-alliance{grid-column:2/4;display:flex;align-items:center;gap:7px;font-size:10px;color:#adc1cf}.team-alliance select{margin-left:auto;width:103px}.alliance-badge{display:inline-block;flex-shrink:0;color:#142a3f;border-radius:3px;padding:1px 3px;font-size:9px;font-weight:900;line-height:1.2;vertical-align:middle}.alliance-hint,.alliance-warning{font-size:10px;line-height:1.5;margin:9px 0 0;color:#abc0cd}.alliance-warning{color:#ffce8f}.team-score-name .alliance-badge{font-size:8px}

/* Match progress stays legible alongside the existing health and worm counts. */
.team-hud{max-height:calc(100% - 24px);overflow:auto;scrollbar-width:thin}
.team-score{min-width:0}
.team-score-match{display:block;color:#c5d5d2;font-size:8px;font-weight:900;line-height:1;letter-spacing:.35px;text-align:right;white-space:nowrap}
.match-progress{margin-top:6px;padding-top:5px;border-top:1px solid #8facb54d;color:#f0d68e;font-size:8px;font-weight:900;letter-spacing:.45px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.round-clock{display:flex;flex-direction:column;gap:2px}
.round-clock-label{color:#9db8c0;font-size:7px;font-weight:900;letter-spacing:.7px;line-height:1.2}
.round-clock strong{color:#c5d4d5;font-size:9px;font-weight:900;line-height:1.2;font-variant-numeric:tabular-nums}
.round-clock.urgent strong{color:#ffd277}
.result-winners{margin:-8px 0 18px;padding:9px 11px;text-align:left;background:#29435be8;border:1px solid #698093;border-left:3px solid #f4d27f;border-radius:6px}
.result-section-label{display:block;margin-bottom:5px;color:#a9c1ce;font-size:8px;font-weight:900;letter-spacing:1px;line-height:1.2}
.result-winner-names{display:block;color:#f8e4ac;font-size:13px;font-weight:900;line-height:1.35;overflow-wrap:anywhere}
.result-sides{margin:0 0 20px;padding:10px 11px;text-align:left;background:#1a3048;border:1px solid #526b7d;border-radius:6px}
.result-sides>.result-section-label{margin-bottom:8px}
.result-side{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 6px;color:#c8d6db;border-radius:4px}
.result-side.winning{background:#3d4c4be8;color:#ffedb4;box-shadow:inset 3px 0 #f4d27f}
.result-side-name{min-width:0;overflow-wrap:anywhere;font-size:11px;font-weight:800;line-height:1.25}
.result-side-score{flex-shrink:0;color:#f8d98f;font:700 20px/1 'Barlow Condensed',Impact,sans-serif}
.match-title{min-width:0}
@media(max-width:760px){.match-title{flex:1;overflow:hidden;white-space:nowrap}.match-title #match-mode{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-round{display:inline;flex-shrink:0;font-size:8px;letter-spacing:.45px;margin-left:5px;padding-left:7px;white-space:nowrap}.match-progress{font-size:7px}.team-score-match{font-size:7px}.target-prompt{left:calc(12px + 140px + 8px);right:auto;width:min(105px,calc(100vw - 172px));transform:none;line-height:1.25}.result-winners{margin-top:-4px;margin-bottom:14px}.result-sides{margin-bottom:16px;padding:8px}.result-winner-names{font-size:12px}.result-side-name{font-size:10px}.result-side-score{font-size:18px}}
.loadout-hint{font-size:10px;line-height:1.5;margin:9px 0 0;color:#abc0cd}
