/*
 * Dark Mode Theme — Remilia Chat
 * Created by Wax
 */

/* ─── Tokens ─────────────────────────────────────────────────────── */
:root[data-theme="dark"] {
    /* Surfaces */
    --dm-bg:            #0d1117;   /* page background */
    --dm-surface:       #141a24;   /* panels, sidebar boxes, cards */
    --dm-surface-2:     #1a2233;   /* elevated panels, hover, composer */
    --dm-surface-3:     #232c40;   /* inputs, sub-panels */
    --dm-surface-4:     #2a3450;   /* selected, deep hover */
    --dm-overlay:       rgba(255,255,255,0.04);

    /* Text */
    --dm-text:          #e5e8ee;
    --dm-text-soft:     #a8b1c4;
    --dm-text-muted:    #6c7691;

    /* Brand red */
    --dm-red:           #ff6b85;
    --dm-red-strong:    #ff8a9f;
    --dm-red-dark:      #d94a64;
    --dm-red-tint:      rgba(255, 107, 133, 0.10);
    --dm-red-tint-2:    rgba(255, 107, 133, 0.18);

    /* Borders */
    --dm-border:        #2a3144;
    --dm-border-soft:   #1d2433;
    --dm-border-red:    rgba(255, 107, 133, 0.42);

    /* Mapping */
    --green-bg:         var(--dm-bg);
    --green-line:       var(--dm-red);
    --green-dark:       var(--dm-red-dark);
    --green-soft:       var(--dm-red-tint);
    --panel-bg:         var(--dm-surface);
    --panel-shadow:     0 4px 18px rgba(0,0,0,0.55);
    --text-dark:        var(--dm-text);
    --text-soft:        var(--dm-text-soft);
    --white:            var(--dm-surface);
    --border-strong:    var(--dm-red);
    --bubble:           var(--dm-surface-2);

    --rem-red:          var(--dm-red);
    --rem-dark-red:     var(--dm-red-dark);
    --rem-pink:         var(--dm-red-tint);
    --rem-cream:        var(--dm-red-tint);
    --rem-border:       1px solid var(--dm-red);

    --user-bubble:      var(--dm-surface-2);
    --bubble-stroke:    var(--dm-red);
    --bubble-text:      var(--dm-text);

    color-scheme: dark;
}

/* ─── Base ───────────────────────────────────────────────────────── */
html[data-theme="dark"],
[data-theme="dark"] body {
    background: var(--dm-bg) !important;
    color: var(--dm-text) !important;
}

[data-theme="dark"] body.theme-anime,
[data-theme="dark"] body.theme-anime.portal-page,
[data-theme="dark"] body.theme-anime.portal-home {
    background: var(--dm-bg) !important;
    background-image: none !important;
    background-color: var(--dm-bg) !important;
    color: var(--dm-text) !important;
}

[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg {
    /* Keep the user's profile background image — ::before provides a subtle dark tint behind content */
    background-image: var(--profile-page-bg) !important;
    background-size: cover !important;
    background-position: center top !important;
    background-attachment: fixed !important;
    background-color: var(--dm-bg) !important;
}
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(8,11,18,0.55);
    pointer-events: none;
    z-index: -1;
}

/* ─── Profile page ─────────────────────────────────────────────────── */
/* Layout containers transparent so body background image shows through */
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg #container,
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg .portal-main,
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg .portal-content,
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg .portal-sidebar,
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg #content > .padder {
    background: transparent !important;
    border-color: transparent !important;
}
/* Portal card on profile-bg pages: semi-transparent dark so the bg image peeks through */
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg .portal-card {
    background: rgba(13, 17, 23, 0.88) !important;
}
/* Sidebar boxes on profile-bg pages: semi-transparent dark */
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg .portal-section,
[data-theme="dark"] body.theme-anime.portal-page.has-profile-bg .sidebar-box {
    background: rgba(13, 17, 23, 0.85) !important;
    border-color: var(--dm-border-soft) !important;
}
/* Profile showcase header — transparent so profile banner image shows through */
[data-theme="dark"] .profile-showcase-header {
    background: transparent !important;
}
[data-theme="dark"] .profile-showcase-content,
[data-theme="dark"] .profile-showcase-content .user-nicename,
[data-theme="dark"] .profile-showcase-content .profile-user-id,
[data-theme="dark"] .profile-showcase-content .activity,
[data-theme="dark"] .profile-bio-inline,
[data-theme="dark"] .profile-meta-item {
    color: var(--dm-text-muted) !important;
}
[data-theme="dark"] .profile-showcase-content h1,
[data-theme="dark"] .profile-showcase-content .display-name {
    color: var(--dm-text) !important;
}
/* Profile wall / comments */
[data-theme="dark"] .profile-comment-card {
    background: var(--dm-surface) !important;
    border: 1px solid var(--dm-border-soft) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .profile-comment-text,
[data-theme="dark"] .profile-discussion-head,
[data-theme="dark"] .profile-comment-count {
    color: var(--dm-text) !important;
}
[data-theme="dark"] .profile-comment-meta {
    color: var(--dm-text-muted) !important;
}
/* Profile compose bar (post to wall) */
[data-theme="dark"] .profile-compose-bar {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border-soft) !important;
}
/* Profile tab shell */
[data-theme="dark"] .profile-tab-shell {
    background: transparent !important;
    color: var(--dm-text) !important;
}
/* Member cards in friends tab */
[data-theme="dark"] .member-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border-soft) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .member-quote,
[data-theme="dark"] .member-active,
[data-theme="dark"] .table-subline {
    color: var(--dm-text-muted) !important;
}
/* Profile page portal-page title */
[data-theme="dark"] body.theme-anime.portal-page a,
[data-theme="dark"] body.theme-anime.portal-home a {
    color: var(--dm-red-strong) !important;
}
[data-theme="dark"] body.theme-anime.portal-page a:hover,
[data-theme="dark"] body.theme-anime.portal-home a:hover {
    color: var(--dm-red) !important;
}

