*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#05070b;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Tahoma,sans-serif;overscroll-behavior:none}body{touch-action:none}canvas{position:fixed;inset:0;display:block;width:100%;height:100%;outline:none}.hidden{display:none!important}
.overlay{position:fixed;inset:0;z-index:60;overflow:auto;background:linear-gradient(180deg,#02050ac7,#05080ee8);backdrop-filter:blur(10px)}.lobby-shell{width:min(1180px,94vw);margin:0 auto;padding:clamp(22px,5vw,58px) 0 40px}.brand-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:3px;color:#70ddff}.brand-row h1{margin:5px 0 0;font-size:clamp(33px,7vw,62px);line-height:.9;letter-spacing:-3px;font-style:italic}.brand-row h1 span{color:#74e3ff}.pill{height:36px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid #ffffff16;border-radius:11px;background:#0a111dcc;font-size:11px;font-weight:800;color:#c8d3e5}.pill i{width:8px;height:8px;border-radius:50%;background:#f1c75b;box-shadow:0 0 12px currentColor}.pill.online i{background:#50e38d}.pill.offline i{background:#ff6274}
.lobby-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.panel{border:1px solid #ffffff16;border-radius:22px;background:linear-gradient(180deg,#0c1420ed,#080d15ed);box-shadow:0 28px 90px #0008,inset 0 1px #ffffff08;padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.panel-head b,.join-private b{display:block;font-size:17px}.panel-head small,.join-private small{display:block;color:#7f8da3;margin-top:3px;font-size:11px}.field{display:block;margin-bottom:13px}.field span,.map-title{display:block;color:#8290a5;font-size:10px;font-weight:900;letter-spacing:.8px;margin:0 0 6px}.field input,.field select,.code-row input{width:100%;height:46px;padding:0 13px;border:1px solid #ffffff17;border-radius:11px;background:#050a12c9;color:#fff;outline:none;font-size:14px}.field input:focus,.code-row input:focus,.field select:focus{border-color:#63d9ff87;box-shadow:0 0 0 3px #63d9ff12}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ghost,.primary{border:1px solid #ffffff1f;border-radius:10px;color:#dbe7f6;background:#101a27;cursor:pointer;font-weight:850}.ghost{height:36px;padding:0 12px}.ghost:hover{background:#162333}.ghost.strong{height:46px}.primary{width:100%;height:50px;border:0;background:linear-gradient(135deg,#83e8ff,#35aaff);color:#03131d;box-shadow:0 10px 28px #38b9ff22;font-size:14px}.primary:hover{filter:brightness(1.06)}
.room-list{height:407px;overflow:auto;padding-right:2px}.empty{display:grid;place-items:center;height:170px;border:1px dashed #ffffff13;border-radius:14px;color:#657286;font-size:12px}.room{width:100%;margin-bottom:8px;border:1px solid #ffffff12;border-radius:14px;background:#070d16d8;color:#fff;padding:12px;text-align:right;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.room:hover{border-color:#5bd7ff55;background:#0a1320}.room strong{display:block;font-size:14px}.room small{color:#77869b;font-size:10px}.room .room-side{text-align:left;direction:ltr}.room .count{font-weight:950;color:#8eeaff}.map-pill{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:6px;background:#ffffff0a;color:#9eacc0;font-size:9px!important}.map-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:13px}.map-card{min-height:92px;border:1px solid #ffffff15;border-radius:12px;background:#080f19;color:#fff;text-align:right;padding:11px;cursor:pointer;position:relative;overflow:hidden}.map-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#3ed5ff0f,transparent 55%)}.map-card strong,.map-card small{position:relative;display:block}.map-card strong{font-size:11px}.map-card small{color:#718096;font-size:9px;line-height:1.5;margin-top:5px}.map-card.selected{border-color:#6fe1ff8f;box-shadow:inset 0 0 0 1px #6fe1ff22,0 0 28px #2bc8ff0d;background:#0b1724}.join-private{margin-top:16px;padding-top:15px;border-top:1px solid #ffffff10}.code-row{display:grid;grid-template-columns:1fr 86px;gap:8px;margin-top:10px}.code-row input{text-align:center;text-transform:uppercase;letter-spacing:4px;font-weight:950}.result{min-height:17px;font-size:11px;color:#75e6a7;margin-top:7px}.lobby-error{min-height:26px;padding-top:9px;text-align:center;color:#ff8795;font-size:12px}
#topbar{position:fixed;z-index:18;left:16px;right:16px;top:max(14px,env(safe-area-inset-top));display:flex;align-items:center;gap:9px;direction:ltr;pointer-events:none}#connection,#playersCount,#roomBadge,#leaveRoom{height:36px;border:1px solid #ffffff16;border-radius:10px;background:#07101ad5;backdrop-filter:blur(10px);display:flex;align-items:center;color:#d3dfef}#connection{padding:0 10px;gap:7px;font-size:10px;font-weight:900}#connection i{width:7px;height:7px;border-radius:50%;background:#53e496;box-shadow:0 0 10px #53e496}#roomBadge{padding:0 11px;min-width:155px;display:block;padding-top:5px;line-height:1.05}#roomBadge b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#roomBadge small{font-size:8px;color:#7d8da3}#playersCount{padding:0 11px;margin-left:auto;font-size:10px;font-weight:900}#leaveRoom{pointer-events:auto;padding:0 12px;cursor:pointer;font-size:10px;font-weight:900;background:#39111acf;border-color:#ff627638;color:#ff9aa6}#privateCodeBadge{position:fixed;z-index:16;left:50%;top:16px;transform:translateX(-50%);background:#0a1420dd;border:1px solid #70dcff35;border-radius:9px;padding:7px 10px;font-size:10px;color:#9eafc2;direction:rtl}#privateCodeBadge b{color:#7be6ff;letter-spacing:2px}
#hud{position:fixed;z-index:15;left:16px;bottom:max(16px,env(safe-area-inset-bottom));direction:ltr;display:flex;gap:8px;pointer-events:none}.hud-block{min-width:112px;height:64px;border:1px solid #ffffff15;border-radius:12px;background:#07101ad5;backdrop-filter:blur(10px);padding:8px 10px;box-shadow:0 8px 28px #0005}.hud-block>span{display:block;font-size:8px;letter-spacing:1.2px;color:#8291a7;font-weight:900}.hud-block>b{font-size:23px;line-height:1.15}.hp-track{height:3px;background:#ffffff12;border-radius:99px;overflow:hidden;margin-top:4px}.hp-track i{display:block;width:100%;height:100%;background:#70ebd0;transition:width .15s}.score{min-width:90px}.score small{display:block;color:#65758a;font-size:7px;letter-spacing:1px}
#crosshair{position:fixed;z-index:14;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none;transition:transform .12s}#crosshair.ads{transform:translate(-50%,-50%) scale(.62)}#crosshair i{position:absolute;background:#fff;border-radius:2px;box-shadow:0 0 2px #000}#crosshair i:nth-child(1){width:8px;height:2px;left:0;top:16px}#crosshair i:nth-child(2){width:8px;height:2px;right:0;top:16px}#crosshair i:nth-child(3){height:8px;width:2px;left:16px;top:0}#crosshair i:nth-child(4){height:8px;width:2px;left:16px;bottom:0}#crosshair b{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;left:15.5px;top:15.5px}#hitmarker{position:fixed;z-index:17;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);font:700 38px/1 Arial;color:#fff;opacity:0;pointer-events:none;text-shadow:0 0 8px #000;transition:opacity .06s,transform .06s}#hitmarker.show{opacity:1;transform:translate(-50%,-50%) scale(1)}#damageFlash{position:fixed;inset:0;z-index:10;pointer-events:none;box-shadow:inset 0 0 130px 36px #ff233b55;opacity:0;transition:opacity .1s}#damageFlash.show{opacity:1}#killfeed{position:fixed;z-index:16;right:16px;top:62px;max-width:min(70vw,360px);text-align:right;pointer-events:none}.feed{margin-bottom:6px;padding:7px 10px;border:1px solid #ffffff10;border-radius:8px;background:#07101ad5;backdrop-filter:blur(8px);font-size:11px}.feed strong{color:#78e1ff}#tips{position:fixed;z-index:16;left:50%;bottom:18px;transform:translateX(-50%);padding:7px 10px;border:1px solid #ffffff15;border-radius:8px;background:#050a11c9;color:#9aabc0;font-size:10px;opacity:0;transition:.15s;pointer-events:none}#tips.show{opacity:1}
#mobile{display:none;position:fixed;inset:0;z-index:20;pointer-events:none}#joy{position:absolute;left:20px;bottom:max(24px,env(safe-area-inset-bottom));width:128px;height:128px;border:1px solid #ffffff38;border-radius:50%;background:#07101a50;pointer-events:auto;touch-action:none}#joy:before{content:"";position:absolute;inset:18px;border:1px solid #ffffff12;border-radius:50%}#stick{position:absolute;width:52px;height:52px;left:38px;top:38px;border-radius:50%;background:#d9f7ffb7;box-shadow:0 4px 18px #0006;will-change:transform}#fire,#jump,#aim,#sprint{position:absolute;border:1px solid #ffffff50;color:#fff;font-weight:950;background:#08121daa;backdrop-filter:blur(6px);pointer-events:auto;touch-action:none;box-shadow:0 7px 20px #0005}#fire{right:20px;bottom:max(26px,env(safe-area-inset-bottom));width:90px;height:90px;border-radius:50%;background:#e64e5a48}#jump{right:121px;bottom:max(38px,env(safe-area-inset-bottom));width:63px;height:63px;border-radius:50%;font-size:9px}#aim{right:29px;bottom:126px;width:58px;height:58px;border-radius:50%;font-size:9px}#sprint{right:104px;bottom:126px;width:64px;height:54px;border-radius:18px;font-size:8px;background:#46d98d35}#aim.active{background:#39bce855;border-color:#7ce8ff}#sprint.active{background:#51e79a65;border-color:#8fffc1;box-shadow:0 0 24px #3fea9270}
@media(max-width:860px){.lobby-grid{grid-template-columns:1fr}.room-list{height:250px}.map-picker{grid-template-columns:1fr}.map-card{min-height:65px}.brand-row{align-items:flex-start}.brand-row h1{font-size:42px}.panel{padding:15px}}
@media(pointer:coarse),(max-width:800px){#mobile{display:block}#hud{bottom:162px;left:11px}.hud-block{height:56px;min-width:92px;padding:7px 9px}.hud-block>b{font-size:20px}#topbar{left:10px;right:10px}#roomBadge{min-width:110px;max-width:130px}#privateCodeBadge{top:auto;bottom:8px}#tips{display:none}}
@media(max-height:510px) and (pointer:coarse){#hud{bottom:8px;left:158px}.lobby-shell{padding-top:12px}.brand-row{margin-bottom:10px}.panel{padding:12px}.map-card{min-height:54px}.room-list{height:160px}}

.map-card[data-map=harbor]{background:linear-gradient(145deg,#2b4854,#0b121a 68%)}
.map-card[data-map=desert]{background:linear-gradient(145deg,#6b5336,#15100b 68%)}
.map-card[data-map=neon]{background:linear-gradient(145deg,#182449,#10091e 68%)}
.map-card[data-map=arctic]{background:linear-gradient(145deg,#527a8c,#101820 68%)}
.map-card[data-map=harbor]:after,.map-card[data-map=desert]:after,.map-card[data-map=neon]:after,.map-card[data-map=arctic]:after{content:"";position:absolute;right:-14px;bottom:-28px;width:90px;height:90px;border-radius:22px;transform:rotate(24deg);border:1px solid #ffffff14;background:#ffffff08;box-shadow:0 0 35px #ffffff08}

/* ===== V3.7 progression / Top-5 / graphics tiers ===== */
:root{--joy-scale:1;--joy-bottom:24px}
.global-board-wrap{margin-top:14px;padding-top:13px;border-top:1px solid #ffffff0e}.mini-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:8px}.mini-title b{font-size:12px}.mini-title small{font-size:9px;color:#718096}.global-board{display:grid;gap:5px;max-height:178px;overflow:auto}.global-row{display:grid;grid-template-columns:38px minmax(0,1fr) 52px 42px;align-items:center;gap:7px;min-height:31px;padding:0 8px;border:1px solid #ffffff0d;border-radius:8px;background:#060c14}.global-row .rank{font:900 10px/1 monospace;color:#6cddff}.global-row b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-row>span:nth-child(3){font-size:10px;font-weight:900;color:#8ef0b8;direction:ltr}.global-row small{font-size:9px;color:#77869a;direction:ltr}.empty.small{height:54px;min-height:54px}

#topbar .top-action{height:36px;padding:0 10px;border:1px solid #ffffff16;border-radius:10px;background:#07101ad5;color:#bcd0e6;backdrop-filter:blur(10px);font-size:9px;font-weight:900;cursor:pointer;pointer-events:auto}#topbar .top-action:hover{border-color:#68dcff55;color:#fff}
#matchLeaders{position:fixed;z-index:17;top:max(58px,calc(env(safe-area-inset-top) + 54px));left:50%;transform:translateX(-50%);width:min(360px,78vw);padding:5px;border:1px solid #ffffff15;border-radius:12px;background:#06101bd9;backdrop-filter:blur(11px);direction:ltr;box-shadow:0 8px 28px #0004;pointer-events:none;display:grid;gap:2px}.leader-row{height:24px;display:grid;grid-template-columns:30px minmax(0,1fr) 78px;align-items:center;gap:5px;padding:0 7px;border-radius:7px;color:#aebdd0}.leader-row>span{font:950 9px/1 monospace;color:#75dfff}.leader-row>b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-row small{font-size:8px;color:#8392a6;text-align:right}.leader-row small i{font-style:normal;color:#82efb0;font-weight:950}.leader-row.r1{height:29px;background:linear-gradient(90deg,#ffc84d18,#ffffff05);color:#fff}.leader-row.r1>span{color:#ffd569;font-size:10px}.leader-row.r1>b{font-size:10px}.leader-row.me{outline:1px solid #69dcff55;background-color:#0d2735aa}
#weaponHud{position:fixed;z-index:15;right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:160px;min-height:64px;padding:9px 11px;border:1px solid #ffffff15;border-radius:12px;background:#07101ad5;backdrop-filter:blur(10px);direction:ltr;text-align:left;pointer-events:none;box-shadow:0 8px 28px #0005}#weaponHud span{display:block;font-size:8px;font-weight:950;letter-spacing:1.2px}#weaponHud b{display:block;margin-top:2px;font-size:15px;letter-spacing:.2px}#weaponHud small{display:block;margin-top:4px;color:#687a90;font-size:7px;letter-spacing:.55px}
#adsSight{position:fixed;z-index:13;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%) scale(.7);opacity:0;transition:.12s;pointer-events:none}#adsSight.active{opacity:1;transform:translate(-50%,-50%) scale(1)}#adsSight i{position:absolute;inset:1px;border:1px solid #ffffffc7;border-radius:50%;box-shadow:0 0 0 1px #0007,inset 0 0 5px #0005}#adsSight b{position:absolute;left:50%;top:50%;width:2px;height:2px;border-radius:50%;background:#ff625f;box-shadow:0 0 6px #ff4747;transform:translate(-50%,-50%)}#crosshair.ads{opacity:.12;transform:translate(-50%,-50%) scale(.45)}

.game-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#01040ab8;backdrop-filter:blur(8px);pointer-events:auto}.modal-card{width:min(760px,94vw);max-height:min(82vh,760px);overflow:auto;border:1px solid #ffffff18;border-radius:20px;background:linear-gradient(180deg,#0d1723f7,#071019f7);box-shadow:0 28px 100px #000b;padding:18px}.modal-head{position:sticky;top:-18px;z-index:3;margin:-18px -18px 15px;padding:16px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0b1520f1;border-bottom:1px solid #ffffff0e;backdrop-filter:blur(10px)}.modal-head b{display:block;font-size:18px}.modal-head small{display:block;color:#76879d;font-size:10px;margin-top:3px}.modal-head button{width:34px;height:34px;border:1px solid #ffffff1b;border-radius:9px;background:#101c29;color:#fff;font-size:20px;cursor:pointer}
.scoreboard-rows{display:grid;gap:6px}.score-row{display:grid;grid-template-columns:44px minmax(100px,1fr) 58px 58px 86px 110px;gap:8px;align-items:center;min-height:46px;padding:0 11px;border:1px solid #ffffff0e;border-radius:10px;background:#07101a;direction:ltr}.score-row.me{border-color:#64dcff65;background:#0a1a27}.score-row .rank{font:950 12px monospace;color:#72ddff}.score-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.score-row>span{font-size:11px;font-weight:900}.score-row small{font-size:9px;color:#f6c86b}.score-row em{font-style:normal;font-size:9px;color:#7e90a5;text-align:right}
.loadout-section h3{font-size:11px;color:#7c8ca2;letter-spacing:1.2px;margin:18px 0 8px}.weapon-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.weapon-card{min-height:78px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #ffffff12;border-radius:12px;background:#07101a;color:#fff;text-align:left;cursor:pointer}.weapon-card:hover:not(:disabled){border-color:#68dfff55}.weapon-card.equipped{border-color:#6fe4ff8c;background:#0a1a27}.weapon-card.locked{opacity:.48;cursor:not-allowed}.weapon-swatch{width:42px;height:42px;border-radius:10px;background:linear-gradient(145deg,var(--sw),#111 68%);box-shadow:inset 0 0 0 1px #ffffff1c}.weapon-card b{display:block;font-size:12px}.weapon-card small{display:block;margin-top:4px;color:#718198;font-size:8px}.weapon-card em{font-style:normal;font-size:8px;color:#80e8ff;font-weight:950}.skin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.skin-card{min-height:90px;border:1px solid #ffffff12;border-radius:12px;background:#07101a;color:#fff;display:grid;place-items:center;gap:3px;padding:9px;cursor:pointer}.skin-card i{width:34px;height:34px;border-radius:50%;background:var(--skin);box-shadow:0 0 18px color-mix(in srgb,var(--skin) 45%,transparent)}.skin-card b{font-size:10px}.skin-card small{font-size:8px;color:#8191a7}.skin-card em{font-style:normal;font-size:8px;color:#75e8ff}.skin-card.equipped{border-color:#6fe4ff8c}.skin-card.locked{opacity:.45;cursor:not-allowed}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.settings-grid label{min-height:78px;padding:11px;border:1px solid #ffffff10;border-radius:11px;background:#07101a;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.settings-grid label>span{grid-column:1/-1;font-size:10px;color:#8191a7;font-weight:900}.settings-grid select{grid-column:1/-1;height:38px;border:1px solid #ffffff16;border-radius:8px;background:#050a11;color:#fff;padding:0 9px}.settings-grid input[type=range]{width:100%;accent-color:#66dfff}.settings-grid label>b{font-size:9px;color:#79e2ff}.settings-grid .toggle-label{grid-template-columns:1fr auto}.settings-grid .toggle-label>span{grid-column:auto}.settings-grid .toggle-label input{width:22px;height:22px;accent-color:#59d8ff}

#joy{transform-origin:center}

@media(max-width:900px){#topbar{gap:5px}#topbar .top-action{padding:0 7px;font-size:8px}#matchLeaders{top:58px}.weapon-cards{grid-template-columns:1fr}.skin-cards{grid-template-columns:repeat(2,1fr)}.score-row{grid-template-columns:35px minmax(80px,1fr) 44px 44px 62px}.score-row em{display:none}.settings-grid{grid-template-columns:1fr}}
@media(pointer:coarse),(max-width:800px){#weaponHud{right:11px;bottom:162px;width:126px;min-height:56px;padding:7px 9px}#weaponHud b{font-size:12px}#weaponHud small{font-size:6px}#matchLeaders{top:54px;width:min(320px,72vw)}.global-board{max-height:135px}#topbar .top-action{height:32px}.scoreboard-card,.loadout-card,.settings-card{max-height:88vh}.controls-mirrored #weaponHud{right:auto;left:11px}}
@media(max-width:560px){#roomBadge{max-width:105px!important}.score-row{grid-template-columns:30px minmax(70px,1fr) 38px 38px}.score-row small{display:none}#matchLeaders{width:76vw}.leader-row{height:20px;grid-template-columns:24px minmax(0,1fr) 62px;padding:0 4px}.leader-row.r1{height:23px}.leader-row>b{font-size:8px}.leader-row small{font-size:7px}}

body[data-graphics=low] #gameCanvas{image-rendering:auto;filter:saturate(.78) contrast(.92)}body[data-graphics=ultra] #gameCanvas{filter:saturate(1.08) contrast(1.035)}

/* ===== V3.7 mobile control editor ===== */
.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-actions button{min-height:42px;flex:1 1 180px}.mobile-setting{display:none!important}
#controlEditorHud{position:fixed;z-index:120;top:max(58px,calc(env(safe-area-inset-top) + 54px));left:50%;transform:translateX(-50%);width:min(460px,90vw);padding:10px 12px;border:1px solid #6be5ff70;border-radius:12px;background:#06121eec;box-shadow:0 16px 50px #0009;text-align:center;direction:rtl;pointer-events:auto}#controlEditorHud b{display:block;color:#7be8ff;font-size:12px}#controlEditorHud span{display:block;margin:4px 0 8px;color:#aebed0;font-size:9px}#controlEditorHud button{height:36px;padding:0 18px;border:0;border-radius:9px;background:#4bdba0;color:#04110c;font-weight:950;cursor:pointer}
#mobile.editing-controls{z-index:110;background:#02060b35}.editing-controls #joy,.editing-controls #fire,.editing-controls #jump,.editing-controls #aim,.editing-controls #sprint{outline:2px dashed #72e8ff!important;box-shadow:0 0 0 6px #5ddfff1c,0 10px 30px #0008!important;opacity:.9}.editing-controls #joy:after,.editing-controls #fire:after,.editing-controls #jump:after,.editing-controls #aim:after,.editing-controls #sprint:after{content:"DRAG";position:absolute;left:50%;top:-20px;transform:translateX(-50%);font:900 7px/1 monospace;color:#8deeff;background:#06111c;padding:4px 5px;border-radius:5px;white-space:nowrap}.editing-controls .dragging{outline-color:#fff!important;filter:brightness(1.35)}
body[data-graphics=low] #gameCanvas{filter:saturate(.58) contrast(.86) brightness(.88);image-rendering:auto}body[data-graphics=medium] #gameCanvas{filter:saturate(.93) contrast(.98)}body[data-graphics=high] #gameCanvas{filter:saturate(1.03) contrast(1.02)}body[data-graphics=ultra] #gameCanvas{filter:saturate(1.13) contrast(1.055) brightness(1.02)}
@media(pointer:coarse),(max-width:800px){.mobile-setting{display:grid!important}.settings-actions .mobile-setting{display:block!important}#sprint{display:block}#matchLeaders{max-height:132px;overflow:hidden}.leader-row{flex-shrink:0}}


/* ===== V4.0 mobile/iPad stability + AAA-style visual pass ===== */
html,body{width:100%;height:100%;height:100dvh;min-height:-webkit-fill-available;overscroll-behavior:none;-webkit-overflow-scrolling:auto}
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}
#gameCanvas{width:100vw!important;height:100dvh!important;touch-action:none;transform:translateZ(0)}
#gameUi{position:fixed;inset:0;width:100vw;height:100dvh;overflow:hidden;pointer-events:none}
#gameUi:after{content:"";position:fixed;inset:0;z-index:9;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 48%,rgba(0,5,10,.08) 70%,rgba(0,0,0,.32) 100%);mix-blend-mode:multiply}
#mobile,#joy,#stick,#fire,#jump,#aim,#sprint{touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}
#fire,#jump,#aim,#sprint{font-family:inherit;transform-origin:center;will-change:transform;transition:background .09s,border-color .09s,box-shadow .09s}
#fire:active,#jump:active,#aim:active,#sprint:active{filter:brightness(1.35);scale:.94}
.touch-device #mobile{display:block}
@media (hover:none) and (pointer:coarse){.overlay{padding-bottom:env(safe-area-inset-bottom)}}
@media (orientation:landscape) and (max-height:650px){
  #topbar{top:max(6px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));gap:5px}
  #connection,#playersCount,#roomBadge,#leaveRoom,#topbar .top-action{height:31px}
  #roomBadge{min-width:108px;max-width:145px;padding-top:4px}
  #matchLeaders{top:max(42px,calc(env(safe-area-inset-top) + 39px));max-height:78px;width:min(310px,42vw);overflow:hidden}
  #hud{bottom:max(8px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left))}
  #weaponHud{bottom:max(8px,env(safe-area-inset-bottom));right:max(8px,env(safe-area-inset-right))}
  .hud-block{height:50px;min-width:84px;padding:5px 8px}.hud-block>b{font-size:18px}
  #weaponHud{min-height:48px;width:118px}
}
@media (orientation:portrait) and (max-width:900px){
  #topbar{flex-wrap:wrap;align-content:flex-start;right:8px;left:8px}
  #roomBadge{order:1;min-width:125px}.top-action{order:2}#leaveRoom{order:2}#playersCount{order:1}
  #matchLeaders{top:max(94px,calc(env(safe-area-inset-top) + 88px));width:72vw}
  #hud{bottom:172px}.controls-mirrored #hud{left:auto;right:11px}
}
body[data-graphics=high] #gameCanvas{filter:saturate(1.07) contrast(1.045) brightness(1.015)}
body[data-graphics=ultra] #gameCanvas{filter:saturate(1.16) contrast(1.075) brightness(1.025)}


/* ===== V5.0 COD-mobile-inspired visual/control pass ===== */
#mobile,#joy,#stick,#fire,#jump,#aim,#sprint,#swapWeapon{touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}
#fire,#jump,#aim,#sprint,#swapWeapon{position:absolute;border:1px solid #ffffff50;color:#fff;font-weight:950;background:#08121dcc;backdrop-filter:blur(8px);pointer-events:auto;touch-action:none;box-shadow:0 8px 24px #0007,inset 0 1px #ffffff18;text-shadow:0 1px 4px #000;font-family:inherit;transform-origin:center;will-change:transform}
#swapWeapon{right:178px;bottom:110px;width:60px;height:46px;border-radius:15px;font-size:7px;letter-spacing:.5px;background:linear-gradient(145deg,#7b4dd54a,#101522cc);border-color:#c9a7ff66}
#swapWeapon:active{filter:brightness(1.4);scale:.94}
#fire{background:radial-gradient(circle at 38% 30%,#ff87884f,#b11d344d 58%,#07101acc);box-shadow:0 8px 24px #0008,0 0 0 1px #ff81832b inset,0 0 28px #d62e3e22}
#aim.active{background:radial-gradient(circle at 50% 40%,#70e6ff61,#106a9e66 60%,#07101acc);box-shadow:0 0 26px #32ccff55,0 8px 24px #0008}
#gameUi:before{content:"";position:fixed;inset:0;z-index:8;pointer-events:none;background:linear-gradient(180deg,rgba(145,193,223,.045),transparent 28%,transparent 72%,rgba(0,0,0,.10));mix-blend-mode:screen}
#gameUi:after{background:radial-gradient(ellipse at 50% 44%,transparent 40%,rgba(4,9,13,.05) 62%,rgba(0,0,0,.36) 100%),linear-gradient(180deg,rgba(0,0,0,.04),transparent 35%,rgba(0,0,0,.10));mix-blend-mode:multiply}
body[data-graphics=medium] #gameCanvas{filter:saturate(1.01) contrast(1.02) brightness(1.01)}
body[data-graphics=high] #gameCanvas{filter:saturate(1.10) contrast(1.065) brightness(1.02)}
body[data-graphics=ultra] #gameCanvas{filter:saturate(1.18) contrast(1.09) brightness(1.025)}
body[data-graphics=ultra] #gameUi:before{background:linear-gradient(180deg,rgba(164,207,232,.075),transparent 30%,transparent 72%,rgba(251,182,117,.025))}
.editing-controls #swapWeapon{outline:2px dashed #72e8ff!important;box-shadow:0 0 0 6px #5ddfff1c,0 10px 30px #0008!important;opacity:.9}
.editing-controls #swapWeapon:after{content:"DRAG";position:absolute;left:50%;top:-20px;transform:translateX(-50%);font:900 7px/1 monospace;color:#8deeff;background:#06111c;padding:4px 5px;border-radius:5px;white-space:nowrap}
@media (orientation:landscape) and (max-height:650px){#swapWeapon{font-size:6px}.loadout-card{max-height:92dvh}}

/* ===== V5.0 game modes + cinematic HUD ===== */
.mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}.mode-card{min-height:74px;padding:10px 9px;border:1px solid #ffffff14;border-radius:12px;background:linear-gradient(160deg,#0a1420,#060b12);color:#fff;text-align:right;cursor:pointer;transition:.18s transform,.18s border-color,.18s box-shadow}.mode-card:hover{transform:translateY(-1px);border-color:#58d9ff55}.mode-card.selected{border-color:#65ddffbb;box-shadow:0 0 0 1px #4fd8ff22 inset,0 8px 30px #0088c51d;background:linear-gradient(155deg,#102338,#07111d)}.mode-card strong{display:block;font-size:10px;letter-spacing:.5px}.mode-card small{display:block;margin-top:5px;color:#7f91a8;font-size:8px;line-height:1.6}.mode-config{margin-top:2px}
#matchStrip{position:fixed;z-index:31;top:max(9px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;height:39px;padding:0 10px;border:1px solid #ffffff18;border-radius:12px;background:#050b12c9;backdrop-filter:blur(12px) saturate(1.25);box-shadow:0 10px 30px #0007;pointer-events:none;direction:ltr}#modeBadge{font:950 9px/1 monospace;letter-spacing:.7px;color:#b6c8db;white-space:nowrap}#matchTimer{min-width:52px;text-align:center;font:950 16px/1 monospace;color:#fff;text-shadow:0 0 14px #7fe4ff66}#teamScore{display:flex;align-items:center;gap:6px;font:950 9px/1 monospace}.red{color:#ff6068}.blue{color:#65b7ff}#teamScore i{font-style:normal;color:#617286;font-size:7px}#teamScore b{font-size:14px}#brStatus{display:flex;gap:8px;color:#9edcff;font:900 8px/1 monospace}#brStatus b{color:#fff;font-size:11px}
#matchBanner{position:fixed;z-index:95;left:50%;top:36%;transform:translate(-50%,-50%) scale(.92);min-width:min(420px,78vw);padding:18px 28px;border:1px solid #ffffff20;border-radius:16px;background:linear-gradient(135deg,#06101bea,#09192be8);backdrop-filter:blur(16px) saturate(1.25);box-shadow:0 24px 80px #000b,0 0 42px #39c7ff17;text-align:center;pointer-events:none;opacity:0;transition:.24s opacity,.24s transform}#matchBanner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}#matchBanner b{display:block;font:950 22px/1.1 monospace;letter-spacing:1px;color:#fff;text-shadow:0 0 22px #76ddff55}#matchBanner small{display:block;margin-top:7px;color:#8ea4ba;font:850 9px/1.4 monospace;letter-spacing:.4px}
.leader-row.team-red,.score-row.team-red{border-inline-start:2px solid #ff4d58}.leader-row.team-blue,.score-row.team-blue{border-inline-start:2px solid #4a9cff}.score-row.team-red{background:linear-gradient(90deg,#40131a28,transparent)}.score-row.team-blue{background:linear-gradient(90deg,#12365d28,transparent)}
body[data-graphics=ultra] #gameCanvas{filter:none!important}body[data-graphics=high] #gameCanvas{filter:none!important}
@media(max-width:800px){.mode-picker{grid-template-columns:1fr}.mode-card{min-height:58px}.mode-card small{font-size:7px}#matchStrip{top:max(46px,calc(env(safe-area-inset-top) + 42px));height:34px;gap:5px;padding:0 7px;max-width:92vw}#modeBadge{font-size:7px}#matchTimer{font-size:13px;min-width:42px}#teamScore b{font-size:11px}#brStatus{font-size:7px;gap:5px}#matchBanner{top:32%;padding:14px 18px}#matchBanner b{font-size:17px}}
@media(orientation:landscape) and (max-height:650px){#matchStrip{top:max(7px,env(safe-area-inset-top));left:50%;height:31px}#modeBadge{display:none}#matchBanner{top:35%}}


/* ===== V6.0 maps + shield + Battle Royale inventory/loot ===== */
.map-card.br-only{border-color:#69b7ff44;background:linear-gradient(150deg,#0a1b2c,#07101a)}.map-card.br-only strong{color:#8fd4ff}.map-card.mode-disabled{opacity:.32;filter:grayscale(.65);cursor:not-allowed;transform:none!important}.map-card:disabled{pointer-events:none}
#hud{display:flex;gap:7px}.shield-track{height:4px;margin-top:4px;border-radius:99px;overflow:hidden;background:#0b2540}.shield-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#2d8dff,#7bd6ff);box-shadow:0 0 11px #45baff}.hud-block.shield>b{color:#7bd6ff;text-shadow:0 0 13px #48aaff55}.hud-block.shield{border-color:#4faeff32;background:linear-gradient(160deg,#081624d9,#07101acb)}
#inventoryHud{position:fixed;z-index:37;left:50%;bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));transform:translateX(-50%);display:flex;gap:7px;pointer-events:auto;direction:ltr}#inventoryHud.hidden{display:none!important}#inventoryHud button{position:relative;width:92px;height:58px;padding:5px 7px;border:1px solid #ffffff24;border-radius:11px;background:#07111ddc;color:#fff;backdrop-filter:blur(10px);box-shadow:0 8px 28px #0009;display:grid;grid-template-columns:18px 1fr;grid-template-rows:1fr 15px;align-items:center;gap:2px 5px;cursor:pointer}#inventoryHud button>b{grid-row:1/3;color:#7f94aa;font:950 10px monospace}#inventoryHud button>span{font-size:18px}#inventoryHud button>small{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:#a8bdd1;font:850 7px monospace}#inventoryHud button.active{border-color:#7ee2ff;box-shadow:0 0 0 1px #62d7ff44 inset,0 0 26px #2abfff2d,0 8px 28px #0009}#inventoryHud button.empty{opacity:.48}
#pickupPrompt{position:fixed;z-index:40;left:50%;top:62%;transform:translate(-50%,-50%);padding:8px 13px;border:1px solid #76d9ff66;border-radius:9px;background:#06101bd8;color:#dff7ff;backdrop-filter:blur(9px);font:950 9px monospace;letter-spacing:.4px;box-shadow:0 7px 25px #0008;pointer-events:none}#pickupPrompt.hidden{display:none!important}
#pickup{right:245px;bottom:61px;width:68px;height:44px;border-radius:14px;font-size:7px;letter-spacing:.3px;background:linear-gradient(145deg,#2b8bd766,#08121dcc);border-color:#65c7ff77}
@media(pointer:coarse),(max-width:800px){#hud{gap:4px;bottom:max(8px,env(safe-area-inset-bottom))}.hud-block{min-width:72px}.hud-block.shield{min-width:70px}#inventoryHud{bottom:max(9px,env(safe-area-inset-bottom));gap:4px}#inventoryHud button{width:65px;height:46px;border-radius:9px;padding:4px}#inventoryHud button>small{font-size:5.8px}#inventoryHud button>span{font-size:14px}#pickupPrompt{top:56%;font-size:7px;padding:6px 9px}#pickup{right:242px;bottom:58px;width:58px;height:40px;font-size:6px}}
@media(orientation:portrait) and (max-width:900px){#inventoryHud{bottom:112px}#pickup{right:16px;bottom:218px}}

#pickup{position:absolute;border:1px solid #65c7ff77;color:#fff;font-weight:950;pointer-events:auto;touch-action:none;box-shadow:0 8px 24px #0007,inset 0 1px #ffffff18;text-shadow:0 1px 4px #000;font-family:inherit;backdrop-filter:blur(8px)}#pickup.hidden{display:none!important}


/* ===== V6.1 visibility + tactical map + desktop pickup ===== */
#miniMapWrap{position:fixed;z-index:34;left:max(14px,env(safe-area-inset-left));top:max(61px,calc(env(safe-area-inset-top) + 50px));width:150px;height:168px;padding:22px 7px 7px;border:1px solid #ffffff20;border-radius:14px;background:#06101bdc;backdrop-filter:blur(9px);box-shadow:0 12px 34px #0008;pointer-events:auto;cursor:pointer;overflow:hidden}#miniMapWrap.hidden{display:none!important}.minimap-title{position:absolute;left:9px;top:7px;color:#8fdfff;font:950 8px/1 monospace;letter-spacing:1px}#miniMapCanvas{position:static!important;width:136px!important;height:136px!important;border-radius:8px;display:block;background:#07121d}
#desktopPickup{position:fixed;z-index:43;right:24px;bottom:104px;min-width:148px;height:46px;padding:0 14px;border:1px solid #68d3ff70;border-radius:13px;background:linear-gradient(145deg,#1677b8de,#07111de8);color:#fff;font:950 9px/1 monospace;letter-spacing:.35px;box-shadow:0 10px 28px #0008,0 0 24px #23b9ff18;cursor:pointer;pointer-events:auto}#desktopPickup:hover{filter:brightness(1.12);border-color:#9be8ff}
.map-modal-card{width:min(780px,94vw)!important;max-height:94vh!important;overflow:hidden!important}.map-modal-card #fullMapCanvas{position:static!important;width:min(72vh,680px)!important;height:min(72vh,680px)!important;max-width:100%;aspect-ratio:1;border:1px solid #ffffff18;border-radius:14px;background:#071019;display:block;margin:0 auto;box-shadow:inset 0 0 40px #0008}.map-modal-card #mapLegend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:10px;color:#9bb0c4;font:850 9px monospace}.map-modal-card #mapLegend span{display:flex;align-items:center;gap:6px}.map-modal-card #mapLegend i{width:10px;height:10px;border-radius:50%;display:inline-block}.me-dot{background:#fff;box-shadow:0 0 8px #64d9ff}.zone-dot{border:2px solid #58d8ff;background:transparent}.house-dot{background:#d9c79d}
body[data-graphics=high] #gameCanvas,body[data-graphics=ultra] #gameCanvas{filter:none!important}
@media(pointer:coarse),(max-width:800px){#desktopPickup{display:none!important}#miniMapWrap{left:max(8px,env(safe-area-inset-left));top:max(43px,calc(env(safe-area-inset-top) + 38px));width:104px;height:118px;padding:18px 5px 5px;border-radius:11px;opacity:.92}#miniMapCanvas{width:92px!important;height:92px!important}.minimap-title{font-size:6px;top:6px;left:7px}.map-modal-card #fullMapCanvas{width:min(78vw,66vh)!important;height:auto!important}}
@media(orientation:portrait) and (max-width:900px){#miniMapWrap{top:max(86px,calc(env(safe-area-inset-top) + 82px));width:94px;height:108px}#miniMapCanvas{width:82px!important;height:82px!important}}
