/* Loaded after the legacy stylesheet so approved desktop geometry stays intact. */
.metric strong{color:#f7f3f8;text-shadow:none}
.terminal-panel h2,.panel h2,.market-card h2,.killfeed-title{filter:none!important;text-shadow:none!important}
.player-rank-identity img{border-radius:50%;object-fit:cover}
.player-profile-link{min-height:0;border:0;background:none;padding:0;color:inherit;text-align:left;text-transform:none;letter-spacing:0}.player-profile-link:hover{transform:none;background:rgba(185,68,255,.08)}
.leaderboard-categories{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.leaderboard-categories button{min-height:29px;padding:0 10px;font-size:9px}.leaderboard-categories button.active{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 10px rgba(22,216,255,.25)}
.leaderboard-row .rank-1{color:#ffd34e!important;text-shadow:0 0 9px rgba(255,211,78,.7)}.leaderboard-row .rank-2{color:#d8e0ea!important;text-shadow:0 0 7px rgba(216,224,234,.5)}.leaderboard-row .rank-3{color:#cd7f4b!important;text-shadow:0 0 7px rgba(205,127,75,.5)}.rank-crown{font-size:24px}
.profile-command{isolation:isolate;overflow:hidden}.profile-command>*:not(.profile-banner-media){position:relative;z-index:2}.profile-banner-media{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}.profile-command:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(5,1,12,.96),rgba(5,1,12,.55),rgba(5,1,12,.82));pointer-events:none}.profile-faction-tag{display:inline-flex;align-items:center;gap:7px!important;color:var(--faction-color)!important;border-color:var(--faction-color)!important;background:rgba(0,0,0,.48);text-shadow:none!important}.profile-faction-tag img{width:25px;height:25px;object-fit:contain}.xbox-identity{display:flex;align-items:center;gap:7px;color:#69c86b!important}.xbox-identity svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.xbox-identity strong{color:#fff}.profile-banner-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:12px 0;padding:14px}.profile-banner-form label{display:grid;gap:6px;color:var(--muted)}.profile-banner-form label span{font-size:10px}.profile-banner-form input{min-height:40px;padding:0 10px;border:1px solid var(--line);background:#07010d;color:#fff}
.leaderboard-avatar-fallback{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border:1px solid rgba(185,68,255,.45);border-radius:50%;background:rgba(185,68,255,.1)}.leaderboard-avatar-fallback svg{width:23px;height:23px;fill:none;stroke:var(--purple);stroke-width:1.7}
.identity-option[hidden]{display:none!important}
.profile-faction-tag{--faction-color:#16d8ff!important;color:#16d8ff!important;border-color:#16d8ff!important}.profile-bio{max-width:680px;margin:12px 0 0!important;color:#ddd1e5!important;line-height:1.5}.profile-edit-button{position:absolute!important;z-index:4!important;right:18px;bottom:18px;width:40px;min-height:40px;padding:0;border-radius:50%;background:rgba(8,2,16,.88)}.profile-edit-button svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:1.8}
.member-avatar{position:relative;width:38px;height:38px;flex:0 0 38px}.member-avatar img{width:38px;height:38px;border:1px solid rgba(22,216,255,.55);border-radius:50%;object-fit:cover}.member-avatar .online-dot{position:absolute;right:-1px;bottom:0;border:2px solid #08020f}.hq-members>div{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto}.hq-members>div>button{grid-column:2/-1;justify-self:end;min-height:28px}
.profile-editor{width:min(760px,calc(100vw - 28px));max-height:86vh;padding:0;border:1px solid var(--line-hot);background:#08020f;color:#fff;box-shadow:0 0 40px rgba(185,68,255,.38)}.profile-editor::backdrop{background:rgba(0,0,0,.78)}.profile-editor form{display:grid;gap:14px;padding:20px}.profile-editor label{display:grid;gap:6px;color:var(--muted)}.profile-editor textarea{min-height:95px;resize:vertical;padding:10px;border:1px solid var(--line);background:#050109;color:#fff}.profile-editor fieldset{padding:14px;border:1px solid rgba(185,68,255,.35)}.banner-upload{padding:14px;border:1px dashed var(--cyan);text-align:center;cursor:pointer}.profile-editor-divider{text-align:center;color:var(--muted);margin:10px}.giphy-search{display:grid;grid-template-columns:1fr auto;gap:8px}.giphy-search input{padding:0 10px;border:1px solid var(--line);background:#050109;color:#fff}.giphy-results{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;max-height:260px;overflow:auto}.giphy-results button{height:90px;padding:0}.giphy-results img{width:100%;height:100%;object-fit:cover}
@media(max-width:600px){.giphy-results{grid-template-columns:repeat(2,1fr)}.hq-members>div{grid-template-columns:36px minmax(0,1fr) auto}.member-avatar,.member-avatar img{width:32px;height:32px}.member-avatar{flex-basis:32px}}

/* Profile hierarchy, XP, member identity, and restrained page accents. */
.xbox-identity svg{width:20px;height:20px;fill:#63c766;stroke:none}.profile-faction-tag{--faction-color:#20d8ff!important;color:#20d8ff!important;border-color:rgba(32,216,255,.7)!important;box-shadow:0 0 14px rgba(32,216,255,.14)}
.profile-xp{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:12px 0;padding:14px 18px;border-color:rgba(78,174,255,.55)}.profile-xp>div:first-child{display:flex;gap:10px;align-items:baseline}.profile-xp span{color:#58baff;text-transform:uppercase;letter-spacing:1.5px}.xp-track{height:8px;overflow:hidden;border:1px solid rgba(99,201,255,.4);background:#05020a}.xp-track i{display:block;height:100%;background:linear-gradient(90deg,#16d8ff,#b944ff,#ff44e9);box-shadow:0 0 14px #16d8ff}.profile-xp small{color:var(--muted)}
.survivor-record dl{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.teal-panel{color:#25e8d2;border-color:rgba(37,232,210,.58);box-shadow:0 0 24px rgba(37,232,210,.12),0 0 30px rgba(37,232,210,.05) inset}.teal-panel h2{color:#25e8d2!important}.orange-panel{color:#ff7d38;border-color:rgba(255,125,56,.58);box-shadow:0 0 24px rgba(255,125,56,.12),0 0 30px rgba(255,125,56,.05) inset}.orange-panel h2{color:#ff7d38!important}
.hq-section-heading{margin:34px 0 12px;padding:18px 22px;border-left:3px solid var(--cyan);background:linear-gradient(90deg,rgba(22,216,255,.11),rgba(185,68,255,.06),transparent);box-shadow:0 12px 28px rgba(0,0,0,.3)}.hq-section-heading span{color:var(--cyan);font-size:10px;letter-spacing:3px;text-transform:uppercase}.hq-section-heading h2{margin:4px 0;font-size:30px}.hq-section-heading p{margin:0;color:var(--muted)}
.hq-member-row{grid-template-columns:48px minmax(0,1fr) 90px auto!important;min-height:62px;padding:10px 4px!important}.member-identity{display:grid;gap:3px}.member-identity strong{color:#f5f1f8}.member-identity small{color:#7e718b;font-size:10px}.member-avatar b{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(22,216,255,.5);border-radius:50%;background:#160522;color:var(--cyan)}.hq-member-row>button{grid-column:auto!important;justify-self:end!important;min-width:88px}.faction-hq-dashboard{padding-top:2px}
.site-toast{position:fixed;z-index:100;right:22px;bottom:22px;display:grid;gap:4px;width:min(380px,calc(100vw - 28px));padding:16px 18px;border:1px solid var(--green);background:rgba(3,10,10,.97);box-shadow:0 0 28px rgba(25,247,143,.25);opacity:0;transform:translateY(20px);pointer-events:none;transition:.22s}.site-toast.visible{opacity:1;transform:none}.site-toast strong{color:var(--green);text-transform:uppercase;letter-spacing:1.4px}.site-toast span{color:#e9f8f1}
.site-toast.info{border-color:rgba(241,196,15,.5);background:rgba(3,0,8,.97);box-shadow:0 0 28px rgba(241,196,15,.18)}
.site-toast.info strong{color:#f1c40f}
.notification-button{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.notification-button:hover{color:#fff;background:transparent!important}.notification-button span:not(:empty){right:-4px;top:-3px}
#factions.active:before,#leaderboards.active:before{display:none!important}#killfeed.active:before{content:"";position:fixed;z-index:-1;width:180px;height:1px;inset:18% auto auto -220px;pointer-events:none;background:linear-gradient(90deg,transparent,#16d8ff,#fff,transparent);box-shadow:0 0 10px #16d8ff;transform:rotate(-18deg);animation:shootingStar 13s ease-in-out infinite}@keyframes shootingStar{0%,82%{transform:translate(-20vw,-10vh) rotate(-18deg);opacity:0}84%{opacity:.6}90%{transform:translate(130vw,30vh) rotate(-18deg);opacity:0}100%{opacity:0}}

@media(max-width:600px){
  .site-header{display:grid!important;grid-template-columns:minmax(82px,1fr) 32px minmax(52px,76px) 34px 34px!important;grid-template-rows:44px 42px!important;align-items:center!important;gap:3px 6px!important;padding:3px 8px!important;overflow:visible!important}.site-header .brand{grid-column:1;grid-row:1;min-width:0}.site-header .brand-logo{width:104px!important;height:40px!important}.notification-button{grid-column:2!important;grid-row:1!important;margin:0!important;width:32px!important;min-width:32px!important}.login-button{grid-column:3!important;grid-row:1!important;max-width:76px!important;min-width:0!important;padding:0 6px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discord-button,.kofi-button{display:grid!important;place-items:center;grid-row:1!important;width:34px!important;height:32px!important;min-width:34px!important;min-height:32px!important;padding:0!important;font-size:0!important}.discord-button{grid-column:4!important}.kofi-button{grid-column:5!important}.discord-button .brand-icon,.kofi-button .brand-icon{width:18px!important;height:18px!important;margin:0!important}.main-nav{grid-column:1/-1!important;grid-row:2!important;width:100%!important;overflow-x:auto!important;justify-content:flex-start!important;gap:19px!important;padding:1px 2px 5px!important;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.main-nav a{flex:0 0 auto!important}
  #constellation-bg{height:100svh!important;opacity:.62}.feed-row{grid-template-columns:24px minmax(0,1fr) auto!important;grid-template-rows:auto auto auto auto auto!important;gap:5px 9px!important;padding:12px!important}.feed-row .kill-skull{grid-column:1!important;grid-row:1!important}.feed-row .feed-live{grid-column:2!important;grid-row:1!important}.feed-row .distance{grid-column:3!important;grid-row:1!important}.feed-row time{grid-column:1/-1!important;grid-row:2!important;font-size:10px!important;color:#c8b8cf!important}.feed-row .killer{grid-column:1/-1!important;grid-row:3!important;padding:2px 0 0!important;font-size:13px!important}.feed-row .feed-action{grid-column:1/-1!important;grid-row:4!important;padding-left:18px;font-size:9px!important}.feed-row .victim{grid-column:1/-1!important;grid-row:5!important;padding-left:18px;font-size:13px!important}.feed-row .weapon{grid-column:1/-1!important;grid-row:6!important;justify-content:flex-start!important;padding-left:18px}.home-killfeed{overflow:hidden}
  .profile-command{padding-top:48px!important}.profile-edit-button{top:9px!important;right:9px!important}.profile-status{position:absolute;top:14px;left:14px;font-size:9px}.profile-xp{grid-template-columns:1fr!important;gap:8px}.profile-xp>div:first-child{justify-content:space-between}.profile-xp small{text-align:right}.survivor-record dl{grid-template-columns:1fr}.hq-section-heading{margin-top:24px;padding:14px}.hq-section-heading h2{font-size:23px}.hq-member-row{grid-template-columns:38px minmax(0,1fr) auto!important;padding:10px 0!important}.hq-member-row>em{grid-column:3;grid-row:1}.hq-member-row>button{grid-column:2/4!important;grid-row:2;width:100%;margin-top:4px}.member-avatar b{width:32px;height:32px}#factions.active:before,#leaderboards.active:before,#killfeed.active:before{animation:none!important;opacity:.13!important}
}

/* Interactive Chernarus foundation: map image only, with intentionally disabled overlays. */
.map-renderer-panel{padding:10px!important;overflow:hidden}.map-renderer-shell{position:relative;height:calc(100vh - 220px);max-height:1100px;min-height:560px;overflow:hidden;border:1px solid rgba(241,196,15,.2);background:#000}.map-renderer-shell #chernarus-map{width:100%;height:100%;background:#000;z-index:1}.map-layers-toggle{display:none;position:absolute;z-index:600;top:14px;right:14px;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(241,196,15,.5);border-radius:10px;background:#000;color:#f1c40f;box-shadow:0 0 12px rgba(241,196,15,.2);transition:border-color .15s,box-shadow .15s}.map-layers-toggle svg{width:18px;height:18px}.map-layers-toggle:hover,.map-layers-toggle:focus-visible,.map-layers-toggle[aria-expanded="true"]{border-color:rgba(241,196,15,.9);box-shadow:0 0 20px rgba(241,196,15,.55)}.map-layers-panel{display:flex;flex-direction:column;gap:6px;position:absolute;z-index:500;top:50%;transform:translateY(-50%);right:14px;width:184px;max-height:min(70vh,520px);overflow-y:auto;overflow-x:hidden;padding:10px;border:1px solid rgba(241,196,15,.35);border-radius:14px;background:rgba(3,0,8,.95);box-shadow:0 0 30px rgba(0,0,0,.6)}.map-layers-panel .panel-head{margin-bottom:8px}.map-layers-panel .panel-head h2{font-size:14px;color:#f1c40f}.map-layers-panel .panel-head span{font-size:9px;color:var(--muted);text-transform:uppercase}.map-layers-panel label{position:relative;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.04);color:#8c8196;font-size:10.5px;font-weight:600;letter-spacing:.2px;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.map-layers-panel input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.map-coords-display{position:absolute;z-index:600;bottom:10px;left:50%;transform:translateX(-50%);padding:4px 12px;border:1px solid rgba(241,196,15,.3);border-radius:6px;background:rgba(3,0,8,.9);color:#f1c40f;font-family:monospace;font-size:11px;letter-spacing:.5px;pointer-events:auto;cursor:pointer;white-space:nowrap;box-shadow:0 0 12px rgba(241,196,15,.08);transition:border-color .12s,background .12s}.map-coords-display:hover,.map-coords-display:active{border-color:rgba(241,196,15,.65);background:rgba(10,6,22,.97)}.leaflet-control-zoom a{background:#07010d!important;color:#f1c40f!important;border-color:rgba(241,196,15,.38)!important}.leaflet-control-zoom a:hover{background:#100b00!important;color:#fff!important}.public-faction-dialog{padding:18px!important}.public-faction-dialog .panel-head{padding-bottom:12px;border-bottom:1px solid rgba(185,68,255,.3)}.public-faction-member{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid rgba(185,68,255,.16)}.public-faction-member>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(22,216,255,.6);border-radius:50%;color:var(--cyan);font-weight:700}.public-faction-member strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-faction-member em{color:var(--purple);font-size:10px;font-style:normal;text-transform:uppercase}.admin-console-link{border-color:var(--amber)!important;color:var(--amber)!important;background:rgba(72,45,5,.2)!important;gap:6px}.admin-console-link:hover{background:rgba(255,181,43,.14)!important}.admin-console-link span{font-size:15px;line-height:1}

/* ── Location search bar (cities / places / raw coordinates) ────────── */
.map-locsearch-wrap{position:absolute;z-index:600;top:14px;left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 190px))}
.map-itemsearch-wrap{position:absolute;z-index:600;top:14px;left:14px;width:200px}
/* Leaflet's default zoom control sits top-left at (10,10), directly under
   the Item Search box — push it down below on desktop too, not just mobile. */
.map-renderer-shell .leaflet-top.leaflet-left{top:64px}
.map-locsearch-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#f1c40f;opacity:.75;pointer-events:none}
.map-locsearch-input{width:100%;height:40px;padding:0 12px 0 36px;border:1px solid rgba(241,196,15,.35);border-radius:10px;background:rgba(3,0,8,.92);color:#fff;font-size:12px;box-shadow:0 0 18px rgba(0,0,0,.35)}
.map-locsearch-input::placeholder{color:#8c8196}
.map-locsearch-input:focus{outline:none;border-color:rgba(241,196,15,.7)}
.map-locsearch-results{position:absolute;top:48px;left:0;right:0;max-height:280px;overflow-y:auto;border:1px solid rgba(241,196,15,.3);border-radius:10px;background:rgba(3,0,8,.97);box-shadow:0 12px 32px rgba(0,0,0,.6)}
.map-locsearch-result{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid rgba(241,196,15,.1);background:transparent;color:#fff;font-size:12px;text-align:left;cursor:pointer}
.map-locsearch-result:last-child{border-bottom:0}
.map-locsearch-result:hover,.map-locsearch-result.active{background:rgba(241,196,15,.12)}
.map-locsearch-result .map-loc-dot{flex-shrink:0}
.map-locsearch-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-locsearch-result small{margin-left:auto;flex-shrink:0;color:#8c8196;font-size:10px;text-transform:uppercase;letter-spacing:.5px}
.map-locsearch-empty{padding:12px;color:#8c8196;font-size:11px;text-align:center}
.map-loc-pulse{width:16px;height:16px;border-radius:50%;background:rgba(241,196,15,.35);border:2px solid #f1c40f;box-shadow:0 0 0 rgba(241,196,15,.6);animation:mapLocPulse 1.4s ease-out infinite}
@keyframes mapLocPulse{0%{box-shadow:0 0 0 0 rgba(241,196,15,.55)}70%{box-shadow:0 0 0 18px rgba(241,196,15,0)}100%{box-shadow:0 0 0 0 rgba(241,196,15,0)}}


/* ── Player identity card ─────────────────────────────────────────── */
.map-player-card{position:absolute;z-index:600;bottom:10px;left:14px;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:1px solid rgba(241,196,15,.3);border-radius:10px;background:rgba(3,0,8,.92);box-shadow:0 0 18px rgba(0,0,0,.4)}
.map-player-card .map-pc-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #e74c3c;box-shadow:0 0 8px rgba(231,76,60,.5);transition:border-color .2s,box-shadow .2s}
.map-player-card.live .map-pc-avatar{border-color:#31d17c;box-shadow:0 0 8px rgba(49,209,124,.6)}
.map-player-card .map-pc-dot{width:10px;height:10px;border-radius:50%;background:#666}
.map-player-card.live .map-pc-dot{background:#31d17c;box-shadow:0 0 8px rgba(49,209,124,.7)}
.map-player-card .map-pc-info{display:flex;flex-direction:column;gap:2px;line-height:1.25}
.map-player-card .map-pc-name{display:flex;align-items:center;gap:6px;color:#fff;font-size:12px;font-weight:600}
.map-player-card .map-pc-status{font-size:8px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.map-player-card .map-pc-status.online{color:#31d17c}
.map-player-card .map-pc-status.offline{color:#e74c3c}
.map-player-card .map-pc-sub{display:flex;align-items:center;gap:5px;color:#8c8196;font-size:10px;letter-spacing:.3px}
.map-player-card .map-pc-sub img{width:11px;height:11px;object-fit:contain;opacity:.9}
.map-player-card .map-pc-stats{display:flex;gap:12px;margin-top:3px}
.map-player-card .map-pc-stat{display:flex;flex-direction:column;align-items:flex-start}
.map-player-card .map-pc-stat strong{color:#f1c40f;font-size:12px;font-weight:700;line-height:1.1}
.map-player-card .map-pc-stat small{color:rgba(140,129,150,.8);font-size:8px;letter-spacing:.4px;text-transform:uppercase}
.map-player-card.empty{color:#8c8196;font-size:11px;padding:9px 14px}

@media(max-width:600px){
  .map-locsearch-wrap{width:auto;left:12px;right:100px;transform:none;top:12px}
  .map-itemsearch-wrap{top:60px;left:12px;width:min(200px,calc(100% - 24px))}
  .map-coords-display{bottom:92px}
  .map-player-card{bottom:12px;left:12px;right:auto;justify-content:flex-start;padding:6px 10px 6px 6px;gap:8px}
  .map-player-card .map-pc-avatar{width:26px;height:26px}
  .map-player-card .map-pc-name{font-size:11px}
  .map-player-card .map-pc-sub{font-size:9px}
  .map-player-card .map-pc-stats{gap:9px;margin-top:2px}
  .map-player-card .map-pc-stat strong{font-size:11px}
  .map-player-card .map-pc-stat small{font-size:7px}
}

/* ── Layers panel: pill-style toggles with real icons instead of colored dots ── */
.map-layers-panel label,.map-layers-panel .map-layers-pill-btn{--ml-color:#f1c40f}
.map-layers-panel .map-layers-pill-btn[data-action="findme"]{--ml-color:#3498ff}
.map-layers-panel label:has(input[data-layer="self"]){--ml-color:#2ecc71}
.map-layers-panel label:has(input[data-layer="vehicles"]){--ml-color:#e74c3c}
.map-layers-panel label:has(input[data-layer="pvp"]){--ml-color:#ff8b2b}
.map-layers-panel label:has(input[data-layer="locations"]){--ml-color:#1abc9c}
.map-layers-panel label:has(input[data-tool="pin"]){--ml-color:#f1c40f}
.map-layers-panel .map-layers-icon{display:flex;flex-shrink:0;color:var(--ml-color);opacity:.6;transition:opacity .15s,filter .15s}
.map-layers-panel .map-layers-icon svg{width:16px;height:16px}
.map-layers-panel label:hover{border-color:rgba(255,255,255,.28)}
.map-layers-panel label:has(input:checked){color:#fff;border-color:var(--ml-color);background:color-mix(in srgb,var(--ml-color) 22%,#030108 78%);box-shadow:0 0 14px color-mix(in srgb,var(--ml-color) 30%,transparent)}
.map-layers-panel label:has(input:checked) .map-layers-icon{opacity:1;filter:drop-shadow(0 0 4px var(--ml-color))}
.map-layers-panel .map-layers-pill-btn{position:relative;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:7px 12px;min-height:0;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.04);color:#8c8196;font-size:10.5px;font-weight:600;letter-spacing:.2px;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.map-layers-panel .map-layers-pill-btn .map-layers-icon{opacity:1;filter:drop-shadow(0 0 4px var(--ml-color))}
.map-layers-panel .map-layers-pill-btn:hover,.map-layers-panel .map-layers-pill-btn:active{color:#fff;border-color:var(--ml-color);background:color-mix(in srgb,var(--ml-color) 22%,#030108 78%);box-shadow:0 0 14px color-mix(in srgb,var(--ml-color) 30%,transparent)}
.map-layers-panel label.map-layers-locked{cursor:not-allowed;opacity:.5}
.map-layers-panel label.map-layers-locked:hover{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.map-layers-panel label.map-layers-locked .map-layers-icon{opacity:.5!important;filter:none!important}
.map-layers-lock-icon{width:12px;height:12px;flex-shrink:0;color:#8c8196}

/* ── Mobile "+" layers toggle: circular, matches reference ────────────── */
@media(max-width:600px){
  .map-layers-toggle{border-radius:50%}
  /* Leaflet's default zoom control sits top-left, directly under the search
     bars (which span from left:12px on mobile) — push it down below both
     the coords search (top:12,h40) and the item search (top:60,h40) instead
     of letting them silently overlap. */
  .map-renderer-shell .leaflet-top.leaflet-left{top:112px}
  /* iOS Safari force-zooms on focusing any input under 16px font, and does
     not reliably restore layout afterward — keep these at/above 16px. */
  .map-locsearch-input,.map-weapon-search{font-size:16px!important}
}

.leaflet-container{background:#030108}
.map-tap-marker{width:18px;height:18px;border:2px solid #f1c40f;border-radius:50%;background:rgba(241,196,15,.15);box-shadow:0 0 10px rgba(241,196,15,.55),0 0 20px rgba(241,196,15,.18)}
.map-pvp-skull{display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;filter:drop-shadow(0 0 4px rgba(255,40,40,.85)) drop-shadow(0 0 8px rgba(255,40,40,.5));pointer-events:none}
.map-vehicle-icon{display:flex;align-items:center;justify-content:center;overflow:visible}
.map-vehicle-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 4px rgba(0,0,0,.9)) drop-shadow(0 0 6px rgba(241,196,15,.35));image-rendering:crisp-edges;transition:transform .12s ease;transform-origin:center}
.map-vehicle-icon:hover img{transform:scale(1.4)}

@media(max-width:600px){
  .map-renderer-panel{padding:0!important}
  .map-layers-toggle{display:grid;place-items:center;top:auto;bottom:12px;right:12px;width:44px;height:44px}
  .map-layers-toggle svg{width:20px;height:20px}
  .map-layers-panel{display:none;top:50%;bottom:auto;right:12px;left:auto;transform:translateY(-50%);width:160px;max-height:min(60vh,380px);overflow:auto;padding:10px;border:1px solid rgba(241,196,15,.35);border-radius:14px;background:rgba(3,0,8,.95);box-shadow:0 0 30px rgba(0,0,0,.6)}
  .map-layers-panel.layers-open{display:flex}
  .map-layers-panel label,.map-layers-panel .map-layers-pill-btn{padding:7px 12px;font-size:10px}
  .map-layers-panel label,.map-layers-panel .map-layers-pill-btn{background:rgba(255,255,255,.04)}
  .admin-console-link:not([hidden]){grid-column:1/-1!important;grid-row:3!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:32px!important;margin:0!important}
  .site-header:has(.admin-console-link:not([hidden])){grid-template-rows:44px 42px 36px!important}
  .public-faction-dialog{width:min(94vw,520px)!important}
  .public-faction-member{grid-template-columns:30px minmax(0,1fr) auto}
}
.profile-avatar{overflow:hidden;background:#09020f}
.profile-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.required-note{color:var(--amber);font-size:11px;font-weight:700;text-transform:uppercase}

@media(max-width:600px){
  body{background-size:auto,auto,auto,760px auto,auto}
  .site-header{position:sticky;top:0;z-index:30;grid-template-columns:minmax(0,1fr) auto!important;min-height:0;width:100%;padding:4px 10px!important;gap:3px 8px;overflow:hidden;background:rgba(3,0,8,.97)}
  .site-header .brand-logo{width:112px!important;height:40px!important;object-fit:contain!important}
  .login-button{position:fixed!important;right:8px!important;top:6px!important;z-index:100;display:flex!important;align-items:center;min-height:32px!important;width:auto!important;padding:0 12px;font-size:11px;background:rgba(20,5,34,.96)}
  .notification-button{width:34px!important;min-width:34px!important;min-height:32px;margin-right:76px!important}
  .main-nav{min-width:0;max-width:100%;gap:17px!important;padding:0 0 4px!important}.main-nav a{font-size:10px!important;padding:5px 0 7px!important}.nav-icon{width:15px;height:15px}.discord-button,.kofi-button{display:none!important}
  main{width:100%!important;padding:8px!important}.view{width:100%}
  #home .hero{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:0!important;gap:8px!important;padding:0!important}.hero-core-wrap{order:-1;width:100%}
  #home .hero-core-wrap>.hero-core{min-height:220px!important;padding:8px 8px 4px!important}
  #home .hero-core-wrap .hero-logo{width:94%!important;height:145px!important;object-fit:contain!important}
  .subtitle{margin:0 0 8px!important;font-size:9px!important;letter-spacing:2px!important}.signal-line{min-height:40px!important;padding:6px!important;gap:6px!important;font-size:9px!important;letter-spacing:.8px!important}
  #home .hero .terminal-panel{width:100%!important;min-height:0!important;margin:0!important;padding:14px!important;border-radius:9px!important}.terminal-panel h2{margin-bottom:8px;font-size:14px!important}.terminal-panel p,.terminal-panel dt,.terminal-panel dd{font-size:10px!important}.terminal-panel dl{margin:8px 0!important}.terminal-panel div{padding:7px 0!important}.binary-line,.system-report,.intel-map,.map-caption{display:none!important}.network-panel>p{margin:7px 0!important}
  .restored-metrics,.metric-row,.hq-metrics,.leaderboard-summary,.profile-metric-row,.killfeed-highlights{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:8px 0!important}
  .metric,.hq-metrics .metric,.leaderboard-summary .metric,.profile-metric-row .metric,.killfeed-highlights .metric{min-height:92px!important;grid-template-columns:40px minmax(0,1fr)!important;gap:8px!important;padding:10px!important;border-radius:10px!important}
  .metric-icon,.hq-metrics .metric-icon,.leaderboard-summary .metric-icon,.profile-metric-row .metric-icon,.killfeed-highlights .metric-icon{width:38px!important;height:38px!important}.metric-icon svg,.hq-metrics .metric-icon svg,.leaderboard-summary .metric-icon svg,.profile-metric-row .metric-icon svg,.killfeed-highlights .metric-icon svg{width:24px!important;height:24px!important}
  .metric strong,.hq-metrics .metric strong,.leaderboard-summary .metric strong,.profile-metric-row .metric strong,.killfeed-highlights .metric strong{font-size:21px!important}.metric span{font-size:7px!important;letter-spacing:.5px!important;margin-top:4px!important}.metric em{font-size:7px!important;margin-top:5px!important;white-space:normal!important}.metric em:before{width:5px!important;height:5px!important;margin-right:4px!important}
  .restored-home-grid,.home-grid{gap:8px!important}.restored-home-grid>.panel,.home-killfeed{padding:12px!important}.panel-head{gap:8px}.panel-head h2{font-size:14px!important}.panel-head a{font-size:9px}.faction-chip{padding:8px!important}.faction-mark{width:34px!important;height:34px!important}.faction-chip strong{font-size:12px}.faction-chip em{font-size:10px}
  .feed-row{min-height:0!important;display:grid!important;grid-template-columns:20px 50px minmax(0,1fr) auto!important;gap:7px 8px!important;padding:10px!important}.feed-row .kill-skull{grid-column:1;grid-row:1}.feed-row .feed-live{grid-column:2;grid-row:1}.feed-row time{grid-column:3;grid-row:1;padding:0!important;border:0!important;font-size:9px}.feed-row .distance{grid-column:4;grid-row:1}.feed-row .killer{grid-column:1/3;grid-row:2;padding:0!important;font-size:12px}.feed-row .feed-action{grid-column:3;grid-row:2;font-size:9px}.feed-row .victim{grid-column:4;grid-row:2;font-size:12px}.feed-row .weapon{grid-column:1/-1;grid-row:3;justify-content:flex-end;font-size:10px}.feed-row .weapon-image{width:42px;height:22px;flex-basis:42px}
  .page-hero{min-height:0!important;padding:14px!important;gap:8px!important}.page-logo{width:125px!important;height:70px!important}.page-hero h1{font-size:34px!important;line-height:1!important}.page-hero p{font-size:11px!important}.eyebrow{font-size:9px!important}
  .leaderboard-categories{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.leaderboard-categories button{flex:0 0 auto}.profile-banner-form{grid-template-columns:1fr}.profile-banner-form button{width:100%}
  .quick-grid,.network-grid{display:none!important}.two-column,.panel-grid,.market-grid,.hq-content-grid,.profile-detail-grid{grid-template-columns:1fr!important}.hq-banner,.profile-command{padding:14px!important}.hq-banner h2,.profile-command h2{font-size:25px!important}.base-radar-canvas{min-height:190px}.profile-avatar{width:64px;height:64px;font-size:26px}.profile-identity{gap:10px}.profile-detail-grid>.panel{padding:14px}.notification-drawer{inset:64px 8px auto 8px;width:auto;max-height:75vh}
}
@media(max-width:360px){.restored-metrics,.metric-row,.hq-metrics,.leaderboard-summary,.profile-metric-row,.killfeed-highlights{grid-template-columns:1fr!important}}

/* Canonical responsive rules. These intentionally come last. */
.xbox-identity img{width:21px;height:21px;display:block;object-fit:contain}.profile-bio{overflow-wrap:anywhere;word-break:break-word}.xp-runtime{display:inline-flex;margin-left:10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.16);font-style:normal;text-transform:uppercase}.xp-runtime.online{color:var(--green)}.xp-runtime.offline{color:var(--red)}
.faction-card .faction-public-stats{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.faction-card .faction-public-stats>div:nth-child(-n+2) dd{color:var(--amber);font-weight:800}

/* Visual hierarchy: ordinary information panels stay crisp; glow is reserved for metrics, live states, and active controls. */
.panel,.terminal-panel,.market-card,.faction-card{box-shadow:inset 0 0 16px rgba(185,68,255,.025)!important}.panel:hover,.terminal-panel:hover,.faction-card:hover,.market-card:hover{box-shadow:inset 0 0 18px rgba(185,68,255,.045)!important;transform:none!important}.green-panel,.cyan-panel,.amber-panel,.red-panel,.teal-panel,.orange-panel{box-shadow:inset 0 0 18px rgba(255,255,255,.025)!important}.profile-command,.hq-banner,.leaderboard-board,.faction-chat-panel{box-shadow:inset 0 0 20px rgba(185,68,255,.035)!important}.metric,.metric:hover,.profile-metric-row .metric,.killfeed-highlights .metric,.hq-metrics .metric,.leaderboard-summary .metric{box-shadow:0 0 18px color-mix(in srgb,var(--tone-glow) 34%,transparent),inset 0 0 22px color-mix(in srgb,var(--tone-glow) 8%,transparent)!important}.panel h2,.terminal-panel h2,.market-card h2{filter:none!important;text-shadow:none!important}
.faction-chat-panel{grid-column:1/-1;color:#79d8ff;border-color:rgba(70,175,255,.55)}.faction-chat-messages{height:280px;overflow-y:auto;padding:6px 10px;border:1px solid rgba(70,175,255,.18);background:rgba(2,2,10,.58)}.faction-chat-message{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(185,68,255,.14)}.chat-avatar,.chat-avatar img,.chat-avatar b{width:34px;height:34px;border-radius:50%}.chat-avatar img{display:block;object-fit:cover;border:1px solid rgba(70,175,255,.5)}.chat-avatar b{display:grid;place-items:center;background:#160522;color:var(--cyan)}.faction-chat-message header{display:flex;justify-content:space-between;gap:12px}.faction-chat-message header strong{color:#fff}.faction-chat-message time{color:#82758d;font-size:10px}.faction-chat-message p{margin:5px 0 0;color:#d8cce0;overflow-wrap:anywhere}.faction-chat-panel form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.faction-chat-panel input{min-width:0;min-height:40px;padding:0 12px;border:1px solid rgba(70,175,255,.4);background:#05010a;color:#fff}.faction-chat-panel form button{border-color:rgba(70,175,255,.6);color:var(--cyan)}#faction-chat-status{min-height:16px;margin:5px 0 0;color:var(--red)}

@media(max-width:600px){
  .site-header{position:sticky!important;display:grid!important;grid-template-columns:minmax(74px,1fr) 30px minmax(54px,76px) 32px 32px!important;grid-template-rows:44px 42px!important;gap:3px 5px!important;width:100%!important;padding:3px 7px!important;overflow:visible!important}.site-header .brand{grid-column:1!important;grid-row:1!important}.site-header .brand-logo{width:98px!important;height:38px!important}.notification-button{position:relative!important;grid-column:2!important;grid-row:1!important;width:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important}.login-button{position:static!important;grid-column:3!important;grid-row:1!important;width:100%!important;max-width:76px!important;min-width:0!important;min-height:30px!important;padding:0 5px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discord-button,.kofi-button{display:grid!important;position:static!important;place-items:center;grid-row:1!important;width:32px!important;height:30px!important;min-width:32px!important;min-height:30px!important;padding:0!important;font-size:0!important}.discord-button{grid-column:4!important}.kofi-button{grid-column:5!important}.discord-button .brand-icon,.kofi-button .brand-icon{width:17px!important;height:17px!important;margin:0!important}.main-nav{grid-column:1/-1!important;grid-row:2!important;min-width:0!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;gap:18px!important;padding:2px 1px 5px!important;scrollbar-width:none}.main-nav a{flex:0 0 auto!important}
  .feed-row{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;gap:7px 9px!important;min-height:0!important;padding:11px 11px 11px 36px!important;overflow:hidden}.feed-row .kill-skull{position:absolute!important;left:11px!important;top:12px!important;width:16px!important;height:16px!important}.feed-row .feed-live{grid-column:1!important;grid-row:1!important;font-size:9px!important}.feed-row time{grid-column:2/4!important;grid-row:1!important;padding:0!important;border:0!important;text-align:right!important;font-size:9px!important;white-space:nowrap!important}.feed-row .killer{grid-column:1!important;grid-row:2!important;min-width:0!important;padding:0!important;text-align:right!important;font-size:12px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.feed-row .feed-action{grid-column:2!important;grid-row:2!important;padding:0!important;text-align:center!important;font-size:8px!important}.feed-row .victim{grid-column:3!important;grid-row:2!important;min-width:0!important;text-align:left!important;font-size:12px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.feed-row .weapon{grid-column:1/3!important;grid-row:3!important;min-width:0!important;padding:0!important;justify-content:flex-start!important;font-size:10px!important}.feed-row .weapon-image{width:38px!important;height:20px!important;flex-basis:38px!important}.feed-row .distance{grid-column:3!important;grid-row:3!important;text-align:right!important;font-size:10px!important}.home-killfeed .feed-row{margin-bottom:6px}
  .profile-command{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;min-height:230px!important;padding:24px 52px 46px 16px!important}.profile-command .profile-identity{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;width:100%!important}.profile-command .profile-identity>div{min-width:0!important}.profile-command h2{font-size:28px!important}.profile-command p{max-width:100%!important}.profile-avatar{width:64px!important;height:64px!important;flex:0 0 64px!important}.profile-edit-button{position:absolute!important;top:12px!important;right:12px!important;bottom:auto!important;width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important;padding:0!important;border-radius:50%!important}.profile-edit-button svg{width:16px!important;height:16px!important}.profile-status{position:absolute!important;left:16px!important;bottom:14px!important;top:auto!important;font-size:9px!important}.profile-faction-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}.xbox-identity{font-size:12px}.xbox-identity img{width:18px;height:18px}.profile-bio{font-size:11px!important;line-height:1.35!important}.profile-xp small{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.xp-runtime{margin-left:0;padding-left:7px}.faction-chat-messages{height:230px}.faction-chat-panel form{grid-template-columns:1fr}.faction-chat-panel form button{width:100%}
}

/* Product-grade faction surfaces: roster, comms, and management are intentionally distinct from generic cards. */
.public-faction-dialog{width:min(620px,calc(100vw - 30px))!important;padding:0!important;overflow:hidden;border-color:rgba(185,68,255,.65)!important;background:linear-gradient(145deg,rgba(20,5,34,.98),rgba(5,1,12,.98))!important}.public-faction-dialog>.panel-head{padding:18px 20px;margin:0!important;background:linear-gradient(90deg,rgba(185,68,255,.16),transparent);border-bottom:1px solid rgba(185,68,255,.3)}.public-faction-dialog>.panel-head button{width:34px;height:34px;min-height:0;padding:0}
#close-profile-editor{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:transparent;color:rgba(255,255,255,.45);font-size:16px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
#close-profile-editor:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff}.public-faction-overview{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px 20px;border-bottom:1px solid rgba(22,216,255,.2);background:rgba(2,2,10,.4)}.public-faction-mark,.public-faction-mark img{width:48px;height:48px}.public-faction-mark{display:grid;place-items:center;border:1px solid rgba(185,68,255,.65);background:rgba(185,68,255,.11);color:var(--purple);font-size:18px;font-weight:800}.public-faction-mark img{object-fit:contain}.public-faction-overview strong,.public-faction-overview span{display:block}.public-faction-overview strong{color:#fff;font-size:18px}.public-faction-overview span{margin-top:3px;color:#aa9ab7;font-size:10px;text-transform:uppercase;letter-spacing:.8px}.public-faction-overview>b{color:var(--cyan);font-size:11px;white-space:nowrap}.public-faction-member-list{padding:5px 20px 18px}.public-faction-member{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid rgba(185,68,255,.16)}.public-member-avatar,.public-member-avatar img{width:38px;height:38px;border-radius:50%}.public-member-avatar{display:grid;place-items:center;border:1px solid rgba(22,216,255,.55);background:#10071a;color:var(--cyan);font-weight:800;overflow:hidden}.public-member-avatar img{display:block;object-fit:cover}.public-faction-member strong,.public-faction-member small{display:block}.public-faction-member strong{color:#fff}.public-faction-member small{margin-top:3px;color:#83788d;font-size:10px}.public-faction-member em{padding:4px 7px;border:1px solid rgba(185,68,255,.35);color:#d699ff;font-size:9px;font-style:normal;text-transform:uppercase}
.faction-chat-panel{border-radius:14px!important;background:linear-gradient(145deg,rgba(7,5,17,.95),rgba(2,9,16,.9))!important}.faction-chat-panel>.panel-head{padding-bottom:12px;border-bottom:1px solid rgba(22,216,255,.22)}.faction-chat-panel>.panel-head small{display:block;margin-top:4px;color:#8a7c96;font-size:10px}.faction-chat-panel>.panel-head>span{padding:5px 8px;border:1px solid rgba(22,216,255,.28);color:var(--cyan);font-size:10px}.faction-chat-messages{height:320px!important;margin-top:12px;padding:10px!important;border:0!important;border-radius:10px!important;background:linear-gradient(180deg,rgba(1,9,16,.82),rgba(5,1,12,.76))!important}.faction-chat-message{grid-template-columns:42px 1fr!important;gap:11px!important;margin:5px 0!important;padding:9px!important;border:1px solid rgba(255,255,255,.045)!important;border-radius:10px;background:rgba(255,255,255,.025)}.faction-chat-message:nth-child(2n){background:rgba(22,216,255,.035)}.chat-avatar,.chat-avatar img,.chat-avatar b{width:38px!important;height:38px!important}.faction-chat-message header strong{font-size:12px}.faction-chat-message header time{font-size:9px}.faction-chat-message p{font-size:12px;line-height:1.45}.faction-chat-composer{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;margin-top:11px!important}.faction-chat-input-wrap{position:relative}.faction-chat-composer input{min-height:44px!important;border-radius:8px!important;background:rgba(2,6,13,.92)!important}.faction-chat-composer button{min-width:90px;border-color:rgba(22,216,255,.65)!important;background:linear-gradient(135deg,rgba(22,216,255,.14),rgba(185,68,255,.14));color:#effcff}.faction-mention-menu{position:absolute;z-index:6;right:0;bottom:calc(100% + 8px);left:0;max-height:210px;overflow:auto;padding:6px;border:1px solid rgba(22,216,255,.48);border-radius:9px;background:#0b0613;box-shadow:0 14px 34px rgba(0,0,0,.5)}.faction-mention-menu button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:7px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;text-align:left}.faction-mention-menu button:hover{background:rgba(22,216,255,.09)}.faction-mention-menu button span,.faction-mention-menu button img{width:25px;height:25px;border-radius:50%}.faction-mention-menu button span{display:grid;place-items:center;background:#1d0c2d;color:var(--cyan);font-size:10px}.faction-mention-menu button img{display:block;object-fit:cover}.faction-mention-menu button strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.faction-mention-menu button em{color:#b99bcf;font-size:9px;font-style:normal;text-transform:uppercase}
.hq-management{border-radius:14px!important;background:linear-gradient(145deg,rgba(4,18,12,.8),rgba(6,4,15,.95))!important}.hq-management form{padding:12px;border:1px solid rgba(49,209,124,.2);border-radius:10px;background:rgba(0,0,0,.18)}.hq-management form+form{margin-top:10px}.hq-management textarea,.hq-management select,.hq-management input{border-radius:7px!important}.hq-management .join-requests{margin-top:12px;padding:12px;border:1px solid rgba(49,209,124,.18);border-radius:10px;background:rgba(0,0,0,.18)}.hq-management .join-requests h3{margin:0 0 8px;color:var(--green);font-size:12px}.hq-management .danger-button{margin-top:12px;border-radius:7px}
@media(max-width:600px){.public-faction-overview{grid-template-columns:48px minmax(0,1fr)}.public-faction-overview>b{grid-column:2}.public-faction-member-list{padding:5px 14px 14px}.faction-chat-messages{height:275px!important}.faction-chat-composer{grid-template-columns:1fr!important}.faction-chat-composer button{min-height:40px}.faction-mention-menu{bottom:auto;top:calc(100% + 8px)}.hq-management form{padding:10px}}

/* ── Map layers panel — flat stack of standalone floating pills, no enclosing card ── */
.map-layers-panel{overflow-y:auto;max-height:min(calc(100vh - 160px),340px)}
.map-layers-panel label{cursor:pointer!important}
.map-badge{padding:1px 5px;border:1px solid rgba(241,196,15,.28);border-radius:3px;color:rgba(241,196,15,.55);font-size:8px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.map-clear-btn{display:block;width:100%;flex-shrink:0;padding:7px 0;min-height:0;border:1px solid rgba(241,196,15,.28);border-radius:999px;background:rgba(3,0,8,.85);color:rgba(241,196,15,.65);font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}
.map-clear-btn:hover{background:rgba(241,196,15,.12);color:#f1c40f}

/* ── Squad entry button (map toolbar): always green, brighter glow on hover ── */
.map-squad-btn{position:absolute;z-index:600;top:14px;right:64px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(25,247,143,.5);border-radius:10px;background:#000;color:#19f78f;box-shadow:0 0 12px rgba(25,247,143,.2);transition:border-color .15s,box-shadow .15s}
.map-squad-btn svg{width:18px;height:18px}
.map-squad-btn:hover,.map-squad-btn:focus-visible,.map-squad-btn.active{border-color:rgba(25,247,143,.9);box-shadow:0 0 20px rgba(25,247,143,.55)}
@media (max-width:600px){.map-squad-btn{top:14px;right:58px;bottom:auto;left:auto}}

/* ── Help button: solid black at rest, white glow on hover ──────────── */
.map-help-btn{position:absolute;z-index:600;top:14px;right:114px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(22,216,255,.5);border-radius:10px;background:#000;color:#16d8ff;box-shadow:0 0 12px rgba(22,216,255,.2);touch-action:manipulation;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
/* touch-action:manipulation on every map/tutorial control — a double-tap on
   any of these was triggering iOS's double-tap-to-zoom gesture, and buttons
   stayed unresponsive even after zooming back out. */
.map-squad-btn,.map-layers-toggle,.map-clear-btn,.map-layers-panel label,.map-layers-panel .map-layers-pill-btn,.mt-skip,.mt-back,.mt-next{touch-action:manipulation}
.map-help-btn svg{width:18px;height:18px}
.map-help-btn:hover,.map-help-btn:focus-visible{border-color:rgba(22,216,255,.9);color:#fff;box-shadow:0 0 18px rgba(22,216,255,.5)}
@media (max-width:600px){.map-help-btn{top:14px;right:14px;bottom:auto;left:auto}}

/* ── Onboarding tutorial modal ───────────────────────────────────────── */
.map-tutorial-overlay{display:none;position:fixed;inset:0;z-index:2000;align-items:center;justify-content:center;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.map-tutorial-overlay.open{display:flex}
.mt-card{--mt-color:#f1c40f;width:min(380px,calc(100vw - 32px));padding:26px 24px;border:1px solid color-mix(in srgb, var(--mt-color) 70%, transparent);border-radius:14px;background:#000;box-shadow:0 20px 60px rgba(0,0,0,.65),0 0 30px color-mix(in srgb, var(--mt-color) 35%, transparent),0 0 90px color-mix(in srgb, var(--mt-color) 25%, transparent);text-align:center;transition:box-shadow .3s,border-color .3s}
.mt-dots{display:flex;justify-content:center;gap:5px;margin-bottom:18px}
.mt-dots span{width:16px;height:3px;border-radius:2px;background:rgba(255,255,255,.15);transition:background .2s}
.mt-dots span.mt-dot-active{background:var(--mt-color)}
.mt-dots span.mt-dot-done{background:rgba(255,255,255,.4)}
.mt-icon{position:relative;display:grid;place-items:center;width:56px;height:56px;margin:0 auto 16px;border:1px solid var(--mt-color);border-radius:12px;background:rgba(255,255,255,.03);color:var(--mt-color)}
.mt-icon svg{width:26px;height:26px}
.mt-icon-lock-badge{position:absolute;bottom:-6px;right:-6px;width:20px!important;height:20px!important;padding:3px;border-radius:50%;background:#000;border:1px solid var(--mt-color);color:var(--mt-color)}
.mt-title{margin:0 0 8px;color:#fff;font-size:17px;font-weight:700}
.mt-desc{margin:0 0 20px;color:rgba(212,204,224,.65);font-size:12.5px;line-height:1.6}
.mt-unlock{display:block;width:100%;margin:-8px 0 16px;padding:10px 0;min-height:0;border:1px solid var(--mt-color);border-radius:8px;background:var(--mt-color);color:#0a0610;font-size:12px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:filter .15s}
.mt-unlock[hidden]{display:none}
.mt-unlock:hover{filter:brightness(1.1)}
.mt-actions{display:flex;gap:8px}
.mt-skip,.mt-back{flex-shrink:0;padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:transparent;color:rgba(255,255,255,.55);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s}
.mt-skip:hover,.mt-back:hover{background:rgba(255,255,255,.07)}
.mt-next{flex:1;padding:10px 14px;border:1px solid var(--mt-color);border-radius:8px;background:var(--mt-color);color:#0a0610;font-size:11px;font-weight:700;cursor:pointer;transition:filter .15s}
.mt-next:hover{filter:brightness(1.12)}

/* ── Squad page ───────────────────────────────────────────────────── */
.squad-page{max-width:640px;margin:0 auto;padding:32px 16px 60px}
.squad-page-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.squad-back-btn{display:grid;place-items:center;width:36px;height:36px;min-height:0;padding:0;border:1px solid rgba(241,196,15,.3);border-radius:8px;background:rgba(3,0,8,.9);color:#f1c40f;cursor:pointer}
.squad-back-btn:hover{background:rgba(241,196,15,.1)}
.squad-back-btn svg{width:18px;height:18px}
.squad-page-icon{width:22px;height:22px;color:#f1c40f}
.squad-page-title{color:#fff;font-size:20px;font-weight:700;letter-spacing:.3px}
.squad-card{margin-bottom:16px;padding:20px;border:1px solid rgba(241,196,15,.22);border-radius:12px;background:rgba(3,0,8,.85)}
.squad-card h2{margin:0 0 8px;color:#fff;font-size:15px;font-weight:700}
.squad-card-desc{margin:0 0 16px;color:rgba(212,204,224,.65);font-size:12px;line-height:1.5}
.squad-field-label{display:block;margin-bottom:6px;color:rgba(241,196,15,.75);font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
.squad-name-input{display:block;width:100%;padding:10px 12px;border:1px solid rgba(241,196,15,.28);border-radius:8px;background:rgba(0,0,0,.4);color:#fff;font-size:13px;outline:none;box-sizing:border-box}
.squad-name-input:focus{border-color:rgba(241,196,15,.6)}
.squad-name-input::placeholder{color:rgba(212,204,224,.35)}
.squad-char-counter{margin-top:6px;color:rgba(212,204,224,.45);font-size:10px}
.squad-create-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:14px;padding:11px 0;border:1px solid rgba(241,196,15,.4);border-radius:8px;background:rgba(241,196,15,.12);color:#f1c40f;font-size:12px;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:background .15s,opacity .15s}
.squad-create-btn:hover:not(:disabled){background:rgba(241,196,15,.22)}
.squad-create-btn:disabled{opacity:.4;cursor:not-allowed}
.squad-info-card{margin-bottom:16px;padding:16px 18px;border:1px solid rgba(212,204,224,.15);border-radius:12px;background:rgba(255,255,255,.02)}
.squad-info-card p{margin:0 0 8px;color:rgba(212,204,224,.6);font-size:11.5px;line-height:1.6}
.squad-info-card p:last-child{margin-bottom:0}
.squad-info-card strong{color:rgba(212,204,224,.9)}
.squad-info-card a{color:#f1c40f;text-decoration:underline}
.squad-info-card .squad-warning{color:rgba(241,196,15,.75)}
.squad-info-card .squad-warning strong{color:#f1c40f}
.squad-error{margin-bottom:16px;padding:10px 14px;border:1px solid rgba(220,60,60,.35);border-radius:8px;background:rgba(220,60,60,.08);color:rgba(255,120,120,.9);font-size:12px}
.squad-active-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.squad-active-head h2{margin:0}
.squad-member-count{color:rgba(212,204,224,.5);font-size:12px}
.squad-member-list{margin-bottom:16px;border-top:1px solid rgba(212,204,224,.1)}
.squad-member-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(212,204,224,.1)}
.squad-member-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#444}
.squad-member-dot.online{background:#f1c40f;box-shadow:0 0 8px rgba(241,196,15,.6)}
.squad-member-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d4cce0;font-size:13px}
.squad-member-status{flex-shrink:0;color:rgba(212,204,224,.4);font-size:9px;font-weight:600;letter-spacing:.5px}
.squad-leave-btn{display:block;width:100%;padding:11px 0;border:1px solid rgba(220,60,60,.35);border-radius:8px;background:transparent;color:rgba(220,90,90,.85);font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}
.squad-leave-btn:hover{background:rgba(220,60,60,.1);color:#ff6b6b}
.squad-invite-search{position:relative;margin-bottom:16px}
.squad-invite-search input{display:block;width:100%;padding:10px 12px;border:1px solid rgba(241,196,15,.28);border-radius:8px;background:rgba(0,0,0,.4);color:#fff;font-size:13px;outline:none;box-sizing:border-box}
.squad-invite-search input:focus{border-color:rgba(241,196,15,.6)}
.squad-invite-search input::placeholder{color:rgba(212,204,224,.35)}
.squad-invite-results{position:absolute;z-index:10;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;border:1px solid rgba(241,196,15,.3);border-radius:8px;background:rgba(3,0,8,.98);box-shadow:0 12px 28px rgba(0,0,0,.6)}
.squad-invite-result{display:flex;flex-direction:column;gap:2px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid rgba(241,196,15,.1);background:transparent;color:#fff;font-size:12px;text-align:left;cursor:pointer}
.squad-invite-result:last-child{border-bottom:0}
.squad-invite-result:hover:not(:disabled){background:rgba(241,196,15,.1)}
.squad-invite-result span{color:rgba(212,204,224,.5);font-size:10.5px}
.squad-invite-result.unavailable{cursor:not-allowed;opacity:.45}
.squad-invite-empty{padding:12px;color:rgba(212,204,224,.5);font-size:11px;text-align:center}

/* ── Squad invite notification (accept/deny) ─────────────────────── */
.squad-invite-notification{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px 14px;text-align:left}
.squad-invite-actions{display:flex;gap:8px;margin-top:8px}
.squad-invite-accept,.squad-invite-deny{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;padding:7px 0;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:opacity .15s}
.squad-invite-accept{border:1px solid rgba(46,204,113,.5);background:rgba(46,204,113,.12);color:#2ecc71}
.squad-invite-accept:hover:not(:disabled){background:rgba(46,204,113,.22)}
.squad-invite-deny{border:1px solid rgba(220,60,60,.5);background:rgba(220,60,60,.12);color:#ff6b6b}
.squad-invite-deny:hover:not(:disabled){background:rgba(220,60,60,.22)}
.squad-invite-accept:disabled,.squad-invite-deny:disabled{opacity:.45;cursor:not-allowed}
.squad-invite-accept svg,.squad-invite-deny svg{width:13px;height:13px}

/* ── Weapon search ────────────────────────────────────────────────── */
.map-itemsearch-wrap .map-locsearch-icon{color:#b944ff}
.map-weapon-search{display:block;width:100%;height:40px;padding:0 12px 0 36px;box-sizing:border-box;border:1px solid rgba(185,68,255,.35);border-radius:10px;background:rgba(3,0,8,.92);color:#fff;font-size:12px;outline:none;box-shadow:0 0 18px rgba(0,0,0,.35)}
.map-weapon-search::placeholder{color:rgba(185,68,255,.45)}
.map-weapon-search:focus{border-color:rgba(185,68,255,.65)}
.map-weapon-results:not(:empty){position:absolute;top:48px;left:0;right:0;max-height:280px;overflow-y:auto;padding:8px 10px;border:1px solid rgba(185,68,255,.3);border-radius:10px;background:rgba(3,0,8,.97);box-shadow:0 12px 32px rgba(0,0,0,.6)}
.wsr-item{display:flex;align-items:center;gap:5px;padding:5px 4px;border-bottom:1px solid rgba(185,68,255,.1);font-size:10px;cursor:pointer;border-radius:4px;transition:background .12s}
.wsr-item:last-child{border-bottom:0}
.wsr-item:hover,.wsr-item:focus-visible{background:rgba(185,68,255,.12);outline:none}
.wsr-name{flex:1;color:#d4cce0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wsr-tag{flex-shrink:0;padding:1px 4px;border-radius:3px;background:rgba(0,0,0,.3);font-size:9px;font-weight:700}
.wsr-empty{padding:6px 0;color:rgba(140,129,150,.6);font-size:10px;text-align:center}

/* ── Leaflet: location name labels ───────────────────────────────── */
.map-loc-dot{width:8px;height:8px;border-radius:50%}
.map-loc-dot-city    {background:#fff;box-shadow:0 0 6px rgba(255,255,255,.6)}
.map-loc-dot-town    {background:#fff;box-shadow:0 0 6px rgba(255,255,255,.6)}
.map-loc-dot-military{background:#fff;box-shadow:0 0 6px rgba(255,255,255,.6)}
.map-loc-dot-landmark{background:#fff;box-shadow:0 0 6px rgba(255,255,255,.6)}
.leaflet-tooltip.map-loc-label{padding:1px 4px!important;border:0!important;border-radius:3px!important;background:transparent!important;box-shadow:none!important;white-space:nowrap;font-size:10px;font-weight:600;pointer-events:none;text-shadow:0 1px 3px #000,0 0 6px #000}
.leaflet-tooltip.map-loc-label::before{display:none!important}
.leaflet-tooltip.map-loc-label-city    {color:#fff!important;font-size:11px!important}
.leaflet-tooltip.map-loc-label-town    {color:#fff!important}
.leaflet-tooltip.map-loc-label-military{color:#fff!important}
.leaflet-tooltip.map-loc-label-landmark{color:#fff!important}
.leaflet-tooltip.map-loc-label-major{font-size:13px!important;font-weight:800;letter-spacing:.2px}
.map-loc-dot-major{box-shadow:0 0 9px rgba(255,255,255,.85)}

/* ── Player position markers ─────────────────────────────────────── */
.map-pfp{width:36px;height:36px;border-radius:50%;border:2px solid #f1c40f;box-shadow:0 0 12px rgba(241,196,15,.4)}
.map-self-dot{width:14px;height:14px;border-radius:50%;background:#f1c40f;border:2px solid #fff;box-shadow:0 0 10px rgba(241,196,15,.65)}
.map-pfp-dim{opacity:.4;filter:grayscale(1)}

/* ── Generic map tooltip ─────────────────────────────────────────── */
.leaflet-tooltip.map-tip{padding:2px 7px!important;border:1px solid rgba(241,196,15,.32)!important;border-radius:4px!important;background:rgba(3,0,8,.94)!important;box-shadow:none!important;color:#f1c40f!important;font-size:10px!important;white-space:nowrap;transition:none!important}
.leaflet-tooltip.map-tip::before{border-top-color:rgba(241,196,15,.32)!important}

/* ── Pin drop markers ────────────────────────────────────────────── */
.map-pin-wrap{background:transparent!important;border:0!important;filter:drop-shadow(0 2px 5px rgba(0,0,0,.9));transition:filter .15s,transform .15s}
.map-pin-wrap.map-pin-dragready{filter:drop-shadow(0 0 10px rgba(241,196,15,.9)) drop-shadow(0 4px 8px rgba(0,0,0,.9));transform:scale(1.15);cursor:grabbing}
.leaflet-tooltip.map-pin-tip{padding:2px 6px!important;border:1px solid rgba(241,196,15,.32)!important;border-radius:4px!important;background:rgba(3,0,8,.92)!important;box-shadow:none!important;color:#f1c40f!important;font-family:monospace!important;font-size:10px!important}
.leaflet-tooltip.map-pin-tip::before{border-top-color:rgba(241,196,15,.32)!important}
.leaflet-tooltip.map-spawn-tip-military{border-color:rgba(231,76,60,.5)!important;color:#e74c3c!important}
.leaflet-tooltip.map-spawn-tip-military::before{border-top-color:rgba(231,76,60,.5)!important}
.leaflet-tooltip.map-spawn-tip-coast{border-color:rgba(52,152,219,.5)!important;color:#3498db!important}
.leaflet-tooltip.map-spawn-tip-coast::before{border-top-color:rgba(52,152,219,.5)!important}
.leaflet-tooltip.map-spawn-tip-medic{border-color:rgba(46,204,113,.5)!important;color:#2ecc71!important}
.leaflet-tooltip.map-spawn-tip-medic::before{border-top-color:rgba(46,204,113,.5)!important}
.leaflet-tooltip.map-spawn-tip-industrial{border-color:rgba(243,156,18,.5)!important;color:#f39c12!important}
.leaflet-tooltip.map-spawn-tip-industrial::before{border-top-color:rgba(243,156,18,.5)!important}
.leaflet-tooltip.map-spawn-tip-town{border-color:rgba(241,196,15,.5)!important;color:#f1c40f!important}
.leaflet-tooltip.map-spawn-tip-town::before{border-top-color:rgba(241,196,15,.5)!important}
.leaflet-tooltip.map-spawn-tip-village{border-color:rgba(155,89,182,.5)!important;color:#9b59b6!important}
.leaflet-tooltip.map-spawn-tip-village::before{border-top-color:rgba(155,89,182,.5)!important}

@media(max-width:600px){
  .map-layers-panel{max-height:min(60vh,380px)}
  .map-weapon-results{max-height:120px;overflow-y:auto}
}

/* ── Map click popup (gold-trim black panel) ─────────────────────── */
.leaflet-popup.map-popup .leaflet-popup-content-wrapper{padding:0;background:rgba(3,0,8,.97);border:1px solid rgba(241,196,15,.5);border-radius:8px;box-shadow:0 0 30px rgba(241,196,15,.18),0 10px 36px rgba(0,0,0,.75);color:#fff}
.leaflet-popup.map-popup .leaflet-popup-content{margin:0}
.leaflet-popup.map-popup .leaflet-popup-tip-container .leaflet-popup-tip{background:rgba(241,196,15,.45)}
.leaflet-popup.map-popup .leaflet-popup-close-button{color:rgba(241,196,15,.55)!important;font-size:17px!important;padding:4px 8px!important;right:2px!important;top:2px!important}
.leaflet-popup.map-popup .leaflet-popup-close-button:hover{color:#f1c40f!important;background:transparent!important}
.map-popup-inner{padding:12px 14px 13px;min-width:175px}
.map-pin-editor{padding:14px 16px 16px;min-width:210px}
.map-popup-type{color:rgba(241,196,15,.6);font-size:8px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:5px}
.map-popup-name{color:#fff;font-size:14px;font-weight:800;margin-bottom:3px}
.map-popup-status{display:inline-block;margin-bottom:3px;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.map-popup-status.online{background:rgba(49,209,124,.15);color:#31d17c;border:1px solid rgba(49,209,124,.3)}
.map-popup-status.offline{background:rgba(180,168,192,.08);color:#7e718b;border:1px solid rgba(180,168,192,.2)}
.map-popup-coords{color:#4a4055;font-family:monospace;font-size:10px;margin-bottom:10px}
.map-popup-kd{display:flex;gap:12px;margin:-4px 0 10px;color:#f1c40f;font-size:12px;font-weight:700}
.map-popup-kd small{display:block;color:#7e718b;font-size:8px;font-weight:600;letter-spacing:.4px}
.map-popup-nav{display:block;width:100%;padding:6px 0;border:1px solid rgba(241,196,15,.38);border-radius:5px;background:rgba(241,196,15,.05);color:#f1c40f;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s}
.map-popup-nav:hover{background:rgba(241,196,15,.14);border-color:rgba(241,196,15,.65)}
.map-popup-kill-row{display:flex;justify-content:space-between;gap:14px;padding:3px 0;font-size:11px;border-bottom:1px solid rgba(241,196,15,.1)}
.map-popup-kill-row:last-child{border-bottom:0}
.map-popup-kill-row span{color:#7e718b;text-transform:uppercase;letter-spacing:.4px;font-size:9px}
.map-popup-kill-row strong{color:#fff;font-weight:700;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}
.map-pin-name-input{display:block;width:100%;margin-bottom:8px;padding:5px 8px;border:1px solid rgba(241,196,15,.28);border-radius:5px;background:rgba(3,0,8,.85);color:#fff;font-size:11px;outline:none;box-sizing:border-box}
.map-pin-name-input::placeholder{color:rgba(180,168,192,.45)}
.map-pin-name-input:focus{border-color:rgba(241,196,15,.6)}
.map-pin-swatches{display:flex;gap:5px;margin-bottom:8px}
.map-pin-swatch{width:18px;height:18px;min-height:0;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .12s,transform .12s}
.map-pin-swatch.active{border-color:#fff;transform:scale(1.2)}
.map-pin-swatch:hover{transform:scale(1.15)}
.map-pin-types{display:flex;gap:6px;margin-bottom:8px}
.map-pin-type-btn{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(241,196,15,.25);border-radius:7px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.55);cursor:pointer;touch-action:manipulation;transition:border-color .12s,background .12s,color .12s}
.map-pin-type-btn.active{border-color:#f1c40f;background:rgba(241,196,15,.15);color:#f1c40f}
.map-pin-type-btn:hover{color:#fff}
