:root{
  color-scheme:dark;
  --ink:#f3f0df;--muted:#c0c4b5;--amber:#e9bf4e;--border:rgba(230,224,194,.28);
  --panel:rgba(24,30,22,.86);--font:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);
}
*{box-sizing:border-box;}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#63744f;color:var(--ink);font-family:var(--font);overscroll-behavior:none;touch-action:none;}
body{user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;}
button,a,summary{touch-action:manipulation;}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;}
button:disabled{opacity:.4;cursor:default;}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ffdd75;outline-offset:4px;}
button,svg{flex-shrink:0;}
svg{display:block;}
[hidden]{display:none!important;}
#gl{position:fixed;inset:0;width:100%;height:100%;display:block;outline:0;touch-action:none;}
#hud{position:fixed;inset:0;z-index:5;pointer-events:none;display:none;}
body.playing #hud{display:block;}
.hud-panel{background:var(--panel);border:1px solid var(--border);border-radius:2px;box-shadow:0 3px 10px rgba(0,0,0,.16);}
.match-counts{position:absolute;left:max(14px,var(--safe-left));top:max(14px,var(--safe-top));display:flex;padding:7px 0;}
.match-counts>div{display:flex;gap:12px;align-items:center;padding:0 13px;min-width:86px;}
.match-counts>div+div{border-left:1px solid var(--border);}
.match-counts span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#d4d6c6;}
.match-counts b{font:500 28px/1 Impact,"Arial Narrow",var(--font);font-variant-numeric:tabular-nums;}
.match-tools{position:absolute;top:max(14px,var(--safe-top));left:202px;display:flex;gap:7px;pointer-events:auto;}
.icon-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:3px;background:rgba(27,32,24,.80);font-size:20px;font-weight:700;}
.icon-button:hover{background:#50573b;border-color:var(--amber);}
.zone-panel{position:absolute;left:50%;top:max(14px,var(--safe-top));transform:translateX(-50%);min-width:220px;padding:8px 18px;border-top:2px solid var(--amber);text-align:center;}
.zone-panel span{display:block;color:var(--amber);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.zone-panel b{display:block;margin-top:5px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;}
.map-panel{position:absolute;right:max(14px,var(--safe-right));top:max(14px,var(--safe-top));width:154px;padding:3px;background:#263220;border:1px solid rgba(238,229,196,.58);box-shadow:0 4px 14px rgba(0,0,0,.25);pointer-events:auto;cursor:pointer;}
#minimap{width:100%;height:auto;display:block;aspect-ratio:1;background:#536d42;}
.map-panel>span{display:flex;align-items:center;justify-content:space-between;padding:5px 4px 2px;font-size:8px;font-weight:800;letter-spacing:.12em;color:#e1e0ce;}
.map-panel>span b{font-size:7px;color:#c1c8b2;font-weight:600;}
body.map-open .map-panel,.map-panel.expanded{width:min(66vh,70vw);z-index:14;}
#crosshair{position:fixed;left:50%;top:50%;width:28px;height:28px;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 1px #252a1d);}
#crosshair i{position:absolute;background:rgba(255,255,243,.93);border-radius:1px;}
#crosshair i:nth-child(1){width:2px;height:7px;top:0;left:13px;}
#crosshair i:nth-child(2){width:2px;height:7px;bottom:0;left:13px;}
#crosshair i:nth-child(3){width:7px;height:2px;left:0;top:13px;}
#crosshair i:nth-child(4){width:7px;height:2px;right:0;top:13px;}
body.aiming #crosshair{transform:translate(-50%,-50%) scale(.65);}
body.launcher-equipped #crosshair{width:34px;height:34px;border:1px solid rgba(255,234,182,.7);border-radius:50%;}
body.launcher-equipped #crosshair i:nth-child(1),body.launcher-equipped #crosshair i:nth-child(2){left:15px;}
body.launcher-equipped #crosshair i:nth-child(3),body.launcher-equipped #crosshair i:nth-child(4){top:15px;}
/* Brief, local hit confirmation and perimeter damage feedback keep the
   opponent and sight line visible. These layers never intercept input. */
body::after{content:"";position:fixed;inset:0;z-index:3;pointer-events:none;opacity:0;border:3px solid rgba(214,94,65,.5);box-shadow:inset 0 0 44px 13px rgba(171,45,23,.22);transition:opacity .16s ease-out;}
body.playing.hurt::after{opacity:1;transition-duration:.04s;}
body.hurt .health-track{border-color:#ffb19a;}
body.hurt #hpFill{background:#f0b197;}
#crosshair.hit i{background:#ffdb71;}
#crosshair.hit::before,#crosshair.hit::after{content:"";position:absolute;left:13px;top:7px;width:2px;height:14px;background:#ffe69a;pointer-events:none;}
#crosshair.hit::before{transform:rotate(45deg);}
#crosshair.hit::after{transform:rotate(-45deg);}
#messageBox{position:absolute;left:50%;top:62%;transform:translateX(-50%);max-width:min(460px,75vw);padding:8px 14px;text-align:center;background:rgba(19,26,17,.86);border-left:2px solid var(--amber);border-radius:2px;font-size:12px;line-height:1.4;color:#fff5d0;text-shadow:0 1px 1px #131b11;}
#messageBox:empty{display:none;}
.loot-area{position:absolute;left:50%;bottom:198px;transform:translateX(-50%);max-width:260px;text-align:center;}
#lootPrompt{margin-bottom:6px;font-size:11px;line-height:1.4;color:#faf3d8;text-shadow:0 1px 4px #172310;}
.loot-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;max-width:100%;margin:auto;padding:9px 13px;border:1px solid var(--amber);border-radius:2px;background:rgba(57,65,33,.90);font-size:11px;font-weight:700;color:#f8e5ab;pointer-events:auto;}
.loot-button kbd{padding:2px 4px;border:1px solid #a7ad7b;border-radius:2px;font:9px var(--font);}
.action-progress{position:absolute;left:50%;bottom:158px;transform:translateX(-50%);max-width:70vw;border-bottom:2px solid var(--amber);background:rgba(21,29,15,.86);padding:7px 14px;font-size:11px;color:#f6e5b4;text-align:center;font-variant-numeric:tabular-nums;}
.weapon-panel{position:absolute;left:50%;bottom:max(18px,var(--safe-bottom));transform:translateX(-50%);width:340px;padding:9px 12px 10px;border-bottom:2px solid var(--amber);}
.operator-status{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:800;letter-spacing:.08em;color:#c8ccba;}
.operator-status b{margin-left:6px;font-size:10px;color:#f5f1df;font-variant-numeric:tabular-nums;}
.health-track{height:7px;margin-top:5px;background:#444b39;border:1px solid rgba(239,238,215,.36);overflow:hidden;}
#hpFill{display:block;width:100%;height:100%;background:linear-gradient(90deg,#c4d09e,#f4f0d2);}
.weapon-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0 8px;}
.weapon-status>b{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.weapon-status>div{font-size:12px;color:#c2c7b3;font-variant-numeric:tabular-nums;white-space:nowrap;}
.weapon-status strong{font:500 26px/.9 Impact,"Arial Narrow",var(--font);color:#f2efd8;}
.weapon-mode{font-size:8px;line-height:1.3;color:#b9c2af;letter-spacing:.025em;margin:-3px 0 7px;}
body.launcher-equipped .weapon-mode{color:#f2ce72;}
.weapon-slots{display:flex;gap:6px;pointer-events:auto;}
.slot-button{flex:1;min-width:0;min-height:32px;padding:5px 8px;border:1px solid var(--border);border-radius:2px;background:rgba(196,207,162,.04);font-size:10px;font-weight:700;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
.slot-button.active,.slot-button[aria-pressed=true]{background:rgba(211,173,62,.21);border-color:var(--amber);color:#fff0b5;}
.utility-bar{position:absolute;right:max(18px,var(--safe-right));bottom:max(20px,var(--safe-bottom));display:flex;gap:7px;pointer-events:auto;}
.utility-button{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;width:54px;min-height:61px;padding:7px 5px;border:1px solid var(--border);border-radius:3px;background:rgba(24,30,22,.76);color:#eeeede;font-size:9px;font-weight:700;}
.utility-button>span{font-size:21px;line-height:1;}
.utility-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;}
.utility-button kbd{font:8px/1 var(--font);color:#c1c8b3;}
.utility-button:hover{border-color:var(--amber);background:#515639;}
.grenade-button{position:relative;}
.utility-button>.grenade-count{position:absolute;top:3px;right:4px;display:grid;place-items:center;min-width:14px;height:14px;padding:1px 3px;border-radius:2px;background:#d4b65b;color:#22290f;font-size:9px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;}
.utility-button:active,.icon-button:active{transform:scale(.96);}

/* Touch look is a transparent area behind the explicit action controls. */
.touch-only{display:none;}
#touchControls{position:fixed;inset:0;z-index:4;pointer-events:none;}
#lookPad{position:absolute;left:42%;right:0;top:0;bottom:0;pointer-events:auto;touch-action:none;}
#movePad{position:absolute;left:max(34px,var(--safe-left));bottom:max(155px,calc(var(--safe-bottom) + 135px));width:116px;height:116px;border-radius:50%;border:2px solid rgba(245,242,213,.42);background:rgba(31,42,23,.17);box-shadow:inset 0 0 0 7px rgba(22,30,18,.10);pointer-events:auto;touch-action:none;}
#moveKnob{position:absolute;left:50%;top:50%;width:49px;height:49px;border-radius:50%;border:1px solid rgba(248,245,215,.55);background:rgba(226,231,199,.22);transform:translate(-50%,-50%);pointer-events:none;}
.touch-button{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:51px;height:51px;border:1px solid rgba(244,239,204,.5);border-radius:50%;background:rgba(33,41,26,.37);color:rgba(250,248,226,.94);font-size:23px;line-height:1;padding:4px;pointer-events:auto;touch-action:none;text-shadow:0 1px 2px #222c1a;}
.touch-button small{display:block;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-top:2px;}
.touch-button svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;}
.touch-button:active,.touch-button.active,.touch-button[aria-pressed=true]{background:rgba(155,137,57,.6);border-color:#f2d471;}
.sprint-button{left:max(66px,var(--safe-left));bottom:max(282px,calc(var(--safe-bottom) + 262px));}
.aim-button{right:max(32px,var(--safe-right));top:40%;}
.fire-button{right:max(36px,var(--safe-right));top:52%;width:75px;height:75px;border-width:2px;background:rgba(37,44,28,.35);}
.fire-button svg{width:41px;height:41px;}
.stance-buttons{position:absolute;display:flex;gap:13px;right:max(20px,var(--safe-right));bottom:max(151px,calc(var(--safe-bottom) + 131px));pointer-events:none;}
.stance-buttons .touch-button{position:relative;}

.overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(12,18,11,.74);backdrop-filter:blur(5px);}
.lobby-overlay{align-items:flex-end;justify-content:flex-start;padding:58px 7vw 58px;background:linear-gradient(90deg,rgba(16,23,14,.88) 0%,rgba(22,31,17,.55) 40%,rgba(22,31,17,.04) 76%),linear-gradient(0deg,rgba(12,18,10,.6),transparent 70%);backdrop-filter:none;pointer-events:none;}
.site-link{position:absolute;left:max(22px,var(--safe-left));top:max(20px,var(--safe-top));padding:8px 10px;color:#eeeedb;text-decoration:none;font-size:11px;font-weight:700;pointer-events:auto;border:1px solid rgba(233,233,204,.25);background:rgba(20,28,15,.32);border-radius:2px;}
.site-link:hover{border-color:var(--amber);color:#ffdc80;}
.lobby-content{width:min(460px,70vw);max-height:calc(100dvh - 120px);overflow:auto;scrollbar-width:thin;pointer-events:auto;padding:2px 5px 0 0;}
.field-label{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#e9dba8;font-size:9px;font-weight:800;letter-spacing:.12em;}
.field-label svg{width:28px;height:28px;fill:none;stroke:var(--amber);stroke-width:1.8;}
.field-label>span{margin-left:8px;border-left:1px solid #8d916c;padding-left:14px;font-size:8px;letter-spacing:.08em;color:#d0d8bd;}
.lobby-content h1{margin:23px 0 18px;font:500 clamp(55px,8vw,110px)/.86 Impact,"Arial Narrow",var(--font);letter-spacing:.018em;text-transform:uppercase;color:#f6f2de;text-shadow:0 5px 35px rgba(0,0,0,.2);}
.lobby-content h1 em{display:block;font:inherit;color:var(--amber);margin-top:9px;}
.lobby-description{margin:0 0 22px;font-size:15px;line-height:1.55;color:#dfe5d0;}
.insertion-option{display:flex;align-items:center;gap:10px;width:fit-content;margin:0 0 16px;cursor:pointer;font-size:11px;font-weight:700;color:#e3e9d3;}
.insertion-option input{width:18px;height:18px;margin:0;accent-color:var(--amber);cursor:pointer;}
.insertion-option small{display:block;margin-top:3px;font-size:9px;font-weight:400;color:#b7c5a8;}
.primary-button{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:52px;border:1px solid #ecc75c;border-radius:2px;background:linear-gradient(110deg,#f0d17a,#d5a82f);color:#252711;padding:13px 21px;font-size:15px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 5px 15px rgba(0,0,0,.2);}
.primary-button:hover{background:linear-gradient(110deg,#f6df99,#e9bc42);}
.primary-button:active{transform:translateY(1px);}
#playBtn{max-width:320px;justify-content:space-between;font-size:20px;min-height:60px;}
#playBtn>span{font-size:30px;line-height:.7;}
.match-note{margin:10px 0 0;font-size:10px;color:#c3cdb5;}
.controls-guide{margin-top:20px;max-width:360px;border-top:1px solid rgba(224,230,192,.27);color:#d8e0c8;}
.controls-guide summary{font-size:10px;letter-spacing:.10em;font-weight:800;text-transform:uppercase;cursor:pointer;min-height:36px;padding-top:12px;}
.controls-guide p{font-size:11px;line-height:1.8;color:#c3cfb4;}
.controls-guide p b{color:#f5f0d7;font-size:10px;}
.touch-guide{display:none;}
.lobby-tag{position:absolute;right:30px;bottom:30px;padding:0 0 0 12px;border-left:2px solid var(--amber);color:#dce4cb;font-size:9px;font-weight:800;letter-spacing:.18em;}
.lobby-tag span{display:block;margin-top:6px;color:#b9c7a6;font-size:8px;font-weight:500;}
.dialog-panel{width:min(430px,94vw);max-height:calc(100dvh - 44px);overflow:auto;padding:28px 26px;border:1px solid rgba(213,221,174,.3);border-top:3px solid var(--amber);background:linear-gradient(135deg,#323d28,#1d291b);border-radius:3px;box-shadow:0 20px 60px rgba(0,0,0,.38);text-align:center;scrollbar-width:thin;}
.eyebrow{display:block;color:#eacb73;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;}
.dialog-panel h2{margin:9px 0 12px;font:500 37px/1 Impact,"Arial Narrow",var(--font);text-transform:uppercase;letter-spacing:.02em;}
.dialog-panel p{color:#c4cfb7;font-size:13px;line-height:1.6;}
.dialog-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px;}
.secondary-button{width:100%;min-height:45px;padding:10px 14px;border:1px solid rgba(224,232,195,.32);border-radius:2px;background:rgba(228,235,195,.04);font-size:12px;font-weight:700;}
.secondary-button:hover{background:rgba(228,235,195,.11);}
.text-link{display:inline-block;margin-top:18px;color:#cfd9bb;font-size:11px;text-decoration:underline;text-underline-offset:4px;}
.inventory-overlay{justify-content:flex-end;padding:18px;background:linear-gradient(90deg,rgba(14,22,11,.18),rgba(14,22,11,.7));backdrop-filter:blur(2px);}
.inventory-panel{height:auto;max-height:calc(100dvh - 36px);text-align:left;}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;}
.dialog-heading h2{font-size:30px;margin-bottom:0;}
#inventoryList{display:flex;flex-direction:column;gap:8px;}
#inventoryList>div,#inventoryList>article,#inventoryList>button{border:1px solid rgba(218,228,185,.23);border-radius:2px;background:rgba(10,20,8,.26);padding:10px;font-size:12px;line-height:1.5;}
#inventoryList button{min-height:36px;border:1px solid rgba(229,202,113,.55);border-radius:2px;padding:6px 11px;font-size:11px;font-weight:700;background:#525735;}
#inventoryList button:hover{background:#737542;}
#inventoryList small{color:#b9c7a8;}
#inventoryList .inventory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;}
.inventory-row>b{grid-column:1;font-size:10px;letter-spacing:.055em;text-transform:uppercase;color:#f1e3b4;}
.inventory-row>span{grid-column:1;min-width:0;font-size:11px;line-height:1.5;color:#d3ddc4;overflow-wrap:anywhere;}
#inventoryList .inventory-row>button{grid-column:2;grid-row:1 / span 2;width:auto;min-width:66px;min-height:44px;}
.inventory-row>.inventory-equipped{grid-column:2;grid-row:1 / span 2;align-self:center;padding:5px 7px;border:1px solid rgba(231,198,96,.5);border-radius:2px;color:#f3d888;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
#inventoryList .inventory-row.inventory-equipped{border-color:rgba(231,198,96,.5);background:rgba(210,181,86,.09);}
.inventory-row>.inventory-empty{color:#b8c6a7;font-style:italic;}
#inventoryList .inventory-row.inventory-empty{border-style:dashed;background:rgba(15,25,10,.16);}
#inventoryList .inventory-stats{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 12px;font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums;}
.inventory-stats b,.inventory-stats strong{color:#f0dfab;}
.inventory-stats span{color:#c1ceb1;overflow-wrap:anywhere;}
.panel-note{font-size:10px!important;color:#aebb9c!important;margin-bottom:0;}
#endStats{margin:18px 0;padding:15px;border:1px solid var(--border);border-radius:2px;background:rgba(16,24,11,.3);font-size:14px;line-height:1.8;color:#d6dfc4;}
#endStats strong,#endStats b{color:#f1d383;font-variant-numeric:tabular-nums;}
.no-script{position:fixed;inset:0;z-index:30;display:grid;place-content:center;gap:20px;padding:25px;text-align:center;background:#1e2b19;}
.no-script a{color:var(--amber);}

@media (hover:none),(pointer:coarse){
  body.playing .touch-only{display:block;}
  .keyboard-guide{display:none;}.touch-guide{display:block;}
  .utility-button kbd{display:none;}
  .loot-button kbd{display:none;}
  .loot-button{min-height:44px;}
}
body.touch.playing .touch-only{display:block;}
body.touch .keyboard-guide{display:none;}body.touch .touch-guide{display:block;}
body.touch .utility-button kbd{display:none;}
body.touch .loot-button kbd{display:none;}
body.touch .loot-button{min-height:44px;}
@media(max-width:920px){
  .zone-panel{min-width:190px;padding:8px 11px;}
  .match-counts>div{min-width:74px;padding:0 10px;gap:9px;}
  .match-tools{left:177px;gap:5px;}
  .map-panel{width:125px;}
  .weapon-panel{width:300px;}
  .utility-button{width:43px;font-size:8px;}
}
@media(max-width:620px){
  .match-counts{left:max(10px,var(--safe-left));top:max(10px,var(--safe-top));padding:7px 0;}
  .match-counts>div{min-width:67px;padding:0 9px;gap:8px;}
  .match-counts span{font-size:8px;}.match-counts b{font-size:24px;}
  .match-tools{left:157px;top:max(11px,var(--safe-top));gap:5px;}
  .match-tools .icon-button{width:31px;height:32px;font-size:17px;}
  .map-panel{width:103px;right:max(10px,var(--safe-right));top:max(10px,var(--safe-top));}
  .map-panel>span{font-size:7px;padding-top:4px;}.map-panel>span b{font-size:6px;}
  .zone-panel{left:max(10px,var(--safe-left));top:max(61px,calc(var(--safe-top) + 51px));transform:none;min-width:0;max-width:calc(100vw - 134px);width:225px;padding:7px 9px;text-align:left;}
  .zone-panel span{font-size:8px;letter-spacing:.07em;}.zone-panel b{font-size:10px;line-height:1.3;}
  .weapon-panel{width:calc(100% - 28px);max-width:360px;bottom:max(12px,var(--safe-bottom));padding:8px 10px;}
  .weapon-status{margin:6px 0;}.weapon-status>b{font-size:11px;}
  .slot-button{font-size:9px;min-height:33px;}
  .utility-bar{top:max(133px,calc(var(--safe-top) + 123px));right:max(10px,var(--safe-right));bottom:auto;gap:5px;}
  .utility-button{width:44px;min-height:47px;font-size:8px;padding:5px 3px;gap:2px;background:rgba(26,35,19,.65);}
  .utility-button>span{font-size:17px;}.utility-button svg{width:17px;height:17px;}
  #messageBox{top:32%;max-width:84vw;font-size:11px;padding:7px 10px;}
  .loot-area{bottom:192px;width:150px;max-width:150px;}#lootPrompt{font-size:10px;}.loot-button{width:100%;min-height:42px;font-size:10px;padding:8px;}.action-progress{bottom:147px;font-size:10px;}
  #movePad{left:max(23px,var(--safe-left));bottom:max(147px,calc(var(--safe-bottom) + 127px));width:112px;height:112px;}
  .sprint-button{left:max(54px,var(--safe-left));bottom:max(270px,calc(var(--safe-bottom) + 250px));}
  .aim-button{right:max(25px,var(--safe-right));top:41%;width:46px;height:46px;}
  .fire-button{right:max(21px,var(--safe-right));top:53%;width:74px;height:74px;border-color:rgba(255,237,173,.8);}
  .stance-buttons{right:max(14px,var(--safe-right));bottom:max(147px,calc(var(--safe-bottom) + 127px));gap:10px;}
  .stance-buttons .touch-button{width:47px;height:47px;}
  .lobby-overlay{padding:80px 25px 35px;align-items:flex-end;background:linear-gradient(0deg,rgba(15,23,11,.91),rgba(18,28,12,.55) 63%,rgba(18,28,12,.04));}
  .lobby-content{width:100%;max-height:calc(100dvh - 115px);}
  .lobby-content h1{font-size:clamp(53px,15vw,82px);margin:19px 0 15px;}
  .lobby-content h1 em{margin-top:8px;}
  .lobby-description{font-size:13px;margin-bottom:18px;}
  .field-label{font-size:8px;gap:7px;}.field-label>span{font-size:7px;margin-left:3px;padding-left:9px;}.field-label svg{width:24px;height:24px;}
  #playBtn{max-width:100%;font-size:18px;min-height:53px;}
  .match-note{font-size:9px;}.controls-guide{margin-top:15px;max-width:none;}
  .lobby-tag{display:none;}.site-link{left:14px;top:max(14px,var(--safe-top));font-size:10px;}
  .dialog-panel{padding:23px 18px;}.dialog-panel h2{font-size:32px;}
  .inventory-overlay{padding:12px;}.inventory-panel{max-height:calc(100dvh - 24px);}
}
@media(max-height:600px){
  .lobby-overlay{padding-top:65px;padding-bottom:22px;}
  .lobby-content{max-height:calc(100dvh - 92px);}
  .lobby-content h1{font-size:58px;margin:15px 0 13px;}
  .lobby-description{font-size:12px;margin-bottom:14px;}
  #playBtn{min-height:46px;font-size:17px;}
  .controls-guide{margin-top:10px;}
  .match-note{font-size:9px;}
}
@media(max-height:500px) and (orientation:landscape){
  .map-panel{width:88px;top:max(8px,var(--safe-top));right:max(8px,var(--safe-right));}
  .zone-panel{left:50%;top:max(8px,var(--safe-top));transform:translateX(-50%);width:185px;min-width:0;max-width:none;padding:6px 10px;text-align:center;}
  .zone-panel span{font-size:8px;}.zone-panel b{font-size:10px;margin-top:3px;}
  .match-counts{left:max(9px,var(--safe-left));top:max(8px,var(--safe-top));}.match-counts>div{min-width:64px;gap:8px;padding:0 8px;}
  .match-counts span{font-size:8px;}.match-counts b{font-size:22px;}
  .match-tools{left:max(10px,var(--safe-left));top:57px;}.match-tools .icon-button{width:29px;height:29px;font-size:16px;}
  .weapon-panel{width:238px;bottom:max(8px,var(--safe-bottom));padding:6px 8px;}
  .operator-status{font-size:7px;}.operator-status b{font-size:8px;}.health-track{height:5px;margin-top:4px;}
  .weapon-status{margin:5px 0;}.weapon-status>b{font-size:10px;}.weapon-status strong{font-size:20px;}
  .slot-button{min-height:25px;font-size:8px;padding:3px 5px;}
  .utility-bar{top:auto;bottom:max(10px,var(--safe-bottom));right:max(15px,var(--safe-right));gap:5px;}
  .utility-button{width:44px;min-height:44px;font-size:8px;padding:4px 2px;gap:2px;}.utility-button>span{font-size:17px;}.utility-button svg{width:17px;height:17px;}.utility-button kbd{display:none;}.utility-button>.grenade-count{font-size:8px;}
  #movePad{left:max(26px,var(--safe-left));bottom:max(34px,var(--safe-bottom));width:94px;height:94px;}
  #moveKnob{width:42px;height:42px;}.sprint-button{left:max(49px,var(--safe-left));bottom:max(144px,calc(var(--safe-bottom) + 116px));width:44px;height:44px;}
  .aim-button{right:max(96px,var(--safe-right));top:40%;width:44px;height:44px;}
  .fire-button{right:max(22px,var(--safe-right));top:40%;width:68px;height:68px;}
  .stance-buttons{right:max(25px,var(--safe-right));bottom:max(70px,calc(var(--safe-bottom) + 52px));gap:10px;}.stance-buttons .touch-button{width:44px;height:44px;font-size:19px;}.touch-button small{font-size:7px;}
  #messageBox{top:63%;font-size:10px;max-width:45vw;}
  .loot-area{bottom:157px;width:auto;max-width:210px;}.loot-button{min-height:34px;padding:6px 12px;font-size:10px;}#lootPrompt{font-size:9px;margin-bottom:4px;}.action-progress{bottom:110px;font-size:10px;padding:5px 11px;}
  .lobby-overlay{padding:59px 7vw 16px;}.lobby-content{max-height:calc(100dvh - 74px);width:390px;}
  .lobby-content h1{font-size:49px;line-height:.84;margin:13px 0 10px;}.lobby-content h1 em{margin-top:5px;}.lobby-content h1 br{display:none;}
  .lobby-description{font-size:11px;margin-bottom:11px;}.lobby-description br{display:none;}
  .insertion-option{font-size:10px;margin-bottom:10px;}.insertion-option small{font-size:8px;}
  .field-label svg{width:21px;height:21px;}.field-label{font-size:8px;}.field-label>span{font-size:7px;}
  #playBtn{min-height:42px;max-width:270px;font-size:16px;}.match-note{font-size:8px;margin-top:7px;}
  .controls-guide{margin-top:7px;max-width:310px;}.controls-guide summary{min-height:28px;font-size:8px;padding-top:8px;}.controls-guide p{font-size:9px;line-height:1.6;}
  .site-link{top:max(9px,var(--safe-top));font-size:9px;}.dialog-panel{max-height:calc(100dvh - 24px);padding:20px;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
@media(prefers-reduced-motion:reduce){body::after{display:none;}#crosshair.hit::before,#crosshair.hit::after{background:#f3f0df;}}
