/* Shared archive structure; independently styled show collections. */
body[data-theme]{--paper:#101522;--white:#1a2232;--ink:#f2eee7;--muted:#b3bbcd;--line:#384256;--gold:#edbb85;--soft:#253047;--green:#96d9b2;--surface:#192232;--surface-2:#222e43;--accent:var(--gold);--heading:'Playfair Display',Georgia,serif;--radius:12px;background:radial-gradient(ellipse at 90% 0%,#29334e 0,transparent 45%),var(--paper);color:var(--ink)}
body[data-theme=survivor]{--paper:#0c1916;--white:#142620;--ink:#f1eadc;--muted:#a9b9ad;--line:#435b3e;--gold:#e6af67;--soft:#253b2e;--surface:#172c21;--surface-2:#263c29;--radius:8px;background:radial-gradient(ellipse at 85% 5%,#1d3527 0,transparent 38%),var(--paper)}
body[data-theme=big-brother]{--paper:#edf2fa;--white:#fff;--ink:#18263f;--muted:#526582;--line:#cbd6e9;--gold:#254fd6;--soft:#e0e9f9;--green:#227853;--surface:#fff;--surface-2:#eaf0fc;--accent:#254fd6;--heading:'Inter',Arial,sans-serif;--radius:5px;background:linear-gradient(135deg,#eef4ff 0,#f5f7fc 55%,#e3eafa 100%);font-size:14px}
body[data-theme=amazing-race]{--paper:#f4f1e9;--white:#fffdf6;--ink:#292b31;--muted:#655d60;--line:#d7cec7;--gold:#b52c3d;--soft:#eee0dd;--green:#24754f;--surface:#fffdf6;--surface-2:#f2e8e2;--heading:'Inter',Arial,sans-serif;--radius:2px;background:repeating-linear-gradient(135deg,transparent 0,transparent 65px,#b52c3d05 65px,#b52c3d05 66px),var(--paper)}
body[data-theme=outlast]{--paper:#131b1b;--white:#1c2928;--ink:#e7e7d4;--muted:#afbeb5;--line:#41574d;--gold:#c9d59b;--soft:#283b33;--surface:#1c2928;--surface-2:#293b34;--radius:0;background:radial-gradient(ellipse at 70% 0,#35473b,transparent 55%),var(--paper)}
body[data-theme=other-show]{--paper:hsl(var(--show-hue) 25% 10%);--surface:hsl(var(--show-hue) 24% 15%);--surface-2:hsl(var(--show-hue) 24% 21%);--line:hsl(var(--show-hue) 20% 35%);--gold:hsl(var(--show-hue) 65% 76%);--muted:hsl(var(--show-hue) 20% 75%);background:radial-gradient(ellipse at top right,var(--surface-2),transparent 50%),var(--paper)}
/* The archive rail is deliberately consistent across every show. */
body[data-theme] .sidebar{background:linear-gradient(180deg,#151c2c,#0e1420);border-color:#343e53;color:#eeece8}
body[data-theme] .brand{color:#f2ede6;letter-spacing:3px}
body[data-theme] .brand-icon{clip-path:none;border-radius:9px;border:1px solid #ad896655;background:linear-gradient(145deg,#e6b98822,#e6b98808);color:#edbb85;width:45px;height:45px}
body[data-theme] .rail-label,body[data-theme] .rail-footer{color:#a9b5cd}
body[data-theme] .nav{color:#bec8db;border-radius:7px}
body[data-theme] .nav span{color:#9eabc3}
body[data-theme] .nav.active{background:#edbb8512;color:#f3ce9f;border-color:#edbb8533}
body[data-theme] .nav.active span{color:#edbb85}
body[data-theme] .nav:hover{background:#ffffff09;color:#fff}
body[data-theme] .rail-note{background:none;border-color:#37415a;color:#c5b293}
body[data-theme] .rail-note p{color:#dce0eb;font-family:'Playfair Display',Georgia,serif}
body[data-theme] .rail-note .dot{background:#edbb85}
body[data-theme] .vault-tools{color:#c3cce0}
body[data-theme] .vault-tools .import-button{background:#263147;border-color:#45516b;color:#e0e5ef}
body[data-theme] .topbar{background:var(--paper);border-color:var(--line)}
body[data-theme] .breadcrumbs{color:var(--muted)}
body[data-theme] .breadcrumbs strong{color:var(--ink)}
body[data-theme] .search{background:var(--surface);border-color:var(--line);color:var(--muted)}
body[data-theme] .search input{color:var(--ink)}
body[data-theme] .search kbd{background:var(--surface-2);color:var(--muted);border-color:var(--line)}
body[data-theme] .notice{background:transparent;color:var(--muted);border-color:var(--line)}
body[data-theme] .notice .dot{background:var(--accent)}
body[data-theme] .notice button{color:var(--muted)}
body[data-theme] .collection-context{display:flex;align-items:center;gap:20px;margin:0 0 22px;padding:0 0 16px;border-bottom:1px solid var(--line);font-size:11px;flex-wrap:wrap}
body[data-theme] .collection-home{color:var(--muted);font-size:10px}
body[data-theme] .collection-name{color:var(--accent);font-weight:700;font-size:12px;letter-spacing:.6px}
body[data-theme] .collection-context>div{display:flex;gap:20px;margin-left:auto}
body[data-theme] .collection-context a{color:var(--muted)}
body[data-theme] .collection-context a.current,body[data-theme] .collection-context a:hover{color:var(--accent)}
body[data-theme] .season-banner,body[data-theme] .player-hero{background:linear-gradient(135deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}
body[data-theme] .season-banner:before,body[data-theme] .season-banner:after{background:none}
body[data-theme] .eyebrow{color:var(--accent);font-size:10px;letter-spacing:2px}
body[data-theme] .season-banner h1,body[data-theme] .hero h1{font-family:var(--heading);color:var(--ink)}
body[data-theme] .season-banner p,body[data-theme] .season-banner .season-date-line{color:var(--muted)}
body[data-theme] .season-banner .eyebrow,body[data-theme] .hero .eyebrow{color:var(--accent)}
body[data-theme] .player-nickname{color:var(--accent);font-family:var(--heading)}
body[data-theme] .player-hero .portrait{border-color:var(--line);border-radius:var(--radius);box-shadow:8px 8px 0 var(--soft)}
body[data-theme] .tag{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
body[data-theme] .tag.gold{border-color:var(--accent);color:var(--accent);background:transparent}
body[data-theme] .player-header-stats{border-color:var(--line)}
body[data-theme] .player-header-stats .stat-value,body[data-theme] .stat-value{color:var(--accent);font-family:var(--heading)}
body[data-theme] .stat-label,body[data-theme] .player-header-stats .stat-label{color:var(--muted)}
body[data-theme] .stats,body[data-theme] .stat{background:var(--surface);border-color:var(--line)}
body[data-theme] .player-details-header{border-color:var(--line);background:var(--surface)}
body[data-theme] .player-details-list dt{color:var(--muted)}
body[data-theme] .player-details-list dd{color:var(--ink)}
body[data-theme] .profile-season-picker{background:var(--surface);border-color:var(--line);border-radius:var(--radius)}
body[data-theme] .profile-season-picker label{font-family:var(--heading);color:var(--ink)}
body[data-theme] .profile-season-picker p{color:var(--muted)}
body[data-theme] select,body[data-theme] input,body[data-theme] .browse-filters input,body[data-theme] .browse-filters select{color:var(--ink);background:var(--surface-2);border-color:var(--line)}
body[data-theme] input::placeholder{color:var(--muted);opacity:.8}
body[data-theme] .panel{background:var(--surface);border-color:var(--line);border-radius:var(--radius);box-shadow:none}
body[data-theme] .panel h2,body[data-theme] .panel h3,body[data-theme] .section-title{color:var(--ink);font-family:var(--heading)}
body[data-theme] .panel h2:after{background:var(--accent)}
body[data-theme] .panel-sub,body[data-theme] .event-card p,body[data-theme] .season-entry p{color:var(--muted)}
body[data-theme] .panel .preserve-text,body[data-theme] .panel .challenge-summary-line{color:var(--ink)}
body[data-theme] .challenge-summary-line strong{color:var(--accent)}
body[data-theme] .detail-list dt{color:var(--muted)}
body[data-theme] .detail-list dd,body[data-theme] .season-entry h3{color:var(--ink)}
body[data-theme] .pill,body[data-theme] .season-number{background:var(--surface-2);color:var(--accent);border-color:var(--line)}
body[data-theme] .placement{color:var(--accent)}
body[data-theme] .placement small{color:var(--muted)}
body[data-theme] .season-entry,body[data-theme] .event-card,body[data-theme] .evidence,body[data-theme] .search-result{border-color:var(--line)}
body[data-theme] .tabs{border-color:var(--line)}
body[data-theme] .tab{color:var(--muted)}
body[data-theme] .tab.active{color:var(--accent);border-color:var(--accent)}
body[data-theme] .empty{background:var(--surface);border-color:var(--line);color:var(--muted);border-radius:var(--radius)}
body[data-theme] .empty strong{color:var(--ink);font-family:var(--heading)}
body[data-theme] th{background:var(--surface-2);color:var(--muted);border-color:var(--line)}
body[data-theme] td{color:var(--ink);border-color:var(--line)}
body[data-theme] tbody tr:nth-child(even){background:color-mix(in srgb,var(--surface-2) 25%,transparent)}
body[data-theme] tbody tr:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
body[data-theme] .entity-link{color:inherit;text-decoration-color:var(--muted)}
body[data-theme] .entity-link:hover{color:var(--accent);text-decoration-color:var(--accent)}
body[data-theme] .episode-challenges,body[data-theme] .episode-challenge-day{color:var(--muted)}
body[data-theme] .episode-challenges a{color:var(--ink)}
body[data-theme] .episode-challenges li::marker{color:var(--accent)}
body[data-theme] .episode-pagination{color:var(--muted)}
body[data-theme] .challenge-elements li{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
body[data-theme] .challenge-elements a:before{color:var(--accent)}
body[data-theme] .challenge-elements a:hover{background:var(--soft);color:var(--accent)}
body[data-theme] .browse-filters{background:var(--surface);border-color:var(--line);border-radius:var(--radius)}
body[data-theme] .browse-filters label{color:var(--muted)}
body[data-theme] .import-button{background:var(--surface-2);color:var(--accent);border-color:var(--line)}
body[data-theme] .browse-card{background:var(--surface);border-color:var(--line);border-radius:var(--radius)}
body[data-theme] .browse-card h3,body[data-theme] .vault-section-heading h2{color:var(--ink);font-family:var(--heading)}
body[data-theme] .browse-card p,body[data-theme] .show-stats dt,body[data-theme] .show-stats>div{color:var(--muted)}
body[data-theme] .show-stats dd,body[data-theme] .browse-card>span{color:var(--accent)}
body[data-theme] .browse-card:hover{border-color:var(--accent)}
body[data-theme] .player-directory-card{background:var(--surface);border-color:var(--line);border-radius:var(--radius)}
body[data-theme] .player-directory-name h3{color:#fff}
body[data-theme] .player-directory-nickname{color:#f4debe}
body[data-theme] .player-directory-info{background:var(--surface)}
body[data-theme] .player-all-seasons strong{color:var(--accent)}
body[data-theme] .player-all-seasons span{color:var(--muted)}
body[data-theme] .player-directory-arrow{color:var(--accent)}
body[data-theme] .challenge-directory-row{background:var(--surface);border-color:var(--line);border-radius:var(--radius)}
body[data-theme] .challenge-directory-title h3{color:var(--ink);font-family:var(--heading)}
body[data-theme] .challenge-directory-title>span,body[data-theme] .challenge-directory-season{color:var(--muted)}
body[data-theme] .challenge-season-number,body[data-theme] .challenge-directory-arrow{color:var(--accent)}
body[data-theme] .challenge-directory-types span{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
body[data-theme] .season-gallery-card{background:var(--surface);border-color:var(--line);border-radius:var(--radius)}
body[data-theme] .season-gallery-card:hover{border-color:var(--accent)}
body[data-theme] .season-gallery-info h2{font-family:var(--heading);color:var(--ink)}
body[data-theme] .season-gallery-stats{border-color:var(--line)}
body[data-theme] .season-gallery-stats dd{font-family:var(--heading);color:var(--accent)}
body[data-theme] .season-gallery-stats dt{color:var(--muted)}
body[data-theme] .season-gallery-explore{color:var(--muted);border-color:var(--line)}
body[data-theme] .season-gallery-explore>span{color:var(--accent)}
body[data-theme] .season-gallery-jump{background:var(--surface);border-color:var(--line);border-radius:var(--radius)}
body[data-theme] .season-gallery-jump>span{color:var(--accent)}
body[data-theme] .season-gallery-jump button{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
body[data-theme] .season-gallery-jump button:hover{background:var(--accent);color:var(--paper)}
body[data-theme] .season-gallery-heading .eyebrow{color:var(--muted)}
body[data-theme] .show-season-links{border-color:var(--line)}
body[data-theme] .show-season-links span{color:var(--accent)}
body[data-theme] .show-season-links a{color:var(--muted)}
body[data-theme] .show-season-links a:hover{color:var(--accent)}
body[data-theme] .season-votes-table th,body[data-theme] .season-votes-table td{border-color:var(--line)}
body[data-theme] .season-votes-table thead th,body[data-theme] .season-votes-table tbody th{background:var(--surface-2);color:var(--ink)}
body[data-theme] .season-votes-table .season-vote-result th,body[data-theme] .season-votes-table .season-vote-result td,body[data-theme] .season-votes-table tfoot th,body[data-theme] .season-votes-table tfoot td{background:var(--soft);color:var(--ink)}
body[data-theme] .season-votes-table td.season-vote-out{background:#090c12;color:#fff}
body[data-theme] .season-votes-table .season-vote-out a{color:#fff}
body[data-theme] .season-votes-table th small,body[data-theme] .no-ballot{color:var(--muted)}
body[data-theme] .season-votes-wrap{background:var(--surface);border-color:var(--line)}
body[data-theme] .season-votes-table tbody tr td{background:var(--surface)}
body[data-theme] .season-votes-table tbody tr:nth-child(even) td{background:var(--surface-2)}
body[data-theme] .season-votes-table tbody tr:hover td{background:var(--soft)}
body[data-theme] .season-votes-table tbody tr th:first-child{background:var(--surface-2);color:var(--ink)}
body[data-theme] .season-votes-table thead th:first-child{background:var(--surface-2);color:var(--ink)}
body[data-theme] .season-votes-table thead a,body[data-theme] .season-votes-table tbody a,body[data-theme] .season-votes-table tbody button,body[data-theme] .season-votes-table .vote-tally{color:var(--ink)}
body[data-theme] .season-votes-table tbody tr.season-vote-result td,body[data-theme] .season-votes-table tbody tr.season-vote-result th{background:var(--soft);color:var(--ink)}
body[data-theme] .season-votes-table tfoot tr.season-vote-summary td,body[data-theme] .season-votes-table tfoot tr.season-vote-summary th{background:var(--soft);color:var(--ink)}
body[data-theme] .season-votes-table tbody tr td.season-vote-out,body[data-theme] .season-votes-table tbody tr:nth-child(even) td.season-vote-out,body[data-theme] .season-votes-table tbody tr:hover td.season-vote-out{background:#090c12;color:#fff}
body[data-theme] .vote-sent-home td{background:color-mix(in srgb,var(--accent) 16%,var(--surface))}
body[data-theme] .vote-counted{color:var(--green)}
body[data-theme] .quote-panel{background:var(--surface-2)}
body[data-theme] .quote-panel p{color:var(--ink)}
body[data-theme] .loading{color:var(--muted);font-family:var(--heading)}
body[data-theme] footer{border-color:var(--line);color:var(--muted)}
body[data-theme] footer span:first-child{color:var(--accent)}
body[data-theme] a:focus-visible,body[data-theme] button:focus-visible,body[data-theme] input:focus-visible,body[data-theme] select:focus-visible{outline-color:var(--accent)}
/* Reality Vault: editorial, ink-blue and copper; no island motifs. */
body[data-theme=vault] .vault-home-intro{background:linear-gradient(120deg,#1c263c,#151d2e);border:1px solid #38445e;border-radius:16px;padding:48px 42px;position:relative;overflow:hidden}
body[data-theme=vault] .vault-home-intro:after{content:'RV';position:absolute;right:24px;bottom:-40px;font:700 clamp(100px,17vw,240px)/1 Georgia,serif;color:#ffffff03;pointer-events:none}
body[data-theme=vault] .vault-home-title h1{color:var(--ink);font-family:'Playfair Display',Georgia,serif;font-size:clamp(48px,6vw,88px);letter-spacing:-3px}
body[data-theme=vault] .vault-home-title h1 span{color:var(--accent);font-style:italic}
body[data-theme=vault] .vault-home-title>p{color:var(--muted)}
body[data-theme=vault] .vault-home-title>.eyebrow{color:var(--accent)}
body[data-theme=vault] .vault-home-shortcuts{position:relative;z-index:1}
body[data-theme=vault] .vault-home-shortcuts a{color:var(--ink);border-color:var(--line)}
body[data-theme=vault] .vault-home-shortcuts a>span:last-child{color:var(--accent)}
body[data-theme=vault] .vault-trail{border-color:var(--line)}
body[data-theme=vault] .vault-trail>span{color:var(--accent)}
body[data-theme=vault] .vault-trail h3{color:var(--ink)}
body[data-theme=vault] .vault-trail p,body[data-theme=vault] .vault-rights-notice{color:var(--muted)}
body[data-theme=vault] .vault-rights-notice{border-color:var(--line)}
body[data-theme=vault] .birthday-month{background:var(--surface);border-color:var(--line);border-radius:12px}
body[data-theme=vault] .birthday-month h2{color:var(--ink)}
body[data-theme=vault] .birthday-month-nav,body[data-theme=vault] .birthday-months{background:var(--paper);border-color:var(--line)}
body[data-theme=vault] .birthday-month-nav a,body[data-theme=vault] .birthday-months a{color:var(--accent);background:var(--surface);border-color:var(--line)}
body[data-theme=vault] .birthday-nickname,body[data-theme=vault] .birthday-empty{color:var(--muted)}
body[data-theme=vault] .birthday-day{color:var(--accent)}
/* Survivor keeps its field-guide textures inside its own collection. */
body[data-theme=survivor] .season-banner{background:linear-gradient(100deg,#142e22f5,#1f3a25b5),url('assets/vault-landscape.svg') center/cover}
body[data-theme=survivor] .player-hero{background:linear-gradient(105deg,#153025f2,#183323d9),url('assets/vault-contours.svg') center/700px}
body[data-theme=vault][data-page=home] .browse-card:before{background:none}
/* Big Brother: a bright house dashboard with bold, geometric typography. */
body[data-theme=big-brother] .season-banner,body[data-theme=big-brother] .player-hero{background:linear-gradient(115deg,#102d74,#274ecd);color:#fff;border:0;border-radius:6px;position:relative;overflow:hidden}
body[data-theme=big-brother] .season-banner{border-left:7px solid #fa9977}
body[data-theme=big-brother] .season-banner h1,body[data-theme=big-brother] .hero h1{color:#fff;font-weight:800;letter-spacing:-2px}
body[data-theme=big-brother] .season-banner p,body[data-theme=big-brother] .hero .eyebrow,body[data-theme=big-brother] .player-nickname{color:#dce7ff}
body[data-theme=big-brother] .season-banner .season-date-line{color:#dce7ff}
body[data-theme=big-brother] .season-header-stats{gap:12px}
body[data-theme=big-brother] .season-header-stats .stat{padding:16px;background:#fff;box-shadow:inset 0 -3px #254fd6;border-radius:5px}
body[data-theme=big-brother] .player-hero .stat-value{color:#fff}
body[data-theme=big-brother] .player-hero .stat-label{color:#d0dfff}
body[data-theme=big-brother] .player-hero .player-header-stats{border-color:#ffffff40}
body[data-theme=big-brother] .player-hero .stat{background:transparent}
body[data-theme=big-brother] .player-hero .tag{color:#fff;border-color:#ffffff55;background:#ffffff10}
body[data-theme=big-brother] .player-hero .tag.gold{color:#ffd6be;border-color:#ffa683}
body[data-theme=big-brother] .player-details-list dt{color:#c7d8ff}
body[data-theme=big-brother] .player-details-list dd{color:#fff}
body[data-theme=big-brother] .player-details-header{background:#0c235a;border-color:#ffffff30}
body[data-theme=big-brother] .panel h2{font-size:22px;font-weight:750;letter-spacing:-.6px}
body[data-theme=big-brother] .panel h2:after{width:40px;height:3px;background:#fa9977}
body[data-theme=big-brother] .season-gallery-art .browse-image{background:radial-gradient(ellipse at center,#fff,#edf2fc)}
body[data-theme=big-brother] .season-gallery-number{color:#254fd6;border-color:#254fd650}
body[data-theme=big-brother] .season-gallery-card{border-top:4px solid #254fd6}
body[data-theme=big-brother] .season-gallery-info h2{font-size:21px;font-weight:750}
body[data-theme=big-brother] .show-season-links a,body[data-theme=big-brother] .show-season-links span{color:#e2ebff}
body[data-theme=big-brother] .show-season-links{border-color:#ffffff40}
body[data-theme=big-brother] .player-social-link:not(.has-logo){background:#ffffff12;color:#fff;border-color:#ffffff55}
/* Prepared identities for future show collections; visibility stays data-driven. */
body[data-theme=amazing-race] .season-banner{border-left:8px solid #b52c3d;border-radius:0;background:linear-gradient(110deg,#fffdf6,#f2e5dd)}
body[data-theme=amazing-race] .season-banner h1{font-weight:800;font-style:italic;letter-spacing:-2px}
body[data-theme=amazing-race] .season-gallery-card{border-bottom:5px solid #b52c3d}
body[data-theme=outlast] .season-banner{border-top:2px solid #c9d59b;background:linear-gradient(120deg,#293c32,#172321)}
body[data-theme=outlast] .season-banner h1{text-transform:uppercase;letter-spacing:2px;font-weight:700}
body[data-theme=outlast] .panel{border-left:3px solid #788b66}
@media(max-width:700px){body[data-theme] .collection-context{gap:12px;font-size:10px;margin-bottom:18px}body[data-theme] .collection-context>div{width:100%;margin-left:0;gap:24px}body[data-theme=vault] .vault-home-intro{padding:30px 24px;border-radius:10px}body[data-theme=vault] .vault-home-title h1{font-size:52px;letter-spacing:-2px}body[data-theme] .sidebar{border-bottom-color:#343e53}body[data-theme=big-brother] .season-banner h1{font-size:38px}body[data-theme=big-brother] .season-header-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body[data-theme=big-brother] .season-header-stats .stat{padding:12px}}
@media(prefers-reduced-motion:reduce){body[data-theme] *{scroll-behavior:auto}}
