@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
  --adam-bg: #061018;
  --adam-surface: rgba(9, 24, 33, .88);
  --adam-surface-2: rgba(14, 34, 44, .78);
  --adam-surface-3: rgba(255, 255, 255, .045);
  --adam-line: rgba(176, 226, 229, .14);
  --adam-line-hot: rgba(108, 234, 215, .38);
  --adam-text: #eef8f7;
  --adam-muted: #8fa9ad;
  --adam-dim: #587177;
  --adam-mint: #6cead7;
  --adam-mint-2: #33bfae;
  --adam-coral: #ff8b72;
  --adam-blue: #6ca9ff;
  --adam-red: #ff667d;
  --adam-green: #66e5a3;
  --adam-shadow: 0 28px 80px rgba(0, 0, 0, .44);
  --adam-blur: blur(22px) saturate(135%);
  --line: var(--adam-line) !important;
  --line2: var(--adam-line) !important;
  --txt: var(--adam-text) !important;
  --muted: var(--adam-muted) !important;
  --dim: var(--adam-dim) !important;
  --purple: var(--adam-mint-2) !important;
  --purple2: var(--adam-mint) !important;
  --cyan: var(--adam-mint) !important;
  --green: var(--adam-green) !important;
  --red: var(--adam-red) !important;
  --shadow: var(--adam-shadow) !important;
}

html, body {
  background: var(--adam-bg) !important;
  color: var(--adam-text) !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

body.adam-ui::before {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
  opacity: .46 !important;
  background:
    linear-gradient(90deg, rgba(108,234,215,.035) 1px, transparent 1px),
    linear-gradient(rgba(108,234,215,.025) 1px, transparent 1px) !important;
  background-size: 72px 72px !important;
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent) !important;
}

#map {
  background: #07131a !important;
}

.map-vignette {
  background:
    radial-gradient(circle at 50% 46%, transparent 0 48%, rgba(2,10,15,.35) 80%, rgba(2,8,12,.8) 100%),
    linear-gradient(90deg, rgba(2,12,17,.26), transparent 24%, transparent 72%, rgba(2,12,17,.46)) !important;
}

