/* Shared Rikoooo aviation and Astra ambience. Stored palette IDs stay stable.
   Scene URLs, artwork and contrast veils belong to palette.css. This file only
   assigns those roles to existing Rikoooo surfaces; it never covers media.
   Screen-only decoration also leaves print and forced-colours views untouched. */
@media screen and (forced-colors: none) {
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body {
    --ambience-scene: var(--riko-ambience-image-01);
    --astra-star-shade: var(--riko-ambience-page-veil);
    background-image: var(--riko-page-texture), linear-gradient(var(--riko-ambience-page-veil), var(--riko-ambience-page-veil)), var(--ambience-scene) !important;
    background-size: var(--riko-page-texture-size), cover, cover !important;
    background-position: center top !important;
    background-repeat: var(--riko-page-texture-repeat), no-repeat, no-repeat !important;
    background-attachment: scroll !important;
  }

  /* The outer scene changes with the real page, without randomness or script. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-page-home { --ambience-scene: var(--riko-ambience-image-02); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(.riko-news) { --ambience-scene: var(--riko-ambience-image-06); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(.riko-jumbo-page) { --ambience-scene: var(--riko-ambience-image-09); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-component-jdownloads { --ambience-scene: var(--riko-ambience-image-17); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(.riko-library) { --ambience-scene: var(--riko-ambience-image-21); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(.creator-shell) { --ambience-scene: var(--riko-ambience-image-22); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(.rhc) { --ambience-scene: var(--riko-ambience-image-24); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(.riko-history) { --ambience-scene: var(--riko-ambience-image-25); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(.riko-donate-page) { --ambience-scene: var(--riko-ambience-image-27); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(> main.gateway) { --ambience-scene: var(--riko-ambience-image-29); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body:has(> main.error > section.panel) { --ambience-scene: var(--riko-ambience-image-30); }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .tm-header-bg,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-shell {
    --astra-star-shade: var(--riko-ambience-page-veil);
    background-image: var(--riko-page-texture), linear-gradient(var(--riko-ambience-page-veil), var(--riko-ambience-page-veil)), var(--ambience-scene) !important;
    background-size: var(--riko-page-texture-size), cover, cover !important;
    background-position: center top !important;
    background-repeat: var(--riko-page-texture-repeat), no-repeat, no-repeat !important;
  }

  /* Reading areas keep their existing surface colour and content hierarchy.
     Background images sit behind all descendants, including opaque photos. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content :is(
    .riko-catalog__card-body, .riko-catalog__filters,
    .riko-addon-body, .riko-addon-panel,
    .riko-addon__heading, .riko-addon__install,
    .riko-addon-detail-hero, .riko-addon-detail-side, .riko-addon-detail-panel,
    .riko-news__header, .riko-news__article-header, .riko-news__announcement-body,
    .riko-news__headline-content,
    .riko-jumbo-hero, .riko-jumbo-benefits, .riko-jumbo-classic,
    .riko-jumbo-renew, .pp-plan-card,
    .riko-library__connection, .riko-library-card, .riko-library-installed,
    .riko-install-queue:not([data-queue-status="blocked"]), .riko-library__empty,
    .riko-member-modern .riko-overview-section,
    .riko-member-modern .riko-jumbo-summary,
    .riko-profile-settings .riko-profile-fieldset,
    .rhc-myquestions__card, .rhc-addon-thread,
    .rhc-result, .rhc-faq__header, .rhc-assistant, .rhc--unified .rhc__intro,
    .riko-history__nav, .riko-history__context, .riko-history__footer,
    .riko-donation-form-card, .riko-donate-summary,
    .riko-donation-result__method-card,
    .riko-stat-card, .riko-copy-card
  ),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-shell :is(
    .riko-creator__addon-card, .riko-creator__cockpit-header,
    .riko-creator__panel, .riko-creator__facts,
    .riko-creator__install-architect, .riko-creator__uploader,
    .creator-application__terms, .creator-application__next
  ),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-landing :is(.cl-account, .cl-feature, .cl-start, .cl-final),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-top-b .riko-home-premium :is(.rhp-card, .rhp-section, .rhp-discover__body, .rhp-partners),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-bottom-b :is(.riko-about-card, .riko-random-body),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content > .plans > .plan,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content > :is(.why, .hub-handoff),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.error > section.panel {
    --astra-star-shade: var(--riko-ambience-panel-veil);
    background-image: var(--riko-panel-art), linear-gradient(var(--riko-ambience-panel-veil), var(--riko-ambience-panel-veil)), var(--ambience-scene) !important;
    background-size: var(--riko-panel-art-size), cover, cover !important;
    background-position: center !important;
    background-repeat: var(--riko-panel-art-repeat), no-repeat, no-repeat !important;
  }

  /* Each tab alternates two theme-owned scenes. Keep the horizontal crop
     in short rows; thumbnails and the checked text veil stay unchanged. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-page-home #tm-top-b .riko-home-premium .rhp-addon-row {
    --astra-star-shade: var(--riko-ambience-row-veil);
    --ambience-row-scene: var(--riko-ambience-home-row);
    background-image: linear-gradient(var(--riko-ambience-row-veil), var(--riko-ambience-row-veil)), var(--ambience-row-scene) !important;
    background-size: cover, cover !important;
    background-position: center, center !important;
    background-repeat: no-repeat, no-repeat !important;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-page-home #tm-top-b .riko-home-premium .rhp-addon-list > .rhp-addon-row:nth-child(even) {
    --ambience-row-scene: var(--riko-ambience-home-row-alt);
  }

  /* The installation panel owns one continuous scene. Its nested queue keeps
     its controls and status surfaces, without painting a second photograph. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-addon__install .riko-install-queue--addon:not([data-queue-status="blocked"]) {
    background-image: none !important;
  }

  /* Brand regions already use invariant light foregrounds. Their deeper veil
     is separate from the quiet reading surfaces, in either colour mode. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-global-header .riko-header-deck,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-block-footer > .uk-container > section.tm-block-footer,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-footer > .uk-container,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-shell-header,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-shell .riko-creator__architect-heading,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content :is(.riko-page-hero, .riko-history__hero),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .rks-hero,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-flightplan-index-hero,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .rhc:not(.rhc--unified) .rhc__intro,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-hero .riko-home-premium-hero,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-hero .riko-home-premium-feature__body,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-top-b .riko-home-premium .rhp-lead-addon__body,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-top-b .rhp-about,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > header.hero {
    --astra-star-shade: var(--riko-ambience-brand-veil);
    --ambience-photo: var(--ambience-scene);
    --ambience-photo-size: cover;
    --ambience-photo-position: center;
    background-image: var(--riko-brand-art), linear-gradient(var(--riko-ambience-brand-veil), var(--riko-ambience-brand-veil)), var(--ambience-photo) !important;
    background-size: var(--riko-brand-art-size), cover, var(--ambience-photo-size) !important;
    background-position: var(--ambience-photo-position) !important;
    background-repeat: var(--riko-brand-art-repeat), no-repeat, no-repeat !important;
  }

  /* Keep the runway centered and cover the full footer without distortion. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-block-footer > .uk-container > section.tm-block-footer {
    --ambience-scene: var(--riko-ambience-footer-image);
    --ambience-photo-size: cover;
    --ambience-photo-position: center, center, 50% 50%;
    background-color: var(--riko-brand-deep) !important;
    background-image: var(--riko-brand-art), linear-gradient(var(--riko-ambience-footer-veil), var(--riko-ambience-footer-veil)), var(--ambience-photo) !important;
  }

  /* Wide panels retain their own scene. The existing header field becomes a
     continuous viewport-sized airport, below the content.
     Space keeps its existing full-field cosmic composition. */
  @media (min-width: 1024px) {
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body,
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body .tm-header-bg,
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body .creator-shell {
      background-image: var(--riko-page-texture), linear-gradient(var(--riko-page-wash), var(--riko-page-bg)) !important;
      background-size: var(--riko-page-texture-size), cover !important;
      background-position: center top, center !important;
      background-repeat: var(--riko-page-texture-repeat), no-repeat !important;
    }

    :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content {
      background-image: var(--riko-panel-art),
        linear-gradient(90deg, var(--riko-surface) 48%, var(--riko-ambience-panel-veil) 88%),
        linear-gradient(180deg, transparent, var(--riko-surface) 600px), var(--ambience-scene) !important;
      background-size: var(--riko-panel-art-size), cover, cover, min(100%, 1000px) auto !important;
      background-position: center, center, center, right top !important;
      background-repeat: var(--riko-panel-art-repeat), no-repeat, no-repeat, no-repeat !important;
    }

    :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content :is(
      .riko-addon__heading, .riko-addon-detail-hero,
      .riko-addon-detail-side, .riko-news__header, .riko-news__article-header,
      .riko-jumbo-hero, .riko-jumbo-classic, .riko-library__connection,
      .rhc--unified .rhc__intro, .riko-history__context, .riko-history__footer
    ),
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body .creator-shell .riko-creator__cockpit-header {
      background-image: var(--riko-panel-art),
        linear-gradient(90deg, var(--riko-surface) 48%, var(--riko-ambience-panel-veil) 88%),
        linear-gradient(180deg, var(--riko-surface), transparent 65%), var(--ambience-scene) !important;
      background-size: var(--riko-panel-art-size), cover, cover, contain !important;
      background-position: center, center, center, right bottom !important;
      background-repeat: var(--riko-panel-art-repeat), no-repeat, no-repeat, no-repeat !important;
    }
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-footer > .uk-container {
    background-image: var(--riko-brand-art), linear-gradient(var(--riko-brand-deep), var(--riko-brand-deep)) !important;
    background-size: var(--riko-brand-art-size), cover !important;
    background-position: center, center !important;
    background-repeat: var(--riko-brand-art-repeat), no-repeat !important;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body > .tm-header-bg {
    position: fixed;
    inset: 0;
    height: auto !important;
    min-height: 0 !important;
    z-index: -2;
    pointer-events: none;
    background-image: var(--riko-ambience-page-center) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  /* The A330neo nose stays in the left column. Its 36% focal point also keeps
     it visible when the selection card moves below the introduction. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-hero .riko-home-premium-hero {
    --ambience-photo: var(--riko-ambience-home-hero);
    --ambience-photo-position: center, center, 36% center;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .rhp-about {
    --ambience-photo: var(--riko-ambience-home-about);
    --ambience-photo-position: center, center, center;
    background-color: var(--riko-brand-deep) !important;
    background-image: var(--riko-brand-art), linear-gradient(var(--riko-ambience-home-about-veil), var(--riko-ambience-home-about-veil)), var(--ambience-photo) !important;
  }

  /* Clouds decorate only the selection card's text area, never its authored
     aircraft photograph, link or gallery. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-hero .riko-home-premium-feature__body {
    --ambience-photo: var(--riko-ambience-home-selection);
    --ambience-photo-position: center, center, center;
  }

  /* The library lead card keeps the airport towers on its right. A bounded
     photograph retains their full height on wide and compact cards alike.
     The existing brand veil protects the add-on text and its action. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .riko-home-premium .rhp-lead-addon__body {
    --ambience-scene: var(--riko-ambience-image-14);
    position: relative;
    isolation: isolate;
    background-image: var(--riko-brand-art) !important;
    background-size: var(--riko-brand-art-size) !important;
    background-position: center !important;
    background-repeat: var(--riko-brand-art-repeat) !important;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .riko-home-premium .rhp-lead-addon__body::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(60%, 320px);
    aspect-ratio: 640 / 425;
    z-index: -1;
    pointer-events: none;
    background-image: linear-gradient(var(--riko-ambience-brand-veil), var(--riko-ambience-brand-veil)), var(--ambience-scene);
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
    mask-image: linear-gradient(90deg, transparent, var(--riko-inverse) 55%),
      linear-gradient(180deg, transparent, var(--riko-inverse) 25%);
    mask-composite: intersect;
  }

  /* Statistics have their own aviation / orbital telemetry scene. The
     existing inverse text and totals retain the common brand contrast veil. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .rks-hero {
    --ambience-photo: var(--riko-ambience-statistics-image);
    --ambience-photo-position: center, center, 50% 35%;
  }

  @media (max-width: 767px) {
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .rks-hero {
      --ambience-photo-position: center, center, 65% 35%;
    }
  }

  /* Historic flights retain their existing catalogue scene and framing. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-flightplan-index-hero {
    --ambience-photo: var(--riko-ambience-catalog-heading);
    --ambience-photo-position: center, center, 65% 50%;
  }

  /* Existing aircraft/chart decorations stay available to all other themes.
     No photo container, logo, authored figure or gallery is selected here. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-page-inner main#tm-content::before,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-global-header .riko-header-deck::before,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-block-footer .riko-footer-shell.wrapperrik::before,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-block-footer .riko-footer-shell.wrapperrik::after,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-block-footer .riko-newsletter-footer-module::before,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-hero .riko-home-premium-hero::before,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-hero .riko-home-premium-hero::after,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-top-b .rhp-about::before,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content :is(.rks-hero, .riko-flightplan-index-hero)::before {
    content: none !important;
    display: none !important;
  }

  /* Curated scenes distinguish neighbouring sections, not just whole pages. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-header-deck { --ambience-scene: var(--riko-ambience-image-03); }

  /* The FlyByWire A32NX cockpit spans the complete navigation band.
     The central brand veil protects the controls at every screen width. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body .riko-global-header .riko-header-deck {
    --ambience-scene: var(--riko-ambience-header-image);
    --ambience-photo-position: center, center, center 70%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-block-footer { --ambience-scene: var(--riko-ambience-image-04); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-footer > .uk-container { --ambience-scene: var(--riko-ambience-image-05); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content { --ambience-scene: var(--riko-ambience-image-07); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__header { --ambience-scene: var(--riko-ambience-image-08); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-jumbo-hero { --ambience-scene: var(--riko-ambience-image-10); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-jumbo-benefits { --ambience-scene: var(--riko-ambience-image-11); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-jumbo-classic { --ambience-scene: var(--riko-ambience-image-12); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-jumbo-renew { --ambience-scene: var(--riko-ambience-image-13); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-addon__heading { --ambience-scene: var(--riko-ambience-image-14); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-addon__install { --ambience-scene: var(--riko-ambience-image-15); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-addon-detail-hero { --ambience-scene: var(--riko-ambience-image-18); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-addon-detail-side { --ambience-scene: var(--riko-ambience-image-19); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-addon-detail-panel { --ambience-scene: var(--riko-ambience-image-20); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-library__connection { --ambience-scene: var(--riko-ambience-image-23); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-shell-header { --ambience-scene: var(--riko-ambience-image-26); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-creator__cockpit-header { --ambience-scene: var(--riko-ambience-image-28); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-creator__architect-heading { --ambience-scene: var(--riko-ambience-image-24); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-creator__install-architect { --ambience-scene: var(--riko-ambience-image-27); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .rhc__intro { --ambience-scene: var(--riko-ambience-image-29); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-history__hero { --ambience-scene: var(--riko-ambience-image-30); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-history__nav { --ambience-scene: var(--riko-ambience-image-31); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-donate-summary { --ambience-scene: var(--riko-ambience-image-32); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-donation-form-card { --ambience-scene: var(--riko-ambience-image-33); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-member-modern .riko-jumbo-summary { --ambience-scene: var(--riko-ambience-image-34); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-page-hero { --ambience-scene: var(--riko-ambience-image-35); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__article-header { --ambience-scene: var(--riko-ambience-image-36); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-hero .riko-home-premium-hero { --ambience-scene: var(--riko-ambience-image-37); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-top-b .rhp-about { --ambience-scene: var(--riko-ambience-image-38); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-history__context { --ambience-scene: var(--riko-ambience-image-39); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-history__footer { --ambience-scene: var(--riko-ambience-image-40); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-landing .cl-feature { --ambience-scene: var(--riko-ambience-image-18); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-landing .cl-start { --ambience-scene: var(--riko-ambience-image-24); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-landing .cl-final { --ambience-scene: var(--riko-ambience-image-36); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > header.hero { --ambience-scene: var(--riko-ambience-image-32); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content { --ambience-scene: var(--riko-ambience-image-33); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content > .plans > .plan:nth-of-type(3n + 1) { --ambience-scene: var(--riko-ambience-image-34); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content > .plans > .plan:nth-of-type(3n + 2) { --ambience-scene: var(--riko-ambience-image-35); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content > .plans > .plan:nth-of-type(3n + 3) { --ambience-scene: var(--riko-ambience-image-36); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content > :is(.why, .hub-handoff) { --ambience-scene: var(--riko-ambience-image-37); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.error > section.panel { --ambience-scene: var(--riko-ambience-image-38); }

  /* Forty deterministic list scenes: revisiting an add-on never reshuffles
     its siblings, and only rendered surfaces request their assigned image.
     News and PayPlans vary at their actual sibling wrappers, not at the one
     article/card inside each wrapper. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 1) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 1) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 1) { --ambience-scene: var(--riko-ambience-image-01); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 2) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 2) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 2) { --ambience-scene: var(--riko-ambience-image-02); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 3) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 3) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 3) { --ambience-scene: var(--riko-ambience-image-03); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 4) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 4) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 4) { --ambience-scene: var(--riko-ambience-image-04); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 5) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 5) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 5) { --ambience-scene: var(--riko-ambience-image-05); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 6) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 6) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 6) { --ambience-scene: var(--riko-ambience-image-06); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 7) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 7) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 7) { --ambience-scene: var(--riko-ambience-image-07); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 8) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 8) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 8) { --ambience-scene: var(--riko-ambience-image-08); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 9) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 9) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 9) { --ambience-scene: var(--riko-ambience-image-09); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 10) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 10) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 10) { --ambience-scene: var(--riko-ambience-image-10); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 11) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 11) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 11) { --ambience-scene: var(--riko-ambience-image-11); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 12) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 12) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 12) { --ambience-scene: var(--riko-ambience-image-12); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 13) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 13) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 13) { --ambience-scene: var(--riko-ambience-image-13); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 14) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 14) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 14) { --ambience-scene: var(--riko-ambience-image-14); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 15) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 15) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 15) { --ambience-scene: var(--riko-ambience-image-15); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 16) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 16) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 16) { --ambience-scene: var(--riko-ambience-image-16); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 17) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 17) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 17) { --ambience-scene: var(--riko-ambience-image-17); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 18) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 18) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 18) { --ambience-scene: var(--riko-ambience-image-18); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 19) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 19) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 19) { --ambience-scene: var(--riko-ambience-image-19); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 20) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 20) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 20) { --ambience-scene: var(--riko-ambience-image-20); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 21) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 21) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 21) { --ambience-scene: var(--riko-ambience-image-21); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 22) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 22) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 22) { --ambience-scene: var(--riko-ambience-image-22); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 23) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 23) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 23) { --ambience-scene: var(--riko-ambience-image-23); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 24) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 24) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 24) { --ambience-scene: var(--riko-ambience-image-24); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 25) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 25) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 25) { --ambience-scene: var(--riko-ambience-image-25); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 26) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 26) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 26) { --ambience-scene: var(--riko-ambience-image-26); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 27) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 27) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 27) { --ambience-scene: var(--riko-ambience-image-27); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 28) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 28) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 28) { --ambience-scene: var(--riko-ambience-image-28); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 29) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 29) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 29) { --ambience-scene: var(--riko-ambience-image-29); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 30) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 30) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 30) { --ambience-scene: var(--riko-ambience-image-30); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 31) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 31) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 31) { --ambience-scene: var(--riko-ambience-image-31); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 32) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 32) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 32) { --ambience-scene: var(--riko-ambience-image-32); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 33) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 33) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 33) { --ambience-scene: var(--riko-ambience-image-33); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 34) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 34) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 34) { --ambience-scene: var(--riko-ambience-image-34); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 35) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 35) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 35) { --ambience-scene: var(--riko-ambience-image-35); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 36) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 36) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 36) { --ambience-scene: var(--riko-ambience-image-36); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 37) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 37) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 37) { --ambience-scene: var(--riko-ambience-image-37); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 38) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 38) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 38) { --ambience-scene: var(--riko-ambience-image-38); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 39) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 39) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 39) { --ambience-scene: var(--riko-ambience-image-39); }
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .riko-news__headlines > li:nth-of-type(40n + 40) > .riko-news__headline,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .pp-plans > .pp-plans__item:nth-of-type(40n + 40) > .pp-plan-card,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(.riko-library-card, .riko-library-installed, .riko-install-queue, .riko-news__announcement, .riko-creator__addon-card, .rhc-myquestions__card, .rhc-result, .riko-stat-card, .rhp-card):nth-of-type(40n + 40) { --ambience-scene: var(--riko-ambience-image-40); }
}

/* Mobile and tablet aviation framing: start */
@media screen and (forced-colors: none) and (max-width: 1366px) {
  /* One viewport-sized field fills the page behind the content, independent
     of the length of an article or the orientation of the device. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body .creator-shell {
    background-image: var(--riko-page-texture), linear-gradient(var(--riko-page-wash), var(--riko-page-bg)) !important;
    background-size: var(--riko-page-texture-size), cover !important;
    background-position: center top, center !important;
    background-repeat: var(--riko-page-texture-repeat), no-repeat !important;
  }

  /* Every reading surface remains fully covered. The photograph's focal
     point moves rather than stretching aircraft or changing content widths. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content :is(
    .riko-addon__heading, .riko-addon__install,
    .riko-addon-detail-hero, .riko-addon-detail-side, .riko-addon-detail-panel,
    .riko-news__header, .riko-news__article-header, .riko-news__announcement-body, .riko-news__headline-content,
    .riko-library__connection, .riko-jumbo-hero, .riko-jumbo-classic, .rhc--unified .rhc__intro
  ),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body .creator-shell .riko-creator__cockpit-header {
    background-image: var(--riko-panel-art), linear-gradient(var(--riko-ambience-panel-veil), var(--riko-ambience-panel-veil)), var(--ambience-scene) !important;
    background-size: var(--riko-panel-art-size), cover, cover !important;
    background-position: center, center, 56% 50% !important;
    background-repeat: var(--riko-panel-art-repeat), no-repeat, no-repeat !important;
  }

  /* Bottom-align the compact hero photo to lift the cockpit above the
     statistics. Keep its existing proportional zoom and full coverage. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-hero .riko-home-premium-hero {
    --ambience-photo-size: auto max(116%, 66vw);
    --ambience-photo-position: center, center, 32% 100%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .rhp-about {
    --ambience-photo-size: auto max(116%, 42vw);
    --ambience-photo-position: center, center, 58% 68%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .riko-home-premium .rhp-lead-addon__body::before {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    background-position: center, center 10%;
    mask-image: none;
    transform: translateX(27.5%) scale(1.55);
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .riko-home-premium .rhp-lead-addon__body {
    overflow: hidden;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body .riko-global-header .riko-header-deck {
    /* Cover both axes if compact controls or no-script navigation wrap. A
       width-only enlargement adds blur without guaranteeing full coverage. */
    --ambience-photo-size: cover;
    --ambience-photo-position: center, center, 60% 70%;
  }
}

@media screen and (forced-colors: none) and (max-width: 980px) {
  /* The existing alpine photograph places the aircraft in its leftmost 18%.
     A centered cover crop removes it entirely on portrait phones/tablets. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body > .tm-header-bg {
    background-position: left center !important;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .rhp-about {
    --ambience-photo-size: auto max(116%, 64vw);
  }
}

@media screen and (forced-colors: none) and (max-width: 767px) {
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body .riko-global-header .riko-header-deck {
    --ambience-photo-position: center, center, 62% 68%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-hero .riko-home-premium-hero {
    --ambience-photo-position: center, center, 30% 100%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .rhp-about {
    --ambience-photo-position: center, center, 56% 65%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-top-b .riko-home-premium .rhp-lead-addon__body::before {
    transform: translateX(25%) scale(1.5);
  }
}
/* Mobile and tablet aviation framing: end */

/* Space dark cosmic framing: start */
@media screen and (forced-colors: none) {
  /* The aviation ornaments belong to Rikoooo. Space keeps its photographic
     field behind these panels, without an aircraft drawing over the scene. */
  :root[data-riko-palette="forest"] body.riko-page-home #tm-top-b .rhp-library::before,
  :root[data-riko-palette="forest"] body.riko-page-home #tm-top-b .rhp-partners::before {
    content: none !important;
    display: none !important;
  }

  /* Headings follow the opaque panel surface in both display modes. */
  :root[data-riko-palette="forest"] body #tm-top-b .rhp-library__head :is(h2, .rhp-eyebrow),
  :root[data-riko-palette="forest"] body #tm-top-b .rhp-partners > h2 {
    color: var(--riko-ink) !important;
  }

  /* Keep the continuous Earth panorama stationary at viewport size. */
  :root[data-riko-palette="forest"] body:has(> .tm-header-bg),
  :root[data-riko-palette="forest"] body:has(> .tm-header-bg) .creator-shell {
    background-image: linear-gradient(var(--riko-page-wash), var(--riko-page-bg)) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  :root[data-riko-palette="forest"] body > .tm-header-bg {
    position: fixed;
    inset: 0;
    height: auto !important;
    min-height: 0 !important;
    z-index: -2;
    pointer-events: none;
    background-image: var(--riko-ambience-page-center) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  /* Keep the atmospheric rim below the links at each navigation width. */
  :root[data-riko-palette="forest"] body .riko-global-header .riko-header-deck {
    --ambience-photo: var(--riko-ambience-header-image);
    --ambience-photo-size: cover;
    --ambience-photo-position: center, center, 50% 85%;
    background-image: var(--riko-brand-art), linear-gradient(var(--riko-space-header-veil), var(--riko-space-header-veil)), var(--ambience-photo) !important;
  }

  :root[data-riko-palette="forest"] body #tm-hero .riko-home-premium-hero {
    --ambience-photo: var(--riko-ambience-home-hero);
    --ambience-photo-position: center, center, 52% 50%;
  }

  :root[data-riko-palette="forest"] body #tm-top-b .rhp-about {
    --ambience-photo: var(--riko-ambience-home-about);
    --ambience-photo-position: center, center, 48% 55%;
  }

  :root[data-riko-palette="forest"] body #tm-hero .riko-home-premium-feature__body {
    --ambience-photo: var(--riko-ambience-home-selection);
    --ambience-photo-position: center, center, 59% 28%;
  }

  :root[data-riko-palette="forest"] body #tm-top-b .riko-home-premium .rhp-lead-addon__body {
    --ambience-scene: var(--riko-space-launch-nasa);
    --ambience-photo-position: center, center, 53% 25%;
  }

  :root[data-riko-palette="forest"] body #tm-block-footer > .uk-container > section.tm-block-footer {
    --ambience-scene: var(--riko-space-footer-image);
    --ambience-photo-position: center, center, 100% 100%;
    --ambience-photo-size: cover;
    background-image: var(--riko-brand-art), linear-gradient(var(--riko-space-footer-veil), var(--riko-space-footer-veil)), var(--ambience-photo) !important;
  }

  :root[data-riko-palette="forest"] body #tm-footer > .uk-container {
    background-image: linear-gradient(var(--riko-brand-deep), var(--riko-brand-deep)) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  /* Quiet reading areas keep their own scene and central contrast veil. */
  @media (min-width: 1024px) {
    :root[data-riko-palette="forest"] body #tm-content {
      background-image: var(--riko-panel-art), linear-gradient(90deg, var(--riko-surface) 48%, var(--riko-ambience-panel-veil) 88%), linear-gradient(180deg, transparent, var(--riko-surface) 600px), var(--ambience-scene) !important;
      background-size: var(--riko-panel-art-size), cover, cover, min(100%, 1000px) auto !important;
      background-position: center, center, center, right top !important;
      background-repeat: var(--riko-panel-art-repeat), no-repeat, no-repeat, no-repeat !important;
    }
  }

  /* Keep the same proportional cover crop above and below desktop/tablet
     breakpoints. A viewport-width height floor magnifies the square scenes
     abruptly even when the panel's layout has barely changed. */
  @media (max-width: 980px) {
    /* Cover both axes without distortion; keep the lunar ground and Earth
       at the bottom right in tall phone and wide tablet frames. */
    :root[data-riko-palette="forest"] body #tm-block-footer > .uk-container > section.tm-block-footer {
      --ambience-scene: var(--riko-space-footer-compact-image);
      background-color: var(--riko-brand-deep) !important;
      --ambience-photo-size: cover;
      --ambience-photo-position: center, center, 100% 100%;
    }
  }
}
/* Space dark cosmic framing: end */

