/* Load after app, news, reactions and support styles. Media is never recoloured. */
:root[data-theme="dark"] { color-scheme:dark; --bg:#15121d; --surface:#1f1b2b; --raised:#2a2539; --line:#383149; --text:#eeeaf6; --muted:#a69eb9; --accent:#f4c24f; --accent-ink:#231a05; --focus:#8fb8ff; --glass:rgba(18,15,26,.94); --topbar:rgba(21,18,29,.95); --nav-bg:rgba(21,18,29,.98); --hover-wash:rgba(255,255,255,.05); --notice-error:#2a1720; --notice-warning:#2a2116; --notice-success:#15261f; }
:root[data-theme="light"] { color-scheme:light; --bg:#f7f5f0; --surface:#fffefa; --raised:#ebe6dc; --line:#cfc6b7; --text:#27231e; --muted:#675e51; --accent:#805300; --accent-ink:#fffdf7; --focus:#245ea6; --live:#b91836; --ok:#176441; --warn:#8a4c10; --twitch:#6941ae; --boosty:#aa431b; --glass:rgba(255,254,250,.97); --topbar:rgba(247,245,240,.96); --nav-bg:rgba(247,245,240,.99); --hover-wash:rgba(68,48,18,.06); --notice-error:#fbe5e7; --notice-warning:#fff0d6; --notice-success:#e2f2e8; }
:root[data-theme="coffee"] { color-scheme:dark; --bg:#201a17; --surface:#2b231e; --raised:#392e26; --line:#59483a; --text:#f3e8d8; --muted:#c1ad98; --accent:#e7b76c; --accent-ink:#281c0e; --focus:#c6c0ff; --live:#ff7b83; --ok:#83d4a3; --warn:#efb27b; --twitch:#c09bff; --boosty:#ffa271; --glass:rgba(43,35,30,.96); --topbar:rgba(32,26,23,.95); --nav-bg:rgba(32,26,23,.99); --hover-wash:rgba(255,233,204,.05); --notice-error:#382226; --notice-warning:#382c1c; --notice-success:#203026; }
html[data-theme] .topbar { background:var(--topbar); }
html[data-theme] .desc, html[data-theme] .page-loading-label { color:var(--muted); }
html[data-theme] .onair { background:var(--surface); }
html[data-theme] .notice.err { background:var(--notice-error); border-color:var(--live); }
html[data-theme] .notice.warn { background:var(--notice-warning); border-color:var(--warn); }
html[data-theme] .notice.ok { background:var(--notice-success); border-color:var(--ok); }
html[data-theme] .home-news-tag { color:var(--accent); background:var(--hover-wash); }
html[data-theme] .home-news-source, html[data-theme] .pl-list .pl-season { color:var(--accent); }
html[data-theme] .home-release li::marker { color:var(--muted); }
html[data-theme] .home-news-toggle:hover { background:var(--hover-wash); }
html[data-theme] .video-reaction[aria-pressed="true"] .video-reaction-count { color:var(--accent-ink); }
html[data-theme] .view-switch button[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); }
/* Artwork overlays always use their own dark media palette. */
html[data-theme] .thumb .dur, html[data-theme] .pl-thumb .dur { color:#fff; background:rgba(10,8,15,.9); }
html[data-theme] .thumb .watched { color:#a3efc7; background:rgba(10,8,15,.9); }
html[data-theme] .view-switch button { background:var(--raised); color:var(--text); }
html[data-theme="light"] { --twitch-ink:#57318f; --boosty-ink:#8b3512; }
html[data-theme="light"] .plat.twitch { background:#eee4fa; }
html[data-theme="light"] .plat.boosty { background:#f9e1d5; }
html[data-theme] .support-dialog, html[data-theme] #site-support .support-launch { background:var(--surface); color:var(--text); border-color:var(--line); }
html[data-theme] .support-intro, html[data-theme] .support-meta, html[data-theme] .support-status { color:var(--muted); }
html[data-theme] .support-telegram { background:var(--raised); color:var(--text); border-color:var(--line); }
html[data-theme] .support-form textarea { background:var(--bg); color:var(--text); border-color:var(--line); }
html[data-theme] .support-submit { background:var(--accent); color:var(--accent-ink); }
html[data-theme] .support-login { color:var(--accent); }
html[data-theme="light"] .status.error, html[data-theme="light"] .status.dead, html[data-theme="light"] .status.failed, html[data-theme="light"] .status.not_member, html[data-theme="light"] .status.wrong { color:#a82a42; }
html[data-theme="light"] .c-toggle { color:#165e9d; }
html[data-theme="light"] .c-name.badge.owner, html[data-theme="light"] .c-like[aria-pressed="true"] { color:var(--accent); }
html[data-theme="light"] .hero-light img { opacity:.14; }
/* The playback surface and its dark overlay controls retain their media palette. */
html[data-theme] .player { color:#fff; }
html[data-theme] .player .menu { --text:#eeeaf6; --muted:#a69eb9; --surface:#1f1b2b; --raised:#2a2539; --line:#383149; --accent:#f4c24f; --accent-ink:#231a05; color:#eeeaf6; color-scheme:dark; }
.theme-select { width:auto; max-width:132px; min-height:36px; padding:6px 8px; border-radius:8px; background:var(--surface); color:var(--text); border:1px solid var(--line); font-size:12px; cursor:pointer; }
.theme-picker { display:flex; flex-wrap:wrap; gap:9px; }
.theme-choice { display:flex; align-items:center; gap:8px; padding:9px 12px; min-height:44px; border-radius:10px; border:1px solid var(--line); color:var(--muted); background:var(--surface); cursor:pointer; font:inherit; font-size:13px; }
.theme-choice:hover { background:var(--raised); color:var(--text); }
.theme-choice[aria-pressed="true"] { border-color:var(--accent); color:var(--text); box-shadow:inset 0 0 0 1px var(--accent); }
.theme-swatch { width:19px; height:19px; border:1px solid currentColor; border-radius:50%; display:inline-block; flex:none; }
.theme-swatch-light { background:linear-gradient(90deg,#fffefa 50%,#d5b873 50%); color:#85765c; }
.theme-swatch-dark { background:linear-gradient(90deg,#15121d 50%,#f4c24f 50%); color:#8a7b9e; }
.theme-swatch-coffee { background:linear-gradient(90deg,#201a17 50%,#e7b76c 50%); color:#a28a6c; }
@media(max-width:760px) { html[data-theme] .nav { background:var(--nav-bg); } .theme-select { max-width:106px; font-size:11px; } }
