/* Palette trial: the lobby alone gets a saturated, yellow-leaning citron.
   Route-scoped variables fall back immediately when another section opens. */
body.ga-tech-demo:has(.app-shell.route-home) {
  --td-bg: #0b0c0d;
  --td-surface: #121315;
  --td-raised: #1c1d20;
  --td-line: #333538;
  --td-muted: #adafb2;
  --td-lime: #e7ee45;
  --td-lime-hover: #f2f781;
  --accent: #e7ee45;
  --accent-rgb: 231, 238, 69;
  --acid: var(--td-lime);
  --ex-lime: var(--td-lime);
}
/* A single clear primary action makes the new accent visible in the opening view. */
body.ga-tech-demo .route-home .hub-heading > .hub-link {
  min-height: 48px;
  padding: 12px 18px;
  gap: 20px;
  border: 1px solid var(--td-lime);
  border-radius: 2px;
  color: var(--td-bg);
  background: var(--td-lime);
  font-weight: 750;
  transition:
    background-color 150ms,
    border-color 150ms;
}
body.ga-tech-demo .route-home .hub-heading > .hub-link:hover {
  background: var(--td-lime-hover);
  border-color: var(--td-lime-hover);
}
body.ga-tech-demo .route-home .hub-feature-map:hover {
  border-color: var(--td-lime);
}
body.ga-tech-demo:has(.route-home) .demo-lab {
  --dlb-bg: var(--td-bg);
  --dlb-surface: var(--td-surface);
  --dlb-line: var(--td-line);
  --dlb-text: var(--td-text);
  --dlb-muted: var(--td-muted);
  --dlb-mint: var(--td-lime);
}
/* Older embedded surfaces used literal green values instead of the theme tokens. */
body.ga-tech-demo .route-home :is(.recorded-stream-play, .ex-play) {
  background: var(--td-lime);
  color: var(--td-bg);
}
body.ga-tech-demo .route-home :is(.recorded-stream-credit a, .sc-win-play, .sc-win-result b) {
  color: var(--td-lime);
}
body.ga-tech-demo .route-home .sc-win-result :is(i, small) {
  color: var(--td-muted);
}
body.ga-tech-demo .route-home .recorded-stream :is(button, a):focus-visible {
  outline-color: var(--td-lime) !important;
}
body.ga-tech-demo .route-home .ex-game-card:hover .ex-game-cover {
  border-color: var(--td-lime);
  box-shadow: 0 0 0 1px #e7ee4533;
}
body.ga-tech-demo .route-home .sc-reaction:hover {
  border-color: var(--td-lime);
  color: var(--td-lime);
  background: var(--td-purple);
}

/* Black + citron is the primary pair; violet stays in art and secondary detail. */
body.ga-tech-demo
  .route-home
  :is(.hub-feature, .recorded-stream, .hub-destination, .hub-community .sc-win) {
  background: var(--td-surface);
  border-color: var(--td-line);
}
body.ga-tech-demo .route-home .hub-feature-map:after {
  background:
    linear-gradient(90deg, #121315f5 0%, #121315c9 36%, #12131530 72%),
    linear-gradient(0deg, #12131566, transparent 65%);
}
body.ga-tech-demo .route-home .td-desktop-nav [aria-current='page'],
body.ga-tech-demo .route-home .td-menu-panel [aria-current='page'] {
  color: var(--td-lime);
}
body.ga-tech-demo .route-home .td-desktop-nav [aria-current='page']:after {
  background: var(--td-lime);
}
body.ga-tech-demo .route-home :is(.hub-feature, .hub-destination):hover {
  border-color: var(--td-lime);
}
body.ga-tech-demo:has(.route-home) .floating-alligator {
  --fa-paper: var(--td-surface);
  --fa-brass: var(--td-lime);
}
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-sector-face {
  fill: #17191b;
}
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-section-face {
  fill: var(--td-bg);
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator
  .fa-section[aria-selected='true']
  .fa-section-face {
  fill: var(--td-lime);
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator
  .fa-section[aria-selected='true']
  .fa-section-content {
  color: var(--td-bg);
}
html:has(body.ga-tech-demo .route-home) {
  background: #0b0c0d;
}
/* Compact companion menu: preserve its geometry, replace the inherited jade paint. */
body.ga-tech-demo:has(.route-home)
  .floating-alligator[data-edge-wheel='true']
  :is(
    .fa-wheel-disc,
    .fa-wheel-items,
    .fa-wheel-context,
    .fa-section,
    .fa-emote,
    .fa-item-medallion,
    .fa-social-actions button
  ) {
  background: var(--td-surface);
  border-color: var(--td-line);
  color: var(--td-text);
  box-shadow: none;
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator[data-edge-wheel='true']
  .fa-wheel-disc:after {
  border-color: var(--td-line);
  box-shadow: none;
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator[data-edge-wheel='true']
  :is(.fa-section[aria-selected='true'], .fa-section:hover) {
  background: var(--td-lime);
  color: var(--td-bg);
  border-color: var(--td-lime);
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator[data-edge-wheel='true']
  :is(.fa-section[aria-selected='true'], .fa-section:hover)
  .fa-section-content {
  color: var(--td-bg);
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator[data-edge-wheel='true']
  .fa-emote:is(:hover, :active, [data-active='true'], [data-playing='true']) {
  background: var(--td-raised);
  border-color: var(--td-lime);
  box-shadow: inset 0 0 0 1px var(--td-lime);
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator[data-edge-wheel='true']
  .fa-wheel-close:before {
  background: var(--td-raised);
  border-color: var(--td-line);
  box-shadow: none;
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator[data-edge-wheel='true']
  :is(.fa-wheel-title, .fa-emote strong) {
  color: var(--td-text);
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator[data-edge-wheel='true']
  :is(.fa-wheel-subtitle, .fa-emote .fa-emote-access) {
  color: var(--td-muted);
}
/* The full radial wheel shares the same palette as the compact fan. */
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-wheel-shell circle[fill='#14241c'],
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-wheel-shell circle[fill='#13271e'] {
  fill: var(--td-surface);
  stroke: var(--td-line);
}
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-launcher-shell path[fill='#09170f'] {
  fill: var(--td-bg);
}
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-portrait-clip {
  background: var(--td-surface);
  border-color: var(--td-lime);
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator
  :is(.fa-wheel-foot, .fa-wheel-context, .fa-egg-open, .fa-club-link) {
  background: var(--td-surface);
  border-color: var(--td-line);
  color: var(--td-text);
  box-shadow: none;
}
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-wheel-close:before {
  background: var(--td-raised);
  border-color: var(--td-line);
  box-shadow: none;
}
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-sector-rim {
  fill: var(--td-raised);
  stroke: var(--td-line);
}
body.ga-tech-demo:has(.route-home) .floating-alligator .fa-section[aria-selected='true'] {
  background: var(--td-lime) !important;
  border-color: var(--td-lime) !important;
  color: var(--td-bg) !important;
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator
  .fa-section[aria-selected='true']
  .fa-section-face {
  fill: var(--td-lime) !important;
}
body.ga-tech-demo:has(.route-home)
  .floating-alligator
  .fa-section[aria-selected='true']
  .fa-section-content {
  color: var(--td-bg) !important;
}
body.ga-tech-demo:has(.route-home) .floating-alligator[data-edge-wheel='true'] .fa-wheel-foot {
  background: transparent;
  border-color: transparent;
}
