/* ============================================================
   VETERANII Redesign 2026 — additive overrides
   Goals: guest chat teaser, hierarchy/breathing room, metadata
   contrast, magenta primary hover (never red), tighter postbit,
   friendlier empties, less glow spam. Brand tokens preserved.
   Loaded LAST via extend.php so it wins the cascade.
   ============================================================ */

:root,
body.NexusForum,
body.VeteraniiBoardHome {
  --vet-bg-deep: #05000a;
  --vet-bg-base: #0c0614;
  --vet-bg-raised: #0f141a;
  --vet-bg-card: #12081c;
  --vet-bg-inset: #0a0610;
  --vet-magenta: #c44dff;
  --vet-magenta-dim: #7b2cbf;
  --vet-magenta-hover-a: #8f35d4;
  --vet-magenta-hover-b: #d46aff;
  --vet-text: #f0eaf8;
  --vet-text-secondary: #c4b8d4;
  --vet-text-muted: #9a8aab;
  --vet-text-faint: #6e5f7e;
  --vet-border: rgba(196, 77, 255, 0.14);
  --vet-border-strong: rgba(196, 77, 255, 0.32);
  --vet-border-subtle: rgba(255, 255, 255, 0.06);
  --vet-online: #22c55e;
}

/* —— Token remaps (better muted contrast) —— */
body.NexusForum,
body.VeteraniiBoardHome {
  --muted: var(--vet-text-muted) !important;
  --n-muted: var(--vet-text-muted) !important;
  --text: var(--vet-text) !important;
  --n-text: var(--vet-text) !important;
}

/* Softer page glow — one radial, not spam */
html:has(body.NexusForum),
body.NexusForum,
body.NexusForum .App,
body.VeteraniiBoardHome {
  background:
    radial-gradient(ellipse 80% 50% at 50% -20%, rgba(123, 44, 191, 0.16), transparent),
    radial-gradient(ellipse 40% 30% at 90% 10%, rgba(196, 77, 255, 0.05), transparent),
    var(--vet-bg-deep) !important;
}

/* ============================================================
   1) PRIMARY BUTTONS — magenta/purple hover ONLY (never red)
   ============================================================ */
body.NexusForum .Button--primary,
body.NexusForum .IndexPage-newDiscussion,
body.NexusForum .DiscussionPage-nav .item-newDiscussion,
body.NexusForum .IndexPage-newDiscussion.Button--tagColored,
body.NexusCategoryPage .IndexPage-newDiscussion.Button--primary,
body.NexusCategoryPage .IndexPage-newDiscussion.Button--tagColored,
body.NexusDiscussionPage .Composer-footer .Button--primary,
body.NexusDiscussionPage .item-submit .Button,
body.NexusDiscussionPage .DiscussionPage-nav .item-controls .SplitDropdown-button,
body.NexusDiscussionPage .DiscussionPage-nav .item-controls .Button--primary,
body.NexusDiscussionPage .DiscussionPage-nav .item-controls > .ButtonGroup > .Button:not(.Dropdown-toggle),
body.VeteraniiBoardHome .auth .register,
body.VeteraniiBoardHome .hub,
body.VeteraniiBoardHome .discord a,
body.VeteraniiBoardHome .shout form button[type="submit"],
body.VeteraniiBoardHome .chat-panel .shout-form button[type="submit"],
body.VeteraniiBoardHome .shout-guest-cta {
  background: linear-gradient(135deg, var(--vet-magenta-dim), var(--vet-magenta)) !important;
  border-color: var(--vet-magenta) !important;
  color: #fff !important;
  box-shadow: 0 2px 12px rgba(196, 77, 255, 0.28) !important;
}

body.NexusForum .Button--primary:hover,
body.NexusForum .Button--primary:focus,
body.NexusForum .IndexPage-newDiscussion:hover,
body.NexusForum .IndexPage-newDiscussion:focus,
body.NexusCategoryPage .IndexPage-newDiscussion.Button--primary:hover,
body.NexusCategoryPage .IndexPage-newDiscussion.Button--tagColored:hover,
body.NexusDiscussionPage .Composer-footer .Button--primary:hover,
body.NexusDiscussionPage .item-submit .Button:hover,
body.NexusDiscussionPage .DiscussionPage-nav .item-controls .SplitDropdown-button:hover,
body.NexusDiscussionPage .DiscussionPage-nav .item-controls .Button--primary:hover,
body.VeteraniiBoardHome .auth .register:hover,
body.VeteraniiBoardHome .hub:hover,
body.VeteraniiBoardHome .discord a:hover,
body.VeteraniiBoardHome .shout form button[type="submit"]:hover,
body.VeteraniiBoardHome .chat-panel .shout-form button[type="submit"]:hover,
body.VeteraniiBoardHome .shout-guest-cta:hover {
  background: linear-gradient(135deg, var(--vet-magenta-hover-a), var(--vet-magenta-hover-b)) !important;
  border-color: var(--vet-magenta-hover-b) !important;
  color: #fff !important;
  box-shadow: 0 4px 20px rgba(196, 77, 255, 0.45) !important;
  filter: none !important;
}

/* Kill leftover red/pink danger accents on primary CTAs */
body.NexusForum .Button--primary,
body.VeteraniiBoardHome .auth .register,
body.VeteraniiBoardHome .hub {
  box-shadow: 0 2px 12px rgba(196, 77, 255, 0.28) !important;
}

/* ============================================================
   2) METADATA CONTRAST — lift near-invisible greys
   ============================================================ */
body.NexusForum .NexusBrand small,
body.NexusForum .DiscussionListItem-info,
body.NexusForum .PostUser-badges,
body.NexusForum .Post-meta,
body.NexusForum .PostMeta,
body.NexusForum .VeteraniiForumCopy small,
body.NexusForum .VeteraniiForumStats b,
body.NexusForum .VeteraniiBreadcrumb,
body.NexusDiscussionPage .VeteraniiDiscMeta,
body.NexusDiscussionPage .VeteraniiPostbitHandle,
body.NexusDiscussionPage .VeteraniiPostbitStats small,
body.NexusDiscussionPage .Post-actions .Button--link,
body.NexusDiscussionPage .ReplyPlaceholder,
.VeteraniiHomeCat > header small,
.VeteraniiFeaturedBlock > header small,
.VeteraniiMapMeta,
.VoicePanelHint,
.VoicePanel > small,
body.VeteraniiBoardHome .forum-node .forum-title small,
body.VeteraniiBoardHome .forum-node .metric small,
body.VeteraniiBoardHome .forum-node .last small,
body.VeteraniiBoardHome .side p,
body.VeteraniiBoardHome .activity small,
body.VeteraniiBoardHome .chat-panel .chat-quick-links,
body.VeteraniiBoardHome .chat-panel .chat-quick-links a,
body.VeteraniiBoardHome .chat-panel .shout-meta time,
body.VeteraniiBoardHome #veteranii-online-board .online-block > header small,
body.VeteraniiBoardHome #veteranii-online-board .stats-bar small,
body.VeteraniiBoardHome #veteranii-online-board .footer-meta p,
body.VeteraniiBoardHome #veteranii-online-board .footer-meta li,
body.VeteraniiBoardHome .site-foot nav,
body.VeteraniiBoardHome .mast-nav a,
body.VeteraniiBoardHome .game-name small {
  color: var(--vet-text-muted) !important;
}

