/* Desktop companion to the shared application shell.
   Keep component layout, visibility, routing, layers and exported artwork intact. */
@media (min-width:721px) {
  :is(#quizOverlay,#movieModal,.auth-overlay,.profile-overlay,#genreOverlay,
      #rouletteModal,.qx-preferences-overlay,.review-composer-overlay,.generic-page,
      .lists-page,.journal-page,.stats-page,.discovery-hub-page,.leaderboard-page,
      .live-page,.person-page,.releases-page,.tag-page,.popular-lists-page,
      .trending-page,.friend-suggestions-page,.follow-requests-page,.studio-page,
      .circles-page,.profile-page,.pricing-page,.legal-page),
  #wlModalRoot,body.swipe-modal-open #swipe {
    --ink:var(--m-bg,#101112);
    --paper:var(--m-text,#f5f1eb);
    --dim:var(--m-muted,#a5a5ac);
    --line:var(--m-border,#303136);
    --accent:var(--m-accent,#e50914);
    --accent-soft:var(--m-soft-accent,#321216);
    color:var(--m-text,#f5f1eb);
    font-family:var(--m-font,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  }
  :is(#quizOverlay,.profile-overlay,#genreOverlay,.generic-page.active,
      .lists-page.active,.journal-page.active,.stats-page.active,
      .discovery-hub-page.active,.leaderboard-page.active,.live-page.active,
      .person-page.active,.releases-page.active,.tag-page.active,
      .popular-lists-page.active,.trending-page.active,.friend-suggestions-page.active,
      .follow-requests-page.active,.studio-page.active,.circles-page.active,
      .profile-page.active,.pricing-page.active,.legal-page.active) {
    background-color:var(--m-bg,#101112);
  }

  /* Target component controls, not every button or SVG in the shell. */
  :is(#quizOverlay,#movieModal,.auth-overlay,#settingsOverlay,#inviteOverlay,
      #genreOverlay,#rouletteModal,.qx-preferences-overlay,.review-composer-overlay,
      .generic-page) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
    max-width:100%;
    min-width:0;
    font-family:inherit;
    font-size:15px;
    line-height:1.5;
    color:var(--m-text,#f5f1eb);
    background-color:var(--m-surface,#1c1d20);
  }
  :is(#quizOverlay,#movieModal,.auth-overlay,#settingsOverlay,#inviteOverlay,
      #genreOverlay,#rouletteModal,.qx-preferences-overlay,.review-composer-overlay,
      .generic-page) :is(input:not(.error):not(.success),select,textarea) {
    border-color:var(--m-border,#303136);
  }
  :is(#quizOverlay,.auth-overlay,#settingsOverlay,#inviteOverlay,.qx-preferences-overlay,
      .review-composer-overlay,.generic-page) :is(input,textarea)::placeholder {
    color:var(--m-muted,#a5a5ac);opacity:1;
  }
  :is(#quizOverlay,#movieModal,.auth-overlay,.profile-overlay,#genreOverlay,
      #rouletteModal,.qx-preferences-overlay,.review-composer-overlay,.generic-page,#wlModalRoot)
      :is(button,a,input,select,textarea,summary):focus-visible {
    outline:2px solid var(--m-accent,#e50914);outline-offset:3px;
  }
  :is(#quizOverlay,#movieModal,.auth-overlay,#settingsOverlay,#inviteOverlay,
      #genreOverlay,#rouletteModal,.qx-preferences-overlay,.review-composer-overlay,.generic-page,#wlModalRoot) .btn {
    min-height:44px;border-radius:12px;font-family:inherit;line-height:1.35;
  }
  :is(#quizOverlay,#movieModal,.auth-overlay,#settingsOverlay,#inviteOverlay,
      #genreOverlay,#rouletteModal,.qx-preferences-overlay,.review-composer-overlay,.generic-page,#wlModalRoot) .btn-primary {
    background:var(--m-accent,#e50914);border-color:var(--m-accent,#e50914);color:#fff;
  }
  :is(#quizOverlay,#movieModal,.auth-overlay,#settingsOverlay,#inviteOverlay,
      #genreOverlay,#rouletteModal,.qx-preferences-overlay,.review-composer-overlay,.generic-page,#wlModalRoot) .btn-ghost {
    color:var(--m-text,#f5f1eb);border-color:var(--m-border,#303136);
  }
  :is(.auth-overlay .auth-close,.profile-overlay .profile-close,
      #movieModal .modal-close,#wlModalRoot .wl-close,#genreOverlay .genre-close,
      #rouletteModal .roulette-modal-close,.review-composer-overlay .rc-close,
      .qx-preferences-head>button) {
    width:44px;height:44px;min-width:44px;padding:0;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:50%;color:var(--m-text,#f5f1eb);
    background:var(--m-surface,#1c1d20);border:1px solid var(--m-border,#303136);
  }

  /* Quiz remains a full-page flow with a centered desktop content column. */
  #quizOverlay .quiz-header {
    background:var(--m-bg,#101112);border-color:var(--m-border,#303136);
    padding:20px 32px;backdrop-filter:none;
  }
  #quizOverlay :is(.quiz-back,.quiz-close) {
    color:var(--m-text,#f5f1eb);background:var(--m-surface,#1c1d20);
    border:1px solid var(--m-border,#303136);
  }
  #quizOverlay .quiz-content { max-width:800px;padding:48px 32px 64px; }
  #quizOverlay .quiz-content:has(.qx-results) { max-width:1120px; }
  #quizOverlay :is(.quiz-question h2,.qcp-title,.qx-results-head h1,.qx-refine h2) {
    color:var(--m-text,#f5f1eb);font-family:"Instrument Serif",Georgia,serif;font-weight:400;
  }
  #quizOverlay .quiz-option {
    background:var(--m-surface,#1c1d20);color:var(--m-text,#f5f1eb);
    border-color:var(--m-border,#303136);border-radius:14px;
  }
  #quizOverlay .quiz-option:hover { border-color:var(--m-accent,#e50914); }
  #quizOverlay .quiz-option.selected {
    background:var(--m-soft-accent,#321216);border-color:var(--m-accent,#e50914);
  }
  #quizOverlay :is(.quiz-option .text strong,.qo-text-block strong,.qcp-reading strong) {
    color:var(--m-text,#f5f1eb);
  }
  #quizOverlay :is(.quiz-option .text small,.qo-text-block small,.qcp-reading,
      .quiz-question .sub,.hint,.progress-text,.qx-muted) { color:var(--m-muted,#a5a5ac); }
  #quizOverlay :is(.qo-tag,.qcp-eyebrow,.qcp-title em,.qx-eyebrow) { color:var(--m-text,#f5f1eb); }
  #quizOverlay .qo-tag { background:var(--m-bg,#101112);border-color:var(--m-border,#303136); }
  #quizOverlay .quiz-option.selected .qo-tag { background:var(--m-accent,#e50914);color:#fff; }
  #quizOverlay :is(.qcp-btn,.qcp-btn:hover) {
    background:var(--m-surface,#1c1d20);color:var(--m-text,#f5f1eb);border-color:var(--m-border,#303136);
  }
  #quizOverlay .qcp-fast { border-color:var(--m-accent,#e50914); }
  #quizOverlay .qcp-btn-block small { color:var(--m-muted,#a5a5ac); }
  #quizOverlay .quiz-quota-chip:not(.qqc-warn):not(.qqc-urgent):not(.qqc-pro) {
    color:var(--m-muted,#a5a5ac);background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136);
  }
  #quizOverlay .qx-preference-summary {
    background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136);
    color:var(--m-muted,#a5a5ac);
  }
  #quizOverlay .qx-preference-summary button { color:var(--m-text,#f5f1eb);min-height:40px; }
  #quizOverlay .quiz-source {
    padding:12px 16px;border:1px solid var(--m-border,#303136);border-radius:12px;
    background:var(--m-surface,#1c1d20);color:var(--m-muted,#a5a5ac);line-height:1.6;
  }
  #quizOverlay .qx-result-card.carousel-slide {
    background:var(--m-surface,#1c1d20);color:var(--m-text,#f5f1eb);
    border-color:var(--m-border,#303136);border-radius:18px;
  }
  #quizOverlay :is(.qx-result-card .slide-title,.qx-reasons,.qx-card-explanation) {
    color:var(--m-text,#f5f1eb);
  }
  #quizOverlay .qx-result-card .slide-title { overflow-wrap:anywhere; }
  #quizOverlay :is(.qx-film-meta,.qx-tmdb-rating,.qx-availability,.qx-card-feedback) {
    color:var(--m-muted,#a5a5ac);
  }
  #quizOverlay .qx-poster-empty {
    background:var(--m-bg,#101112);color:var(--m-muted,#a5a5ac);border:1px solid var(--m-border,#303136);
  }
  #quizOverlay :is(.qx-details-btn,.qx-result-card .wl-btn.saved) {
    color:var(--m-text,#f5f1eb);background:var(--m-bg,#101112);border-color:var(--m-border,#303136);
  }
  #quizOverlay .qx-result-card .wl-btn:not(.saved) { background:var(--m-accent,#e50914);color:#fff; }
  #quizOverlay :is(.qx-details-btn,.qx-result-card .wl-btn,.qx-share summary) { min-height:44px; }
  #quizOverlay .qx-card-feedback button { min-height:36px;color:var(--m-text,#f5f1eb); }
  #quizOverlay :is(.qx-refine,.qx-cinema-bonus) {
    background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136);
  }

  /* Keep the preferences form bounded, centered and two columns on desktop. */
  .qx-preferences-overlay { align-items:center;padding:24px; }
  .qx-preferences-overlay .qx-preferences {
    max-width:640px;max-height:calc(100dvh - 48px);margin:auto;overflow-y:auto;
    background:var(--m-surface,#1c1d20);color:var(--m-text,#f5f1eb);
    border:1px solid var(--m-border,#303136);padding:28px;
  }
  .qx-preferences-head h2 { color:var(--m-text,#f5f1eb);font-weight:400; }
  .qx-preferences :is(input:not([type=checkbox]):not([type=radio]),select,.qx-reference-result) {
    background:var(--m-bg,#101112);color:var(--m-text,#f5f1eb);border-color:var(--m-border,#303136);
  }
  .qx-preferences .qx-choice-chips span { color:var(--m-text,#f5f1eb);border-color:var(--m-border,#303136); }
  .qx-preferences .qx-choice-chips input:checked+span {
    border-color:var(--m-accent,#e50914);background:var(--m-soft-accent,#321216);
  }
  .qx-preferences :is(label small,.qx-reference-result small) { opacity:1;color:var(--m-muted,#a5a5ac); }
  .qx-preferences .qx-preference-actions .btn { flex:1; }

  /* Existing 900px detail dialog and poster/metadata desktop composition. */
  #movieModal { padding:28px; }
  #movieModal #modalContent {
    max-width:900px;max-height:90dvh;background:var(--m-bg,#101112);
    color:var(--m-text,#f5f1eb);border:1px solid var(--m-border,#303136);border-radius:24px;
  }
  #movieModal .modal-title { color:var(--m-text,#f5f1eb);font-family:"Instrument Serif",Georgia,serif;overflow-wrap:anywhere; }
  #movieModal :is(.modal-meta,.modal-runtime,.modal-rating,.modal-overview,.providers-label) {
    color:var(--m-muted,#a5a5ac);
  }
  #movieModal .modal-overview { font-size:15px;line-height:1.75; }
  #movieModal .genre-chip { color:var(--m-text,#f5f1eb);background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136); }
  #movieModal .provider-card { background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136); }
  #movieModal .provider-card :is(.provider-name,.provider-cta) { color:var(--m-text,#f5f1eb); }
  #movieModal .modal-actions-centered { border-color:var(--m-border,#303136); }
  #movieModal .modal-actions-centered .btn { min-height:44px; }
  #movieModal .mobile-movie-actions { display:none; }

  /* Auth stays a compact centered modal. Preserve error/success field borders. */
  .auth-overlay { padding:24px; }
  .auth-overlay .auth-modal {
    background:var(--m-surface,#1c1d20);color:var(--m-text,#f5f1eb);
    border-color:var(--m-border,#303136);max-width:440px;max-height:calc(100dvh - 48px);
    padding:44px 36px 36px;overflow-y:auto;
  }
  .auth-overlay .auth-modal h2 { font-size:34px;font-weight:400;color:var(--m-text,#f5f1eb); }
  .auth-overlay :is(.auth-modal .sub,.auth-divider,.auth-sent p) { color:var(--m-muted,#a5a5ac); }
  .auth-overlay .auth-divider::before,.auth-overlay .auth-divider::after { background:var(--m-border,#303136); }
  .auth-overlay .auth-input { background:var(--m-bg,#101112);color:var(--m-text,#f5f1eb); }
  .auth-overlay .auth-btn { min-height:48px;background:var(--m-accent,#e50914);color:#fff;border-radius:12px; }
  .auth-overlay :is(.auth-google,.auth-google:hover) {
    min-height:48px;background:#fff;color:#222;border-color:#ddd;border-radius:12px;
  }

  /* Settings and base profile UI share the shell, while paid profile art remains. */
  .profile-overlay .profile-inner { max-width:880px; }
  .profile-overlay:not([class*="tribe-t"]) .profile-hero {
    background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136);border-radius:20px;
  }
  .profile-overlay:not([class*="tribe-t"]) .profile-hero::before { display:none; }
  .profile-overlay:not([class*="tribe-t"]) :is(.profile-meta,.stat-label,.profile-feat-sub) { color:var(--m-muted,#a5a5ac); }
  .profile-overlay:not([class*="tribe-t"]) .profile-feat {
    background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136);
  }
  .profile-overlay .profile-tab { min-height:42px;border-color:var(--m-border,#303136); }
  .profile-overlay .profile-tab.active { background:var(--m-accent,#e50914);color:#fff;border-color:var(--m-accent,#e50914); }
  #settingsContent :is(h2,h3) { color:var(--m-text,#f5f1eb); }
  #settingsContent h2 { font-family:"Instrument Serif",Georgia,serif;font-size:36px;font-weight:400; }
  #settingsContent [style*="color:rgba(245"],#inviteContent [style*="color:rgba(245"] { color:var(--m-muted,#a5a5ac)!important; }
  #settingsContent .settings-toggle .toggle-slider { background:var(--m-border,#303136); }
  #settingsContent .settings-toggle input:checked+.toggle-slider { background:var(--m-accent,#e50914); }

  /* Watchlist keeps its desktop grid and independent scroll region. */
  #wlModalRoot {
    background:var(--m-bg,#101112)!important;color:var(--m-text,#f5f1eb);
    border-color:var(--m-border,#303136);border-radius:20px;
  }
  #wlModalRoot #wlScroll { min-height:0; }
  #wlModalRoot .wl-item { background:var(--m-surface,#1c1d20);border-radius:12px;min-width:0; }
  #wlModalRoot .wl-item-title { color:var(--m-text,#f5f1eb);line-height:1.4; }
  #wlModalRoot .wl-item-meta { color:var(--m-muted,#a5a5ac); }
  #wlModalRoot .wl-item-remove { width:36px;height:36px;background:#191a1de6;color:#fff; }
  #wlModalRoot .wl-sort-btn { min-height:40px;color:var(--m-muted,#a5a5ac);border-color:var(--m-border,#303136); }
  #wlModalRoot .wl-sort-btn.active {
    color:var(--m-text,#f5f1eb);background:var(--m-soft-accent,#321216);border-color:var(--m-accent,#e50914);
  }

  #genreOverlay .genre-overlay-title { color:var(--m-text,#f5f1eb);font-family:"Instrument Serif",Georgia,serif; }
  #genreOverlay .genre-filter-bar { background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136); }
  #genreOverlay :is(.gf-label,.gf-count,.gm-meta) { color:var(--m-muted,#a5a5ac); }
  #genreOverlay .gf-chip { min-height:40px;border-color:var(--m-border,#303136);color:var(--m-text,#f5f1eb); }
  #genreOverlay .gf-chip.active { background:var(--m-accent,#e50914);border-color:var(--m-accent,#e50914);color:#fff; }
  #genreOverlay .gm-title { color:var(--m-text,#f5f1eb); }

  /* Routed community pages retain their own columns, sticky controls and spacing. */
  :is(.generic-page,.lists-page,.journal-page,.stats-page,.discovery-hub-page,
      .leaderboard-page,.live-page,.person-page,.releases-page,.tag-page,
      .popular-lists-page,.trending-page,.friend-suggestions-page,.follow-requests-page,
      .studio-page,.circles-page) :is(.list-card,.journal-card,.member-card,.stats-card,.circle-card,.search-filters) {
    background:var(--m-surface,#1c1d20);border-color:var(--m-border,#303136);color:var(--m-text,#f5f1eb);
  }
  .generic-page .search-filter label { color:var(--m-muted,#a5a5ac); }
  .generic-page :is(.member-name,.compare-title) { color:var(--m-text,#f5f1eb); }
  .generic-page :is(.member-meta,.compare-meta) { color:var(--m-muted,#a5a5ac); }
  .review-composer-overlay .review-composer {
    background:var(--m-surface,#1c1d20);color:var(--m-text,#f5f1eb);
    border:1px solid var(--m-border,#303136);max-height:calc(100dvh - 48px);overflow-y:auto;
  }
  .review-composer-overlay .rc-title { font-family:"Instrument Serif",Georgia,serif;font-weight:400; }
  .review-composer-overlay :is(.rc-meta,.rc-label,.rc-counter,.rc-rating-label) { color:var(--m-muted,#a5a5ac); }
  .review-composer-overlay :is(.rc-head,.rc-actions) { border-color:var(--m-border,#303136); }
  #rouletteModal { align-items:center;padding:28px; }
  #rouletteModal .roulette-modal-inner {
    max-width:1100px;margin:auto;max-height:calc(100dvh - 56px);overflow-y:auto;
    background:var(--m-bg,#101112);border:1px solid var(--m-border,#303136);border-radius:24px;
  }
  #rouletteModal .roulette-modal-inner::before { display:none; }
  #rouletteModal .roulette-interactive { background:transparent;padding:56px 32px 40px; }
  body.swipe-modal-open #swipe { background:var(--m-bg,#101112); }
  body.swipe-modal-open #swipe :is(.swipe-sub,.swipe-counter,.swipe-legend-text span) { color:var(--m-muted,#a5a5ac); }
  body.swipe-modal-open #swipe :is(.swipe-title,.swipe-legend-text strong) { color:var(--m-text,#f5f1eb); }

  body.theme-light :is(#quizOverlay,.qx-preferences-overlay,#wlModalRoot) { --m-soft-accent:#fbe5e7; }
}
