/* YTUnity centralized day/night color system. Keep all theme colors here. */
:root,
html[data-theme="dark"] {
    color-scheme: dark;
    --site-bg: #090d16;
    --site-text: #f4f7fb;
    --heading-text: #ffffff;
    --muted-text: #aeb9c8;
    --muted-text-strong: #d2d9e3;
    --card-bg: #121925;
    --card-bg-soft: #0d131d;
    --panel-bg: #121925;
    --panel-bg-soft: #0d131d;
    --panel-bg-alt: #1a2331;
    --field-bg: #0b111b;
    --field-text: #f4f7fb;
    --border-color: #344154;
    --border-soft: #283446;
    --link-color: #72b7ff;
    --link-hover: #a5d2ff;
    --accent-red: #e50914;
    --accent-red-strong: #c9000a;
    --accent-red-hover: #ff3039;
    --button-secondary-bg: #1b2533;
    --button-secondary-hover: #273447;
    --success-bg: #10291b;
    --success-border: #2c8b4a;
    --success-text: #c9f8d7;
    --error-bg: #311418;
    --error-border: #a63a43;
    --error-text: #ffd5d8;
    --shadow-soft: 0 10px 30px rgba(0,0,0,.38);
    --grid-blue: rgba(63,153,255,.16);
    --grid-blue-soft: rgba(63,153,255,.10);
    --bg: var(--site-bg);
    --panel: var(--card-bg);
    --soft: var(--panel-bg-alt);
    --text: var(--site-text);
    --muted: var(--muted-text);
    --line: var(--border-color);
    --accent: #72b7ff;
}

html[data-theme="light"] {
    color-scheme: light;
    --site-bg: #eef3f9;
    --site-text: #172033;
    --heading-text: #0c1424;
    --muted-text: #526176;
    --muted-text-strong: #334155;
    --card-bg: #ffffff;
    --card-bg-soft: #f5f8fc;
    --panel-bg: #ffffff;
    --panel-bg-soft: #f3f6fa;
    --panel-bg-alt: #e7edf5;
    --field-bg: #ffffff;
    --field-text: #172033;
    --border-color: #b9c5d4;
    --border-soft: #d5dde8;
    --link-color: #075fb8;
    --link-hover: #003f80;
    --accent-red: #d80718;
    --accent-red-strong: #b9000e;
    --accent-red-hover: #a8000c;
    --button-secondary-bg: #e8eef6;
    --button-secondary-hover: #d9e2ed;
    --success-bg: #e8f7ed;
    --success-border: #278347;
    --success-text: #14532d;
    --error-bg: #fff0f1;
    --error-border: #cf3948;
    --error-text: #7f1721;
    --shadow-soft: 0 10px 28px rgba(30,50,80,.12);
    --grid-blue: rgba(20,104,190,.11);
    --grid-blue-soft: rgba(20,104,190,.07);
    --bg: var(--site-bg);
    --panel: var(--card-bg);
    --soft: var(--panel-bg-alt);
    --text: var(--site-text);
    --muted: var(--muted-text);
    --line: var(--border-color);
    --accent: #1468bd;
}

html, body { background-color: var(--site-bg); color: var(--site-text); }
body {
    background:
        linear-gradient(var(--grid-blue) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid-blue) 1px, transparent 1px),
        linear-gradient(45deg, var(--grid-blue-soft) 2px, transparent 2px),
        linear-gradient(135deg, var(--grid-blue-soft) 2px, transparent 2px),
        radial-gradient(circle at top left, rgba(70,150,235,.12), transparent 38%),
        radial-gradient(circle at top right, rgba(229,9,20,.08), transparent 34%),
        linear-gradient(180deg, var(--site-bg), var(--panel-bg-soft));
    background-size: 10000px 10000px,10000px 10000px,42px 42px,42px 42px,auto,auto,auto;
}

/* Shared surfaces */
.ytunity-platform-header,
.top,
.site-footer,
.card,
.card-hero,
.panel,
.news-band,
.st-gear-panel,
.search-suggestions {
    color: var(--site-text);
    border-color: var(--border-color);
}
.ytunity-platform-header,
.top { background: var(--card-bg-soft) !important; }
.st-gear-panel,
.search-suggestions { background: var(--card-bg) !important; }

/* Inputs and controls */
input, select, textarea,
.nav-search input,
.form-input, .form-select, .form-textarea, .form-file {
    background: var(--field-bg) !important;
    color: var(--field-text) !important;
    border-color: var(--border-color) !important;
}
input::placeholder, textarea::placeholder { color: var(--muted-text) !important; opacity: 1; }
select option { background: var(--field-bg); color: var(--field-text); }

