.game-shell {
  display: grid;
  grid-template-rows: 62px minmax(0, 1fr);
}
.global-topbar {
  display: grid;
  grid-template-columns: 218px minmax(360px, 1fr) auto;
  align-items: stretch;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  background: rgba(2, 7, 14, .84);
  backdrop-filter: blur(18px);
}
.top-brand {
  padding: .65rem .9rem;
  border-right: 1px solid var(--line);
  min-width: 0;
}
.brand-star {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: var(--accent);
  border-radius: 12px;
  border: 1px solid rgba(104,215,255,.34);
  background: radial-gradient(circle, rgba(104,215,255,.22), rgba(5,12,22,.72));
  box-shadow: 0 0 26px rgba(104,215,255,.18);
  flex: 0 0 auto;
}
.top-brand .brand-title { font-size: .92rem; }
.top-brand .brand-subtitle { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 142px; }
.top-nav {
  display: flex;
  align-items: stretch;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}
.top-nav-btn {
  border: 0;
  border-right: 1px solid rgba(139,178,226,.12);
  background: transparent;
  color: var(--muted);
  padding: 0 1.05rem;
  min-width: 102px;
  text-transform: uppercase;
  letter-spacing: .075em;
  font-size: .82rem;
  position: relative;
}
.top-nav-btn:hover { color: var(--text); background: rgba(255,255,255,.035); }
.top-nav-btn.active {
  color: var(--text);
  background: linear-gradient(180deg, rgba(54,151,255,.18), rgba(104,215,255,.06));
}
.top-nav-btn.active::after {
  content: "";
  position: absolute;
  left: 1.05rem;
  right: 1.05rem;
  bottom: 0;
  height: 2px;
  background: var(--accent);
  box-shadow: 0 0 18px rgba(104,215,255,.8);
}
.top-status {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .48rem;
  padding: .5rem .75rem;
  border-left: 1px solid var(--line);
  min-width: 330px;
  overflow: hidden;
}
.top-pill, .commander-chip {
  border: 1px solid rgba(139,178,226,.16);
  background: rgba(255,255,255,.035);
  color: var(--muted);
  border-radius: 999px;
  padding: .42rem .62rem;
  font-size: .78rem;
  white-space: nowrap;
}
.top-pill strong { color: var(--good); }
.top-pill.muted { color: var(--faint); }
.alert-pill { color: var(--warn); }
.commander-chip {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  border-radius: 16px;
  padding: .30rem .48rem;
  text-align: left;
}
.commander-chip strong { color: var(--text); }
.avatar-dot {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--accent);
  background: rgba(104,215,255,.13);
  border: 1px solid rgba(104,215,255,.35);
}
.global-layout {
  display: grid;
  grid-template-columns: 218px minmax(0, 1fr);
  min-height: 0;
  height: 100%;
  overflow: hidden;
}
.command-sidebar {
  border-right: 1px solid var(--line);
  padding: .75rem;
  background: rgba(2, 7, 14, .56);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: start;
  gap: .75rem;
  overflow: hidden;
  min-height: 0;
}
.sidebar-block {
  border: 1px solid rgba(139,178,226,.14);
  background: rgba(7, 17, 31, .60);
  border-radius: var(--radius-md);
  padding: .75rem;
  min-width: 0;
}
.sidebar-block h3 {
  margin: 0 0 .62rem;
  color: var(--faint);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .68rem;
}
.shell-alert-list { display: grid; gap: .46rem; }
.shell-alert {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: .52rem;
  padding: .46rem 0;
  border-bottom: 1px solid rgba(139,178,226,.10);
}
.shell-alert:last-child { border-bottom: 0; }
.shell-alert-icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid currentColor;
  font-weight: 900;
  font-size: .76rem;
}
.shell-alert strong { display: block; font-size: .80rem; }
.shell-alert small { color: var(--muted); display: block; margin-top: .08rem; line-height: 1.25; font-size: .74rem; }
.shell-alert.danger { color: var(--danger); }
.shell-alert.warn { color: var(--warn); }
.shell-alert.info { color: var(--accent); }
.sidebar-footer-card { align-self: end; }
.sidebar-footer-card p { margin: 0 0 .58rem; color: var(--muted); }
.sidebar-footer-card small { color: var(--faint); display: block; margin-top: .58rem; }
.xp-bar, .bar {
  height: 6px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(139,178,226,.14);
}
.xp-bar span, .bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