body.NexusForum .NexusTopNav a,
body.VeteraniiBoardHome .mast-nav a:hover,
body.VeteraniiBoardHome .mast-nav a.active {
  color: var(--vet-text-secondary) !important;
}

body.NexusForum .DiscussionListItem-title,
body.NexusForum .VeteraniiForumCopy strong,
body.VeteraniiBoardHome .forum-node .forum-title a,
body.VeteraniiBoardHome .forum-node .metric b {
  color: var(--vet-text) !important;
}

/* ============================================================
   3) GUEST HOMEPAGE — compact chat teaser (no huge cavity)
   ============================================================ */
body.VeteraniiBoardHome.vet-guest .chat-panel .messages,
body.VeteraniiBoardHome.vet-guest .chat-panel .messages.is-skeleton {
  height: auto !important;
  max-height: 132px !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  justify-content: flex-end;
}

/* Hide older messages visually for guests — keep last ~2 rows tall */
body.VeteraniiBoardHome.vet-guest .chat-panel .shout-msg:nth-last-child(n+3) {
  display: none !important;
}

body.VeteraniiBoardHome.vet-guest .chat-panel .shout-chat-tools,
body.VeteraniiBoardHome.vet-guest .chat-panel .shout-emoji-btn,
body.VeteraniiBoardHome.vet-guest .chat-panel .shout-ink-btn,
body.VeteraniiBoardHome.vet-guest .chat-panel .shout-form,
body.VeteraniiBoardHome.vet-guest .chat-panel .shout-emoji-panel,
body.VeteraniiBoardHome.vet-guest .chat-panel .shout-ink-panel {
  display: none !important;
}

body.VeteraniiBoardHome .chat-panel .shout-guest-teaser {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: var(--vet-bg-inset);
  border-top: 1px solid var(--vet-border-subtle);
}

body.VeteraniiBoardHome.vet-guest .chat-panel .shout-guest-teaser {
  display: flex !important;
}

body.VeteraniiBoardHome .chat-panel .shout-guest-copy {
  font-size: 0.8rem;
  color: var(--vet-text-muted);
  line-height: 1.4;
}

body.VeteraniiBoardHome .chat-panel .shout-guest-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  font: 700 0.75rem/1 Rajdhani, Inter, sans-serif !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
}

body.VeteraniiBoardHome.vet-member .chat-panel .shout-guest-teaser {
  display: none !important;
}

/* Guest chat header: softer, teaser feel */
body.VeteraniiBoardHome.vet-guest .chat-panel > header,
body.VeteraniiBoardHome.vet-guest .chat-panel .panel > header {
  background: linear-gradient(90deg, rgba(196, 77, 255, 0.12), transparent) !important;
}

body.VeteraniiBoardHome .chat-panel {
  border-color: var(--vet-border) !important;
}

body.VeteraniiBoardHome.vet-guest .chat-panel .chat-panel-body {
  background: var(--vet-bg-card) !important;
}

/* Members keep a constrained but usable chat — less empty cavity */
body.VeteraniiBoardHome.vet-member .chat-panel .messages,
body.VeteraniiBoardHome.vet-member .chat-panel .messages.is-skeleton {
  height: auto !important;
  max-height: 300px !important;
  min-height: 160px !important;
}

/* ============================================================
   4) HIERARCHY / BREATHING ROOM / LESS GLOW
   ============================================================ */
body.VeteraniiBoardHome .columns {
  gap: 16px !important;
}

body.VeteraniiBoardHome .content {
  gap: 14px !important;
}

body.VeteraniiBoardHome .rail {
  gap: 12px !important;
}

body.VeteraniiBoardHome .panel,
body.VeteraniiBoardHome .side,
body.VeteraniiBoardHome .shout {
  border-color: var(--vet-border) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.28) !important;
}

body.VeteraniiBoardHome .panel:hover,
body.VeteraniiBoardHome .side:hover,
body.VeteraniiBoardHome .shout:hover {
  border-color: var(--vet-border-strong) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35) !important;
}

/* Tone down multi-layer neon on category headers */
body.VeteraniiBoardHome .panel.category > header::before,
body.VeteraniiBoardHome .panel.category > header::after {
  opacity: 0.28 !important;
  animation: none !important;
}

body.VeteraniiBoardHome .cat-pulse,
body.VeteraniiBoardHome .cat-beacon {
  opacity: 0.45 !important;
}

body.VeteraniiBoardHome .cat-head-center > b {
  animation: none !important;
  text-shadow: 0 0 10px rgba(196, 77, 255, 0.2) !important;
}

body.VeteraniiBoardHome .forum-node:hover,
body.VeteraniiBoardHome .game-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32) !important;
}

/* Soften red steel inset glows on category panels */
body.VeteraniiBoardHome .panel.category:not(.games) {
  box-shadow: inset -120px 0 120px -120px rgba(196, 77, 255, 0.08), 0 4px 20px rgba(0, 0, 0, 0.28) !important;
}

body.NexusForum .App-header {
  background: rgba(5, 0, 10, 0.92) !important;
  border-bottom: 1px solid var(--vet-border) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;
  backdrop-filter: blur(12px);
}

body.NexusForum .NexusTopNav a.is-active {
  box-shadow: inset 0 -2px 0 var(--vet-magenta) !important;
  background: rgba(196, 77, 255, 0.12) !important;
}

/* ============================================================
   5) EMPTY-STATE FRIENDLINESS (CSS)
   ============================================================ */
body.VeteraniiBoardHome .online-empty,
body.VeteraniiBoardHome .rail .online-empty,
.VeteraniiOnlineEmpty,
body.NexusMembersPage .VeteraniiMembersEmpty,
body.NexusCategoryPage .DiscussionList-empty {
  color: var(--vet-text-muted) !important;
  font-style: normal !important;
  line-height: 1.45 !important;
}

body.VeteraniiBoardHome .live-server-row em:is(:empty, [data-empty="1"]),
body.VeteraniiBoardHome .count-live:is(:empty) {
  color: var(--vet-text-muted) !important;
}

/* Rail order: servers → staff → activity → network → discord → events → LFG
   (fixes empty black void under LIVE ACTIVITY when Network/LFG had order:0) */
body.VeteraniiBoardHome .rail {
  display: flex;
  flex-direction: column;
  gap: 7px;
  align-self: stretch;
  min-height: 100%;
}

body.VeteraniiBoardHome .rail > .side:has([data-live-servers]) { order: 1; }
body.VeteraniiBoardHome .rail > .side:has([data-rail-staff-list]) { order: 2; }
body.VeteraniiBoardHome .rail > .side#activity { order: 3; }
body.VeteraniiBoardHome .rail > .side:has(.network) { order: 4; }
body.VeteraniiBoardHome .rail > .side.discord { order: 5; }
body.VeteraniiBoardHome .rail > .side.event,
body.VeteraniiBoardHome .rail > .side.wipe-hub { order: 6; }
body.VeteraniiBoardHome .rail > .side.lfg,
body.VeteraniiBoardHome .rail > .side.lfg-hub { order: 7; }