/* Profile page body — override the hardcoded white background */
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] {
    background-color: var(--dm-bg) !important;
}

/* Profile page portal-section transparent (mirrors light-mode rule) */
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] .portal-section {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Profile-page-stage — just a transparent wrapper; body handles bg */
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] .profile-page-stage {
    background: transparent !important;
}
/* When a profile bg image IS present — body already shows it */
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"].has-profile-bg .profile-page-stage {
    background: transparent !important;
}

/* Profile card glass → dark glass */
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] .profile-card {
    background: rgba(13, 17, 23, 0.90) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* General .portal-card — also covers homepage cards */
[data-theme="dark"] body.theme-anime .portal-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border-soft) !important;
    color: var(--dm-text) !important;
}

/* Profile sidebar cards */
[data-theme="dark"] body.theme-anime .profile-sidebar-card,
[data-theme="dark"] body.theme-anime .profile-sidebar-card-wide {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] body.theme-anime .profile-sidebar-card h2 { color: var(--dm-text) !important; }
[data-theme="dark"] body.theme-anime .profile-sidebar-card p  { color: var(--dm-text-soft) !important; }
[data-theme="dark"] body.theme-anime .profile-facts div        { border-top-color: var(--dm-border) !important; }

/* Profile overview card (bio section etc.) */
[data-theme="dark"] .profile-overview-card {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .profile-overview-card h3,
[data-theme="dark"] .profile-overview-text { color: var(--dm-text) !important; }

/* Profile showcase content bubble (name / id / activity) */
[data-theme="dark"] .profile-showcase-content {
    background: rgba(13, 17, 23, 0.88) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .profile-showcase-content h2 { color: var(--dm-text) !important; }

/* Avatar border */
[data-theme="dark"] .profile-showcase-avatar .profile-avatar-large {
    border-color: var(--dm-surface-3) !important;
    background: var(--dm-surface) !important;
}

/* Banner border */
[data-theme="dark"] .profile-showcase-banner {
    border-color: var(--dm-border) !important;
}

/* Profile tab navigation (.profile-tab-nav custom tabs) */
[data-theme="dark"] .profile-tab-nav {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .profile-tab-btn {
    color: var(--dm-text-muted) !important;
    border-color: transparent !important;
}
[data-theme="dark"] .profile-tab-btn.active {
    color: var(--dm-red-strong) !important;
    border-bottom-color: var(--dm-red) !important;
    background: var(--dm-red-tint-2) !important;
}
[data-theme="dark"] .profile-tab-btn:hover:not(.active) {
    color: var(--dm-text) !important;
    background: var(--dm-red-tint) !important;
}

/* Profile tab bar — #object-nav / #subnav (Profile | Activity | Friends …) */
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #object-nav,
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #subnav {
    background: var(--dm-surface-2) !important;
    border-bottom: 1px solid var(--dm-border) !important;
}
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #object-nav a,
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #subnav a,
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #subnav span {
    color: var(--dm-text-soft) !important;
}
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #object-nav a:hover,
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #subnav a:hover {
    color: var(--dm-red-strong) !important;
    background: var(--dm-red-tint) !important;
}
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #object-nav li.current a,
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #object-nav li.selected a,
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #subnav li.current a,
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #subnav li.selected a {
    background: var(--dm-surface-4) !important;
    color: var(--dm-red-strong) !important;
}
/* Badge counters (friends count bubble) */
[data-theme="dark"] body.theme-anime.portal-page[data-page="profile"] #object-nav a span {
    background: var(--dm-red-dark) !important;
    color: #fff !important;
}

/* ─── Container / Header ─────────────────────────────────────────── */
[data-theme="dark"] body.theme-anime.portal-page #container,
[data-theme="dark"] body.theme-anime.portal-home #container {
    background: var(--dm-bg) !important;
    border: 1px solid var(--dm-border-soft) !important;
}

[data-theme="dark"] body.theme-anime.portal-page #header,
[data-theme="dark"] body.theme-anime.portal-home #header {
    background: var(--dm-bg) !important;
    color: var(--dm-text) !important;
}

[data-theme="dark"] .portal-banner {
    background: var(--dm-surface) !important;
    border-bottom: 2px solid var(--dm-red) !important;
}

[data-theme="dark"] .portal-tagline { color: var(--dm-text-muted); }
[data-theme="dark"] .portal-logo    { color: var(--dm-red-strong) !important; }
[data-theme="dark"] .portal-remilia-smiley svg { stroke: var(--dm-red) !important; }

/* ─── Navigation ─────────────────────────────────────────────────── */
[data-theme="dark"] .portal-nav {
    background: var(--dm-surface) !important;
    border: 1px solid var(--dm-border-red) !important;
}

[data-theme="dark"] .portal-nav-link {
    color: var(--dm-text) !important;
    background: transparent !important;
    border-right: 1px solid var(--dm-border) !important;
}

[data-theme="dark"] .portal-nav-link:hover {
    background: var(--dm-red-tint) !important;
    color: var(--dm-red-strong) !important;
}

[data-theme="dark"] .portal-nav-link.active {
    color: var(--dm-red-strong) !important;
    background: var(--dm-red-tint-2) !important;
    border-bottom: 2px solid var(--dm-red) !important;
}

[data-theme="dark"] .rem-lang-btn {
    color: var(--dm-red-strong);
    border-color: var(--dm-border-red);
}
[data-theme="dark"] .rem-lang-btn:hover,
[data-theme="dark"] .rem-lang-btn.active {
    background: var(--dm-red);
    color: var(--dm-bg);
}
[data-theme="dark"] .rem-lang-sep { color: var(--dm-text-muted); }