/* Shared reading surfaces: start */
/* Reading panels share an opaque, quiet gradient in both display modes.
   Catalogue cards, title artwork, brand panels and authored media retain their
   photographs. Functional panels do not paint extra scenes behind their text.
   The horizontal wash stays visible even on very long add-on pages. */
@media screen and (forced-colors: none) {
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content :is(
    .riko-catalog__filters,
    .riko-addon-body, .riko-addon-panel,
    .riko-addon__install,
    .riko-addon-detail-hero, .riko-addon-detail-side, .riko-addon-detail-panel,
    .riko-news__header, .riko-news__article-header, .riko-news__announcement-body,
    .riko-news__headline-content,
    .riko-jumbo-hero, .riko-jumbo-benefits, .riko-jumbo-classic,
    .riko-jumbo-renew, .pp-plan-card,
    .riko-library__connection, .riko-library-card, .riko-library-installed,
    .riko-install-queue:not([data-queue-status="blocked"]), .riko-library__empty,
    .riko-member-modern .riko-overview-section,
    .riko-member-modern .riko-jumbo-summary,
    .riko-profile-settings .riko-profile-fieldset,
    .rhc-myquestions__card, .rhc-addon-thread,
    .rhc-result, .rhc-faq__header, .rhc-assistant, .rhc--unified .rhc__intro,
    .riko-history__nav, .riko-history__context, .riko-history__footer,
    .riko-donation-form-card, .riko-donate-summary,
    .riko-donation-result__method-card,
    .riko-stat-card, .riko-copy-card
  ),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-shell :is(
    .riko-creator__addon-card, .riko-creator__cockpit-header,
    .riko-creator__panel, .riko-creator__facts,
    .riko-creator__install-architect, .riko-creator__uploader,
    .creator-application__terms, .creator-application__next
  ),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body .creator-landing :is(.cl-account, .cl-feature, .cl-start, .cl-final),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-top-b .riko-home-premium :is(.rhp-card, .rhp-section, .rhp-discover__body, .rhp-partners):not(.rhp-about):not(.rhp-about-band),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-bottom-b :is(.riko-about-card, .riko-random-body),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content > .plans > .plan,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.gateway > .content > :is(.why, .hub-handoff),
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body > main.error > section.panel {
    background-image: linear-gradient(90deg, var(--riko-surface), var(--riko-surface-soft)) !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  /* Only ordinary related/comment surfaces are painted. The gallery remains
     unframed; screenshots, inputs, status messages and title artwork keep their owners. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content :is(.riko-addon__related-link, .riko-addon__comments) {
    background-image: linear-gradient(90deg, var(--riko-surface), var(--riko-surface-soft)) !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  /* Nested legacy card panels keep the parent's plain surface visible. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-component-jdownloads #tm-content .riko-addon-card > :is(.riko-addon-body, .riko-addon-panel) {
    background-image: none !important;
  }
}
/* Shared reading surfaces: end */

/* Pale outer fields distinguish the page from its clearer reading panels.
   The blue/lavender wash comes from the shared light palette, without artwork. */
@media screen and (forced-colors: none) {
  :root:not([data-riko-mode="dark"]):is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content {
    background-image: linear-gradient(115deg, var(--riko-page-wash), var(--riko-surface)) !important;
  }
  /* This account wrapper only groups content below the member navigation. */
  :root:not([data-riko-mode="dark"]):is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content > .riko-billing-site--account {
    background-color: transparent;
  }
}

/* The night page field sits behind the brighter reading panels. Both opaque
   endpoints share the palette's reading contrast; light mode keeps its wash. */
@media screen and (forced-colors: none) {
  :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content {
    background-image: linear-gradient(115deg, var(--riko-page-wash), var(--riko-surface)) !important;
  }
}

/* Catalogue text stays on an opaque reading surface in both themes.
   Authored thumbnails, simulator outlines and page artwork keep their owners. */
@media screen and (forced-colors: none) {
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-catalog__card .riko-catalog__card-body,
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-component-jdownloads #tm-content .riko-addon-card {
    background-color: var(--riko-surface) !important;
    background-image: none !important;
  }
}

/* The native add-on template supplies its penultimate gallery photograph.
   The theme photograph remains the fallback when the gallery is empty;
   existing contrast veils keep reading text clear in either ambience. */
@media screen and (forced-colors: none) {
  

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-addon .riko-addon__heading:not(.riko-addon__heading--photo) {
    --astra-star-shade: var(--riko-ambience-addon-reading-veil);
    background-image: linear-gradient(var(--riko-ambience-addon-reading-veil), var(--riko-ambience-addon-reading-veil)), var(--addon-heading-image, var(--riko-ambience-addon-banner)) !important;
    background-size: cover, cover !important;
    background-position: center, 54% 52% !important;
    background-repeat: no-repeat, no-repeat !important;
  }
}

/* Space catalogue night sky: start */
@media screen and (forced-colors: none) {
  /* Keep reading ink, title size and the catalogue layout unchanged. */
  :root[data-riko-palette="forest"] body #tm-content .riko-addon .riko-addon__heading:not(.riko-addon__heading--photo) {
    --astra-star-shade: color-mix(in srgb, var(--riko-surface) 84%, transparent);
    background-image: linear-gradient(90deg, color-mix(in srgb, var(--riko-surface) 92%, transparent), color-mix(in srgb, var(--riko-surface) 84%, transparent) 60%, color-mix(in srgb, var(--riko-surface) 84%, transparent)), var(--addon-heading-image, var(--riko-space-addon-sky)) !important;
    background-size: cover, cover !important;
    background-position: center, 50% 50% !important;
    background-repeat: no-repeat, no-repeat !important;
    /* Registered star masks follow this sky below the checked reading veil. */
    background-blend-mode: normal, normal;
  }
}
/* Space catalogue night sky: end */