body.VeteraniiBoardHome .rail > .side:has([data-rail-staff-list] .online-empty) {
  opacity: 0.72;
}

/* Activity body: never a tall empty black slab */
body.VeteraniiBoardHome .activity {
  min-height: 0 !important;
  padding-bottom: 6px;
}
body.VeteraniiBoardHome .activity.is-skeleton {
  min-height: 96px;
}
body.VeteraniiBoardHome .activity > a {
  color: inherit;
}
body.VeteraniiBoardHome .activity > a b {
  color: #e8d5ff !important;
  font-size: 11px !important;
  font-weight: 600;
}
body.VeteraniiBoardHome .activity > a small {
  color: #9aa3b2 !important;
  font-size: 10px !important;
}
body.VeteraniiBoardHome .activity > p {
  padding: 10px 12px;
  margin: 0;
  color: #9aa3b2;
  font-size: 11px;
}

/* ============================================================
   6) DISCUSSION — content dominates vs oversized postbit
   ============================================================ */
body.NexusDiscussionPage .CommentPost > .VeteraniiPostLayout,
body.NexusDiscussionPage .CommentPost > div.VeteraniiPostLayout {
  grid-template-columns: 160px minmax(0, 1fr) !important;
  gap: 0 14px !important;
  padding: 12px 12px 10px !important;
  border-color: var(--vet-border) !important;
  background: rgba(12, 6, 20, 0.94) !important;
}

body.NexusDiscussionPage .VeteraniiPostbit {
  gap: 6px;
  padding: 4px 6px 8px;
}

body.NexusDiscussionPage .VeteraniiPostbitAvatar {
  width: 72px !important;
  height: 72px !important;
  font-size: 28px;
  border-radius: 12px !important;
}

body.NexusDiscussionPage .VeteraniiPostbitName {
  font-size: 13px !important;
}

body.NexusDiscussionPage .VeteraniiPostbitStats {
  gap: 4px;
}

body.NexusDiscussionPage .VeteraniiPostbitStats > div {
  padding: 4px 2px;
}

body.NexusDiscussionPage .VeteraniiPostbitFrame {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--rank-tone) 18%, transparent), 0 6px 16px rgba(0, 0, 0, 0.22) !important;
}

body.NexusDiscussionPage .Post-body {
  color: var(--vet-text-secondary) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

body.NexusDiscussionPage .VeteraniiDiscMeta,
body.NexusDiscussionPage .PostMeta {
  color: var(--vet-text-muted) !important;
}

@media (max-width: 700px) {
  body.NexusDiscussionPage .CommentPost > .VeteraniiPostLayout,
  body.NexusDiscussionPage .CommentPost > div.VeteraniiPostLayout {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   7) BOARD HOME NAV / AUTH polish (mockup direction)
   ============================================================ */
body.VeteraniiBoardHome .mast {
  background: rgba(5, 0, 10, 0.92) !important;
  border-bottom: 1px solid var(--vet-border) !important;
  backdrop-filter: blur(12px);
}

body.VeteraniiBoardHome .mast-nav a.active {
  color: var(--vet-magenta) !important;
  background: rgba(196, 77, 255, 0.12) !important;
  border-color: transparent !important;
  box-shadow: inset 0 -2px 0 var(--vet-magenta) !important;
}

body.VeteraniiBoardHome .auth a:not(.register) {
  border-color: var(--vet-border) !important;
  color: var(--vet-text-secondary) !important;
}

body.VeteraniiBoardHome .auth a:not(.register):hover {
  color: var(--vet-magenta) !important;
  border-color: var(--vet-border-strong) !important;
  background: rgba(196, 77, 255, 0.1) !important;
}

/* Prefer Inter for body / Rajdhani for headings where present */
body.VeteraniiBoardHome,
body.NexusForum {
  font-family: Inter, system-ui, sans-serif;
}

body.VeteraniiBoardHome .brand b,
body.VeteraniiBoardHome .cat-head-center > b,
body.NexusForum .Header-title a,
body.NexusForum .NexusBrand strong {
  font-family: Rajdhani, Inter, sans-serif !important;
}

/* ============================================================
   8) WOW POLISH — keep live classic board structure
   Same mental model: chat → categories → game hubs → rail.
   Richer overlays, tasteful glow, glass chat, ambient mesh.
   Overrides / replaces the previous aggressive hero-grid pass.
   ============================================================ */

@keyframes vetWowShine {
  0% { transform: translateX(-120%) skewX(-18deg); opacity: 0; }
  18% { opacity: 0.55; }
  100% { transform: translateX(220%) skewX(-18deg); opacity: 0; }
}

@keyframes vetWowOrbA {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.55; }
  50% { transform: translate(3%, 4%) scale(1.08); opacity: 0.75; }
}

@keyframes vetWowOrbB {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.4; }
  50% { transform: translate(-4%, -3%) scale(1.12); opacity: 0.65; }
}

@keyframes vetWowEnter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Ambient mesh orbs — CSS only, no DOM */
body.VeteraniiBoardHome {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse 70% 45% at 12% 8%, rgba(196, 77, 255, 0.14), transparent 55%),
    radial-gradient(ellipse 55% 40% at 88% 18%, rgba(123, 44, 191, 0.12), transparent 50%),
    radial-gradient(ellipse 50% 35% at 50% 100%, rgba(196, 77, 255, 0.06), transparent 60%),
    var(--vet-bg-deep) !important;
}

body.VeteraniiBoardHome::before,
body.VeteraniiBoardHome::after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
  filter: blur(60px);
}

body.VeteraniiBoardHome::before {
  width: min(48vw, 520px);
  height: min(48vw, 520px);
  top: -8%;
  left: -6%;
  background: radial-gradient(circle, rgba(196, 77, 255, 0.22), transparent 68%);
  animation: vetWowOrbA 18s ease-in-out infinite;
}

body.VeteraniiBoardHome::after {
  width: min(42vw, 460px);
  height: min(42vw, 460px);
  bottom: 5%;
  right: -4%;
  background: radial-gradient(circle, rgba(123, 44, 191, 0.2), transparent 70%);
  animation: vetWowOrbB 22s ease-in-out infinite;
}

body.VeteraniiBoardHome #veteranii-flarum-board,
body.VeteraniiBoardHome .page-shell {
  position: relative;
  z-index: 1;
}

/* Soft page entrance for main columns */
body.VeteraniiBoardHome .columns > .content > .panel,
body.VeteraniiBoardHome .columns > .rail > .side {
  animation: vetWowEnter 0.55s ease both;
}