/* Ticker */
[data-theme="dark"] .rem-ticker-bar {
    background: var(--dm-surface) !important;
    border-top: 1px solid var(--dm-border) !important;
    border-bottom: 1px solid var(--dm-border) !important;
    color: var(--dm-text-soft);
}
[data-theme="dark"] .rem-ticker-bar::before {
    background: linear-gradient(90deg, var(--dm-surface) 40%, transparent) !important;
}
[data-theme="dark"] .rem-ticker-bar::after {
    background: linear-gradient(-90deg, var(--dm-surface) 40%, transparent) !important;
}
[data-theme="dark"] .rem-ticker-item { color: var(--dm-text-soft); }
[data-theme="dark"] .rem-ticker-sep  { color: var(--dm-red); }

/* ─── Main Content & Sidebar ─────────────────────────────────────── */
[data-theme="dark"] body.theme-anime .portal-content,
[data-theme="dark"] body.theme-anime.portal-page #content > .padder,
[data-theme="dark"] body.theme-anime.portal-home #content > .padder {
    background: var(--dm-bg) !important;
    border-right: 1px solid var(--dm-border) !important;
    color: var(--dm-text);
}

[data-theme="dark"] body.theme-anime .portal-sidebar {
    background: var(--dm-bg) !important;
    color: var(--dm-text);
    border-left: 1px solid var(--dm-border) !important;
}

[data-theme="dark"] body.theme-anime .portal-section,
[data-theme="dark"] body.theme-anime .sidebar-box {
    background: var(--dm-surface) !important;
    border: 1px solid var(--dm-border-soft) !important;
    border-bottom: 1px solid var(--dm-border) !important;
    color: var(--dm-text);
}

[data-theme="dark"] body.theme-anime .portal-page-title,
[data-theme="dark"] body.theme-anime .portal-section h2,
[data-theme="dark"] body.theme-anime .portal-section h3,
[data-theme="dark"] body.theme-anime .portal-section h4 {
    color: var(--dm-text);
}

[data-theme="dark"] body.theme-anime .sidebar-title {
    background: transparent !important;
    color: var(--dm-red-strong) !important;
    border-bottom: 1px solid var(--dm-border-red) !important;
}
[data-theme="dark"] body.theme-anime .sidebar-counter {
    background: transparent !important;
    color: var(--dm-red-strong) !important;
    border-color: var(--dm-border-soft) !important;
    box-shadow: none !important;
    outline: none !important;
}

[data-theme="dark"] .sidebar-links a {
    border-bottom: 1px solid var(--dm-border-soft);
    color: var(--dm-text);
}
[data-theme="dark"] .sidebar-links a:hover { color: var(--dm-red-strong); }

[data-theme="dark"] .sidebar-intro,
[data-theme="dark"] .sidebar-empty-note { color: var(--dm-text-soft); }

[data-theme="dark"] body.theme-anime .portal-empty-state {
    background: var(--dm-surface) !important;
    border: 1px dashed var(--dm-border) !important;
    color: var(--dm-text-soft) !important;
}

[data-theme="dark"] body.theme-anime .sidebar-user img {
    border-color: var(--dm-border-soft);
    background: transparent !important;
}
[data-theme="dark"] .sidebar-user strong { color: var(--dm-text); }
[data-theme="dark"] .sidebar-user div    { color: var(--dm-text-soft); }

[data-theme="dark"] body.theme-anime .top-chatter-slot {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    overflow: visible !important;
}
[data-theme="dark"] body.theme-anime .top-chatter-slot img {
    background: transparent !important;
    border-color: var(--dm-border) !important;
    box-shadow: none !important;
}
[data-theme="dark"] body.theme-anime .top-chatter-slot:hover img {
    border-color: var(--dm-red-strong) !important;
    box-shadow: 0 0 8px rgba(255, 107, 133, 0.2) !important;
}

[data-theme="dark"] body.theme-anime .partner-card,
[data-theme="dark"] body.theme-anime .error-card {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] body.theme-anime .partner-card a,
[data-theme="dark"] body.theme-anime .error-card a {
    color: var(--dm-text-soft) !important;
}

/* ─── Buttons ────────────────────────────────────────────────────── */
[data-theme="dark"] .green-btn,
[data-theme="dark"] body.theme-anime.portal-page .green-btn,
[data-theme="dark"] body.theme-anime.portal-home .green-btn {
    background: var(--dm-surface-2) !important;
    border: 1.5px solid var(--dm-border-red) !important;
    color: var(--dm-red-strong) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.45) !important;
}
[data-theme="dark"] .green-btn:hover,
[data-theme="dark"] body.theme-anime.portal-page .green-btn:hover,
[data-theme="dark"] body.theme-anime.portal-home .green-btn:hover {
    background: var(--dm-red) !important;
    color: var(--dm-bg) !important;
    border-color: var(--dm-red) !important;
    box-shadow: 0 4px 16px rgba(255, 107, 133, 0.32) !important;
}

[data-theme="dark"] .blue-btn {
    background: var(--dm-surface-2) !important;
    border: 1.5px solid var(--dm-border-red) !important;
    color: var(--dm-red-strong) !important;
}
[data-theme="dark"] .blue-btn:hover {
    background: var(--dm-red) !important;
    color: var(--dm-bg) !important;
}

/* ─── Inputs ─────────────────────────────────────────────────────── */
[data-theme="dark"] .header-search-input,
[data-theme="dark"] .header-search-scope,
[data-theme="dark"] .portal-search-input,
[data-theme="dark"] .portal-select,
[data-theme="dark"] .sidebar-input,
[data-theme="dark"] .text-input,
[data-theme="dark"] .textarea-input,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] textarea,
[data-theme="dark"] select {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
    border: 1px solid var(--dm-border) !important;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
    outline: none !important;
    border-color: var(--dm-red) !important;
    box-shadow: 0 0 0 2px var(--dm-red-tint) !important;
}

[data-theme="dark"] ::placeholder { color: var(--dm-text-muted) !important; opacity: 1; }

[data-theme="dark"] .header-search-button {
    background: var(--dm-surface-2) !important;
    color: var(--dm-red-strong) !important;
    border: 1.5px solid var(--dm-border-red) !important;
}
[data-theme="dark"] .header-search-button:hover {
    background: var(--dm-red) !important;
    color: var(--dm-bg) !important;
}