/* Native catalogue heading scene: start */
@media screen and (forced-colors: none) {
  /* A local scene frames the catalogue introduction; simulator tabs retain
     their opaque states and authored add-on screenshots remain untouched. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-catalog > .riko-catalog__heading {
    --catalog-heading-image: var(--riko-ambience-catalog-msfs-image);
    --catalog-heading-wash: linear-gradient(var(--riko-ambience-brand-veil), var(--riko-ambience-brand-veil));
    --astra-star-shade: var(--riko-ambience-brand-veil);
    background-image: var(--catalog-heading-wash), var(--catalog-heading-image) !important;
    background-size: cover, cover !important;
    background-position: center, 65% 30% !important;
    background-repeat: no-repeat, no-repeat !important;
    padding: clamp(16px, 2.2vw, 28px);
    border-radius: 12px;
    border-bottom: 0;
  }

  /* The same introduction serves both catalogue universes and their filters. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-catalog[data-catalog-list]:is([data-catalog-base*="/addons-legacy"], [data-catalog-base*="universe=legacy"]) > .riko-catalog__heading {
    --catalog-heading-image: var(--riko-ambience-catalog-classic-image);
  }

  /* Wide copy stays over the protected left field; the aircraft opens up
     behind the opaque simulator controls on the right. Compact copy spans
     the whole band, so tablet and phone retain a uniform contrast veil. */
  @media (min-width: 1101px) {
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-catalog > .riko-catalog__heading {
      --catalog-heading-wash: linear-gradient(90deg, var(--riko-ambience-brand-veil) 0%, var(--riko-ambience-brand-veil) 68%, color-mix(in srgb, var(--riko-brand-deep) 52%, transparent) 82%, color-mix(in srgb, var(--riko-brand-deep) 52%, transparent) 100%);
    }
  }

  @media (min-width: 768px) and (max-width: 1100px) {
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-catalog > .riko-catalog__heading {
      background-position: center, 68% 40% !important;
    }
  }

  @media (max-width: 767px) {
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-catalog > .riko-catalog__heading {
      background-image: var(--catalog-heading-wash), var(--catalog-heading-image) !important;
      background-position: center, 72% 50% !important;
      padding: 16px;
    }
  }
}
/* Native catalogue heading scene: end */