body.VeteraniiBoardHome .columns > .content > .panel:nth-child(1) { animation-delay: 0.04s; }
body.VeteraniiBoardHome .columns > .content > .panel:nth-child(2) { animation-delay: 0.1s; }
body.VeteraniiBoardHome .columns > .content > .panel:nth-child(3) { animation-delay: 0.16s; }
body.VeteraniiBoardHome .columns > .content > .panel:nth-child(4) { animation-delay: 0.22s; }
body.VeteraniiBoardHome .columns > .rail > .side:nth-child(1) { animation-delay: 0.08s; }
body.VeteraniiBoardHome .columns > .rail > .side:nth-child(2) { animation-delay: 0.14s; }
body.VeteraniiBoardHome .columns > .rail > .side:nth-child(3) { animation-delay: 0.2s; }
body.VeteraniiBoardHome .columns > .rail > .side:nth-child(4) { animation-delay: 0.26s; }
body.VeteraniiBoardHome .columns > .rail > .side:nth-child(5) { animation-delay: 0.3s; }
body.VeteraniiBoardHome .columns > .rail > .side:nth-child(6) { animation-delay: 0.34s; }

@media (prefers-reduced-motion: reduce) {
  body.VeteraniiBoardHome::before,
  body.VeteraniiBoardHome::after,
  body.VeteraniiBoardHome .columns > .content > .panel,
  body.VeteraniiBoardHome .columns > .rail > .side {
    animation: none !important;
  }
}

/* ---------- Refined mast / header ---------- */
body.VeteraniiBoardHome .mast {
  background: linear-gradient(180deg, rgba(18, 8, 28, 0.96), rgba(5, 0, 10, 0.92)) !important;
  border-bottom: 1px solid rgba(196, 77, 255, 0.22) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4), inset 0 -1px 0 rgba(196, 77, 255, 0.08) !important;
  backdrop-filter: blur(16px) saturate(1.15);
}

body.VeteraniiBoardHome .brand b {
  letter-spacing: 0.18em !important;
  text-shadow: 0 0 18px rgba(196, 77, 255, 0.35);
}

body.VeteraniiBoardHome .brand small {
  color: var(--vet-text-muted) !important;
}

body.VeteraniiBoardHome .brand-mark {
  filter: drop-shadow(0 0 10px rgba(196, 77, 255, 0.45));
}

body.VeteraniiBoardHome .mast-nav a.active {
  color: #f0eaf8 !important;
  background: linear-gradient(180deg, rgba(196, 77, 255, 0.22), rgba(123, 44, 191, 0.08)) !important;
  box-shadow: inset 0 -2px 0 var(--vet-magenta), 0 0 18px rgba(196, 77, 255, 0.12) !important;
}

body.VeteraniiBoardHome .search {
  border-color: rgba(196, 77, 255, 0.2) !important;
  background: rgba(5, 0, 10, 0.75) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

body.VeteraniiBoardHome .search:focus-within {
  border-color: rgba(196, 77, 255, 0.45) !important;
  box-shadow: 0 0 0 2px rgba(196, 77, 255, 0.15);
}

/* ---------- Category panels & forum rows ---------- */
body.VeteraniiBoardHome .panel.category {
  overflow: hidden;
}

body.VeteraniiBoardHome .panel.category > header {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(196, 77, 255, 0.18), rgba(18, 8, 28, 0.4) 42%, transparent) !important;
  border-bottom: 1px solid rgba(196, 77, 255, 0.16) !important;
}

body.VeteraniiBoardHome .panel.category > header::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -40%;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent);
  opacity: 0;
  pointer-events: none;
}

body.VeteraniiBoardHome .panel.category:hover > header::after {
  opacity: 1;
  animation: vetWowShine 1.1s ease;
}

body.VeteraniiBoardHome .cat-head-center > b {
  letter-spacing: 0.12em !important;
  text-shadow: 0 0 14px rgba(196, 77, 255, 0.28) !important;
}

body.VeteraniiBoardHome .cat-pulse,
body.VeteraniiBoardHome .cat-beacon {
  opacity: 0.55 !important;
}

body.VeteraniiBoardHome .forum-node {
  position: relative;
  overflow: hidden;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
}

body.VeteraniiBoardHome .forum-node::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -35%;
  width: 32%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transform: translateX(-120%) skewX(-16deg);
  pointer-events: none;
  opacity: 0;
  z-index: 1;
}

body.VeteraniiBoardHome .forum-node:hover::before {
  opacity: 1;
  animation: vetWowShine 0.85s ease;
}

body.VeteraniiBoardHome .forum-node:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(196, 77, 255, 0.42) !important;
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.38),
    0 0 24px rgba(196, 77, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

body.VeteraniiBoardHome .forum-node .fi {
  box-shadow:
    inset 0 0 18px rgba(196, 77, 255, 0.14),
    0 6px 16px rgba(0, 0, 0, 0.35) !important;
}

body.VeteraniiBoardHome .forum-node:hover .fi {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 0 22px rgba(196, 77, 255, 0.35) !important;
}

body.VeteraniiBoardHome .forum-node .fi img.vet-forum-icon {
  filter: saturate(1.12) contrast(1.05);
}

body.VeteraniiBoardHome .forum-node .last:before {
  box-shadow: 0 0 14px rgba(196, 77, 255, 0.22) !important;
}

/* ---------- Game hub cards — richer art, same layout ---------- */
body.VeteraniiBoardHome .panel.games {
  overflow: visible !important;
}

body.VeteraniiBoardHome .panel.games .game-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(196, 77, 255, 0.22) !important;
  background:
    linear-gradient(110deg, rgba(22, 10, 34, 0.95), rgba(10, 6, 16, 0.98)) !important;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
}

body.VeteraniiBoardHome .panel.games .game-card::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -40%;
  width: 30%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16), transparent);
  pointer-events: none;
  opacity: 0;
  z-index: 2;
}

body.VeteraniiBoardHome .panel.games .game-card:hover::after {
  opacity: 1;
  animation: vetWowShine 0.9s ease;
}

body.VeteraniiBoardHome .panel.games .game-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(196, 77, 255, 0.55) !important;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.45),
    0 0 28px rgba(196, 77, 255, 0.18) !important;
}

body.VeteraniiBoardHome .panel.games .cover {
  position: relative;
  overflow: hidden;
  background-size: cover !important;
  background-position: center !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 20px rgba(196, 77, 255, 0.12);
  filter: saturate(1.15) contrast(1.06) brightness(1.04);
}

body.VeteraniiBoardHome .panel.games .cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(196, 77, 255, 0.22), transparent 45%),
    linear-gradient(180deg, transparent 35%, rgba(5, 0, 10, 0.55));
  pointer-events: none;
  z-index: 1;
}

body.VeteraniiBoardHome .panel.games .cover::after {
  content: "";
  position: absolute;
  inset: auto -20% -40% -20%;
  height: 70%;
  background: radial-gradient(ellipse at center, rgba(196, 77, 255, 0.35), transparent 70%);
  opacity: 0.55;
  pointer-events: none;
  z-index: 1;
}

body.VeteraniiBoardHome .panel.games .game-card:hover .cover {
  filter: saturate(1.28) contrast(1.08) brightness(1.1);
}

body.VeteraniiBoardHome .panel.games .cover-cs2 {
  background-color: #0c1628;
}

body.VeteraniiBoardHome .panel.games .cover-rust {
  background-color: #1a0c08;
}

body.VeteraniiBoardHome .panel.games .cover-ark {
  background-color: #061412;
}