/* ─── Cards / News / Posts ───────────────────────────────────────── */
[data-theme="dark"] .news-post-card,
[data-theme="dark"] .portal-feature-card {
    background: var(--dm-surface) !important;
    border-top: 1px solid var(--dm-border-soft) !important;
    color: var(--dm-text);
}

[data-theme="dark"] .news-post-card h2,
[data-theme="dark"] .news-post-card h2 a,
[data-theme="dark"] .post .posttitle a,
[data-theme="dark"] .post .posttitle a:visited {
    color: var(--dm-text) !important;
}
[data-theme="dark"] .news-post-card h2 a:hover,
[data-theme="dark"] .post .posttitle a:hover { color: var(--dm-red-strong) !important; }

[data-theme="dark"] .post .date,
[data-theme="dark"] .post .postmetadata { color: var(--dm-text-muted); }
[data-theme="dark"] .post .postmetadata a { color: var(--dm-red-strong); }

[data-theme="dark"] body.theme-anime .news-home-stamp { 
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-soft) !important; 
    opacity: 1 !important; 
}
[data-theme="dark"] body.theme-anime .news-home-intro { border-bottom-color: var(--dm-border) !important; }
[data-theme="dark"] body.theme-anime .news-home-intro::after {
    background: var(--dm-surface) !important;
    color: var(--dm-text-soft) !important;
}

[data-theme="dark"] .portal-lead { color: var(--dm-text-soft); }

/* ─── Window panels ────────────────────────────── */
[data-theme="dark"] .window-panel,
[data-theme="dark"] .info-panel {
    background: var(--dm-surface) !important;
    border: 1.5px solid var(--dm-border-red) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.55) !important;
}

[data-theme="dark"] .window-title,
[data-theme="dark"] .history-title {
    background: var(--dm-surface-2) !important;
    border-bottom: 1.5px solid var(--dm-border-red) !important;
    color: var(--dm-red-strong) !important;
}

/* ─── Auth / Alerts ─────────────────────────────────────────────── */
[data-theme="dark"] .guest-entry-card {
    background: var(--dm-surface-2);
    border: 1px solid var(--dm-border);
}
[data-theme="dark"] .guest-entry-title { color: var(--dm-red-strong); }

[data-theme="dark"] .portal-alert {
    background: var(--dm-red-tint);
    border: 1px solid var(--dm-border-red);
    color: var(--dm-red-strong);
}
[data-theme="dark"] .portal-alert.error {
    background: rgba(255, 107, 133, 0.18);
    border-color: var(--dm-red);
    color: var(--dm-red-strong);
}

/* ─── Footer ─────────────────────────────────────────────────────── */
[data-theme="dark"] .portal-footer-classic {
    background: var(--dm-bg) !important;
    border-top: 1px solid var(--dm-border-soft) !important;
}
[data-theme="dark"] .portal-footer-classic p,
[data-theme="dark"] .portal-footer-classic a { color: var(--dm-text-muted) !important; }
[data-theme="dark"] .portal-footer-classic a:hover { color: var(--dm-red-strong) !important; }

[data-theme="dark"] .compact-auth-block label,
[data-theme="dark"] .auth-accordion summary,
[data-theme="dark"] .auth-accordion > summary { color: var(--dm-text-soft) !important; }

/* Tables */
[data-theme="dark"] table { color: var(--dm-text); }
[data-theme="dark"] table th {
    background: var(--dm-surface-2);
    color: var(--dm-text);
    border-bottom: 1px solid var(--dm-border);
}
[data-theme="dark"] table td { border-bottom: 1px solid var(--dm-border-soft); }
[data-theme="dark"] tr:hover td { background: var(--dm-overlay); }

[data-theme="dark"] hr { border: none; border-top: 1px solid var(--dm-border-soft); }

[data-theme="dark"] code,
[data-theme="dark"] pre {
    background: var(--dm-surface-2);
    color: var(--dm-text);
    border: 1px solid var(--dm-border-soft);
    border-radius: 3px;
    padding: 1px 4px;
}

[data-theme="dark"] .portal-mobile-backdrop { background: rgba(0,0,0,0.6); }
[data-theme="dark"] .portal-mobile-panel-head {
    background: var(--dm-surface);
    color: var(--dm-text);
    border-bottom: 1px solid var(--dm-border);
}

/* ─── Music player float button ──────────────────────────────────── */
[data-theme="dark"] .rem-music-btn,
[data-theme="dark"] body .rem-music-btn {
    background: var(--dm-surface-2) !important;
    border: 1.5px solid var(--dm-border-red) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.55) !important;
}
[data-theme="dark"] .rem-music-icon { color: var(--dm-red-strong) !important; }

/* Music player panel itself */
[data-theme="dark"] .rem-player {
    background: var(--dm-surface) !important;
    border: 1px solid var(--dm-border) !important;
    color: var(--dm-text);
}
[data-theme="dark"] .rem-player-titlebar {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-bottom: 1px solid var(--dm-border) !important;
}

/* ─── Social posts (notifications / profile feed) ────────────────── */
[data-theme="dark"] .social-post-card {
    background: var(--dm-surface) !important;
    border: 1px solid var(--dm-border-soft) !important;
    color: var(--dm-text);
}
[data-theme="dark"] .social-post-card:hover {
    border-color: var(--dm-border-red) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.45) !important;
}

[data-theme="dark"] .social-post-author-name { color: var(--dm-text) !important; }
[data-theme="dark"] .social-post-author-handle,
[data-theme="dark"] .social-post-time,
[data-theme="dark"] a.social-post-time { color: var(--dm-text-muted) !important; }

