/* Approved landing language, confined to host chrome. No frame geometry or input changes. */
html:has(body.ga-tech-demo) {
  background: #0b0f0b;
}
body.ga-tech-demo {
  --td-bg: #0b0f0b;
  --td-surface: #19151f;
  --td-raised: #241c2c;
  --td-text: #faf9f5;
  --td-muted: #b5abba;
  --td-line: #40334e;
  --td-purple: #281d34;
  --td-purple-line: #59416d;
  --td-violet: #c2a2ef;
  --td-lime: #c8ed73;
  --td-lime-hover: #ddf4aa;
  --font-ui: var(--td-font);
  --font-display: var(--td-font);
}
/* Flat ink surfaces and restrained borders replace soft floating containers. */
body.ga-tech-demo
  :is(
    .td-menu-panel,
    .hub-feature,
    .hub-destination,
    .hub-destination-art,
    .hub-counter,
    .hub-community .sc-win,
    .hub-community .sc-win-game,
    .cf-spotlight,
    .cf-swipe-pad,
    .cf-empty,
    .og-card,
    .og-art .og-blitz-preview,
    .studio-player,
    .studio-program,
    .studio-vote,
    .studio-chat,
    .studio-event-path,
    .studio-event-links a,
    .studio-programme-strip > div,
    .recorded-stream,
    .live-provider-grid article,
    .v5-chapter,
    .v5-atlas,
    .v5-detail,
    .v6-detail-scene,
    .level-summary-cards > div
  ) {
  border-radius: 2px;
  box-shadow: none;
  border-color: var(--td-purple-line);
}
body.ga-tech-demo
  :is(
    .td-menu-panel,
    .hub-destination,
    .hub-community .sc-win,
    .og-card,
    .studio-player,
    .studio-program,
    .studio-chat,
    .studio-event-path,
    .studio-programme-strip > div,
    .recorded-stream,
    .live-provider-grid article
  ) {
  background: var(--td-surface);
}
body.ga-tech-demo .hub-feature {
  background: #241a2e;
}
body.ga-tech-demo .hub-feature:after {
  background:
    linear-gradient(90deg, #0b0f0bed, #19132233), linear-gradient(0deg, #17101edf, transparent 85%);
}
body.ga-tech-demo .cf-spotlight {
  background: linear-gradient(100deg, #271b32, #19151f);
  border-color: #705187;
}
body.ga-tech-demo .cf-spotlight-art img {
  border-radius: 2px;
}
body.ga-tech-demo .cf-swipe-pad {
  background: #201729;
  border-color: #705187;
}
body.ga-tech-demo .og-art-blitz {
  background:
    radial-gradient(ellipse at 22% 55%, #99431e33, transparent 65%),
    linear-gradient(120deg, #1d1311, #19111e 70%);
}
/* Text hierarchy follows the public landing; prose remains at existing usable sizes. */
body.ga-tech-demo
  :is(
    .hub-heading h1,
    .hub-feature h2,
    .hub-section-head h2,
    .og-heading h1,
    .og-title-row h2,
    .experience-heading h1,
    .cf-spotlight h2,
    .cf-mix-heading h2,
    .cmp-heading h1,
    .v5-detail h2,
    .studio-community > header h2
  ) {
  font-family: var(--td-font) !important;
  font-weight: 800;
  color: var(--td-text);
  letter-spacing: -0.04em;
}
body.ga-tech-demo
  :is(
    .hub-kicker,
    .og-eyebrow,
    .cf-eyebrow,
    .studio-eyebrow,
    .experience-heading > div > p,
    .cmp-eyebrow,
    .v5-detail-kicker,
    .recorded-stream-label > span:first-child,
    .studio-programme-strip > div > span
  ) {
  font-family: var(--td-mono) !important;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--td-violet);
}
body.ga-tech-demo
  :is(
    .hub-heading p,
    .og-heading p,
    .og-description,
    .experience-intro,
    .cf-mix-heading p,
    .v5-detail p
  ) {
  color: var(--td-muted);
}
/* Keep target sizes and layout intact; corners and materials alone change. */
body.ga-tech-demo
  :is(
    .td-menu-panel a,
    .td-menu-panel button,
    .hub-table-art span,
    .hub-community .sc-reaction,
    .cf-themes button,
    .cf-shelves button,
    .cf-refresh button,
    .cf-spotlight > div > a,
    .cf-spotlight-tags > span,
    .og-status,
    .og-tags li,
    .og-launch,
    .studio-episodes button,
    .studio-transport button,
    .studio-choice-list button,
    .studio-chat textarea,
    .studio-chat button[type='submit'],
    .studio-reactions button,
    .studio-episode-info > div > span,
    .recorded-stream-actions button,
    .recorded-stream-play,
    .experience-badge,
    .map-mode-nav button,
    .v5-map-tabs button,
    .v5-path-picker select,
    .v5-path-picker button
  ) {
  border-radius: 2px;
  box-shadow: none;
}
body.ga-tech-demo .app-shell.ex-shell .ex-discovery-button {
  border-radius: 2px !important;
}
body.ga-tech-demo
  :is(
    .cf-themes button,
    .cf-shelves button,
    .studio-episodes button,
    .studio-choice-list button,
    .studio-reactions button,
    .v5-path-picker select,
    .v5-path-picker button
  ) {
  background: var(--td-surface);
  border-color: var(--td-line);
  color: var(--td-muted);
}
body.ga-tech-demo
  :is(
    .cf-themes button,
    .cf-shelves button,
    .studio-episodes button,
    .studio-choice-list button,
    .v5-map-tabs button
  )[aria-pressed='true'] {
  background: var(--td-purple);
  border-color: var(--td-violet);
  color: var(--td-violet);
}
body.ga-tech-demo :is(.hub-community .sc-reaction, .studio-reactions button)[aria-pressed='true'] {
  background: var(--td-purple);
  border-color: var(--td-violet);
  color: var(--td-text);
}
body.ga-tech-demo
  :is(
    .og-launch:not(.og-launch-secondary),
    .cf-spotlight > div > a,
    .studio-chat button[type='submit'],
    .studio-transport button:first-child
  ) {
  background: var(--td-lime);
  color: #0b0f0b;
  border-color: var(--td-lime);
}
body.ga-tech-demo .og-launch-secondary {
  background: var(--td-purple);
  color: var(--td-violet);
  border-color: var(--td-purple-line);
}
body.ga-tech-demo :is(.studio-chat, .studio-program, .studio-event-path, .recorded-stream) {
  --ex-bg: var(--td-bg);
  --ex-panel: var(--td-surface);
  --ex-line: var(--td-line);
  --ex-muted: var(--td-muted);
  --ex-violet: var(--td-violet);
  --ex-lime: var(--td-lime);
}
/* Quest-map UI inherits the palette; authored scene artwork and node geometry stay intact. */
body.ga-tech-demo .v5-map {
  --v5-gold: var(--td-violet);
  --v5-muted: var(--td-muted);
  --v5-line: var(--td-line);
  --cmp-gold: var(--td-violet);
  --cmp-muted: var(--td-muted);
}
body.ga-tech-demo :is(.v5-chapter, .v5-detail) {
  background: var(--td-surface);
}
body.ga-tech-demo .v5-chapter.is-selected {
  border-color: var(--td-violet);
  box-shadow: inset 0 -2px var(--td-violet);
}
body.ga-tech-demo .v5-chapter.is-complete {
  border-color: var(--td-lime);
}
body.ga-tech-demo .v5-chapter > span {
  color: var(--td-violet);
}
body.ga-tech-demo :is(.v5-map-toolbar, .v5-map-legend, .v5-path-picker) {
  background: var(--td-surface);
  border-color: var(--td-line);
}
body.ga-tech-demo :is(.v5-detail h2, .v5-detail-progress b, .v5-path-picker label) {
  color: var(--td-text);
}
/* Modal outer chrome only; Loadout's structure, canvas and controls are unchanged. */
body.ga-tech-demo
  :is(
    #modal,
    #club-drawer:not([data-inline]),
    #social-drawer:not([data-inline]),
    .game-discovery,
    .token-shop,
    .egg-dialog
  ) {
  border-radius: 2px !important;
  border-color: var(--td-purple-line) !important;
  box-shadow: 0 16px 48px #0008;
}
body.ga-tech-demo dialog::backdrop {
  background: #09090ccc !important;
}
body.ga-tech-demo #modal.ex-level-dialog {
  background: var(--td-surface);
}
body.ga-tech-demo
  #modal
  .level-v5
  :is(.ex-xp-panel, .ex-wager-benefit, .gc-surface, .cf-closet, .gc-collection) {
  border-radius: 2px;
  background: var(--td-bg);
  border-color: var(--td-line);
}
body.ga-tech-demo
  .game-discovery
  :is(
    .gd-search,
    .gd-icon-button,
    .gd-game,
    .gd-category,
    .gd-preview,
    .gd-provider-options button,
    .gd-sorts button,
    .gd-apply
  ) {
  border-radius: 2px;
}
body.ga-tech-demo .game-discovery .gd-footer {
  background: var(--td-surface);
  border-color: var(--td-line);
}
/* Wheel retains all hit regions and radial geometry; only reference colors change. */
body.ga-tech-demo .floating-alligator {
  --fa-ink: #f7f3fc;
  --fa-paper: #281d34;
  --fa-sage: #b9a7c9;
  --fa-brass: #c2a2ef;
}
body.ga-tech-demo .floating-alligator .fa-sector-face {
  fill: #251b30;
}
body.ga-tech-demo .floating-alligator .fa-sector-edge {
  stroke: #77568c;
}
body.ga-tech-demo .floating-alligator .fa-sector-etch {
  stroke: #9d7fba;
}
body.ga-tech-demo .floating-alligator .fa-section-face {
  fill: #17131d;
}
body.ga-tech-demo .floating-alligator .fa-section[aria-selected='true'] .fa-section-face {
  fill: #c2a2ef;
}
body.ga-tech-demo
  .floating-alligator
  .fa-emote:is([data-active='true'], :hover, :focus-visible)
  .fa-sector-face {
  fill: #463052;
}
body.ga-tech-demo .floating-alligator .fa-emote-content {
  color: #f7f3fc;
}
body.ga-tech-demo .floating-alligator .fa-section-content {
  color: #c2a2ef;
}
body.ga-tech-demo .floating-alligator .fa-section[aria-selected='true'] .fa-section-content {
  color: #17131d;
}
body.ga-tech-demo .floating-alligator :is(.fa-club-link, .fa-wheel-close:before) {
  background: #281d34;
  border-color: #77568c;
  color: #f7f3fc;
  box-shadow: none;
}
body.ga-tech-demo .floating-alligator .fa-club-link {
  border-radius: 2px;
}
/* Canonical campaign art reads as an illustration on a quiet dark field. */
body.ga-tech-demo .hub-feature-map {
  background: #17131d;
}
body.ga-tech-demo .hub-feature-map > img {
  object-fit: contain;
  object-position: right bottom;
  opacity: 0.92;
}
body.ga-tech-demo .hub-feature-map:after {
  background:
    linear-gradient(90deg, #17131df5 0%, #17131dc9 36%, #17131d30 72%),
    linear-gradient(0deg, #17131d66, transparent 65%);
}
body.ga-tech-demo .v6-world-banner {
  border-radius: 2px;
}
/* Transparent guardian portraits retain their complete, distinct silhouettes. */
body.ga-tech-demo .v7-map .v6-guardian-art,
body.ga-tech-demo .v7-map .v5-map-node.is-guardian > .v6-location-portrait > img,
body.ga-tech-demo .v7-map .v6-detail-scene > .v6-guardian-art {
  object-fit: contain;
  mask-image: none;
}
body.ga-tech-demo .v7-map .v5-map-node.is-guardian > .v6-location-portrait > img {
  width: 100%;
  height: 100%;
}
/* Leave the edge launcher's resting lane clear of the discovery actions. */
@media (max-width: 700px) {
  body.ga-tech-demo .casino-page-actions {
    padding-right: 64px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  body.ga-tech-demo .td-session-label > span {
    display: none;
  }
  body.ga-tech-demo .td-session .ex-wallet-pair {
    flex: none;
  }
}
@media (max-width: 359px) {
  body.ga-tech-demo .td-session {
    padding-inline: 12px;
    gap: 8px;
  }
  body.ga-tech-demo .td-session .ex-wallet-copy {
    min-width: 0;
  }
  body.ga-tech-demo .td-session .ex-wallet-copy small {
    white-space: normal;
    line-height: 1.25;
  }
}
