/* SPARTAN 2822 — Internal Team Resource theme (dark)
 * Layered on top of spartan-core.css's default dark theme.
 * Overrides multi-color accent palette to Spartan gold-only.
 * Adds the persistent "internal" banner at top of every page.
 *
 * Brand palette (extracted from team logo, May 7 2026):
 *   gold:  #f0b020   black: #000000   gray:  #808080
 */

/* -------- Base theme overrides (apply to default dark mode) -------- */
:root {
  /* True black background — projector-friendly + warmer than the public
   * site's blue-black (#04090f). Eye instantly tells the two sites apart. */
  --bg:        #0a0807;
  --panel:     #14100c;
  --panel2:    #1f1812;
  --border:    #3a2f20;

  /* Collapse the public site's six accent colors down to ONE — gold.
   * Makes the internal site monochromatic at a glance, very team-branded. */
  --accent:    #f0b020;       /* Spartan gold */
  --accent2:   #f0b020;       /* (was orange) */
  --accent3:   #f0b020;       /* (was green) */
  --accent4:   #f0b020;       /* (was magenta) */
  --accent5:   #f0b020;       /* (was dark-yellow) */
  --accentR:   #d49830;       /* slightly desaturated gold for "warn" */
  --accentS:   rgba(240,176,32,0.10);
  --accentB:   rgba(240,176,32,0.32);

  /* Slightly warm white text — pairs with gold, reads like a Spartan helmet plume */
  --text:      #f5ecdc;
  --text-dim:  #c4b692;
  --text-mute: #8a7c5c;
}

/* Make sure all callouts use gold-on-dark (collapse the public rainbow) */
.callout.cyan,
.callout.green,
.callout.purple,
.callout.yellow,
.callout.tip {
  background: rgba(240,176,32,0.06) !important;
  border: 1px solid rgba(240,176,32,0.25) !important;
  border-left: 3px solid #f0b020 !important;
}
.callout.cyan strong,
.callout.green strong,
.callout.purple strong,
.callout.yellow strong,
.callout.tip strong { color: #f0b020 !important; }

.callout.orange,
.callout.warn,
.callout.red {
  background: rgba(212,152,48,0.08) !important;
  border: 1px solid rgba(212,152,48,0.30) !important;
  border-left: 3px solid #d49830 !important;
}
.callout.orange strong,
.callout.warn strong,
.callout.red strong { color: #d49830 !important; }

/* Headings — bright gold for "team" energy */
h1, h2, h3 { color: #f0b020 !important; }

/* Links — gold, with brighter hover */
a:not(.team-banner-link):not(.card):not(.lib-card) {
  color: #f0b020;
}
a:not(.team-banner-link):not(.card):not(.lib-card):hover {
  color: #ffd460;
}

/* -------- Persistent internal banner -------- */
/* Position: fixed (not sticky) so it ALWAYS shows at top of viewport,
 * regardless of how the page handles its own nav scroll behavior. */
.team-banner {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 99999;
  background: #000000;
  color: #f0b020;
  padding: 8px 16px;
  font-family: "Share Tech Mono", "Courier New", monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
  border-bottom: 2px solid #f0b020;
  text-transform: uppercase;
}
.team-banner-link {
  color: #ffffff;
  text-decoration: none;
  border-bottom: 1px dotted #ffffff;
  margin-left: 12px;
  padding-bottom: 1px;
  font-weight: 400;
}
.team-banner-link:hover {
  color: #f0b020;
  border-bottom-color: #f0b020;
}

/* Push the rest of the page down so it isn't hidden under the fixed banner.
 * Banner is ~33px tall on desktop, ~50px on mobile (2-line). */
body {
  padding-top: 33px !important;
}
@media (max-width: 600px) {
  .team-banner {
    font-size: 10px;
    padding: 5px 8px;
    letter-spacing: 0.05em;
  }
  .team-banner-link {
    display: block;
    margin-left: 0;
    margin-top: 1px;
  }
  body {
    padding-top: 50px !important;
  }
}

/* If a page's own nav is also fixed/sticky at top:0, push it down so
 * it doesn't collide with the banner. */
nav[class*="sticky"],
nav.site-nav,
nav.page-nav {
  top: 33px !important;
}
@media (max-width: 600px) {
  nav[class*="sticky"],
  nav.site-nav,
  nav.page-nav {
    top: 50px !important;
  }
}


/* ---------- V.1 Lineage card (per-bot intro) ---------- */
.v1-lineage {
  margin: 16px 0 24px;
  padding: 14px 20px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 8px;
  border-left: 3px solid var(--accent);
}
.v1-lineage-eyebrow {
  color: var(--accent);
  font-family: "Share Tech Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.v1-lineage-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  padding: 5px 0;
  border-top: 1px solid var(--border);
  font-size: 13.5px;
  line-height: 1.5;
}
.v1-lineage-row:first-of-type { border-top: none; padding-top: 0; }
.v1-lineage-label {
  font-family: "Share Tech Mono", monospace;
  font-size: 10px;
  letter-spacing: 1.5px;
  color: var(--text-dim);
  text-transform: uppercase;
  padding-top: 2px;
}
.v1-lineage-value { color: var(--text); }
.v1-lineage-value a { color: var(--accent); }
@media (max-width: 600px) {
  .v1-lineage-row { grid-template-columns: 1fr; gap: 2px; padding: 8px 0; }
  .v1-lineage-label { padding-top: 0; }
}