[data-theme="dark"] .social-post-body { color: #ffffff !important; }
[data-theme="dark"] .social-post-body p:not([style*="color"]),
[data-theme="dark"] body.theme-anime.portal-page .portal-card .social-post-body p:not([style*="color"]) { color: #ffffff !important; }
[data-theme="dark"] .social-post-body-link:hover .social-post-body {
    background: var(--dm-surface-2) !important;
}
[data-theme="dark"] .social-post-body a { color: var(--dm-red-strong) !important; }

[data-theme="dark"] .post-share-btn {
    background: transparent !important;
    color: var(--dm-text-muted) !important;
    /* opacity removed — rgba alpha handles transparency */
    box-shadow: none !important;
    border-radius: 12px !important;
}
[data-theme="dark"] .post-share-btn:hover {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

[data-theme="dark"] .social-post-avatar {
    border-color: var(--dm-border) !important;
    background: var(--dm-surface-2);
}
[data-theme="dark"] .social-post-image { border: 1px solid var(--dm-border-soft) !important; }

[data-theme="dark"] .social-post-actions {
    border-top: 1px solid var(--dm-border) !important;
}
[data-theme="dark"] .social-action-btn {
    color: var(--dm-text-soft) !important;
    background: transparent !important;
}
[data-theme="dark"] .social-action-btn:hover {
    background: var(--dm-overlay) !important;
    color: var(--dm-red-strong) !important;
}
[data-theme="dark"] .social-cited-card {
    background: var(--dm-surface-2) !important;
    border: 1px solid var(--dm-border) !important;
    color: var(--dm-text);
}
[data-theme="dark"] .social-cited-card .social-post-author-name { color: var(--dm-text) !important; }
[data-theme="dark"] .social-cited-card .social-post-body { color: var(--dm-text-soft) !important; }

[data-theme="dark"] .social-post-card .post-view-btn,
[data-theme="dark"] .social-post-card .post-eye-btn {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text-soft) !important;
    border-color: var(--dm-border) !important;
}

/* Notifications page section header */
[data-theme="dark"] .notif-section-title,
[data-theme="dark"] [class*="section-title"] { color: var(--dm-text-soft) !important; }

/* ─── Summernote rich text editor ────────────────────────────────── */
[data-theme="dark"] .note-editor.note-frame {
    background: var(--dm-surface-2) !important;
    border: 1px solid var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .note-editor .note-toolbar,
[data-theme="dark"] .note-popover .popover-content {
    background: var(--dm-surface) !important;
    border-bottom: 1px solid var(--dm-border) !important;
    color: var(--dm-text);
}
[data-theme="dark"] .note-editor .note-editing-area,
[data-theme="dark"] .note-editor .note-editable {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    caret-color: var(--dm-red-strong);
}
[data-theme="dark"] .note-editor .note-editable[placeholder]:empty::before,
[data-theme="dark"] .note-editor .note-placeholder {
    color: var(--dm-text-muted) !important;
}
[data-theme="dark"] .note-editor .note-statusbar {
    background: var(--dm-surface) !important;
    border-top: 1px solid var(--dm-border) !important;
}
[data-theme="dark"] .note-editor .note-statusbar .note-resizebar {
    background: var(--dm-surface) !important;
}
[data-theme="dark"] .note-editor .note-statusbar .note-resizebar .note-icon-bar {
    border-color: var(--dm-text-muted) !important;
}
[data-theme="dark"] .note-editor .note-toolbar .note-btn,
[data-theme="dark"] .note-editor .note-toolbar .dropdown-toggle,
[data-theme="dark"] .note-popover .popover-content .note-btn {
    background: transparent !important;
    color: var(--dm-text) !important;
    border: 1px solid transparent !important;
}
[data-theme="dark"] .note-editor .note-toolbar .note-btn:hover,
[data-theme="dark"] .note-editor .note-toolbar .dropdown-toggle:hover,
[data-theme="dark"] .note-popover .popover-content .note-btn:hover {
    background: var(--dm-surface-3) !important;
    color: var(--dm-red-strong) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .note-editor .note-toolbar .note-btn.active,
[data-theme="dark"] .note-editor .note-toolbar .note-btn:active {
    background: var(--dm-surface-3) !important;
    color: var(--dm-red-strong) !important;
}
[data-theme="dark"] .note-editor .dropdown-menu,
[data-theme="dark"] .note-popover .dropdown-menu {
    background: var(--dm-surface-2) !important;
    border: 1px solid var(--dm-border) !important;
    color: var(--dm-text) !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.55) !important;
}
[data-theme="dark"] .note-editor .dropdown-menu a,
[data-theme="dark"] .note-popover .dropdown-menu a,
[data-theme="dark"] .note-editor .dropdown-menu li > a,
[data-theme="dark"] .note-popover .dropdown-menu li > a {
    color: var(--dm-text) !important;
    background: transparent !important;
}
[data-theme="dark"] .note-editor .dropdown-menu a:hover,
[data-theme="dark"] .note-popover .dropdown-menu a:hover {
    background: var(--dm-surface-3) !important;
    color: var(--dm-red-strong) !important;
}
[data-theme="dark"] .note-editor .note-color .dropdown-menu,
[data-theme="dark"] .note-popover .note-color .dropdown-menu {
    background: var(--dm-surface-2) !important;
    border: 1px solid var(--dm-border) !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.55) !important;
}
[data-theme="dark"] .note-modal-content {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
    border: 1px solid var(--dm-border) !important;
}
[data-theme="dark"] .note-modal-header,
[data-theme="dark"] .note-modal-footer {
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .note-modal-title { color: var(--dm-text) !important; }
[data-theme="dark"] .note-modal .form-group label { color: var(--dm-text-soft) !important; }
[data-theme="dark"] .note-modal .form-control {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
    border: 1px solid var(--dm-border) !important;
}

/* ─────────────────────────────────────────────────────────────────
 * Theme Toggle Button (bottom-left)
 * Clean iOS-style pill switch. Uses high-contrast thumb so it's
 * always visible: dark thumb on light track, light thumb on dark.
 * ───────────────────────────────────────────────────────────────── */
.rc-theme-toggle {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 99998;
    width: 60px;
    height: 34px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.08);
    background: linear-gradient(180deg, #f1f3f5 0%, #e3e7ec 100%);
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,0.10),
        inset 0 -1px 0 rgba(255,255,255,0.6),
        0 4px 14px rgba(20, 30, 50, 0.18);
    cursor: pointer;
    overflow: visible;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background 0.3s ease;

    -webkit-appearance: none;
    appearance: none;
    font: inherit;
    color: inherit;
    line-height: 1;
}

.rc-theme-toggle:hover {
    transform: translateY(-2px);
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,0.10),
        inset 0 -1px 0 rgba(255,255,255,0.6),
        0 8px 22px rgba(20, 30, 50, 0.28),
        0 0 0 4px rgba(255, 200, 80, 0.12);
}

.rc-theme-toggle:active {
    transform: translateY(-1px) scale(0.97);
}

.rc-theme-toggle:focus-visible {
    outline: none;
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,0.10),
        0 0 0 3px rgba(120,160,255,0.45);
}