/* Light add-on blue heading: start */
@media screen and (forced-colors: none) {
  /* Both display modes keep the theme photograph on a dark brand field.
     Only this heading uses inverse reading roles in the light interface. */
  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading {
    --catalog-ink: var(--riko-on-brand);
    --catalog-muted: var(--riko-on-brand-muted);
    color: var(--riko-on-brand);
    background-color: var(--riko-brand-deep);
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading:not(.riko-addon__heading--photo) {
    --astra-star-shade: var(--riko-ambience-addon-veil);
    background-image: linear-gradient(var(--riko-ambience-addon-veil), var(--riko-ambience-addon-veil)), var(--addon-heading-image, var(--riko-ambience-addon-banner)) !important;
  }


  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading :is(.riko-addon__intro, .riko-addon__author a, .riko-addon__author strong, .riko-catalog-feedback-link) {
    color: var(--riko-on-brand) !important;
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading .riko-catalog-feedback-link > span:first-child {
    color: var(--riko-on-brand);
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading :is(.riko-addon__simulators span:not([data-riko-simulator^="msfs"]), .riko-addon__classification a, .riko-library-action) {
    color: var(--riko-on-brand) !important;
    background: var(--riko-brand-deep) !important;
    border-color: color-mix(in srgb, var(--riko-on-brand) 50%, var(--riko-brand-deep)) !important;
    box-shadow: none !important;
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading :is(.riko-addon__classification a, .riko-library-action):is(:hover, :focus-visible) {
    color: var(--riko-on-brand) !important;
    background: color-mix(in srgb, var(--riko-on-brand) 12%, var(--riko-brand-deep)) !important;
    border-color: var(--riko-on-brand) !important;
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading .riko-library-action.is-active {
    color: var(--riko-on-brand) !important;
    background: color-mix(in srgb, var(--riko-on-brand) 20%, var(--riko-brand-deep)) !important;
    border-color: var(--riko-on-brand) !important;
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading .riko-library-action strong {
    color: var(--riko-brand-deep);
    background: var(--riko-on-brand);
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading :is(a, button):focus-visible {
    outline-color: var(--riko-focus-on-brand) !important;
    outline-offset: 3px !important;
  }

  /* Account feedback keeps its light surface and semantic state colours. */
  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading .riko-library-actions__status:not(:empty) {
    background: var(--riko-surface);
    padding: 6px 10px;
    border-radius: 6px;
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-addon .riko-addon__heading .riko-library-actions__status:not(.is-success):not(.is-error) {
    color: var(--riko-muted);
  }
}
/* Light add-on blue heading: end */

/* Light catalogue blue heading: start */
@media screen and (forced-colors: none) {
  /* Both ambiences keep their blue brand field in light mode. The simulator switch keeps
     its own opaque surface and normal selected, hover and focus colours. */
  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-catalog > .riko-catalog__heading {
    --catalog-ink: var(--riko-on-brand);
    --catalog-muted: var(--riko-on-brand-muted);
    color: var(--riko-on-brand);
    background-color: var(--riko-brand-deep);
    --astra-star-shade: var(--riko-ambience-brand-veil);
    background-image: var(--catalog-heading-wash), var(--catalog-heading-image) !important;
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-catalog > .riko-catalog__heading .riko-catalog__eyebrow {
    color: var(--riko-on-brand-muted) !important;
  }

  :root[data-riko-mode="light"]:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-catalog > .riko-catalog__heading .riko-catalog__simulators {
    --catalog-ink: var(--riko-ink);
  }
}
/* Light catalogue blue heading: end */

/* Subject page heading scenes: start */
@media screen and (forced-colors: none) {
  /* Each introduction owns its artwork. A uniform veil also protects the
     right-hand captions and author biography when compact layouts stack. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content :is(.riko-billing-site--plans .riko-billing-jumbo-hero, .riko-donate-page .riko-donate-header, .riko-flightplan-index-hero, .riko-news--index > .riko-news__masthead, .riko-about-story > .riko-about-story__hero) {
    --astra-star-shade: var(--riko-ambience-subject-veil);
    color: var(--riko-on-brand);
    background-color: var(--riko-brand-deep);
    background-image: linear-gradient(var(--riko-ambience-subject-veil), var(--riko-ambience-subject-veil)), var(--subject-heading-image) !important;
    background-size: cover, cover !important;
    background-position: center, var(--subject-heading-position) !important;
    background-repeat: no-repeat, no-repeat !important;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-billing-site--plans .riko-billing-jumbo-hero {
    --subject-heading-image: var(--riko-ambience-jumbo-image);
    --subject-heading-position: 72% 50%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-donate-page .riko-donate-header {
    --subject-heading-image: var(--riko-ambience-donation-image);
    --subject-heading-position: 70% 50%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-flightplan-index-hero {
    --subject-heading-image: var(--riko-ambience-flightplans-image);
    --subject-heading-position: 68% 52%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-news--index > .riko-news__masthead {
    --subject-heading-image: var(--riko-ambience-news-image);
    --subject-heading-position: 72% 50%;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-about-story > .riko-about-story__hero {
    --subject-heading-image: var(--riko-ambience-about-image);
    --subject-heading-position: 70% 60%;
  }

  /* These two introductions use the theme-owned scene across the complete
     band, without a second aircraft photograph beside the copy. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content :is(.riko-billing-site--plans .riko-billing-jumbo-hero, .riko-about-story > .riko-about-story__hero) {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: clamp(300px, 26vw, 420px);
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content :is(.riko-billing-site--plans .riko-billing-jumbo-hero-copy, .riko-about-story > .riko-about-story__hero > div) {
    max-width: 66ch;
  }

  /* Only the donation introduction changes from a light heading to a
     brand panel; the form and transaction controls keep their own surfaces. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-donate-page .riko-donate-header {
    padding: clamp(16px, 2.2vw, 28px);
    border-radius: 12px;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-donate-page .riko-donate-header h1 {
    color: var(--riko-on-brand) !important;
  }

  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-donate-page .riko-donate-header p {
    color: var(--riko-on-brand-muted) !important;
  }

  @media (min-width: 768px) and (max-width: 1100px) {
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-billing-site--plans .riko-billing-jumbo-hero {
      --subject-heading-position: 76% 50%;
    }
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-donate-page .riko-donate-header {
      --subject-heading-position: 76% 50%;
    }
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-flightplan-index-hero {
      --subject-heading-position: 75% 50%;
    }
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-news--index > .riko-news__masthead {
      --subject-heading-position: 78% 50%;
    }
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-about-story > .riko-about-story__hero {
      --subject-heading-position: 75% 60%;
    }
  }

  @media (max-width: 767px) {
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-billing-site--plans .riko-billing-jumbo-hero {
      --subject-heading-position: 80% 50%;
    }
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-donate-page .riko-donate-header {
      --subject-heading-position: 78% 50%;
    }
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-flightplan-index-hero {
      --subject-heading-position: 78% 50%;
    }
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-news--index > .riko-news__masthead {
      --subject-heading-position: 84% 50%;
    }
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-content .riko-about-story > .riko-about-story__hero {
      --subject-heading-position: 78% 60%;
    }

    /* The Rikoooo model aircraft is centered near 62% of the authored banner.
       Preserve its fuselage and tail rather than cropping to the right desk. */
    :root:is(:not([data-riko-palette]), [data-riko-palette="default"]) body #tm-content .riko-about-story > .riko-about-story__hero {
      --subject-heading-position: 66% 60%;
    }
  }

}
/* Subject page heading scenes: end */

/* Registered Astra stars. Only stars.js assigns these attributes, after finding
   a real astronomy photo on the element. Local stacking keeps light underneath
   normal foreground content; the host's overflow and transforms stay intact. */
@media screen and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  :root[data-riko-palette="forest"] [data-riko-astra-field] {
    isolation: isolate;
  }
  :root[data-riko-palette="forest"] [data-riko-astra-position] {
    position: relative;
  }
  :root[data-riko-palette="forest"] .riko-astra-stars {
    /* Public reading wrappers position all direct children. These two local
       overrides keep the decorative span out of flow and below foregrounds. */
    position: absolute !important;
    inset: 0;
    z-index: -1 !important;
    border-radius: inherit;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
    --astra-peak: .82;
  }
  :root[data-riko-palette="forest"] .riko-astra-stars::before,
  :root[data-riko-palette="forest"] .riko-astra-stars::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    /* Dimming and revealing the existing point never lifts its brightness
       above the photograph's checked veil/foreground contrast contract. */
    background: var(--astra-star-shade);
    mask-image: var(--astra-mask-a);
    mask-mode: alpha;
    mask-size: var(--astra-mask-size);
    mask-position: var(--astra-mask-position);
    mask-repeat: var(--astra-mask-repeat);
    opacity: .015;
    animation: riko-astra-twinkle 9.7s var(--astra-phase-a) ease-in-out infinite paused;
  }
  :root[data-riko-palette="forest"] .riko-astra-stars::after {
    mask-image: var(--astra-mask-b);
    animation-duration: 13.3s;
    animation-delay: var(--astra-phase-b);
  }

  /* Heading stars brighten to white beneath the checked veil, never above
     it. Their larger registered masks do not change the photograph crop. */
  :root[data-riko-palette="forest"] .riko-addon__heading > .riko-astra-stars[data-star-profile="heading"] {
    --astra-peak: 1;
  }
  :root[data-riko-palette="forest"] .riko-addon__heading > .riko-astra-stars[data-star-profile="heading"]::before,
  :root[data-riko-palette="forest"] .riko-addon__heading > .riko-astra-stars[data-star-profile="heading"]::after {
    background: linear-gradient(var(--astra-star-shade), var(--astra-star-shade)), var(--riko-inverse);
    animation-duration: 5.6s;
  }
  :root[data-riko-palette="forest"] .riko-addon__heading > .riko-astra-stars[data-star-profile="heading"]::after {
    animation-duration: 8.1s;
  }
  :root[data-riko-palette="forest"] .riko-astra-stars[data-running]::before,
  :root[data-riko-palette="forest"] .riko-astra-stars[data-running]::after {
    animation-play-state: running;
  }
  @keyframes riko-astra-twinkle {
    0%, 100% { opacity: .015; }
    33% { opacity: var(--astra-peak); }
    60% { opacity: .025; }
    81% { opacity: calc(var(--astra-peak) * .6); }
  }
}

/* Decorations never become ordinary inline boxes when preferences change. */
.riko-astra-stars { display: none; }
@media screen and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  :root[data-riko-palette="forest"] .riko-astra-stars { display: block; }
}

/* Shared interface rhythm: start */
/* One native text family connects the navigation and reading interface. Icon
   fonts and authored article styling remain independent. */
body:is(.riko-page-home, .riko-page-inner),
body:is(.riko-page-home, .riko-page-inner) :is(
  .riko-home-premium-hero, .riko-home-premium, .riko-catalog__heading,
  .riko-addon__heading, .riko-addon-detail-heading
) :is(h1, h2, h3, h4, h5, h6),
body:is(.riko-page-home, .riko-page-inner) #tm-block-footer :is(h2, h3),
body:is(.riko-page-home, .riko-page-inner) :is(
  .riko-home-premium-hero, .riko-home-premium, .riko-catalog, .riko-addon,
  .riko-addon-detail, .riko-library, .riko-member-modern, .rhc,
  #tm-block-footer,
  button, input, select, textarea
),
.creator-shell {
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
}

@media screen and (forced-colors: none) {
  /* Decorative frames stay quieter than input boundaries and keyboard focus. */
  :root:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-page-home #tm-top-b :is(.rhp-library, .rhp-partners, .rhp-discover) {
    border-color: color-mix(in srgb, var(--riko-line) 65%, var(--riko-surface)) !important;
  }
}
/* Shared interface rhythm: end */

/* A quiet, static rim separates the outer shells from the night panorama.
   The existing action role supplies glacier blue or Astra lavender. Inner
   cards and layout-only wrappers keep their own shadows and focus rings. */
@media screen and (forced-colors: none) {
  :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) {
    --ambience-shell-shadow:
      0 0 0 1px color-mix(in srgb, var(--riko-action) 28%, transparent),
      0 0 18px color-mix(in srgb, var(--riko-action) 12%, transparent),
      0 10px 26px color-mix(in srgb, var(--riko-page-bg) 30%, transparent);
  }

  :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body :is(
    .tm-header-container.riko-global-header,
    #tm-block-footer > .uk-container > section.tm-block-footer,
    #tm-footer > .uk-container
  ),
  :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-page-inner .tm-inner-container > .tm-container,
  :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-page-home #tm-hero .riko-home-premium-hero,
  :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body.riko-page-home #tm-top-b :is(.rhp-library, .rhp-about, .rhp-discover, .rhp-partners) {
    box-shadow: var(--ambience-shell-shadow) !important;
  }

  /* Preserve the footer's fine internal highlight above the photograph. */
  :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) body #tm-block-footer > .uk-container > section.tm-block-footer {
    box-shadow: var(--ambience-shell-shadow), inset 0 1px 0 color-mix(in srgb, var(--riko-inverse) 8%, transparent) !important;
  }

  @media (max-width: 980px) {
    :root[data-riko-mode="dark"]:is(:not([data-riko-palette]), [data-riko-palette="default"], [data-riko-palette="forest"]) {
      --ambience-shell-shadow:
        0 0 0 1px color-mix(in srgb, var(--riko-action) 22%, transparent),
        0 0 12px color-mix(in srgb, var(--riko-action) 8%, transparent),
        0 6px 18px color-mix(in srgb, var(--riko-page-bg) 24%, transparent);
    }
  }
}

