/* Follow the system appearance while the archive is open, including offline. */
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --night-page: #111a25;
    --night-panel: #151f2b;
    --night-card: #1a2735;
    --night-field: #223243;
    --night-hover: #2c4055;
    --night-ink: #f1eee6;
    --night-muted: #b9c5d1;
    --night-rule: #42556a;
    --night-control-rule: #6d8194;
    --night-gold: #d8bd84;
    --night-trim: #a78952;
    --night-link: #b4d8ef;
    --night-shadow: 0 5px 16px #050b1470;

    --bma-page587: var(--night-page);
    --bma-card587: var(--night-card);
    --bma-field587: var(--night-field);
    --bma-rule587: var(--night-rule);
    --bma-muted587: var(--night-muted);
    --paper: var(--night-page);
    --paper-2: var(--night-card);
    --ink: var(--night-ink);
    --muted: var(--night-muted);
    --line: var(--night-rule);
    --deep-blue: var(--night-link);

    --black: #9ba3b0;
    --blue: #75a5d0;
    --darkblue: #82a3da;
    --lightblue: #77c5d9;
    --darkgreen: #7aa591;
    --red: #bf6e7b;
    --orange: #d39767;
    --yellow: #d4b56b;
    --green: #7ab394;
    --gray: #a3adba;
    --brown: #c29373;
    --digital: #bca1db;
  }

  body {
    background: radial-gradient(ellipse 85% 32rem at 50% 0, #243650, transparent),
      var(--night-page);
  }
  ::selection { color: var(--night-ink); background: #49637d; }
  :is(button, a, input, select, summary):focus-visible {
    outline: 2px solid var(--night-gold);
    outline-offset: 3px;
  }
  #library :focus-visible,
  :is(.title-tools607, .episode-panel592, .episode-search594, .cartoon-panel664) :focus-visible {
    outline-color: var(--night-gold);
  }
  .banner-stormfront723 .banner723 {
    -webkit-mask-image: linear-gradient(#000 75%, #000c 86%, transparent);
    mask-image: linear-gradient(#000 75%, #000c 86%, transparent);
  }
  .banner629-stat { color: var(--night-gold); }
  .banner629-stat strong { color: var(--night-ink); }
  .banner629-stat + .banner629-stat { border-left-color: var(--night-trim); }

  /* Search and ticket controls */
  .search-wrap { box-shadow: var(--night-shadow); }
  #search { color: var(--night-ink); border-color: var(--night-control-rule); }
  #search:focus {
    border-color: var(--night-gold);
    box-shadow: 0 0 0 3px #d8bd8433;
  }
  #search::placeholder, .search-icon { color: var(--night-muted); }
  #clear { background: var(--night-hover); color: var(--night-ink); }
  .results-summary { color: var(--night-muted); }
  .results-summary::before, .results-summary::after {
    background: linear-gradient(90deg, transparent, var(--night-rule));
  }
  .archive-tools > .tool-button,
  .archive-tools > .tool-button[aria-pressed="true"],
  .watched-history-toggle582 {
    color: var(--night-ink);
  }
  .archive-tools > .tool-button::before,
  .watched-history-toggle582::before,
  #totalWatchedHistory583 .history-tickets728 > .watched-history-toggle582::before {
    background-image: url("ticket-frame-dark734.svg");
  }
  .archive-tools > .tool-button[aria-pressed="true"]::before,
  #browseOptionsToggle706.view-active706::before { filter: brightness(1.24); }
  .archive-tools :is(.tool-icon558, .watched-clock583), .watched-history-toggle582 .watched-clock583 {
    color: var(--night-gold);
  }
  .skip-link { background: var(--night-card); color: var(--night-ink); }

  /* Case labels keep their white lettering and their individual hues. */
  #library .case { --night-case: var(--night-field); }
  #library .case[data-color="red"] { --night-case: #602b35; }
  #library .case[data-color="yellow"] { --night-case: #594618; }
  #library .case[data-color="green"] { --night-case: #234939; }
  #library .case[data-color="gray"] { --night-case: #454953; }
  #library .case[data-color="blue"] { --night-case: #284967; }
  #library .case[data-color="orange"] { --night-case: #663f25; }
  #library .case[data-color="brown"] { --night-case: #5d4634; }
  #library .case[data-color="darkgreen"] { --night-case: #213d33; }
  #library .case[data-color="black"] { --night-case: #272c34; }
  #library .case[data-color="darkblue"] { --night-case: #203455; }
  #library .case[data-color="lightblue"] { --night-case: #275162; }
  #library .case[data-color="purple657"] { --night-case: #48375d; }
  #library .case .case-button { background: var(--night-case); }
  #library .case .desktop-case-art618::after {
    background: linear-gradient(90deg, var(--night-case), transparent 64%),
      linear-gradient(0deg, #0d162464, #0d162414 80%);
  }
  #library .case-header { border-color: var(--night-rule); box-shadow: var(--night-shadow); }
  #library .case.open .case-header,
  #library .case.open .case-header:hover {
    box-shadow: 0 0 0 2px var(--night-page), 0 0 0 4px var(--night-trim);
  }
  #library .case.open .title-list {
    background: var(--night-panel);
    border-color: var(--night-rule);
    border-top-color: var(--case-accent617);
    box-shadow: var(--night-shadow);
  }
  .desktop-panel-heading617 { background: var(--night-card); border-color: var(--night-rule); }
  .desktop-panel-heading617 h3, #library .movie,
  #library .series603 .franchise-toggle603, .digital-poster-tile658 { color: var(--night-ink); }
  #library .case-group-tab {
    background: var(--night-card);
    border-color: var(--night-control-rule);
    color: var(--night-ink);
  }
  #library .case-group-tab.active {
    background: var(--night-case);
    border-color: var(--night-trim);
    color: var(--night-ink);
  }
  #library .movie-wrap, #library .series603,
  .poster-card728 .card-more728, .nearby-sleeves706 { border-color: var(--night-rule); }
  #library .series603 .franchise-toggle603:hover,
  #library .movie-wrap:not(.details-open) > .movie:hover { background: var(--night-hover); }
  #library .series603 .franchise-toggle603 small,
  :is(.desktop-meta617, .digital-case-note657, .franchise-heading small) { color: var(--night-muted); }
  :is(.subsection-heading, .franchise-heading, .physical-sleeve659) {
    background: var(--night-field);
    color: var(--night-ink);
  }
  .info-chevron { border-color: var(--night-muted); }
  .title-text mark { background: #6a5229; color: var(--night-ink); }

  /* Title cards, actions and readable metadata */
  .movie-wrap.poster-card728.details-open {
    background: var(--night-card);
    border-color: var(--night-rule);
    border-top-color: var(--detail-accent);
    box-shadow: var(--night-shadow);
  }
  .digital-inline-detail658 {
    background: var(--night-card);
    border-inline-color: var(--night-rule);
    border-bottom-color: var(--night-rule);
    box-shadow: var(--night-shadow);
  }
  .movie-wrap.details-open :is(.detail-title, .detail-location-value, .detail-line, .detail-value,
    .detail-sleeve-neighbors, .card-format-summary729, .title-tools607, .rating-value607),
  .movie-wrap.poster-card728.details-open :is(.detail-title, .detail-location-value),
  .digital-detail-header658 h4 { color: var(--night-ink); }
  .movie-wrap.poster-card728.details-open :is(.detail-label, .detail-location-label),
  .movie-wrap.details-open .detail-line .detail-label,
  :is(.rating-caption607, .rating-status607, .share-status607, .offline-status560,
    .watched-form-status582) { color: var(--night-muted); }
  .poster-card728 .card-more728 > summary, .nearby-sleeves706 summary { color: var(--night-gold); }
  .movie-wrap.poster-card728.details-open :is(.details-poster-frame, .details-poster-image) {
    background: var(--night-field);
  }
  .movie-wrap.poster-card728.details-open .detail-location {
    background-color: var(--night-field);
    border-color: var(--night-rule);
  }
  @media (max-width: 760px) {
    .movie-wrap.poster-card728.details-open .detail-location { background: transparent; }
  }
  .movie-wrap.poster-card728.details-open .detail-actions585 > button,
  .movie-wrap.poster-card728.details-open .detail-actions585 .share-button607,
  :is(.desktop-back617, .poster-card-close728, .digital-detail-close658, .lending-action728,
    .watched-add582, .recent-more637, .episode-continue592, .episode-interlude614,
    .episode-search-result594, .episode-search-more594, .artwork-credits-close) {
    color: var(--night-ink);
    background: var(--night-field);
    border-color: var(--night-control-rule);
  }
  .movie-wrap.poster-card728.details-open .detail-actions585 > button:is(:hover, [aria-pressed="true"], [aria-expanded="true"]),
  .movie-wrap.poster-card728.details-open .detail-actions585 .share-button607:hover,
  :is(.lending-action728, .desktop-back617, .episode-interlude614, .recent-more637):hover,
  .episode-continue592:not(:disabled):hover, .episode-season592 summary:hover {
    background: var(--night-hover);
    color: var(--night-ink);
  }
  .movie-wrap.poster-card728.details-open .detail-actions585 > button:is([aria-pressed="true"], [aria-expanded="true"]),
  .lending-save728 {
    background: var(--night-hover);
    border-color: var(--night-trim);
    color: var(--night-gold);
  }
  .poster-card-close728, .digital-detail-close658 { color: var(--night-muted); }
  .rating-star607 { color: var(--night-gold); }
  .rating-star607 .rating-fill613 { fill: var(--night-gold); stroke: var(--night-trim); }
  .rating-choice613:hover { background: #d8bd8422; }
  .format-badge, .lending-badge728 {
    background: var(--night-field);
    color: var(--night-ink);
    border-color: var(--night-control-rule);
  }
  .format-badge.both, .format-badge.planned { background: #243c54; color: #d7eafa; border-color: #829eb6; }
  .format-badge.partial { background: #45381e; color: #f7e5b9; border-color: var(--night-trim); }
  .format-badge.digital { background: #3b304d; color: #ebddfc; border-color: #aa95c5; }

  /* Secondary views, inputs and disclosures */
  :is(.watched-history582, .episode-panel592, .episode-search594, .cartoon-panel664,
    .browse-options706, .recent-title637, .artwork-credits-panel, .random-result) {
    background: var(--night-card);
    color: var(--night-ink);
    border-color: var(--night-rule);
  }
  .recent-title637 { border-left-color: var(--recent-accent637); }
  .recent-title637:hover { background: var(--night-hover); border-color: var(--night-control-rule); border-left-color: var(--recent-accent637); }
  :is(.recent-panel637, .recent-location637, .lending-dropdown728, .lending-title728),
  .episode-season592 summary { color: var(--night-ink); }
  :is(.recent-intro637, .recent-meta637, .recent-shown637, .recent-arrow637, .browse-active706,
    .lending-status728, .lending-shared728, .lending-history-status728, .lending-history-count728,
    .lending-record-location728, .lending-record-dates728, .episode-season-count592,
    .episode-number592, .episode-status592, .episode-search-meta594, .cartoon-count664,
    .cartoon-disc-count664, .cartoon-year664, .cartoon-kind664, .random-label, .random-sub),
  :is(.current-loan728 p, .cartoon-disc664 summary small, .episode-season-caption614 small, .episode-interlude614 small) {
    color: var(--night-muted);
  }
  :is(.lending-dropdown728, .lending-history-row728, .episode-season592, .episode-row592,
    .cartoon-disc664, .cartoon-item664, .browse-case-tools706) { border-color: var(--night-rule); }
  .episode-season592 summary::after, .cartoon-disc664 summary::after { border-color: var(--night-muted); }
  :is(.episode-watched592, .cartoon-found664) { background: var(--night-hover); }
  .cartoon-found664 { box-shadow: inset 3px 0 var(--night-gold); }
  :is(.share-link607, .lending-field728 input, .lending-field728 select,
    .lending-history-filters728 select, .watched-filters582 select, .cartoon-filter664 input,
    .browse-option-grid706 select, .movie-wrap.details-open .watched-date-form582 input,
    .movie-wrap.details-open .watched-date-form582 button, .browse-options-actions706 button) {
    background: var(--night-field);
    color: var(--night-ink);
    border-color: var(--night-control-rule);
  }
  :is(input, textarea)::placeholder { color: var(--night-muted); }
  :is(.episode-panel592, .browse-options706) input[type="checkbox"] { accent-color: var(--night-gold); }
  :is(.collection-nav637 button, .back-library558, .watched-undo582, .browse-active706 button) { color: var(--night-link); }
  .site .watch-sync-bma, .site .watch-sync-bma code { background: var(--night-field); color: var(--night-ink); }
  .site .watch-sync-bma :is(input, button) { border-color: var(--night-control-rule); }
  .artwork-credits-tmdb-wordmark { color: var(--night-gold); }
  .artwork-credits-overlay { background: #080d15d9; }
  .tribute-overlay { background: var(--night-page); }
  :is(.tribute-page, .tribute-copy, .tribute-footer) { background: var(--night-card); color: var(--night-ink); }
  .tribute-footer { border-color: var(--night-rule); }
  .tribute-copy h2, .tribute-copy .tribute-signoff { color: var(--night-gold); }
  .tribute-close { background: var(--night-field); border-color: var(--night-trim); }
}