.rc-theme-toggle .rc-tt-bg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: rgba(60, 70, 90, 0.35);
    pointer-events: none;
    transition: color 0.25s ease, opacity 0.25s ease;
}
.rc-theme-toggle .rc-tt-bg.is-sun  { left: 9px;  }
.rc-theme-toggle .rc-tt-bg.is-moon { right: 9px; }
.rc-theme-toggle .rc-tt-bg svg { width: 100%; height: 100%; display: block; }

.rc-theme-toggle .rc-tt-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #2c3548 0%, #1a2235 70%, #0d1422 100%);
    border: 1px solid rgba(0,0,0,0.20);
    box-shadow:
        0 2px 6px rgba(10, 20, 40, 0.45),
        inset 0 1px 0 rgba(255,255,255,0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    transition:
        transform 0.42s cubic-bezier(.34, 1.56, .64, 1),
        background 0.3s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
    pointer-events: none;
    overflow: hidden;
}

.rc-theme-toggle .rc-tt-icon {
    position: absolute;
    width: 18px;
    height: 18px;
    color: #ffd672;
    transition: opacity 0.3s ease, transform 0.42s cubic-bezier(.34, 1.56, .64, 1), color 0.3s ease;
}
.rc-theme-toggle .rc-tt-icon svg { width: 100%; height: 100%; display: block; }

.rc-theme-toggle .rc-tt-icon.is-sun  { opacity: 1; transform: scale(1) rotate(0deg); }
.rc-theme-toggle .rc-tt-icon.is-moon { opacity: 0; transform: scale(0.5) rotate(-45deg); }

.rc-theme-toggle .rc-tt-bg.is-sun  { opacity: 0.55; }
.rc-theme-toggle .rc-tt-bg.is-moon { opacity: 0.85; }