/* In dark mode the navigation photograph spans the mark and the controls as
   one continuous band. Keep the existing light-mode paper and halftone. */
@supports (mask-image: url("")) {
  @media screen and (forced-colors: none) {
    :root[data-riko-mode="dark"] body .tm-header-container.riko-global-header:has(.riko-brand-mark > img[src*="logo-icon-plane.svg"]) {
      background-color: var(--riko-brand-deep) !important;
      background-image: var(--riko-brand-art), linear-gradient(var(--riko-ambience-brand-veil), var(--riko-ambience-brand-veil)), var(--riko-ambience-header-image) !important;
      background-size: var(--riko-brand-art-size), cover, cover !important;
      background-position: center, center, center 70% !important;
      background-repeat: var(--riko-brand-art-repeat), no-repeat, no-repeat !important;
    }

    :root[data-riko-mode="dark"][data-riko-palette="forest"] body .tm-header-container.riko-global-header:has(.riko-brand-mark > img[src*="logo-icon-plane.svg"]) {
      background-image: var(--riko-brand-art), linear-gradient(var(--riko-space-header-veil), var(--riko-space-header-veil)), var(--riko-ambience-header-image) !important;
      background-position: center, center, 50% 85% !important;
    }

    :root[data-riko-mode="dark"] body .riko-global-header:has(.riko-brand-mark > img[src*="logo-icon-plane.svg"]) .riko-header-deck {
      background: transparent !important;
    }
  }
}