/* Discover pages previously forced dark colors. */
.top form input { background: var(--field-bg) !important; color: var(--field-text) !important; }
.hero { background: linear-gradient(135deg,var(--card-bg),var(--card-bg-soft)) !important; border-color: var(--border-color) !important; }
.card, .panel { background-color: var(--card-bg); }
.thumb { background: var(--panel-bg-alt); }
.title, .brand, .tabs a { color: var(--site-text) !important; }
.meta, .muted, .foot { color: var(--muted-text) !important; }
.badge, .tabs a { background: var(--panel-bg-alt) !important; color: var(--site-text) !important; }
.score { color: var(--heading-text) !important; }
.notice { background: var(--panel-bg-alt) !important; color: var(--site-text); }
.foot { border-color: var(--border-color); }
.category-card { background: var(--card-bg) !important; border-color: var(--border-color) !important; color: var(--site-text) !important; }

/* Navigation readability */
.nav-brand, .nav-link-rail a, .top-nav a, .st-gear-link { color: var(--link-color) !important; }
.nav-brand:hover, .nav-link-rail a:hover, .top-nav a:hover, .st-gear-link:hover { color: var(--link-hover) !important; }
.st-gear-row, .st-gear-toggle { color: var(--site-text) !important; }
.st-gear-row:hover, .st-gear-link:hover { background: var(--panel-bg-alt) !important; }

/* Prevent old hard-coded dark cards from leaking into light mode. */
.card .state-grid li a,
.card .city-grid li a,
.latest-video-item,
.nav-box {
    background: linear-gradient(180deg,var(--card-bg),var(--card-bg-soft)) !important;
    border-color: var(--border-color) !important;
    color: var(--site-text) !important;
}
.card .state-grid li a:hover,
.card .city-grid li a:hover,
.latest-video-item:hover,
.nav-box:hover {
    background: var(--button-secondary-hover) !important;
    border-color: var(--link-color) !important;
}

/* =========================================================
   YTUnity day/night control — authoritative final styling.
   This file loads after the older layout rules, so the switch
   and its settings panel stay readable in both themes.
   ========================================================= */
.st-gear-panel {
    background: var(--card-bg) !important;
    color: var(--site-text) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: var(--shadow-soft) !important;
}

.st-gear-panel .st-gear-head strong {
    color: var(--heading-text) !important;
}

.st-gear-panel .st-gear-head span {
    color: var(--muted-text) !important;
}

.st-gear-panel #themeToggle.st-gear-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 9px 10px 9px 14px !important;
    background: var(--panel-bg-soft) !important;
    color: var(--site-text) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 13px !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

.st-gear-panel #themeToggle.st-gear-row:hover,
.st-gear-panel #themeToggle.st-gear-row:focus-visible {
    background: var(--button-secondary-hover) !important;
    color: var(--heading-text) !important;
    border-color: var(--link-color) !important;
    outline: none !important;
}

.st-gear-panel #themeToggle span {
    color: inherit !important;
    font-weight: 900 !important;
}

.st-gear-panel #themeToggle strong {
    flex: 0 0 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    margin-left: auto !important;
    border-radius: 999px !important;
    line-height: 1 !important;
    font-size: 17px !important;
    background: var(--button-secondary-bg) !important;
    color: var(--heading-text) !important;
    border: 1px solid var(--border-soft) !important;
}

html[data-theme="light"] .st-gear-panel #themeToggle strong {
    background: #e8eef6 !important;
    color: #172033 !important;
    border-color: #b9c5d4 !important;
}

html[data-theme="dark"] .st-gear-panel #themeToggle strong {
    background: #1b2533 !important;
    color: #ffffff !important;
    border-color: #344154 !important;
}

/* YTUnity multilingual controls */
.ytu-language-picker{display:grid;gap:5px;padding:8px 12px}.ytu-language-picker label{font-size:.75rem;font-weight:700;opacity:.75}.ytu-language-picker select{width:100%;border:1px solid var(--border,#d7dce5);border-radius:8px;padding:8px 10px;background:var(--surface,#fff);color:inherit}.translation-note{margin:.5rem 0 0;font-size:.85rem;opacity:.78}[dir="rtl"] .nav-primary-row,[dir="rtl"] .footer-grid,[dir="rtl"] .watch-layout{direction:rtl}[dir="rtl"] .nav-search input,[dir="rtl"] .watch-description-panel{text-align:right}

/* YTUnity footer separation and network note */
.site-footer { margin-top: 20px; }
.footer-network-note { display: inline-block; margin-top: 4px; opacity: .82; }
