.intel-shell {
  display: grid;
  gap: 8px;
  padding: 8px;
  min-width: 0;
  max-width: 100%;
}
.intel-shell > .portal-panel {
  min-width: 0;
  max-width: 100%;
}
.leaderboard-key {
  margin: 0;
  padding: 7px 10px;
  color: #d8d7a4;
  border-bottom: 1px solid #46493b;
  font: 10px monospace;
}
.leaderboard-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}
.intel-leaderboard {
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
  font-size: 9px;
}
.intel-leaderboard th,
.intel-leaderboard td {
  padding: 7px 8px;
  border: 1px solid #45483e;
  text-align: right;
  white-space: nowrap;
}
.intel-leaderboard th {
  color: #e6dea1;
  background: #353833;
  font: 700 10px Georgia, serif;
}
.intel-leaderboard th:first-child,
.intel-leaderboard th:nth-child(2),
.intel-leaderboard td:first-child,
.intel-leaderboard td:nth-child(2) {
  text-align: left;
}
.intel-leaderboard tbody tr:nth-child(even) {
  background: #20231f;
}
.leaderboard-player {
  padding: 0;
  border: 0;
  background: transparent;
  color: #d9d273;
  cursor: pointer;
  font: 700 9px Verdana, sans-serif;
}
.leaderboard-player span {
  color: #898c7d;
}
.intel-search {
  display: grid;
  grid-template-columns: 1fr 110px;
  gap: 7px;
  padding: 10px;
}
.intel-search input {
  padding: 9px;
  background: #11140f;
  border: 1px solid #555943;
  color: #e3e0bd;
}
.intel-search button {
  font-weight: 800;
}
.intel-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid #3d4036;
}
.intel-heading strong {
  color: #eee38d;
  font:
    700 20px Georgia,
    serif;
}
.intel-heading span {
  color: #aeb09e;
  font: 10px monospace;
}
.intel-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 1px;
  background: #3a3d34;
}
.intel-stats div {
  padding: 10px 6px;
  text-align: center;
  background: #1b1f1a;
}
.intel-stats strong {
  display: block;
  color: #e5dc83;
  font: 700 14px monospace;
}
.intel-stats span {
  color: #969987;
  font-size: 8px;
  text-transform: uppercase;
}
.chart-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px;
}
.chart-grid article {
  min-width: 0;
  padding: 10px;
  background: #171a17;
  border: 1px solid #3b3f35;
}
.chart-frame {
  position: relative;
  width: 100%;
  height: 230px;
  overflow: hidden;
}
.chart-frame canvas {
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.chart-grid h3,
.intel-subhead {
  color: #d8d072;
  font-size: 10px;
}
.event-list {
  display: grid;
  gap: 1px;
  padding: 8px;
}
.event-list div {
  display: flex;
  justify-content: space-between;
  padding: 7px;
  background: #1c201b;
  color: #bbbda9;
  font-size: 9px;
}
.tactical-map {
  position: relative;
  height: 500px;
  margin: 8px;
  overflow: hidden;
  border: 1px solid #555b42;
  background: radial-gradient(circle at 40% 45%, #293327, #111510 68%);
  box-shadow: inset 0 0 45px #000;
}
.map-sector {
  position: absolute;
  width: 10%;
  height: 10%;
  padding: 3px;
  border-right: 1px solid #bac8991c;
  border-bottom: 1px solid #bac8991c;
  color: #d8dfb84f;
  font: 8px monospace;
  pointer-events: none;
  box-sizing: border-box;
}
.map-node {
  position: absolute;
  z-index: 2;
  width: 10px;
  height: 10px;
  transform: translate(-50%, -50%);
  border: 1px solid #fff8;
  border-radius: 50%;
  cursor: help;
  box-shadow: 0 0 7px currentColor;
}
.map-node.player {
  width: 14px;
  height: 14px;
  border-width: 2px;
}
.map-node.red {
  color: #ef675d;
  background: #9e2722;
}
.map-node.blue {
  color: #68a9ff;
  background: #245b9e;
}
.map-node.neutral {
  color: #d2cf9a;
  background: #68694f;
}
.map-tooltip {
  position: fixed;
  z-index: 20;
  max-width: 270px;
  padding: 9px;
  border: 1px solid #b3a74d;
  background: #11150fed;
  color: #c9cbb8;
  font-size: 9px;
  pointer-events: none;
}
.map-tooltip strong {
  display: block;
  color: #f0e68b;
  font-size: 11px;
}
.map-tooltip span {
  display: block;
  margin-top: 3px;
}
.map-key {
  padding: 8px;
  color: #9da08d;
  font-size: 9px;
}
.map-key span {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 3px 0 10px;
  border-radius: 50%;
}
.red-dot {
  background: #d44;
}
.blue-dot {
  background: #48e;
}
.neutral-dot {
  background: #aa8;
}
@media (max-width: 850px) {
  .intel-shell {
    padding: 4px;
  }
  .leaderboard-key {
    padding: 7px;
    line-height: 1.45;
  }
  .intel-leaderboard th,
  .intel-leaderboard td {
    padding: 7px 6px;
  }
  .intel-stats {
    grid-template-columns: repeat(4, 1fr);
  }
  .chart-grid {
    grid-template-columns: 1fr;
  }
  .tactical-map {
    height: 380px;
  }
}
@media (max-width: 520px) {
  .intel-search {
    grid-template-columns: 1fr;
  }
  .intel-search button {
    min-height: 36px;
  }
  .intel-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}