[data-theme="dark"] .rc-theme-toggle {
    background: #1c1c1e !important;
    border-color: #111 !important;
    box-shadow:
        inset 0 2px 5px rgba(0,0,0,0.5),
        inset 0 -1px 1px rgba(255,255,255,0.05),
        0 1px 1px rgba(255,255,255,0.02) !important;
}
[data-theme="dark"] .rc-theme-toggle:hover {
    box-shadow:
        inset 0 2px 6px rgba(0,0,0,0.7),
        inset 0 -1px 1px rgba(255,255,255,0.05),
        0 0 0 3px rgba(255,255,255,0.02) !important;
}
[data-theme="dark"] .rc-theme-toggle .rc-tt-bg.is-sun  { opacity: 1 !important; color: #4a4a4c !important; }
[data-theme="dark"] .rc-theme-toggle .rc-tt-bg.is-moon { opacity: 0 !important; }

[data-theme="dark"] .rc-theme-toggle .rc-tt-thumb {
    transform: translateX(26px) !important;
    background: linear-gradient(180deg, #3a3a3c 0%, #2c2c2e 100%) !important;
    border-color: #222 !important;
    box-shadow:
        inset 0 1px 1px rgba(255,255,255,0.1),
        0 2px 5px rgba(0,0,0,0.3) !important;
}
[data-theme="dark"] .rc-theme-toggle .rc-tt-icon.is-sun  { opacity: 0; transform: scale(0.5) rotate(45deg); }
[data-theme="dark"] .rc-theme-toggle .rc-tt-icon.is-moon { opacity: 1; transform: scale(1.15) rotate(-15deg); color: #ffffff !important; }

.rc-theme-toggle::after {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 999px;
    box-shadow: 0 0 0 0 rgba(255, 220, 130, 0);
    pointer-events: none;
}
.rc-theme-toggle.is-pulsing::after {
    animation: rc-tt-ripple 0.55s ease-out;
}
[data-theme="dark"] .rc-theme-toggle.is-pulsing::after {
    animation: rc-tt-ripple-dark 0.55s ease-out;
}

@keyframes rc-tt-ripple {
    0%   { box-shadow: 0 0 0 0   rgba(255, 200, 110, 0.45); }
    100% { box-shadow: 0 0 0 14px rgba(255, 200, 110, 0); }
}
@keyframes rc-tt-ripple-dark {
    0%   { box-shadow: 0 0 0 0   rgba(170, 190, 230, 0.40); }
    100% { box-shadow: 0 0 0 14px rgba(170, 190, 230, 0); }
}

@keyframes rc-tt-breath {
    0%, 100% { box-shadow:
        inset 0 1px 2px rgba(0,0,0,0.10),
        inset 0 -1px 0 rgba(255,255,255,0.6),
        0 4px 14px rgba(20, 30, 50, 0.18); }
    50%      { box-shadow:
        inset 0 1px 2px rgba(0,0,0,0.10),
        inset 0 -1px 0 rgba(255,255,255,0.6),
        0 6px 18px rgba(20, 30, 50, 0.26); }
}
@keyframes rc-tt-breath-dark {
    0%, 100% { box-shadow:
        inset 0 1px 2px rgba(0,0,0,0.6),
        inset 0 -1px 0 rgba(255,255,255,0.04),
        0 4px 14px rgba(0,0,0,0.55); }
    50%      { box-shadow:
        inset 0 1px 2px rgba(0,0,0,0.6),
        inset 0 -1px 0 rgba(255,255,255,0.04),
        0 6px 18px rgba(0,0,0,0.65); }
}
.rc-theme-toggle:not(:hover):not(:active) {
    animation: rc-tt-breath 4.5s ease-in-out infinite;
}
[data-theme="dark"] .rc-theme-toggle:not(:hover):not(:active) {
    animation: rc-tt-breath-dark 4.5s ease-in-out infinite;
}


@media (prefers-reduced-motion: reduce) {
    .rc-theme-toggle,
    .rc-theme-toggle .rc-tt-thumb,
    .rc-theme-toggle .rc-tt-icon,
    .rc-theme-toggle::after {
        transition: none !important;
        animation: none !important;
    }
}

/* ── 2D Chat dark mode ────────────────────────────────────────────────────── */

/* Page layout — these are the big white areas around and behind the stage */
[data-theme="dark"] .app-wrap,
[data-theme="dark"] .main-stage {
    background: var(--dm-bg) !important;
}

/* Top nav bar */
[data-theme="dark"] .chat-admin-bar,
[data-theme="dark"] #wp-admin-bar.chat-admin-bar,
[data-theme="dark"] .chat-admin-bar .padder {
    background: var(--dm-surface) !important;
    border-bottom-color: var(--dm-border-red) !important;
}
[data-theme="dark"] .chat-admin-bar .main-nav a,
[data-theme="dark"] #wp-admin-bar .main-nav a {
    color: var(--dm-text-soft) !important;
}
[data-theme="dark"] .chat-admin-bar .main-nav a:hover,
[data-theme="dark"] #wp-admin-bar .main-nav a:hover {
    color: var(--dm-red) !important;
}
[data-theme="dark"] #admin-bar-logo { color: var(--dm-red) !important; }

/* Panel bodies — all white panel content areas */
[data-theme="dark"] .panel-body {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .panel-label {
    color: var(--dm-text-muted) !important;
}

/* Online / Rooms / simple lists */
[data-theme="dark"] .simple-list,
[data-theme="dark"] .rooms-list,
[data-theme="dark"] .classic-room-list,
[data-theme="dark"] .classic-online-list {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}

/* Classic room info inside rooms panel */
[data-theme="dark"] .classic-room-info {
    background: var(--dm-surface) !important;
    color: var(--dm-text-soft) !important;
}
[data-theme="dark"] .classic-room-info a { color: var(--dm-red) !important; }

/* Chat history text — all message content */
[data-theme="dark"] .history-body,
[data-theme="dark"] #historyBody,
[data-theme="dark"] .chatlogcontent {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] body[data-page="chat"] .history-message .message-text,
[data-theme="dark"] body[data-page="chat"] .history-message .message-head,
[data-theme="dark"] body[data-page="chat"] .history-message .message-head .username,
[data-theme="dark"] body[data-page="chat"] .history-message .history-notice-text,
[data-theme="dark"] body[data-page="chat"] .history-message .message-time,
[data-theme="dark"] .history-body p,
[data-theme="dark"] .history-body p * {
    color: var(--dm-text) !important;
}
[data-theme="dark"] .history-footer {
    background: var(--dm-surface-2) !important;
    border-top-color: var(--dm-border) !important;
    color: var(--dm-text-muted) !important;
}

/* Text / textarea inputs in panels */
[data-theme="dark"] .text-input,
[data-theme="dark"] .textarea-input {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .text-input:focus,
[data-theme="dark"] .textarea-input:focus {
    border-color: var(--dm-red) !important;
    box-shadow: 0 0 0 2px rgba(255,107,133,.18) !important;
}

/* DM panel internals */
[data-theme="dark"] #dmsPanel,
[data-theme="dark"] #dmsPanel .dm-sidebar {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] #dmsPanel .dm-thread-shell {
    background: var(--dm-surface-2) !important;
}
[data-theme="dark"] #dmsPanel .dm-composer {
    border-top-color: var(--dm-border) !important;
    background: var(--dm-surface) !important;
}
[data-theme="dark"] .dm-side-header {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .dm-thread-head {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text-soft) !important;
    border-color: var(--dm-border) !important;
}

/* Rental options text in create room form */
[data-theme="dark"] .rental-option {
    color: var(--dm-text) !important;
}

[data-theme="dark"] #toolbar,
[data-theme="dark"] .floating-sidebar {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .7) !important;
}