/* Adam access screen */
.landing-overlay {
  background:
    radial-gradient(circle at 18% 12%, rgba(108,234,215,.15), transparent 28%),
    radial-gradient(circle at 88% 78%, rgba(255,139,114,.12), transparent 25%),
    #061018 !important;
}
.landing-overlay::before {
  opacity: .7 !important;
  background:
    linear-gradient(90deg, rgba(155,220,223,.05) 1px, transparent 1px),
    linear-gradient(rgba(155,220,223,.05) 1px, transparent 1px) !important;
  background-size: 48px 48px !important;
  transform: perspective(700px) rotateX(62deg) scale(1.55) translateY(18%) !important;
  transform-origin: center bottom !important;
}
.landing-overlay::after {
  inset: 7% 4% 5% 42% !important;
  opacity: .2 !important;
  border-radius: 42px 8px 42px 8px !important;
  background: linear-gradient(125deg, rgba(108,234,215,.18), transparent 45%), url('https://game.gtimg.cn/images/dfm/cp/a20240729directory/img/map_htjd/3_4_3.jpg') center/cover !important;
  filter: grayscale(.5) contrast(1.2) !important;
  box-shadow: inset 0 0 120px #061018 !important;
  clip-path: polygon(8% 0, 100% 0, 100% 92%, 90% 100%, 0 100%, 0 8%) !important;
}
.landing-scene {
  width: min(1240px, 92vw) !important;
  height: min(700px, 88vh) !important;
  grid-template-columns: 1.1fr .72fr !important;
  gap: clamp(40px, 8vw, 120px) !important;
  padding: clamp(28px, 5vw, 72px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.landing-brand { align-self: center !important; padding: 0 !important; }
.brand-kicker {
  color: var(--adam-mint) !important;
  font: 600 11px/1 'Space Grotesk', sans-serif !important;
  letter-spacing: 4px !important;
  margin-bottom: 26px !important;
}
.brand-title {
  max-width: 660px !important;
  color: var(--adam-text) !important;
  font: 600 clamp(54px, 7vw, 98px)/.88 'Space Grotesk', sans-serif !important;
  letter-spacing: -6px !important;
  text-shadow: none !important;
}
.brand-title span { color: var(--adam-mint) !important; text-shadow: none !important; }
.landing-brand p {
  max-width: 480px !important;
  margin-top: 30px !important;
  color: var(--adam-muted) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  letter-spacing: .2px !important;
}
.landing-card {
  position: relative !important;
  width: min(410px, 100%) !important;
  padding: 34px !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 28px 8px 28px 8px !important;
  background: linear-gradient(155deg, rgba(17,39,49,.94), rgba(6,20,28,.88)) !important;
  box-shadow: 0 35px 100px rgba(0,0,0,.5), inset 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: var(--adam-blur) !important;
}
.landing-card::before {
  content: '01' !important;
  position: absolute !important;
  top: 18px !important;
  right: 22px !important;
  color: rgba(108,234,215,.35) !important;
  font: 600 11px 'Space Grotesk', sans-serif !important;
}
.access-chip {
  gap: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--adam-muted) !important;
  font: 600 10px 'Space Grotesk', sans-serif !important;
  letter-spacing: 2px !important;
}
.access-chip i { width: 7px; height: 7px; border-radius: 50%; background: var(--adam-green); box-shadow: 0 0 14px var(--adam-green); }
.landing-title {
  margin: 36px 0 8px !important;
  font: 600 31px 'Space Grotesk', sans-serif !important;
  letter-spacing: -1px !important;
  text-transform: none !important;
}
.landing-desc, .landing-hint { color: var(--adam-muted) !important; }
.landing-input-wrap { gap: 10px !important; margin: 28px 0 14px !important; }
.landing-input {
  height: 54px !important;
  padding: 0 17px !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 12px !important;
  background: rgba(1,11,16,.54) !important;
  color: var(--adam-text) !important;
  font: 600 12px 'Space Grotesk', sans-serif !important;
  letter-spacing: 1.4px !important;
}
.landing-input:focus { border-color: var(--adam-mint) !important; box-shadow: 0 0 0 4px rgba(108,234,215,.1) !important; }
.landing-btn {
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 18px !important;
  border-radius: 12px !important;
  color: #051411 !important;
  background: var(--adam-mint) !important;
  box-shadow: 0 16px 36px rgba(51,191,174,.22) !important;
  font: 700 11px 'Space Grotesk', sans-serif !important;
  letter-spacing: 2px !important;
}
.landing-btn b { font-size: 18px; }
.landing-hint { font-size: 11px !important; }
.landing-error { color: var(--adam-coral) !important; }

/* Right command deck */
.sidebar {
  left: auto !important;
  right: 18px !important;
  top: 88px !important;
  bottom: 18px !important;
  width: 324px !important;
  padding: 16px !important;
  gap: 13px !important;
  overflow-x: visible !important;
  overflow-y: auto !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 26px 8px 26px 8px !important;
  background: linear-gradient(160deg, rgba(13,31,40,.94), rgba(5,18,25,.88)) !important;
  box-shadow: var(--adam-shadow) !important;
  backdrop-filter: var(--adam-blur) !important;
  scrollbar-color: rgba(108,234,215,.35) transparent !important;
}
.sidebar::-webkit-scrollbar { width: 4px !important; }
.sidebar::-webkit-scrollbar-track { background: transparent !important; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(108,234,215,.3) !important; border-radius: 10px !important; }
.sidebar.collapsed { transform: translateX(calc(100% + 40px)) !important; opacity: 1 !important; pointer-events: none !important; }
.rail-brand {
  height: 58px !important;
  gap: 12px !important;
  padding: 0 2px 14px !important;
  border-bottom: 1px solid var(--adam-line) !important;
}
.brand-mark {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(108,234,215,.45) !important;
  border-radius: 50% !important;
  background: var(--adam-mint) !important;
  color: #061713 !important;
  box-shadow: 0 0 0 6px rgba(108,234,215,.07) !important;
  font: 700 18px 'Space Grotesk', sans-serif !important;
}
.rail-title { color: var(--adam-text) !important; font: 700 17px 'Space Grotesk',sans-serif !important; letter-spacing: 2px !important; }
.rail-subtitle { margin-top: 3px !important; color: var(--adam-muted) !important; font: 600 8px 'Space Grotesk',sans-serif !important; letter-spacing: 2.5px !important; text-shadow: none !important; }
.panel {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.panel-title {
  justify-content: space-between !important;
  margin: 6px 2px 10px !important;
  color: var(--adam-text) !important;
  font: 600 11px 'Space Grotesk', sans-serif !important;
  letter-spacing: 1.5px !important;
}
.panel-title::before { display: none !important; }
.panel-title small { color: var(--adam-dim); font-size: 8px; letter-spacing: 1.6px; }
.layer-grid { grid-template-columns: 1fr 1fr !important; gap: 7px !important; }
.layer-row {
  min-height: 42px !important;
  padding: 9px 11px !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.025) !important;
  color: #b5c8ca !important;
  font-size: 11px !important;
}
.layer-row:hover { border-color: var(--adam-line-hot) !important; background: rgba(108,234,215,.065) !important; color: #fff !important; }
.layer-row.wide { grid-column: 1 / -1 !important; background: rgba(108,234,215,.03) !important; }
.layer-lbl { gap: 8px !important; }
.ldot, .legend-dot, .fs-dot { width: 7px !important; height: 7px !important; }
.enemy-dot { background: var(--adam-coral) !important; box-shadow: 0 0 10px rgba(255,139,114,.5) !important; }
.team-dot { background: var(--adam-green) !important; box-shadow: 0 0 10px rgba(102,229,163,.45) !important; }
.ai-dot { background: #82989b !important; }
.box-dot { background: var(--adam-blue) !important; }
.loot-dot { background: #f4d06f !important; }
.exit-dot { background: var(--adam-mint) !important; }
.list-dot { background: #b491ff !important; }
.chat-dot { background: #74b9ff !important; }
.settings-dot { background: var(--adam-muted) !important; }
.mini-gear { color: var(--adam-dim) !important; }
.ltog {
  width: 31px !important;
  height: 18px !important;
  border: 1px solid var(--adam-line) !important;
  background: rgba(255,255,255,.06) !important;
}
.ltog::after { left: 2px !important; top: 2px !important; width: 12px !important; height: 12px !important; background: #718489 !important; }
.ltog.on { border-color: rgba(108,234,215,.42) !important; background: rgba(108,234,215,.22) !important; }
.ltog.on::after { left: 15px !important; background: var(--adam-mint) !important; box-shadow: 0 0 10px rgba(108,234,215,.55) !important; }
input[type=checkbox] { accent-color: var(--adam-mint-2) !important; }

.scale-row { grid-template-columns: 62px minmax(0,1fr) 48px !important; gap: 9px !important; margin-top: 11px !important; }
.cfg-lbl { color: var(--adam-muted) !important; font-size: 9px !important; letter-spacing: .7px !important; }
.scale-slider { accent-color: var(--adam-mint) !important; }
.scale-val, .scale-val-input {
  border: 1px solid var(--adam-line) !important;
  border-radius: 7px !important;
  background: rgba(0,8,12,.42) !important;
  color: var(--adam-text) !important;
}
.btn {
  border: 1px solid var(--adam-line-hot) !important;
  border-radius: 10px !important;
  background: rgba(108,234,215,.08) !important;
  color: var(--adam-text) !important;
  box-shadow: none !important;
}
.btn:hover, .btn.btn-accent { background: var(--adam-mint) !important; color: #051512 !important; }
.rotate-map-row { border-color: var(--adam-line) !important; color: var(--adam-muted) !important; }
.team-float.show { gap: 7px !important; }
.team-card { border: 1px solid var(--adam-line) !important; border-radius: 11px !important; background: rgba(255,255,255,.025) !important; }
.team-card:hover, .team-card.active { border-color: var(--adam-line-hot) !important; background: rgba(108,234,215,.07) !important; }
.tc-bar-fill { background: linear-gradient(90deg,var(--adam-green),var(--adam-mint)) !important; }

.sidebar-toggle {
  left: auto !important;
  right: 342px !important;
  top: 50% !important;
  width: 28px !important;
  height: 72px !important;
  padding: 0 !important;
  border: 1px solid var(--adam-line-hot) !important;
  border-right: 0 !important;
  border-radius: 14px 0 0 14px !important;
  background: rgba(8,28,35,.94) !important;
  color: var(--adam-mint) !important;
  box-shadow: -10px 0 32px rgba(0,0,0,.3) !important;
  transform: translateY(-50%) !important;
  font-size: 21px !important;
}
.sidebar-toggle:hover { background: var(--adam-mint) !important; color: #051512 !important; }
.sidebar-toggle:focus, .sidebar-toggle:focus-visible { outline: none !important; box-shadow: -10px 0 32px rgba(0,0,0,.3) !important; }
.sidebar-toggle.collapsed { left: auto !important; right: 10px !important; border-right: 1px solid var(--adam-line-hot) !important; }

/* Floating map navigation */
.command-topbar {
  left: 18px !important;
  right: 360px !important;
  top: 16px !important;
  height: 58px !important;
  gap: 12px !important;
  padding: 8px 10px !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 18px !important;
  background: rgba(7,24,32,.82) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.3) !important;
  backdrop-filter: var(--adam-blur) !important;
}
.topbar-brand { height: 40px; display: flex; align-items: center; gap: 9px; padding: 0 12px 0 4px; border-right: 1px solid var(--adam-line); }
.topbar-brand > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--adam-mint); color: #061511; font: 700 13px 'Space Grotesk'; }
.topbar-brand div { display: flex; flex-direction: column; }
.topbar-brand strong { font: 700 11px 'Space Grotesk'; letter-spacing: 1.7px; }
.topbar-brand small { color: var(--adam-dim); font: 600 7px 'Space Grotesk'; letter-spacing: 1.2px; }
.top-map-tabs { gap: 4px !important; }
.top-map-tabs .map-tab {
  height: 38px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--adam-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
  font: 600 10px 'DM Sans',sans-serif !important;
}
.top-map-tabs .map-tab:hover { color: #fff !important; background: rgba(255,255,255,.045) !important; }
.top-map-tabs .map-tab.active { color: #061511 !important; background: var(--adam-mint) !important; box-shadow: none !important; }
.topbar-pill {
  height: 38px !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--adam-muted) !important;
  font-size: 10px !important;
}
.topbar-pill:hover, .topbar-pill.active { border-color: var(--adam-line-hot) !important; background: rgba(108,234,215,.08) !important; color: var(--adam-text) !important; }
.status-pill { min-width: 150px !important; }
.conn-dot { background: #5d7277 !important; box-shadow: 0 0 0 4px rgba(93,114,119,.1) !important; }
.conn-dot.ok { background: var(--adam-green) !important; box-shadow: 0 0 12px var(--adam-green),0 0 0 4px rgba(102,229,163,.1) !important; }
.conn-dot.err { background: var(--adam-red) !important; }
body.menu-collapsed .command-topbar { right: 18px !important; }

.ops-panel { display: none !important; }
.float-stats {
  left: 18px !important;
  top: auto !important;
  bottom: 18px !important;
  width: auto !important;
  grid-template-columns: repeat(6,auto) !important;
  gap: 4px !important;
  padding: 8px !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 14px !important;
  background: rgba(7,24,32,.82) !important;
  box-shadow: var(--adam-shadow) !important;
  backdrop-filter: var(--adam-blur) !important;
}
.fs-title { grid-column: 1 / -1 !important; display: flex; justify-content: space-between; color: var(--adam-text) !important; padding: 1px 5px 5px !important; font: 600 9px 'Space Grotesk' !important; letter-spacing: 1.4px !important; }
.fs-title small { color: var(--adam-green); font-size: 8px; }
.fs-row { min-width: 66px; padding: 6px 8px; border-radius: 8px; background: rgba(255,255,255,.035); }
.fs-lbl { color: var(--adam-muted) !important; font-size: 9px !important; }
.fs-dot.player { background: var(--adam-coral) !important; }
.fs-dot.ai { background: #82989b !important; }
.fs-dot.body, .fs-dot.box { background: var(--adam-blue) !important; }
.fs-dot.loot { background: #f4d06f !important; }
.fs-dot.exit { background: var(--adam-mint) !important; }

/* Popovers and utility windows */
.box-cfg-pop {
  min-width: 180px !important;
  width: min(330px, calc(100vw - 24px)) !important;
  max-width: min(330px, calc(100vw - 24px)) !important;
  padding: 14px !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 18px 7px 18px 7px !important;
  background: rgba(8,24,32,.97) !important;
  box-shadow: var(--adam-shadow) !important;
  backdrop-filter: var(--adam-blur) !important;
}
.box-cfg-pop.open { display: grid !important; gap: 7px !important; }
.box-chk-row, .mini-check { color: #b9cbcd !important; border-color: transparent !important; border-radius: 8px !important; }
.box-chk-row:hover, .mini-check:hover { background: rgba(108,234,215,.06) !important; color: #fff !important; }
.pop-title { color: var(--adam-text) !important; font: 600 11px 'Space Grotesk' !important; letter-spacing: 1px !important; }
.pop-close, .player-info-mini-btn { border-color: var(--adam-line) !important; background: rgba(255,255,255,.04) !important; color: var(--adam-text) !important; }
.display-cfg-pop { width: min(420px, calc(100vw - 24px)) !important; max-width: min(420px, calc(100vw - 24px)) !important; }
.display-cfg-pop { min-width: min(420px, calc(100vw - 24px)) !important; scrollbar-color: rgba(108,234,215,.32) transparent !important; }
.player-info-pop { min-width: min(420px, calc(100vw - 24px)) !important; width: min(420px, calc(100vw - 24px)) !important; }
#displayCfgPop, #playerInfoPop { min-width: 420px !important; width: 420px !important; max-width: 420px !important; }
.display-cfg-pop::-webkit-scrollbar, .player-info-pop::-webkit-scrollbar { width: 5px !important; }
.display-cfg-pop::-webkit-scrollbar-track, .player-info-pop::-webkit-scrollbar-track { background: transparent !important; }
.display-cfg-pop::-webkit-scrollbar-thumb, .player-info-pop::-webkit-scrollbar-thumb { background: rgba(108,234,215,.3) !important; border-radius: 10px !important; }
.pop-title-row {
  margin: -14px -14px 10px !important;
  padding: 13px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--adam-line) !important;
  border-radius: 18px 7px 0 0 !important;
  background: rgba(108,234,215,.045) !important;
}
.pop-close { border: 1px solid var(--adam-line) !important; }
.mini-check-grid { gap: 7px !important; }
.player-info-card, .player-info-row { border-color: var(--adam-line) !important; background: rgba(255,255,255,.025) !important; }

.loot-window, .room-chat-window {
  border: 1px solid var(--adam-line) !important;
  border-radius: 20px 7px 20px 7px !important;
  background: rgba(7,24,32,.92) !important;
  box-shadow: var(--adam-shadow) !important;
  backdrop-filter: var(--adam-blur) !important;
}
.loot-window {
  left: auto !important;
  right: 360px !important;
  top: 88px !important;
  width: 350px !important;
  max-height: calc(100vh - 106px) !important;
}
body.menu-collapsed .loot-window { right: 18px !important; top: 88px !important; }
.loot-window-header, .room-chat-header {
  padding: 13px 15px !important;
  border-bottom: 1px solid var(--adam-line) !important;
  background: rgba(108,234,215,.045) !important;
}
.loot-window-title, .room-chat-title { color: var(--adam-text) !important; font: 600 10px 'Space Grotesk' !important; letter-spacing: 1.4px !important; }
.loot-live { color: var(--adam-green); font: 700 8px 'Space Grotesk'; letter-spacing: 1.3px; }
.item-list-wrap { max-height: calc(100vh - 158px) !important; }
.item-row, .loot-row {
  border: 1px solid transparent !important;
  border-bottom-color: rgba(176,226,229,.08) !important;
  border-radius: 9px !important;
  background: transparent !important;
}
.item-row:hover, .loot-row:hover, .item-row.highlight-loot-row { border-color: var(--adam-line-hot) !important; background: rgba(108,234,215,.06) !important; }
.item-rank, .loot-row-meta { color: var(--adam-dim) !important; }
.item-price, .loot-row-value { color: var(--adam-mint) !important; }
.room-chat-window { left: 18px !important; right: auto !important; bottom: 18px !important; width: 340px !important; }
.room-chat-subtitle, .room-chat-name-row { color: var(--adam-muted) !important; }
.room-chat-name-input, .room-chat-form input {
  border-color: var(--adam-line) !important;
  background: rgba(0,9,13,.5) !important;
  color: var(--adam-text) !important;
}
.room-chat-msg { border-color: rgba(176,226,229,.08) !important; background: rgba(255,255,255,.03) !important; }
.room-chat-msg.mine { border-color: rgba(108,234,215,.2) !important; background: rgba(108,234,215,.08) !important; }
.room-chat-text { color: var(--adam-text) !important; }
.room-chat-form button { background: var(--adam-mint) !important; color: #051512 !important; }
.room-chat-close { border-color: var(--adam-line) !important; background: rgba(255,255,255,.04) !important; }
#toast { border-color: var(--adam-line-hot) !important; background: rgba(7,24,32,.96) !important; color: var(--adam-text) !important; }

#spectateSelect, #spectateSelect option {
  border-color: var(--adam-line) !important;
  background: #0a2029 !important;
  color: var(--adam-text) !important;
}
#spectateSelect option:checked { background: var(--adam-mint-2) !important; color: #051512 !important; }

.leaflet-control-zoom {
  left: 18px !important;
  right: auto !important;
  top: 78px !important;
  border: 1px solid var(--adam-line) !important;
  border-radius: 13px !important;
  background: rgba(7,24,32,.86) !important;
  box-shadow: var(--adam-shadow) !important;
}
.leaflet-control-zoom a { border-color: var(--adam-line) !important; background: rgba(7,24,32,.9) !important; color: var(--adam-text) !important; }
.leaflet-control-zoom a:hover { background: var(--adam-mint) !important; color: #051512 !important; }
.map-region-name span { color: rgba(222,244,242,.9) !important; text-shadow: 0 0 12px #001014,0 0 22px rgba(108,234,215,.18) !important; }

.mobile-bottom-bar-handle, .mobile-loot-window-handle {
  border-color: var(--adam-line-hot) !important;
  background: rgba(7,24,32,.95) !important;
  color: var(--adam-mint) !important;
}

@media (max-width: 1120px) {
  .sidebar { width: 300px !important; }
  .sidebar-toggle { right: 318px !important; }
  .command-topbar { right: 336px !important; }
  .topbar-brand { display: none !important; }
  .loot-window { right: 336px !important; }
}

@media (max-width: 760px) {
  .landing-overlay::after { inset: 4% !important; opacity: .1 !important; }
  .landing-scene { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; padding: 22px !important; }
  .landing-brand { display: none !important; }
  .landing-card { width: 100% !important; padding: 28px 22px !important; }
  .landing-title { font-size: 28px !important; }

  .sidebar {
    left: auto !important;
    right: 10px !important;
    top: 10px !important;
    bottom: 82px !important;
    width: min(340px, calc(100vw - 20px)) !important;
    border-radius: 22px 6px 22px 6px !important;
  }
  .sidebar.collapsed { transform: translateX(calc(100% + 24px)) !important; }
  .sidebar-toggle { left: auto !important; right: min(350px, calc(100vw - 10px)) !important; top: 45% !important; }
  .sidebar-toggle.collapsed { left: auto !important; right: 6px !important; }

  .command-topbar {
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: 10px !important;
    height: 60px !important;
    border-radius: 15px !important;
  }
  .top-map-tabs .map-tab { padding: 0 12px !important; }
  .topbar-pill { padding: 0 10px !important; }
  .status-pill { min-width: 112px !important; }
  .conn-latency { display: none !important; }
  body.menu-collapsed .command-topbar { right: 10px !important; }

  .box-cfg-pop { width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px) !important; }
  .display-cfg-pop, .player-info-pop { min-width: calc(100vw - 20px) !important; }
  #displayCfgPop, #playerInfoPop { min-width: calc(100vw - 20px) !important; width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px) !important; }
  .loot-window, body.menu-collapsed .loot-window {
    left: 10px !important;
    right: auto !important;
    top: 10px !important;
    width: min(300px, calc(100vw - 20px)) !important;
    max-height: 112px !important;
  }
  .item-list-wrap { max-height: 58px !important; }
  .room-chat-window { left: 10px !important; right: auto !important; bottom: 82px !important; width: calc(100vw - 20px) !important; }
  .float-stats { display: none !important; }
  .leaflet-control-zoom { top: 8px !important; left: 8px !important; }
  .mobile-bottom-bar-handle, .mobile-loot-window-handle { border-radius: 10px !important; }
}

@media (prefers-reduced-motion: no-preference) {
  .landing-card { animation: adam-rise .55s cubic-bezier(.2,.8,.2,1) both; }
  .landing-brand { animation: adam-rise .65s .08s cubic-bezier(.2,.8,.2,1) both; }
  .sidebar, .command-topbar, .loot-window, .room-chat-window { transition: transform .28s ease, opacity .2s ease, right .28s ease !important; }
}
@keyframes adam-rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* ========================================================================== */
/* ADAM ATLAS / V2 — standalone interface                                     */
/* ========================================================================== */
:root {
  --atlas-ink: #090a09;
  --atlas-ink-2: #111310;
  --atlas-panel: rgba(12, 14, 12, .94);
  --atlas-paper: #e8e4d8;
  --atlas-muted: #8e9187;
  --atlas-line: rgba(232, 228, 216, .18);
  --atlas-faint: rgba(232, 228, 216, .06);
  --atlas-accent: #ff5d32;
  --atlas-accent-2: #ffb000;
  --atlas-good: #91e6bd;
  --atlas-danger: #ff625f;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }
body.adam-ui {
  background: var(--atlas-ink) !important;
  color: var(--atlas-paper) !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 12px;
}
button, input, select { font: inherit; }
button { cursor: pointer; }

body.adam-ui::before {
  opacity: .26 !important;
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(255,93,50,.14) 50%, transparent 50.1%),
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(232,228,216,.025) 24px) !important;
  background-size: 100% 100%, 100% 24px !important;
  mask-image: none !important;
}
body.adam-ui::after {
  content: 'ADAM // LIVE CARTOGRAPHY';
  position: fixed;
  z-index: 4;
  right: 7px;
  top: 50%;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
  color: rgba(232,228,216,.28);
  font-size: 8px;
  letter-spacing: 3px;
  pointer-events: none;
}

#map { position: fixed; inset: 0; z-index: 0; background: #10120f !important; }
#map.rotating-map-active .leaflet-map-pane { transform-origin: var(--map-rotation-origin-x) var(--map-rotation-origin-y) !important; transform: rotate(var(--map-rotation)) scale(var(--map-rotation-scale)) !important; }
.map-vignette { position: fixed; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(90deg, rgba(7,8,7,.76), transparent 18%, transparent 78%, rgba(7,8,7,.42)), radial-gradient(circle, transparent 48%, rgba(5,6,5,.55) 100%) !important; }

/* Access screen: hard editorial composition, no glass card. */
.landing-overlay { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: var(--atlas-paper) !important; color: var(--atlas-ink) !important; }
.landing-overlay.hidden { display: none; }
.landing-overlay::before {
  content: '';
  position: absolute;
  inset: 0 !important;
  opacity: 1 !important;
  background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), rgba(9,10,9,.1) calc(12.5% - 1px) 12.5%) !important;
  transform: none !important;
}
.landing-overlay::after {
  content: '01';
  position: absolute !important;
  inset: auto 3vw 0 auto !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
  background: none !important;
  color: rgba(9,10,9,.06);
  font: 400 min(34vw, 460px)/.75 'Archivo Black', sans-serif;
  filter: none !important;
  clip-path: none !important;
  box-shadow: none !important;
}
.landing-scene { position: relative; z-index: 2; width: min(1360px, 92vw) !important; height: min(760px, 88vh) !important; display: grid !important; grid-template-columns: 1.4fr .6fr !important; align-items: end !important; gap: 6vw !important; padding: 4vw !important; border: 2px solid var(--atlas-ink) !important; background: transparent !important; }
.landing-brand { align-self: center !important; }
.brand-kicker { margin-bottom: 30px !important; color: var(--atlas-accent) !important; font: 600 10px/1 'IBM Plex Mono', monospace !important; letter-spacing: 3px !important; }
.brand-title { color: var(--atlas-ink) !important; font: 400 clamp(64px, 9vw, 140px)/.78 'Archivo Black', sans-serif !important; letter-spacing: -7px !important; text-transform: uppercase; }
.brand-title span { color: var(--atlas-ink) !important; -webkit-text-stroke: 2px var(--atlas-ink); -webkit-text-fill-color: transparent; }
.landing-brand p { max-width: 530px !important; margin: 36px 0 0 !important; color: #41443e !important; font-size: 12px !important; line-height: 1.8 !important; text-transform: uppercase; }
.landing-card { align-self: end; width: 100% !important; padding: 26px 0 0 !important; border: 0 !important; border-top: 6px solid var(--atlas-ink) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; backdrop-filter: none !important; }
.landing-card::before { display: none; }
.access-chip { display: flex; align-items: center; gap: 9px !important; color: #565950 !important; font-size: 9px !important; letter-spacing: 1.8px !important; }
.access-chip i { width: 8px; height: 8px; border: 1px solid var(--atlas-ink); border-radius: 0 !important; background: var(--atlas-accent) !important; box-shadow: none !important; }
.landing-title { margin: 28px 0 8px !important; color: var(--atlas-ink); font: 400 32px/1 'Archivo Black', sans-serif !important; text-transform: uppercase !important; letter-spacing: -1px !important; }
.landing-desc, .landing-hint { color: #55584f !important; }
.landing-input-wrap { display: grid; grid-template-columns: 1fr; gap: 0 !important; margin: 28px 0 12px !important; }
.landing-input { width: 100%; height: 56px !important; padding: 0 14px !important; border: 2px solid var(--atlas-ink) !important; border-radius: 0 !important; background: transparent !important; color: var(--atlas-ink) !important; font: 600 11px 'IBM Plex Mono', monospace !important; letter-spacing: 1px !important; outline: none; }
.landing-input:focus { border-color: var(--atlas-accent) !important; box-shadow: inset 5px 0 var(--atlas-accent) !important; }
.landing-btn { width: 100%; height: 56px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 0 16px !important; border: 0; border-radius: 0 !important; background: var(--atlas-ink) !important; color: var(--atlas-paper) !important; box-shadow: none !important; font: 600 10px 'IBM Plex Mono', monospace !important; letter-spacing: 2px !important; }
.landing-btn:hover { background: var(--atlas-accent) !important; }
.landing-btn b { font-size: 18px; }
.landing-hint { font-size: 8px !important; letter-spacing: 1px; }
.landing-error { color: #b52018 !important; font-weight: 600; }

/* Left map index: navigation is now vertical. */
.command-topbar {
  position: fixed !important;
  z-index: 1200;
  left: 18px !important;
  right: auto !important;
  top: 18px !important;
  bottom: 270px !important;
  width: 154px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  padding: 10px !important;
  border: 1px solid var(--atlas-line) !important;
  border-left: 4px solid var(--atlas-accent) !important;
  border-radius: 0 !important;
  background: var(--atlas-panel) !important;
  box-shadow: 16px 0 40px rgba(0,0,0,.34) !important;
  backdrop-filter: blur(10px) !important;
}
.topbar-brand { height: auto !important; display: grid !important; grid-template-columns: 38px 1fr; gap: 9px !important; align-items: center; padding: 3px 0 16px !important; border: 0 !important; border-bottom: 1px solid var(--atlas-line) !important; }
.topbar-brand > span { width: 38px !important; height: 38px !important; display: grid; place-items: center; border: 1px solid var(--atlas-paper); border-radius: 0 !important; background: transparent !important; color: var(--atlas-accent) !important; font: 400 11px 'Archivo Black',sans-serif !important; }
.topbar-brand div { display: flex; flex-direction: column; }
.topbar-brand strong { color: var(--atlas-paper); font: 400 12px 'Archivo Black', sans-serif !important; letter-spacing: .7px !important; }
.topbar-brand small { color: var(--atlas-muted); font: 500 7px 'IBM Plex Mono',monospace !important; letter-spacing: 1.2px !important; }
.top-map-tabs { width: 100%; display: flex !important; flex-direction: column !important; gap: 2px !important; }
.top-map-tabs .map-tab { position: relative; width: 100%; height: 42px !important; display: flex; align-items: center; padding: 0 8px 0 29px !important; border: 0 !important; border-bottom: 1px solid var(--atlas-faint) !important; border-radius: 0 !important; background: transparent !important; color: #9da097 !important; box-shadow: none !important; font: 500 9px 'IBM Plex Mono',monospace !important; }
.top-map-tabs .map-tab::before { content: '○'; position: absolute; left: 7px; color: #555950; }
.top-map-tabs .map-tab:hover { color: var(--atlas-paper) !important; background: var(--atlas-faint) !important; }
.top-map-tabs .map-tab.active { color: var(--atlas-paper) !important; background: transparent !important; }
.top-map-tabs .map-tab.active::before { content: '■'; color: var(--atlas-accent); }
.topbar-spacer { flex: 1 1 auto; }
.topbar-pill { min-height: 34px; padding: 0 9px; border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: transparent !important; color: var(--atlas-muted) !important; font: 500 8px 'IBM Plex Mono',monospace !important; text-transform: uppercase; }
.topbar-pill:hover, .topbar-pill.active { border-color: var(--atlas-accent) !important; background: rgba(255,93,50,.1) !important; color: var(--atlas-paper) !important; }
.status-pill { min-width: 0 !important; height: auto !important; min-height: 48px; display: grid !important; grid-template-columns: 8px 1fr; gap: 4px 8px !important; align-content: center; }
.status-pill .conn-latency { grid-column: 2; color: var(--atlas-muted); }
.conn-dot { width: 7px; height: 7px; border-radius: 0 !important; background: #62655d !important; box-shadow: none !important; }
.conn-dot.ok { background: var(--atlas-good) !important; box-shadow: none !important; }
.conn-dot.err { background: var(--atlas-danger) !important; }

/* Bottom instrument shelf. */
.sidebar {
  position: fixed !important;
  z-index: 1250;
  left: 18px !important;
  right: 18px !important;
  top: auto !important;
  bottom: 18px !important;
  width: auto !important;
  height: 234px !important;
  display: grid !important;
  grid-template-columns: 146px minmax(0,1fr) 180px !important;
  gap: 14px !important;
  padding: 12px !important;
  overflow: visible !important;
  border: 1px solid var(--atlas-line) !important;
  border-top: 4px solid var(--atlas-paper) !important;
  border-radius: 0 !important;
  background: var(--atlas-panel) !important;
  box-shadow: 0 -20px 60px rgba(0,0,0,.38) !important;
  backdrop-filter: blur(14px) !important;
  transition: transform .24s ease !important;
}
.sidebar.collapsed { transform: translateY(calc(100% + 28px)) !important; opacity: 1 !important; pointer-events: none !important; }
.rail-brand { height: 100% !important; display: flex !important; flex-direction: column; align-items: flex-start !important; justify-content: space-between; gap: 10px !important; padding: 6px 12px 8px 4px !important; border: 0 !important; border-right: 1px solid var(--atlas-line) !important; }
.brand-mark { width: 54px !important; height: 54px !important; display: grid; place-items: center; border: 2px solid var(--atlas-paper) !important; border-radius: 0 !important; background: transparent !important; color: var(--atlas-accent) !important; box-shadow: none !important; font: 400 24px 'Archivo Black',sans-serif !important; }
.rail-title { color: var(--atlas-paper) !important; font: 400 28px/.8 'Archivo Black',sans-serif !important; letter-spacing: -1px !important; }
.rail-subtitle { color: var(--atlas-muted) !important; font: 500 7px 'IBM Plex Mono',monospace !important; letter-spacing: 1.6px !important; }
.panel { margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.panel-layers { min-width: 0; height: 206px; overflow: auto; padding-right: 8px !important; scrollbar-width: thin; scrollbar-color: var(--atlas-accent) transparent; }
.panel-layers::-webkit-scrollbar, .player-info-list::-webkit-scrollbar, .item-list-wrap::-webkit-scrollbar { width: 4px; height: 4px; }
.panel-layers::-webkit-scrollbar-thumb, .player-info-list::-webkit-scrollbar-thumb, .item-list-wrap::-webkit-scrollbar-thumb { background: var(--atlas-accent); }
.panel-title { display: flex !important; align-items: center; justify-content: space-between !important; margin: 0 0 8px !important; color: var(--atlas-paper) !important; font: 600 9px 'IBM Plex Mono',monospace !important; letter-spacing: 1.8px !important; }
.panel-title::before { display: none !important; }
.panel-title small { color: var(--atlas-accent); font-size: 8px; }
.layer-grid { display: grid !important; grid-template-columns: repeat(6, minmax(105px, 1fr)) !important; gap: 4px !important; }
.layer-row { min-height: 36px !important; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px !important; border: 1px solid var(--atlas-faint) !important; border-radius: 0 !important; background: rgba(232,228,216,.025) !important; color: #a9aca2 !important; font: 500 9px 'IBM Plex Mono',monospace !important; user-select: none; }
.layer-row:hover { border-color: var(--atlas-accent) !important; background: rgba(255,93,50,.07) !important; color: var(--atlas-paper) !important; }
.layer-row.wide { grid-column: span 2 !important; background: rgba(232,228,216,.04) !important; }
.layer-lbl { min-width: 0; display: flex; align-items: center; gap: 7px !important; white-space: nowrap; }
.ldot, .legend-dot, .fs-dot { width: 7px !important; height: 7px !important; flex: 0 0 auto; border-radius: 0 !important; box-shadow: none !important; transform: rotate(45deg); }
.enemy-dot, .fs-dot.player { background: var(--atlas-danger) !important; }
.team-dot { background: var(--atlas-good) !important; }
.ai-dot, .fs-dot.ai { background: #91968b !important; }
.box-dot, .fs-dot.body, .fs-dot.box { background: #b892ff !important; }
.loot-dot, .fs-dot.loot { background: var(--atlas-accent-2) !important; }
.exit-dot, .fs-dot.exit { background: #66d6ff !important; }
.list-dot { background: #dd8fff !important; }
.chat-dot { background: #65a9ff !important; }
.settings-dot, .players-dot { background: var(--atlas-paper) !important; }
.mini-gear { color: var(--atlas-muted) !important; }
.ltog { position: relative; width: 26px !important; height: 13px !important; flex: 0 0 auto; border: 1px solid #50534d !important; border-radius: 0 !important; background: transparent !important; }
.ltog::after { content: ''; position: absolute; left: 2px !important; top: 2px !important; width: 7px !important; height: 7px !important; border-radius: 0 !important; background: #676a63 !important; transition: left .16s ease; }
.ltog.on { border-color: var(--atlas-accent) !important; background: transparent !important; }
.ltog.on::after { left: 15px !important; background: var(--atlas-accent) !important; box-shadow: none !important; }
input[type=checkbox] { accent-color: var(--atlas-accent) !important; }
.scale-row { display: grid !important; grid-template-columns: 66px minmax(70px,1fr) 50px !important; align-items: center; gap: 8px !important; margin: 8px 0 0 !important; }
.cfg-lbl { color: var(--atlas-muted) !important; font-size: 8px !important; }
.scale-slider { width: 100%; height: 3px; accent-color: var(--atlas-accent) !important; }
.scale-val, .scale-val-input { min-width: 0; height: 22px; display: grid; place-items: center; padding: 0 5px; border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: #080a08 !important; color: var(--atlas-paper) !important; font-size: 8px; text-align: center; }
.sidebar-spectate-card { height: 100%; padding: 7px 2px 6px 12px !important; border-left: 1px solid var(--atlas-line) !important; }
.btn { min-height: 34px; border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: transparent !important; color: var(--atlas-paper) !important; box-shadow: none !important; font: 500 9px 'IBM Plex Mono',monospace !important; }
.btn:hover, .btn.btn-accent { border-color: var(--atlas-accent) !important; background: var(--atlas-accent) !important; color: var(--atlas-ink) !important; }
.rotate-map-row { min-height: 34px; display: flex; align-items: center; justify-content: space-between; margin-top: 6px; padding: 0 8px; border: 1px solid var(--atlas-faint) !important; color: var(--atlas-muted) !important; font-size: 8px; }
#spectateSelect { width: 100%; min-height: 30px; margin-top: 7px; border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: #0b0d0b !important; color: var(--atlas-paper) !important; }
.team-float { max-height: 92px; overflow: auto; }
.team-float.show { display: block; }
.team-card { border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: var(--atlas-faint) !important; }
.sidebar-toggle { position: fixed !important; z-index: 1300; left: 50% !important; right: auto !important; top: auto !important; bottom: 252px !important; width: 76px !important; height: 24px !important; padding: 0 !important; border: 1px solid var(--atlas-line) !important; border-bottom: 0 !important; border-radius: 0 !important; background: var(--atlas-panel) !important; color: var(--atlas-accent) !important; box-shadow: none !important; transform: translateX(-50%) !important; font-size: 13px !important; }
.sidebar-toggle:hover { background: var(--atlas-accent) !important; color: var(--atlas-ink) !important; }
.sidebar-toggle.collapsed { left: 50% !important; right: auto !important; bottom: 0 !important; border: 1px solid var(--atlas-line) !important; }

/* Independent telemetry windows. */
.ops-panel { display: none !important; }
.float-stats { position: fixed !important; z-index: 1150; left: 190px !important; top: 18px !important; bottom: auto !important; width: auto !important; display: none; grid-template-columns: repeat(6, auto) !important; gap: 2px !important; padding: 5px !important; border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: var(--atlas-panel) !important; box-shadow: none !important; }
.float-stats.show { display: grid; }
.fs-title { grid-column: 1/-1; display: flex; justify-content: space-between; padding: 2px 4px 5px; color: var(--atlas-paper); font-size: 8px; letter-spacing: 1px; }
.fs-title small { color: var(--atlas-accent); }
.fs-row { display: flex; align-items: center; gap: 5px; min-width: 62px; padding: 5px 7px; border-right: 1px solid var(--atlas-faint); }
.fs-val { color: var(--atlas-paper); font-weight: 600; }
.fs-lbl { color: var(--atlas-muted) !important; font-size: 8px !important; }

.loot-window, .room-chat-window { position: fixed; z-index: 1180; display: none; border: 1px solid var(--atlas-line) !important; border-top: 3px solid var(--atlas-accent) !important; border-radius: 0 !important; background: var(--atlas-panel) !important; color: var(--atlas-paper); box-shadow: 0 18px 50px rgba(0,0,0,.38) !important; backdrop-filter: blur(12px) !important; }
.loot-window.show, .room-chat-window.show { display: flex; flex-direction: column; }
.loot-window { left: auto !important; right: 18px !important; top: 18px !important; bottom: 270px !important; width: 330px !important; max-height: none !important; }
body.menu-collapsed .loot-window { right: 18px !important; top: 18px !important; bottom: 18px !important; }
.loot-window-header, .room-chat-header { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 10px 12px !important; border-bottom: 1px solid var(--atlas-line) !important; background: transparent !important; cursor: move; }
.loot-window-title, .room-chat-title { color: var(--atlas-paper) !important; font: 600 9px 'IBM Plex Mono',monospace !important; letter-spacing: 1.7px !important; }
.loot-live { color: var(--atlas-accent); font-size: 7px; letter-spacing: 1.4px; }
.item-list-wrap { flex: 1; min-height: 0; max-height: none !important; overflow: auto; padding: 5px; }
.item-row, .loot-row { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 8px; border: 0 !important; border-bottom: 1px solid var(--atlas-faint) !important; border-radius: 0 !important; background: transparent !important; color: var(--atlas-paper); }
.item-row:hover, .loot-row:hover, .item-row.highlight-loot-row { background: rgba(255,93,50,.08) !important; box-shadow: inset 3px 0 var(--atlas-accent); }
.item-row-left { display: flex; align-items: center; gap: 9px; min-width: 0; }
.item-rank, .loot-row-meta { color: var(--atlas-muted) !important; font-size: 8px; }
.item-price, .loot-row-value { color: var(--atlas-accent-2) !important; }
.room-chat-window { left: auto !important; right: 366px !important; bottom: 270px !important; width: 330px !important; max-height: 430px; }
.room-chat-head-main { min-width: 0; }
.room-chat-subtitle, .room-chat-name-row { color: var(--atlas-muted) !important; font-size: 8px; }
.room-chat-name-input, .room-chat-form input { border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: #080a08 !important; color: var(--atlas-paper) !important; outline: none; }
.room-chat-messages { flex: 1; min-height: 100px; overflow: auto; padding: 7px; }
.room-chat-msg { padding: 7px; border: 0 !important; border-bottom: 1px solid var(--atlas-faint) !important; border-radius: 0 !important; background: transparent !important; }
.room-chat-msg.mine { box-shadow: inset 2px 0 var(--atlas-accent); background: rgba(255,93,50,.06) !important; }
.room-chat-text { color: var(--atlas-paper) !important; }
.room-chat-form { display: grid; grid-template-columns: 1fr auto; gap: 5px; padding: 7px; }
.room-chat-form button { border: 0; border-radius: 0; background: var(--atlas-accent) !important; color: var(--atlas-ink) !important; }
.room-chat-close { border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: transparent !important; color: var(--atlas-paper); }

/* Popovers are detached field sheets above the bottom shelf. */
.box-cfg-pop { position: fixed !important; z-index: 2200 !important; display: none !important; min-width: 210px !important; width: min(360px, calc(100vw - 20px)) !important; max-width: min(360px, calc(100vw - 20px)) !important; max-height: min(620px, calc(100vh - 20px)); overflow: auto; padding: 12px !important; border: 1px solid var(--atlas-line) !important; border-top: 4px solid var(--atlas-accent) !important; border-radius: 0 !important; background: #0c0e0c !important; color: var(--atlas-paper); box-shadow: 16px 16px 0 rgba(0,0,0,.28) !important; }
.box-cfg-pop.open { display: grid !important; gap: 5px; }
.display-cfg-pop, .player-info-pop, #displayCfgPop, #playerInfoPop { min-width: min(430px, calc(100vw - 20px)) !important; width: min(430px, calc(100vw - 20px)) !important; max-width: min(430px, calc(100vw - 20px)) !important; }
.pop-title-row { display: flex; align-items: center; justify-content: space-between; margin: -12px -12px 8px !important; padding: 10px 12px !important; border-bottom: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: var(--atlas-faint) !important; }
.pop-title { color: var(--atlas-paper) !important; font: 600 9px 'IBM Plex Mono',monospace !important; letter-spacing: 1px !important; }
.pop-close, .player-info-mini-btn { min-width: 28px; min-height: 24px; border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: transparent !important; color: var(--atlas-paper) !important; }
.box-chk-row, .mini-check { min-height: 29px; display: flex; align-items: center; gap: 8px; padding: 5px; border: 0 !important; border-radius: 0 !important; color: #afb2a8 !important; }
.box-chk-row:hover, .mini-check:hover { background: var(--atlas-faint) !important; color: var(--atlas-paper) !important; }
.mini-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3px !important; }
.player-info-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 5px 0; color: var(--atlas-muted); font-size: 8px; }
.player-info-list { max-height: 440px; overflow: auto; }
.player-info-card, .player-info-row { padding: 8px; border: 0 !important; border-bottom: 1px solid var(--atlas-faint) !important; border-radius: 0 !important; background: transparent !important; }
.player-info-empty { padding: 30px 10px; color: var(--atlas-muted); text-align: center; }

#mapTooltip, .map-tooltip { position: fixed; z-index: 3000; max-width: 320px; padding: 9px 10px !important; border: 1px solid var(--atlas-line) !important; border-left: 4px solid var(--atlas-accent) !important; border-radius: 0 !important; background: rgba(7,8,7,.95) !important; color: var(--atlas-paper) !important; box-shadow: 12px 12px 0 rgba(0,0,0,.25) !important; font: 400 9px/1.55 'IBM Plex Mono',monospace !important; pointer-events: none; }
#toast { position: fixed; z-index: 4000; left: 50%; top: 20px; transform: translate(-50%,-20px); opacity: 0; padding: 10px 14px; border: 1px solid var(--atlas-accent) !important; border-radius: 0 !important; background: #0c0e0c !important; color: var(--atlas-paper) !important; transition: .18s ease; }
#toast.show { transform: translate(-50%,0); opacity: 1; }
.map-region-name span { padding: 2px 5px; border: 1px solid rgba(232,228,216,.18); background: rgba(7,8,7,.65); color: rgba(232,228,216,.82) !important; text-shadow: none !important; font: 500 9px 'IBM Plex Mono',monospace !important; letter-spacing: 1px; text-transform: uppercase; }

.leaflet-control-zoom { position: fixed !important; left: 184px !important; right: auto !important; top: 18px !important; margin: 0 !important; border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: var(--atlas-panel) !important; box-shadow: none !important; }
.leaflet-control-zoom a { border: 0 !important; border-bottom: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: transparent !important; color: var(--atlas-paper) !important; }
.leaflet-control-zoom a:hover { background: var(--atlas-accent) !important; color: var(--atlas-ink) !important; }
.mobile-bottom-bar-handle, .mobile-loot-window-handle { position: fixed; z-index: 2500; border: 1px solid var(--atlas-line) !important; border-radius: 0 !important; background: var(--atlas-panel) !important; color: var(--atlas-accent) !important; }

@media (max-width: 980px) {
  .sidebar { grid-template-columns: 110px minmax(0,1fr) 150px !important; }
  .layer-grid { grid-template-columns: repeat(4,minmax(102px,1fr)) !important; }
  .rail-title { font-size: 22px !important; }
  .loot-window { width: 286px !important; }
  .room-chat-window { right: 314px !important; width: 286px !important; }
}

@media (max-width: 760px) {
  body.adam-ui::after { display: none; }
  .landing-scene { width: calc(100vw - 24px) !important; height: calc(100vh - 24px) !important; grid-template-columns: 1fr !important; align-content: center !important; padding: 24px !important; }
  .landing-brand { display: block !important; }
  .brand-kicker { margin-bottom: 14px !important; font-size: 8px !important; }
  .brand-title { font-size: clamp(46px,16vw,74px) !important; letter-spacing: -4px !important; }
  .landing-brand p { display: none; }
  .landing-card { padding-top: 18px !important; }
  .landing-title { font-size: 22px !important; }

  .command-topbar { left: 8px !important; right: 8px !important; top: 8px !important; bottom: auto !important; width: auto !important; height: 54px !important; flex-direction: row !important; padding: 6px !important; border-left-width: 1px !important; border-top: 3px solid var(--atlas-accent) !important; overflow-x: auto; }
  .command-topbar { overflow-y: hidden !important; scrollbar-width: none; }
  .command-topbar::-webkit-scrollbar { display: none; }
  .topbar-brand { display: none !important; }
  .top-map-tabs { width: auto; flex: 1; flex-direction: row !important; }
  .top-map-tabs .map-tab { width: auto; min-width: 82px; height: 39px !important; padding: 0 8px !important; justify-content: center; }
  .top-map-tabs .map-tab::before { display: none; }
  .topbar-spacer { display: none; }
  .topbar-pill { min-width: 46px; min-height: 39px; }
  .status-pill { display: none !important; }

  .sidebar { left: 8px !important; right: 8px !important; top: 70px !important; bottom: 8px !important; width: auto !important; height: auto !important; display: flex !important; flex-direction: column; padding: 10px !important; overflow: auto !important; border-top-color: var(--atlas-accent) !important; }
  .sidebar.collapsed { transform: translateY(calc(100% + 16px)) !important; }
  .rail-brand { height: 58px !important; flex-direction: row; align-items: center !important; justify-content: flex-start; border-right: 0 !important; border-bottom: 1px solid var(--atlas-line) !important; }
  .brand-mark { width: 40px !important; height: 40px !important; font-size: 18px !important; }
  .panel-layers { height: auto; overflow: visible; }
  .layer-grid { grid-template-columns: 1fr 1fr !important; }
  .layer-row.wide { grid-column: 1/-1 !important; }
  .sidebar-spectate-card { height: auto; padding: 10px 0 0 !important; border-left: 0 !important; border-top: 1px solid var(--atlas-line) !important; }
  .sidebar-toggle { bottom: 0 !important; }
  .sidebar-toggle:not(.collapsed) { bottom: 8px !important; }

  .loot-window, body.menu-collapsed .loot-window { left: 8px !important; right: auto !important; top: 70px !important; bottom: auto !important; width: min(300px, calc(100vw - 16px)) !important; max-height: 132px !important; }
  .item-list-wrap { max-height: 78px !important; }
  .room-chat-window { left: 8px !important; right: auto !important; bottom: 8px !important; width: calc(100vw - 16px) !important; }
  .box-cfg-pop { left: 8px !important; top: 70px !important; width: calc(100vw - 16px) !important; max-width: calc(100vw - 16px) !important; max-height: calc(100vh - 78px) !important; }
  .display-cfg-pop, .player-info-pop, #displayCfgPop, #playerInfoPop { min-width: calc(100vw - 16px) !important; width: calc(100vw - 16px) !important; max-width: calc(100vw - 16px) !important; }
  .leaflet-control-zoom { left: 8px !important; top: 70px !important; }
  .float-stats { display: none !important; }
  .mobile-bottom-bar-handle { display: none !important; }
  .mobile-loot-window-handle { z-index: 1190 !important; left: auto !important; right: 8px !important; top: 148px !important; bottom: auto !important; width: 58px !important; height: 24px !important; font-size: 8px !important; }
}

/* ADAM ATLAS / V3 — compact field controls and usability corrections */
body.adam-ui::after,
.map-vignette,
.rail-brand { display: none !important; }

.mobile-bottom-bar-handle,
.mobile-loot-window-handle { display: none !important; }

.command-topbar {
  left: 14px !important;
  top: 14px !important;
  bottom: 224px !important;
  width: 138px !important;
  padding: 8px !important;
}
.topbar-brand {
  grid-template-columns: 32px 1fr !important;
  gap: 8px !important;
  padding: 2px 0 11px !important;
}
.topbar-brand > span { width: 32px !important; height: 32px !important; }
.topbar-brand strong { font-size: 11px !important; }
.top-map-tabs .map-tab { height: 36px !important; padding-left: 25px !important; }
.topbar-pill { min-height: 30px !important; }
.status-pill { min-height: 42px !important; }

.sidebar {
  left: 14px !important;
  right: 14px !important;
  bottom: 14px !important;
  height: 196px !important;
  grid-template-columns: minmax(0,1fr) 174px !important;
  gap: 10px !important;
  padding: 9px !important;
  border-top-width: 3px !important;
}
.panel-layers { height: 174px !important; padding-right: 6px !important; }
.panel-title { margin-bottom: 6px !important; }
.layer-grid { grid-template-columns: repeat(6,minmax(96px,1fr)) !important; gap: 3px !important; }
.layer-row { min-height: 31px !important; padding: 5px 7px !important; font-size: 8px !important; }
.scale-row { grid-template-columns: 60px minmax(64px,1fr) 44px !important; gap: 7px !important; margin-top: 6px !important; }
.scale-val, .scale-val-input { height: 20px !important; }
.sidebar-spectate-card {
  height: 174px !important;
  padding: 3px 0 3px 10px !important;
  overflow: hidden;
}
.follow-target-row {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  color: var(--atlas-muted);
  font-size: 8px;
}
.follow-target-row #spectateSelect {
  min-width: 0;
  height: 28px;
  min-height: 28px;
  margin: 0;
  padding: 0 6px;
  border-color: var(--atlas-accent) !important;
}
.sidebar-spectate-card .btn,
.sidebar-spectate-card .rotate-map-row { min-height: 29px !important; height: 29px !important; }
.team-float { display: none !important; }
.sidebar-toggle { bottom: 209px !important; height: 20px !important; }
.sidebar-toggle.collapsed { bottom: 0 !important; }

.loot-window {
  right: 14px !important;
  top: 14px !important;
  bottom: 224px !important;
  width: 300px !important;
}
body.menu-collapsed .loot-window { right: 14px !important; top: 14px !important; bottom: 14px !important; }
.room-chat-window { right: 326px !important; bottom: 224px !important; width: 300px !important; }
.leaflet-control-zoom { left: 164px !important; top: 14px !important; }

@media (max-width: 980px) {
  .sidebar { grid-template-columns: minmax(0,1fr) 162px !important; }
  .layer-grid { grid-template-columns: repeat(4,minmax(94px,1fr)) !important; }
  .loot-window { width: 274px !important; }
  .room-chat-window { right: 300px !important; width: 274px !important; }
}

@media (max-width: 760px) {
  .command-topbar {
    left: 8px !important;
    right: 8px !important;
    top: 8px !important;
    bottom: auto !important;
    width: auto !important;
    height: 48px !important;
    padding: 5px !important;
  }
  .top-map-tabs .map-tab { height: 35px !important; padding: 0 8px !important; }
  .topbar-pill { min-height: 35px !important; }
  .sidebar {
    left: 8px !important;
    right: 8px !important;
    top: 64px !important;
    bottom: 8px !important;
    width: auto !important;
    height: auto !important;
    display: flex !important;
    padding: 9px !important;
  }
  .panel-layers { height: auto !important; }
  .sidebar-spectate-card { height: auto !important; padding: 9px 0 0 !important; overflow: visible; }
  .sidebar-toggle:not(.collapsed) { bottom: 8px !important; }
  .loot-window,
  body.menu-collapsed .loot-window { left: 8px !important; right: auto !important; top: 64px !important; bottom: auto !important; width: min(286px,calc(100vw - 16px)) !important; }
  .room-chat-window { left: 8px !important; right: auto !important; bottom: 8px !important; width: calc(100vw - 16px) !important; }
  .leaflet-control-zoom { left: 8px !important; top: 64px !important; }
  .mobile-loot-window-handle { display: block !important; }
  body.mobile-loot-window-hidden .loot-window { display: none !important; }
}