body.VeteraniiBoardHome .panel.games .game-name h3 {
  color: var(--vet-text) !important;
  text-shadow: 0 0 12px rgba(196, 77, 255, 0.2);
}

body.VeteraniiBoardHome .panel.games .hub {
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(196, 77, 255, 0.32) !important;
}

body.VeteraniiBoardHome .panel.games .hub::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -50%;
  width: 35%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
  transform: skewX(-18deg);
  transition: left 0.45s ease;
  left: -45%;
}

body.VeteraniiBoardHome .panel.games .hub:hover::after {
  left: 130%;
}

/* ============================================================
   CHAT BEAUTY — premium bubbles inside classic board shoutbox
   Targets forum-preview.js markup: .shout-msg / .shout-av /
   .shout-body / .shout-text / .shout-rank / composer hooks.
   Same widget + API; visual star of the homepage.
   ============================================================ */

/* Panel shell — soft glass, tasteful magenta glow */
body.VeteraniiBoardHome .chat-panel.glass-panel,
body.VeteraniiBoardHome .chat-panel.shout {
  background:
    linear-gradient(165deg, rgba(28, 12, 42, 0.92), rgba(8, 4, 14, 0.96)) !important;
  border: 1px solid rgba(196, 77, 255, 0.28) !important;
  border-radius: 14px !important;
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 48px rgba(196, 77, 255, 0.08) !important;
  backdrop-filter: blur(16px) saturate(1.15);
  overflow: hidden;
}

/* Header — polished live strip */
body.VeteraniiBoardHome .chat-panel > header {
  position: relative;
  border-bottom: 1px solid rgba(196, 77, 255, 0.16) !important;
  background:
    linear-gradient(90deg, rgba(196, 77, 255, 0.16), rgba(18, 8, 28, 0.4) 42%, transparent) !important;
}
body.VeteraniiBoardHome .chat-panel > header .cat-head-center > b {
  letter-spacing: 0.06em;
  text-shadow: 0 0 18px rgba(196, 77, 255, 0.25);
}
body.VeteraniiBoardHome .chat-panel > header .cat-pulse {
  filter: drop-shadow(0 0 6px rgba(196, 77, 255, 0.45));
}

body.VeteraniiBoardHome .chat-panel .chat-panel-body {
  background:
    radial-gradient(ellipse 70% 50% at 20% 0%, rgba(196, 77, 255, 0.07), transparent 55%),
    rgba(6, 3, 12, 0.72) !important;
}

/* Quick links + live tools */
body.VeteraniiBoardHome .chat-panel .chat-quick-links {
  display: flex !important;
  align-items: center !important;
  gap: 4px 12px !important;
  padding: 8px 14px !important;
  border-bottom: 1px solid rgba(196, 77, 255, 0.12) !important;
  background: linear-gradient(90deg, rgba(196, 77, 255, 0.08), transparent 70%) !important;
}
body.VeteraniiBoardHome .chat-panel .chat-quick-links a {
  color: var(--vet-text-muted) !important;
  font: 600 11px/1 Rajdhani, Inter, sans-serif !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 0 !important;
  transition: color 0.15s ease;
}
body.VeteraniiBoardHome .chat-panel .chat-quick-links a:hover {
  color: var(--vet-magenta) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 4px;
  padding: 3px 9px 3px 7px;
  border-radius: 999px;
  border: 1px solid rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.1);
  color: #86efac;
  font: 700 10px/1 Rajdhani, Inter, sans-serif;
  letter-spacing: 0.14em;
}
body.VeteraniiBoardHome .chat-panel .shout-live-pill > i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vet-online);
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
  animation: vet-chat-live-pulse 1.8s ease-out infinite;
  font-style: normal;
}
@keyframes vet-chat-live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55); }
  70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}