[data-theme="dark"] .toolbar-handle {
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .side-btn {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

[data-theme="dark"] .side-btn:hover,
[data-theme="dark"] .side-btn.active {
    background: var(--dm-surface-4) !important;
    border-color: var(--dm-border-red) !important;
    color: var(--dm-red) !important;
}

[data-theme="dark"] .side-badge {
    background: var(--dm-red) !important;
    color: #fff !important;
}

[data-theme="dark"] .bottom-bar {
    background: var(--dm-surface) !important;
    border-top-color: var(--dm-border) !important;
}

[data-theme="dark"] .chat-line {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .chat-line:focus {
    border-color: var(--dm-red) !important;
    box-shadow: 0 0 0 2px rgba(255, 107, 133, .18) !important;
}

[data-theme="dark"] .send-btn {
    background: var(--dm-red) !important;
    border-color: var(--dm-red-dark) !important;
    color: #fff !important;
}

[data-theme="dark"] .send-btn:hover {
    background: var(--dm-red-dark) !important;
}

[data-theme="dark"] .bottom-bar .icon-btn,
[data-theme="dark"] .bottom-bar .tool-btn,
[data-theme="dark"] .emoji-btn,
[data-theme="dark"] #attachImageButton {
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .bottom-bar .icon-btn:hover,
[data-theme="dark"] .bottom-bar .tool-btn:hover,
[data-theme="dark"] .emoji-btn:hover,
[data-theme="dark"] #attachImageButton:hover {
    color: var(--dm-red) !important;
}

/* .chat-bubble intentionally NOT overridden — users set their own bubble colors */

[data-theme="dark"] #roomMetaBar,
[data-theme="dark"] #roomBadge {
    background: rgba(13, 17, 23, .88) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .room-meta-title,
[data-theme="dark"] .room-meta-sub {
    color: var(--dm-text) !important;
}

[data-theme="dark"] .user-corner {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

[data-theme="dark"] .fieldOverlay {
    background: rgba(13, 17, 23, .40) !important;
}

[data-theme="dark"] .bottom-bar .reply-preview,
[data-theme="dark"] .reply-preview {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .message-input-row {
    background: transparent !important;
}

[data-theme="dark"] #videoBottomControl {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

[data-theme="dark"] .volume-popup,
[data-theme="dark"] .music-popup {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* Sidebar Accordions */
[data-theme="dark"] body.theme-anime .auth-accordion {
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] body.theme-anime .auth-accordion-body,
[data-theme="dark"] body.theme-anime .portal-guest-form,
[data-theme="dark"] body.theme-anime .auth-accordion form {
    background: var(--dm-surface-2) !important;
}
[data-theme="dark"] body.theme-anime .auth-accordion summary {
    color: var(--dm-text-soft) !important;
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
}

/* Headings Visibility */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5 {
    color: var(--dm-text) !important;
}

/* Status Page Stats Boxes */
[data-theme="dark"] .rem-status-grid > div,
[data-theme="dark"] .status-grid > div,
[data-theme="dark"] .server-status-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* Room Directory Cards */
[data-theme="dark"] .room-card,
[data-theme="dark"] .admin-room-card,
[data-theme="dark"] .room-card-bottom {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* Group Directory Items */
[data-theme="dark"] .rem-group,
[data-theme="dark"] .group-card,
[data-theme="dark"] .group-item {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* Pagination and Info bars */
[data-theme="dark"] .pagination,
[data-theme="dark"] .pagination a,
[data-theme="dark"] .pagination span,
[data-theme="dark"] .page-info,
[data-theme="dark"] .rem-page-info {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* Activity List Contrast */
[data-theme="dark"] .activity-list li,
[data-theme="dark"] .rem-activity,
[data-theme="dark"] .activity-desc,
[data-theme="dark"] .activity-time {
    color: var(--dm-text-soft) !important;
}

[data-theme="dark"] .rem-player .player-content,
[data-theme="dark"] .rem-player .track-list,
[data-theme="dark"] .rem-player .music-scrollbar,
[data-theme="dark"] .rem-player::-webkit-scrollbar {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
}

/* Form Elements */
[data-theme="dark"] select option,
[data-theme="dark"] select optgroup {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
}

/* 1. Toggle Button Refinements */
/* 2. Remember Me Checkbox */
[data-theme="dark"] body.theme-anime .cbx,
[data-theme="dark"] input[type="checkbox"] {
    background-color: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] body.theme-anime .remember-checkbox:checked + .remember-toggle .cbx,
[data-theme="dark"] input[type="checkbox"]:checked {
    background-color: var(--dm-red) !important;
}
[data-theme="dark"] body.theme-anime .lbl { color: var(--dm-text-soft) !important; }
[data-theme="dark"] body.theme-anime .remember-checkbox:focus-visible + .remember-toggle .cbx,
[data-theme="dark"] body.theme-anime .remember-toggle:hover .cbx {
    border-color: var(--dm-red-strong) !important;
    box-shadow: 0 0 0 4px rgba(255, 107, 133, 0.15) !important;
}

/* 3. Music Player Details */
[data-theme="dark"] .rem-player-tbtn,
[data-theme="dark"] .rem-btn,
[data-theme="dark"] .rem-player-lcd,
[data-theme="dark"] .music-controls button {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .rem-player-tbtn:hover {
    box-shadow: none !important;
    background: var(--dm-surface-4) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .rem-player .track.active,
[data-theme="dark"] .rem-player .track:hover {
    background: var(--dm-surface-4) !important;
    color: var(--dm-red-strong) !important;
}

/* 4. Horizontal Separators */
[data-theme="dark"] hr,
[data-theme="dark"] .portal-divider {
    border-color: var(--dm-border) !important;
    background-color: transparent !important;
}
[data-theme="dark"] body.theme-anime.portal-page[data-page="shop"] .portal-card + .portal-card,
[data-theme="dark"] body.theme-anime.portal-page[data-page="marketplace"] .portal-card + .portal-card,
[data-theme="dark"] body.theme-anime.portal-page[data-page="groups"] .portal-card + .portal-card,
[data-theme="dark"] body.theme-anime.portal-page[data-page="forums"] .portal-card + .portal-card {
    border-top-color: var(--dm-border) !important;
}

/* 5. Forums */
[data-theme="dark"] .forum-topic,
[data-theme="dark"] .forum-row,
[data-theme="dark"] .forum-info,
[data-theme="dark"] .topic-row {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .forum-topic:hover,
[data-theme="dark"] .forum-row:hover,
[data-theme="dark"] .topic-row:hover {
    background: var(--dm-surface-3) !important;
}

/* 6. Groups Filter Button & Cards */
[data-theme="dark"] .group-filter,
[data-theme="dark"] .group-filter-btn {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* 7. Member Badges */
[data-theme="dark"] .member-preview-badge,
[data-theme="dark"] .status-badge,
[data-theme="dark"] .side-badge,
[data-theme="dark"] .inline-badge {
    background: var(--dm-surface-4) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* 8. Shop */
[data-theme="dark"] .shop-pill,
[data-theme="dark"] .shop-card,
[data-theme="dark"] .shop-icon,
[data-theme="dark"] .shop-meta,
[data-theme="dark"] .shop-stock {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .shop-icon img {
    background: transparent !important;
}