body.VeteraniiBoardHome .chat-panel .shout-chat-tools {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.VeteraniiBoardHome .chat-panel .shout-unread {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--vet-magenta-dim), var(--vet-magenta));
  color: #fff !important;
  font: 700 10px/1 Inter, sans-serif !important;
  font-style: normal !important;
  box-shadow: 0 2px 10px rgba(196, 77, 255, 0.4);
}
body.VeteraniiBoardHome .chat-panel .shout-sound-btn {
  width: 28px;
  height: 28px;
  border-radius: 8px !important;
  border: 1px solid rgba(196, 77, 255, 0.22) !important;
  background: rgba(18, 10, 28, 0.8) !important;
  color: var(--vet-text-secondary) !important;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
body.VeteraniiBoardHome .chat-panel .shout-sound-btn:hover,
body.VeteraniiBoardHome .chat-panel .shout-sound-btn[aria-pressed="true"] {
  border-color: rgba(196, 77, 255, 0.45) !important;
  color: #fff !important;
  background: rgba(196, 77, 255, 0.12) !important;
}

/* Pin / notice */
body.VeteraniiBoardHome .chat-panel .shout-pin {
  border-bottom: 1px solid rgba(196, 77, 255, 0.28) !important;
  background: linear-gradient(90deg, rgba(196, 77, 255, 0.14), rgba(8, 4, 14, 0.2) 70%) !important;
  border-radius: 0;
}
body.VeteraniiBoardHome .chat-panel .shout-notice {
  padding: 8px 14px;
  color: var(--vet-text-muted);
  font: 500 12.5px/1.45 Inter, sans-serif;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* Feed — denser but airy */
body.VeteraniiBoardHome .chat-panel .messages,
body.VeteraniiBoardHome .chat-panel .messages.is-skeleton {
  gap: 8px !important;
  padding: 10px 12px 12px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(196, 77, 255, 0.35) transparent;
  background: transparent !important;
}
body.VeteraniiBoardHome .chat-panel .messages::-webkit-scrollbar {
  width: 6px;
}
body.VeteraniiBoardHome .chat-panel .messages::-webkit-scrollbar-thumb {
  background: rgba(196, 77, 255, 0.35);
  border-radius: 999px;
}

/* Message row — clear separation, bubble lives on .shout-text */
body.VeteraniiBoardHome .chat-panel .shout-msg {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: flex-start !important;
  margin: 0 !important;
  padding: 4px 4px 4px 2px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background 0.18s ease;
}
body.VeteraniiBoardHome .chat-panel .shout-msg:hover {
  background: rgba(196, 77, 255, 0.04) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-msg.is-mention {
  background: rgba(196, 77, 255, 0.08) !important;
  box-shadow: inset 3px 0 0 var(--vet-magenta) !important;
  border-radius: 4px 12px 12px 4px !important;
}

/* Circular avatars + subtle rank ring */
body.VeteraniiBoardHome .chat-panel .shout-av,
body.VeteraniiBoardHome .chat-panel .shout-av img,
body.VeteraniiBoardHome .chat-panel .shout-av i {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
  background: rgba(24, 14, 36, 0.95) !important;
  overflow: hidden !important;
}
body.VeteraniiBoardHome .chat-panel .shout-av {
  flex-shrink: 0;
  box-shadow:
    0 0 0 2px rgba(8, 4, 14, 0.95),
    0 0 0 3.5px color-mix(in srgb, var(--shout-rank, #c44dff) 55%, transparent),
    0 4px 12px rgba(0, 0, 0, 0.4) !important;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
body.VeteraniiBoardHome .chat-panel .shout-msg:hover .shout-av {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 2px rgba(8, 4, 14, 0.95),
    0 0 0 3.5px color-mix(in srgb, var(--shout-rank, #c44dff) 75%, transparent),
    0 0 16px color-mix(in srgb, var(--shout-rank, #c44dff) 28%, transparent),
    0 6px 14px rgba(0, 0, 0, 0.4) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-av.is-nft {
  box-shadow:
    0 0 0 2px rgba(8, 4, 14, 0.95),
    0 0 0 3.5px color-mix(in srgb, var(--shout-rank, #c44dff) 70%, transparent),
    0 0 18px color-mix(in srgb, var(--shout-rank, #c44dff) 35%, transparent) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-av.is-letter i,
body.VeteraniiBoardHome .chat-panel .shout-av i {
  display: grid !important;
  place-items: center !important;
  font: 700 14px/1 Rajdhani, Inter, sans-serif !important;
  font-style: normal !important;
  color: #fff !important;
  background: linear-gradient(145deg, rgba(196, 77, 255, 0.35), rgba(18, 10, 28, 0.95)) !important;
}

body.VeteraniiBoardHome .chat-panel .shout-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}

/* Meta — name + pretty staff/mod badge */
body.VeteraniiBoardHome .chat-panel .shout-meta {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  width: 100%;
  padding: 0 2px;
  min-height: 18px;
}
body.VeteraniiBoardHome .chat-panel .shout-meta > b,
body.VeteraniiBoardHome .chat-panel .shout-user-link,
body.VeteraniiBoardHome .chat-panel .shout-user-btn {
  font: 700 13.5px/1 Rajdhani, Inter, sans-serif !important;
  letter-spacing: 0.03em !important;
  color: var(--shout-rank, var(--vet-magenta)) !important;
  text-shadow: 0 0 12px color-mix(in srgb, var(--shout-rank, #c44dff) 25%, transparent);
}
body.VeteraniiBoardHome .chat-panel .shout-rank {
  display: inline-flex !important;
  align-items: center;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  font: 700 9px/1 Rajdhani, Inter, sans-serif !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  color: #fff !important;
  opacity: 1 !important;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--shout-rank, #c44dff) 85%, #fff),
    color-mix(in srgb, var(--shout-rank, #7b2cbf) 90%, #000)
  ) !important;
  box-shadow:
    0 2px 8px color-mix(in srgb, var(--shout-rank, #c44dff) 35%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
body.VeteraniiBoardHome .chat-panel .shout-meta time {
  margin-left: auto !important;
  color: var(--vet-text-faint) !important;
  font: 600 11px/1 Inter, sans-serif !important;
}

/* Bubbles — the star */
body.VeteraniiBoardHome .chat-panel .shout-text,
body.VeteraniiBoardHome .chat-panel p.shout-text {
  margin: 0 !important;
  max-width: 100%;
  padding: 9px 13px !important;
  border-radius: 4px 14px 14px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  background:
    linear-gradient(160deg, rgba(28, 16, 42, 0.92), rgba(14, 8, 22, 0.88)) !important;
  color: var(--vet-text) !important;
  font: 500 13.5px/1.55 Inter, sans-serif !important;
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  white-space: pre-wrap;
  word-break: break-word;
}
body.VeteraniiBoardHome .chat-panel .shout-text p {
  margin: 0 !important;
  color: inherit !important;
  background: transparent !important;
  line-height: inherit !important;
  font: inherit !important;
}
body.VeteraniiBoardHome .chat-panel .shout-msg:hover .shout-text,
body.VeteraniiBoardHome .chat-panel .shout-msg:hover p.shout-text {
  border-color: rgba(196, 77, 255, 0.2) !important;
  box-shadow:
    0 6px 20px rgba(0, 0, 0, 0.32),
    0 0 20px rgba(196, 77, 255, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-msg.has-ink .shout-text,
body.VeteraniiBoardHome .chat-panel .shout-msg.has-ink p.shout-text {
  color: var(--shout-ink, var(--shout-rank)) !important;
  font-weight: 600 !important;
  border-color: color-mix(in srgb, var(--shout-ink, var(--shout-rank)) 28%, transparent) !important;
  text-shadow: 0 0 16px color-mix(in srgb, var(--shout-ink, var(--shout-rank)) 30%, transparent);
}
body.VeteraniiBoardHome .chat-panel .shout-msg.is-emoji-msg .shout-text,
body.VeteraniiBoardHome .chat-panel .shout-msg.is-emoji-msg p.shout-text,
body.VeteraniiBoardHome .chat-panel .shout-text.is-emoji-only {
  background: rgba(18, 10, 28, 0.45) !important;
  border-color: rgba(255, 255, 255, 0.04) !important;
  box-shadow: none !important;
  padding: 4px 6px !important;
}
body.VeteraniiBoardHome .chat-panel .shout-at {
  border-radius: 6px !important;
  background: rgba(196, 77, 255, 0.2) !important;
  color: #efc6ff !important;
}
body.VeteraniiBoardHome .chat-panel .shout-at.is-me {
  background: rgba(196, 77, 255, 0.4) !important;
  color: #fff !important;
}

/* Empty / welcome — elegant, not hollow */
body.VeteraniiBoardHome .chat-panel .shout-welcome {
  margin: 8px 4px;
  padding: 18px 16px !important;
  text-align: center;
  border-radius: 12px;
  border: 1px dashed rgba(196, 77, 255, 0.22);
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(196, 77, 255, 0.12), transparent 70%),
    rgba(12, 6, 20, 0.65);
  color: var(--vet-text-muted) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-welcome > b {
  display: block;
  margin-bottom: 6px;
  font: 700 15px/1.2 Rajdhani, Inter, sans-serif;
  letter-spacing: 0.06em;
  color: var(--vet-magenta) !important;
  text-shadow: 0 0 18px rgba(196, 77, 255, 0.35);
}
body.VeteraniiBoardHome .chat-panel .shout-welcome > p {
  margin: 0;
  font: 500 12.5px/1.5 Inter, sans-serif;
  color: var(--vet-text-secondary) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-empty {
  color: var(--vet-text-muted) !important;
  padding: 14px !important;
}

/* Composer — rounded glass bar */
body.VeteraniiBoardHome .chat-panel .shout-compose {
  position: relative;
  padding: 12px 12px 14px !important;
  border-top: 1px solid rgba(196, 77, 255, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(18, 8, 28, 0.55), rgba(8, 4, 14, 0.92)) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-form {
  display: grid !important;
  grid-template-columns: 38px 38px 1fr 42px !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 8px 8px 8px 8px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(196, 77, 255, 0.22) !important;
  background: rgba(10, 5, 16, 0.75) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.25) !important;
  backdrop-filter: blur(10px);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body.VeteraniiBoardHome .chat-panel .shout-form:focus-within {
  border-color: rgba(196, 77, 255, 0.5) !important;
  box-shadow:
    0 0 0 3px rgba(196, 77, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 8px 24px rgba(0, 0, 0, 0.28) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-form input {
  width: 100% !important;
  height: 36px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--vet-text) !important;
  padding: 0 8px !important;
  font: 500 13.5px/1.4 Inter, sans-serif !important;
  box-shadow: none !important;
  outline: none !important;
}
body.VeteraniiBoardHome .chat-panel .shout-form input::placeholder {
  color: var(--vet-text-faint) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-form input:focus {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
body.VeteraniiBoardHome .chat-panel .shout-emoji-btn,
body.VeteraniiBoardHome .chat-panel .shout-ink-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  background: rgba(24, 14, 36, 0.85) !important;
  color: var(--vet-text-muted) !important;
  font-size: 16px !important;
  cursor: pointer;
  transition: color 0.15s, background 0.15s, border-color 0.15s, transform 0.15s;
}
body.VeteraniiBoardHome .chat-panel .shout-emoji-btn:hover,
body.VeteraniiBoardHome .chat-panel .shout-ink-btn:hover {
  color: var(--vet-magenta) !important;
  background: rgba(196, 77, 255, 0.12) !important;
  border-color: rgba(196, 77, 255, 0.35) !important;
  transform: translateY(-1px);
}
body.VeteraniiBoardHome .chat-panel .shout-emoji-btn[aria-expanded="true"],
body.VeteraniiBoardHome .chat-panel .shout-ink-btn[aria-expanded="true"] {
  border-color: rgba(196, 77, 255, 0.55) !important;
  color: #fff !important;
  background: rgba(196, 77, 255, 0.16) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-form button[type="submit"] {
  width: 40px !important;
  height: 36px !important;
  border-radius: 11px !important;
  border: 0 !important;
  background: linear-gradient(135deg, var(--vet-magenta-dim), var(--vet-magenta)) !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 16px rgba(196, 77, 255, 0.4) !important;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
body.VeteraniiBoardHome .chat-panel .shout-form button[type="submit"]:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(196, 77, 255, 0.55) !important;
}

/* Emoji / ink panels — glass popovers */
body.VeteraniiBoardHome .chat-panel .shout-emoji-panel,
body.VeteraniiBoardHome .chat-panel .shout-ink-panel {
  border-radius: 12px !important;
  border-color: rgba(196, 77, 255, 0.28) !important;
  background: rgba(12, 6, 20, 0.96) !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.5), 0 0 24px rgba(196, 77, 255, 0.08) !important;
}

/* Guest teaser — elegant CTA strip */
body.VeteraniiBoardHome .chat-panel .shout-guest-teaser {
  margin-top: 10px;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(196, 77, 255, 0.22) !important;
  border-top: 1px solid rgba(196, 77, 255, 0.22) !important;
  background:
    linear-gradient(105deg, rgba(196, 77, 255, 0.16), rgba(10, 5, 16, 0.85) 55%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
body.VeteraniiBoardHome .chat-panel .shout-guest-copy {
  font: 500 12.5px/1.45 Inter, sans-serif !important;
  color: var(--vet-text-secondary) !important;
}
body.VeteraniiBoardHome .chat-panel .shout-guest-cta {
  border-radius: 10px !important;
  padding: 9px 16px !important;
  letter-spacing: 0.08em !important;
  box-shadow: 0 4px 18px rgba(196, 77, 255, 0.35) !important;
}

@media (prefers-reduced-motion: reduce) {
  body.VeteraniiBoardHome .chat-panel .shout-live-pill > i {
    animation: none !important;
  }
  body.VeteraniiBoardHome .chat-panel .shout-av,
  body.VeteraniiBoardHome .chat-panel .shout-form button[type="submit"],
  body.VeteraniiBoardHome .chat-panel .shout-emoji-btn,
  body.VeteraniiBoardHome .chat-panel .shout-ink-btn {
    transition: none !important;
  }
}

/* ---------- Sidebar / rail polish ---------- */
body.VeteraniiBoardHome .rail > .side {
  background: linear-gradient(165deg, rgba(20, 10, 32, 0.92), rgba(8, 4, 14, 0.96)) !important;
  border-color: rgba(196, 77, 255, 0.18) !important;
}

body.VeteraniiBoardHome .rail > .side > header b {
  color: var(--vet-magenta) !important;
  letter-spacing: 0.1em;
}

body.VeteraniiBoardHome .side.event [data-event-box] time strong {
  box-shadow: 0 0 16px rgba(196, 77, 255, 0.25);
}

body.VeteraniiBoardHome .side.discord a {
  box-shadow: 0 4px 16px rgba(196, 77, 255, 0.28) !important;
}

body.VeteraniiBoardHome .activity > a:hover {
  background: rgba(196, 77, 255, 0.08) !important;
}

/* ---------- Profile / postbit light polish (hotfix hooks) ---------- */
body.NexusDiscussionPage .VeteraniiPostbitFrame {
  border-color: color-mix(in srgb, var(--rank-tone, #c44dff) 28%, transparent) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--rank-tone, #c44dff) 22%, transparent),
    0 8px 20px rgba(0, 0, 0, 0.28) !important;
}

body.NexusDiscussionPage .VeteraniiPostbitAvatar {
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--rank-tone, #c44dff) 35%, transparent),
    0 6px 16px rgba(0, 0, 0, 0.35) !important;
}

body.NexusProfilePage .UserCard-avatar .Avatar,
body.NexusProfilePage .VeteraniiProfileAvatar {
  box-shadow:
    0 0 0 3px rgba(196, 77, 255, 0.28),
    0 10px 28px rgba(0, 0, 0, 0.4) !important;
}

body.NexusForum span.Avatar {
  box-shadow: 0 0 0 1px rgba(196, 77, 255, 0.2);
}

/* Kill leftover aggressive hero-grid if old markup/cache briefly appears */
body.VeteraniiBoardHome .vet-hero-grid {
  display: contents;
}

body.VeteraniiBoardHome .vet-hero-aside {
  display: contents;
}

@media (max-width: 700px) {
  body.VeteraniiBoardHome .chat-panel .shout-guest-teaser {
    flex-direction: column;
    align-items: stretch !important;
  }
  body.VeteraniiBoardHome .chat-panel .shout-guest-cta {
    width: 100%;
    text-align: center;
  }
}

/* v82 professional chat anti-overlap */


/* ============================================================
   v82 — PROFESSIONAL CHAT LAYOUT (kill compact overlap)
   ============================================================ */
body.VeteraniiBoardHome .chat-panel .messages,
body.VeteraniiBoardHome .chat-panel .messages.is-skeleton{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:14px!important;
  height:auto!important;
  min-height:240px!important;
  max-height:420px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:16px 18px!important;
  background:
    radial-gradient(ellipse 70% 40% at 10% 0%,rgba(196,77,255,.07),transparent 55%),
    #0a0d14!important;
}
body.VeteraniiBoardHome .chat-panel .messages span,
body.VeteraniiBoardHome .chat-panel .shout-msg span,
body.VeteraniiBoardHome .chat-panel .shout-user-wrap{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
}
body.VeteraniiBoardHome .chat-panel .shout-msg{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  gap:12px!important;
  align-items:flex-start!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:8px 6px!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  overflow:visible!important;
  position:relative!important;
}
body.VeteraniiBoardHome .chat-panel .shout-av,
body.VeteraniiBoardHome .chat-panel a.shout-av,
body.VeteraniiBoardHome .chat-panel span.shout-av{
  display:block!important;
  width:44px!important;
  height:44px!important;
  max-width:44px!important;
  max-height:44px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  position:relative!important;
  flex-shrink:0!important;
  grid-column:1!important;
  grid-row:1!important;
}
body.VeteraniiBoardHome .chat-panel .shout-av img,
body.VeteraniiBoardHome .chat-panel .shout-av i{
  position:static!important;
  left:auto!important;top:auto!important;
  width:44px!important;height:44px!important;
  max-width:44px!important;max-height:44px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:block!important;
  transform:none!important;
}
body.VeteraniiBoardHome .chat-panel .shout-body{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:6px!important;
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
  grid-column:2!important;
  grid-row:1!important;
  position:relative!important;
}
body.VeteraniiBoardHome .chat-panel .shout-meta{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:100%!important;
  min-height:22px!important;
  height:auto!important;
  position:relative!important;
  z-index:2!important;
}
body.VeteraniiBoardHome .chat-panel .shout-meta time{
  margin-left:auto!important;
  position:static!important;
  flex:0 0 auto!important;
}
body.VeteraniiBoardHome .chat-panel .shout-text,
body.VeteraniiBoardHome .chat-panel p.shout-text{
  display:block!important;
  position:static!important;
  float:none!important;
  clear:both!important;
  width:fit-content!important;
  max-width:min(92%,560px)!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:11px 15px!important;
  border-radius:4px 16px 16px 16px!important;
  border:1px solid rgba(196,77,255,.22)!important;
  background:#241538!important;
  background-image:linear-gradient(160deg,#34204f,#161022)!important;
  color:#f5f7fb!important;
  font:500 15px/1.5 Inter,system-ui,sans-serif!important;
  box-shadow:0 8px 24px rgba(0,0,0,.4)!important;
  white-space:pre-wrap!important;
  word-break:break-word!important;
  overflow:visible!important;
  z-index:1!important;
}
body.VeteraniiBoardHome .chat-panel .shout-text.is-emoji-only{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:2px 0!important;
}
body.VeteraniiBoardHome .chat-panel .shout-msg img.shout-emoji,
body.VeteraniiBoardHome .chat-panel .shout-emoji{
  width:56px!important;height:56px!important;
  max-width:none!important;max-height:none!important;
  object-fit:contain!important;
  display:inline-block!important;
  vertical-align:middle!important;
  position:static!important;
  border-radius:0!important;
  background:transparent!important;
}
body.VeteraniiBoardHome .chat-panel .shout-emoji.is-big,
body.VeteraniiBoardHome .chat-panel .shout-text.is-emoji-only .shout-emoji{
  width:96px!important;height:96px!important;
}
body.VeteraniiBoardHome .chat-panel .shout-rank{
  display:inline-flex!important;
  align-items:center!important;
  padding:3px 9px!important;
  border-radius:999px!important;
  font:700 9px/1 Rajdhani,Inter,sans-serif!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  opacity:1!important;
  background:linear-gradient(135deg,#d46aff,#7b2cbf)!important;
  position:static!important;
}
body.VeteraniiBoardHome .chat-panel .shout-user-link,
body.VeteraniiBoardHome .chat-panel .shout-user-btn,
body.VeteraniiBoardHome .chat-panel .shout-meta>b{
  font:700 15px/1.1 Rajdhani,Inter,sans-serif!important;
  position:static!important;
  display:inline!important;
}

/* VET-GAMING-PRIMARY-2026 */
:root, body, body.NexusForum, html {
  --primary-color: #c44dff !important;
  --primary-color-light: #d46aff !important;
  --primary-color-dark: #8f35d4 !important;
  --secondary-color: #120018 !important;
  --body-bg: #0c0614 !important;
  --control-bg: rgba(196, 77, 255, 0.12) !important;
  --control-color: #f0eaf8 !important;
}
meta[name="theme-color"] { /* hint only */ }
body .App, body.NexusForum .App {
  --primary-color: #c44dff !important;
}

/* VET-GAMING-PRIMARY-END */


/* Events / Wipe Hub — redesign polish */
body.VeteraniiBoardHome .side.event.wipe-hub {
  order: 6;
  border-color: rgba(245, 158, 11, 0.22) !important;
  box-shadow: 0 0 24px rgba(245, 158, 11, 0.06);
}
body.VeteraniiBoardHome .side.event .wipe-countdown {
  font-variant-numeric: tabular-nums;
}
body.VeteraniiBoardHome .side.event .wipe-hub-next[data-status="live"] {
  background: linear-gradient(165deg, rgba(30, 80, 50, 0.25), transparent 70%);
}


/* LFG Hub — redesign polish */
body.VeteraniiBoardHome .side.lfg.lfg-hub {
  order: 7;
  border-color: rgba(76, 157, 255, 0.28) !important;
  box-shadow: 0 0 24px rgba(76, 157, 255, 0.07);
}
body.VeteraniiBoardHome .side.lfg .lfg-hub-featured[data-status="open"] {
  background: linear-gradient(165deg, rgba(30, 70, 120, 0.28), transparent 70%);
}

/* ===== RAIL FULL PAGE HEIGHT (2026-09-19) ===== */
body.VeteraniiBoardHome .columns {
  align-items: stretch !important;
}
body.VeteraniiBoardHome .rail {
  position: static !important;
  top: auto !important;
  z-index: 2;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0;
}
body.VeteraniiBoardHome .rail > .side,
body.VeteraniiBoardHome .columns > .rail > .side {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  flex: 0 0 auto;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
body.VeteraniiBoardHome .rail .live-servers,
body.VeteraniiBoardHome .rail .staff,
body.VeteraniiBoardHome .rail .activity,
body.VeteraniiBoardHome .rail .network,
body.VeteraniiBoardHome .rail .wipe-hub-next,
body.VeteraniiBoardHome .rail .wipe-hub-list,
body.VeteraniiBoardHome .rail .lfg-hub-featured,
body.VeteraniiBoardHome .rail .lfg-hub-list {
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
}
body.VeteraniiBoardHome .rail .activity > a {
  height: auto !important;
  min-height: 44px;
}
/* Grow to the bottom of the page next to the tall left column */
body.VeteraniiBoardHome .rail::after {
  content: "";
  display: block;
  order: 99;
  flex: 1 1 auto;
  min-height: 160px;
  margin-top: 4px;
  border-radius: 8px;
  border: 1px solid rgba(196, 77, 255, 0.12);
  background:
    radial-gradient(ellipse at 50% 8%, rgba(168, 85, 247, 0.12), transparent 50%),
    linear-gradient(180deg, rgba(18, 12, 28, 0.75), rgba(8, 6, 12, 0.35) 40%, rgba(6, 8, 12, 0.2));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
  pointer-events: none;
}
