/* ============================================================================
   LOREBENCH WINDOWS 95 THEME
   ============================================================================
   Authentic Windows 95 aesthetic with teal desktop background, classic
   window chrome, raised/sunken 3D borders, and MS Sans Serif typography.
   ============================================================================ */

:root[data-theme="win95"] {
    /* Windows 95 Classic Colors */
    --w95-silver: #c0c0c0;
    --w95-silver-light: #dfdfdf;
    --w95-silver-dark: #808080;
    --w95-navy: #000080;
    --w95-teal: #008080;
    --w95-white: #ffffff;
    --w95-black: #000000;
    --w95-blue-link: #0000ff;

    /* Override CRT green variables with Windows blue */
    --xf-green: #000080;
    --xf-green-dim: #000060;

    /* Win95 3D Border Colors */
    --w95-border-light: #ffffff;
    --w95-border-dark: #808080;
    --w95-border-darker: #404040;

    /* Dark mode panel colors */
    --w95-panel-bg: #1a1a1a;
    --w95-panel-light: #2a2a2a;
    --w95-panel-dark: #0a0a0a;
    --w95-sunken-bg: #141414;

    /* PRIMARY ACCENT COLOR - Classic Windows Navy Blue */
    --lb-accent-primary: #000080;
    --lb-accent-primary-light: #1084d0;
    --lb-accent-primary-dark: #000060;
    --lb-accent-primary-darker: #000040;

    /* BACKGROUND COLORS */
    --lb-bg-base: var(--w95-teal);
    --lb-bg-elevated: #1a1a1a;
    --lb-bg-elevated-1: #1e1e1e;
    --lb-bg-elevated-2: #222222;
    --lb-bg-elevated-3: #2a2a2a;
    --lb-bg-input: #0a0a0a;
    --lb-bg-hover: rgba(0, 204, 51, 0.1);
    --bg-tertiary: #1a1a1a;
    --bg-primary: #141414;

    /* BORDER COLORS */
    --lb-border-subtle: #2a2a2a;
    --lb-border-default: #3a3a3a;
    --lb-border-strong: #4a4a4a;
    --lb-border-focus: var(--lb-accent-primary);

    /* TEXT COLORS */
    --lb-text-primary: #c0c0c0;
    --lb-text-secondary: #a0a0a0;
    --lb-text-muted: #707070;
    --lb-text-subtle: #505050;
    --lb-text-inverse: #000000;

    /* STATE COLORS */
    --lb-success: #008000;
    --lb-error: #ff3333;
    --lb-error-bg: #1a0808;
    --lb-error-border: #4a1010;
    --lb-warning: #ffcc00;
    --lb-info: var(--w95-teal);

    /* COMPONENT-SPECIFIC */
    --lb-card-bg: #1a1a1a;
    --lb-card-border: #2a2a2a;
    --lb-card-header-bg: linear-gradient(90deg, #000080 0%, #1084d0 100%);

    /* INTERACTIVE ELEMENTS */
    --lb-button-primary-bg: #c0c0c0;
    --lb-button-primary-hover: #d4d4d4;
    --lb-button-primary-text: #000000;
    --lb-button-secondary-bg: #2a2a2a;
    --lb-button-secondary-hover: #3a3a3a;
    --lb-button-secondary-text: #c0c0c0;

    /* RATING SYSTEM */
    --lb-rating-fill: var(--lb-accent-primary);
    --lb-rating-empty: #2a2a2a;
    --lb-rating-hover: var(--lb-accent-primary-light);

    /* SHADOWS */
    --lb-shadow-sm: 2px 2px 0 rgba(0, 0, 0, 0.5);
    --lb-shadow-md: 4px 4px 0 rgba(0, 0, 0, 0.5);
    --lb-shadow-lg: 6px 6px 0 rgba(0, 0, 0, 0.5);

    /* ========================================================================
       BACKWARDS COMPATIBILITY MAPPINGS
       ======================================================================== */
    --primary-color: var(--lb-accent-primary);
    --primary-hover: var(--lb-accent-primary-light);
    --bg-secondary: var(--lb-bg-elevated-2);
    --bg-card: var(--lb-bg-elevated);
    --bg-hover: var(--lb-bg-hover);
    --border-color: var(--lb-border-default);
    --text-primary: var(--lb-text-primary);
    --text-secondary: var(--lb-text-secondary);
    --text-muted: var(--lb-text-muted);

    /* UX Component Mappings */
    --ux-bg: var(--lb-bg-base);
    --ux-text: var(--lb-text-primary);
}

/* ============================================================================
   WINDOWS 95 SPECIFIC STYLING
   ============================================================================ */

/* Classic teal desktop background */
:root[data-theme="win95"] body {
    background: var(--w95-teal);
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

/* Main content area - Win95 window on teal desktop */
:root[data-theme="win95"] .ww-layout {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.3);
    margin: 8px;
    margin-bottom: 48px; /* Space for taskbar */
    min-height: calc(100vh - 56px);
    position: relative;
}

/* Hide default top bar in Win95 theme on desktop - taskbar replaces it */
:root[data-theme="win95"] .ww-topbar {
    display: none !important;
}

/* On mobile, show topbar for hamburger navigation */
@media (max-width: 768px) {
    :root[data-theme="win95"] .ww-topbar {
        display: block !important;
        background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
        border-bottom: 2px solid #808080;
        position: relative;
        top: auto;
    }

    :root[data-theme="win95"] .ww-topbar-content {
        padding: 0 0.5rem;
    }

    :root[data-theme="win95"] .ww-logo {
        color: #ffffff !important;
        font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    }

    /* Style hamburger for Win95 */
    :root[data-theme="win95"] .mobile-nav-toggle {
        background: #c0c0c0;
        border: 2px solid;
        border-color: #ffffff #808080 #808080 #ffffff;
        border-radius: 0;
    }

    :root[data-theme="win95"] .hamburger-line {
        background: #000000;
    }

    /* Adjust layout margin for mobile - no taskbar */
    :root[data-theme="win95"] .ww-layout {
        margin: 0;
        margin-bottom: 0;
        min-height: 100vh;
        border: none;
        box-shadow: none;
    }
}

/* ============================================================================
   WIN95 WINDOW FRAME STYLING
   ============================================================================ */

/* Main content gets a window header bar */
:root[data-theme="win95"] .ww-main-content {
    background: #c0c0c0;
    padding: 0;
}

/* Win95 window frame for cards */
:root[data-theme="win95"] .ux-card,
:root[data-theme="win95"] .collapsible-section,
:root[data-theme="win95"] .infobox,
:root[data-theme="win95"] .sidebar-card,
:root[data-theme="win95"] .dashboard-section {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
    position: relative;
    padding: 0;
    overflow: hidden;
}

/* Win95 title bar for sections */
:root[data-theme="win95"] .section-header,
:root[data-theme="win95"] .sidebar-header,
:root[data-theme="win95"] .sidebar-card > h3:first-child {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 2px 4px;
    margin: 0;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 11px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 18px;
}

/* Add window control buttons look to sections */
:root[data-theme="win95"] .section-header::after,
:root[data-theme="win95"] .sidebar-card > h3:first-child::after {
    content: '▢ ╳';
    font-size: 8px;
    letter-spacing: 4px;
    color: #000000;
    background: #c0c0c0;
    padding: 1px 3px;
    border: 1px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    margin-left: auto;
}

:root[data-theme="win95"] .section-header h2,
:root[data-theme="win95"] .sidebar-header h3 {
    color: #ffffff;
    font-size: 11px;
    margin: 0;
    text-shadow: none;
}

/* Sunken content area inside windows */
:root[data-theme="win95"] .dashboard-section > *:not(.section-header),
:root[data-theme="win95"] .sidebar-card > *:not(h3):not(.sidebar-header) {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
}

/* Fix nested elements in sunken areas */
:root[data-theme="win95"] .recent-work-grid,
:root[data-theme="win95"] .activity-feed,
:root[data-theme="win95"] .universe-list,
:root[data-theme="win95"] .quick-stats,
:root[data-theme="win95"] .quick-links {
    background: transparent;
    border: none;
    margin: 0;
    padding: 0;
}

/* ============================================================================
   WIN95 ENTITY CARDS - Chunky raised border look
   ============================================================================ */

:root[data-theme="win95"] .work-card,
:root[data-theme="win95"] .activity-item,
:root[data-theme="win95"] .universe-item {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
    color: #000000;
    padding: 8px;
    transition: none;
}

:root[data-theme="win95"] .work-card:hover,
:root[data-theme="win95"] .activity-item:hover,
:root[data-theme="win95"] .universe-item:hover {
    background: #d4d4d4;
    border-color: #ffffff #808080 #808080 #ffffff;
    transform: none;
}

:root[data-theme="win95"] .work-icon,
:root[data-theme="win95"] .activity-icon {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    border-radius: 0;
}

:root[data-theme="win95"] .work-type,
:root[data-theme="win95"] .activity-type {
    color: #000080;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 10px;
}

:root[data-theme="win95"] .work-name,
:root[data-theme="win95"] .activity-title,
:root[data-theme="win95"] .universe-name {
    color: #000000;
    font-weight: bold;
}

:root[data-theme="win95"] .work-time,
:root[data-theme="win95"] .activity-time,
:root[data-theme="win95"] .universe-count {
    color: #808080;
}

/* Classic Windows 95 Buttons */
:root[data-theme="win95"] .btn,
:root[data-theme="win95"] button,
:root[data-theme="win95"] .btn-create,
:root[data-theme="win95"] .btn-secondary,
:root[data-theme="win95"] .btn-small {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    color: #000000;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-weight: normal;
    text-transform: none;
    box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #404040;
    transition: none;
    padding: 4px 12px;
}

:root[data-theme="win95"] .btn:hover,
:root[data-theme="win95"] button:hover,
:root[data-theme="win95"] .btn-create:hover,
:root[data-theme="win95"] .btn-secondary:hover,
:root[data-theme="win95"] .btn-small:hover {
    background: #d4d4d4;
    color: #000000;
    text-shadow: none;
    transform: none;
    box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #404040;
}

:root[data-theme="win95"] .btn:active,
:root[data-theme="win95"] button:active,
:root[data-theme="win95"] .btn-create:active,
:root[data-theme="win95"] .btn-secondary:active,
:root[data-theme="win95"] .btn-small:active {
    border-color: #808080 #ffffff #ffffff #808080;
    box-shadow: inset 1px 1px 0 #404040, inset -1px -1px 0 #dfdfdf;
    padding: 5px 11px 3px 13px;
}

/* Inputs - Win95 sunken panel style */
:root[data-theme="win95"] input,
:root[data-theme="win95"] textarea,
:root[data-theme="win95"] select,
:root[data-theme="win95"] .form-control {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    border-radius: 0;
    color: #000000;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    box-shadow: inset 1px 1px 0 #404040;
    padding: 4px 6px;
}

:root[data-theme="win95"] input::placeholder,
:root[data-theme="win95"] textarea::placeholder {
    color: #808080;
}

:root[data-theme="win95"] input:focus,
:root[data-theme="win95"] textarea:focus,
:root[data-theme="win95"] select:focus,
:root[data-theme="win95"] .form-control:focus {
    border-color: #808080 #ffffff #ffffff #808080;
    box-shadow: inset 1px 1px 0 #404040;
    outline: 1px dotted #000000;
    outline-offset: -4px;
}

/* Links - Classic Win95 blue underlined */
:root[data-theme="win95"] a {
    color: #0000ff;
    text-decoration: underline;
    transition: none;
}

:root[data-theme="win95"] a:hover {
    color: #0000ff;
    text-shadow: none;
}

:root[data-theme="win95"] a:visited {
    color: #800080;
}

/* Section links and special links keep green accent */
:root[data-theme="win95"] .section-link,
:root[data-theme="win95"] .add-link,
:root[data-theme="win95"] .view-all-link {
    color: #0000ff;
    text-decoration: underline;
}

/* Quick links in sidebar */
:root[data-theme="win95"] .quick-link {
    color: #0000ff;
    text-decoration: underline;
    background: transparent;
    padding: 4px 8px;
    border-radius: 0;
}

:root[data-theme="win95"] .quick-link:hover {
    background: #000080;
    color: #ffffff;
}

/* Logo - FBI case file aesthetic */
:root[data-theme="win95"] .ww-logo {
    color: var(--w95-silver);
    font-family: 'Courier New', 'Consolas', monospace;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

:root[data-theme="win95"] .ww-logo:hover {
    color: var(--xf-green);
    text-shadow: 0 0 10px rgba(0, 255, 65, 0.6);
}

/* Badge styling - classified file look */
:root[data-theme="win95"] .pillar-badge,
:root[data-theme="win95"] .badge,
:root[data-theme="win95"] .collapsible-count {
    background: #1a1a1a;
    color: var(--xf-green);
    font-family: 'Courier New', 'Consolas', monospace;
    font-weight: bold;
    border-radius: 0;
    border: 1px solid var(--xf-green-dim);
    box-shadow: 0 0 8px rgba(0, 255, 65, 0.2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Header bar - Win95 title bar meets FBI database */
:root[data-theme="win95"] .ww-topbar {
    background: linear-gradient(90deg,
        #000080 0%,
        #1084d0 50%,
        #000080 100%
    );
    border-bottom: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 2px 8px rgba(0, 0, 0, 0.5);
    position: sticky;
    top: 0;
    z-index: 100;
}

/* Win95 title bar pattern */
:root[data-theme="win95"] .ww-topbar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(
        90deg,
        transparent 0px,
        transparent 2px,
        rgba(0, 0, 0, 0.1) 2px,
        rgba(0, 0, 0, 0.1) 4px
    );
    pointer-events: none;
}

/* Navigation links - Win95 menu style */
:root[data-theme="win95"] .ww-nav-link {
    color: var(--w95-white);
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}

:root[data-theme="win95"] .ww-nav-link:hover {
    color: var(--xf-green);
    text-shadow:
        1px 1px 0 rgba(0, 0, 0, 0.5),
        0 0 10px rgba(0, 255, 65, 0.5);
}

:root[data-theme="win95"] .ww-nav-link.active {
    color: var(--xf-green);
    text-shadow: 0 0 10px rgba(0, 255, 65, 0.6);
}

/* Sidebar - case file drawer */
:root[data-theme="win95"] .ww-sidebar {
    background: #141414;
    border-right: 2px solid;
    border-color: #3a3a3a #1a1a1a #1a1a1a #3a3a3a;
    box-shadow:
        inset -1px 0 0 #0a0a0a,
        2px 0 10px rgba(0, 0, 0, 0.5);
}

:root[data-theme="win95"] .ww-sidebar-link {
    color: var(--w95-silver);
    border-radius: 0;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

:root[data-theme="win95"] .ww-sidebar-link:hover {
    background: rgba(0, 255, 65, 0.1);
    color: var(--xf-green);
}

:root[data-theme="win95"] .ww-sidebar-link.active {
    background: #000080;
    color: var(--w95-white);
    border: 1px dotted var(--xf-green);
}

/* Scrollbar - Win95 style */
:root[data-theme="win95"] ::-webkit-scrollbar {
    width: 16px;
    height: 16px;
}

:root[data-theme="win95"] ::-webkit-scrollbar-track {
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
}

:root[data-theme="win95"] ::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
    border-radius: 0;
}

:root[data-theme="win95"] ::-webkit-scrollbar-thumb:hover {
    background: #3a3a3a;
}

:root[data-theme="win95"] ::-webkit-scrollbar-button {
    background: #2a2a2a;
    border: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
    height: 16px;
    width: 16px;
}

/* Collapsible sections - file folders */
:root[data-theme="win95"] .collapsible-header {
    background: linear-gradient(180deg, #1e1e1e 0%, #161616 100%);
    border-bottom: 1px solid #2a2a2a;
}

:root[data-theme="win95"] .collapsible-header:hover {
    background: linear-gradient(180deg, #262626 0%, #1e1e1e 100%);
}

:root[data-theme="win95"] .collapsible-header:hover .collapsible-title {
    color: var(--xf-green);
    text-shadow: 0 0 8px rgba(0, 255, 65, 0.4);
}

:root[data-theme="win95"] .collapsible-title {
    color: var(--w95-silver);
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

:root[data-theme="win95"] .collapsible-chevron {
    color: var(--xf-green-dim);
}

/* Tables - database record styling */
:root[data-theme="win95"] table,
:root[data-theme="win95"] .data-table {
    border: 2px solid;
    border-color: #1a1a1a #3a3a3a #3a3a3a #1a1a1a;
    border-radius: 0;
}

:root[data-theme="win95"] th {
    background: linear-gradient(180deg, #2a2a2a 0%, #1e1e1e 100%);
    color: var(--xf-green);
    font-family: 'Courier New', 'Consolas', monospace;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid #3a3a3a;
}

:root[data-theme="win95"] td {
    background: #141414;
    color: var(--w95-silver);
    border-bottom: 1px solid #1a1a1a;
}

:root[data-theme="win95"] tr:hover td {
    background: rgba(0, 255, 65, 0.05);
}

/* Search bar - FBI database query */
:root[data-theme="win95"] .search-input,
:root[data-theme="win95"] .ww-search input {
    background: #0d0d0d;
    border: 2px solid;
    border-color: #1a1a1a #3a3a3a #3a3a3a #1a1a1a;
    color: var(--xf-green);
    font-family: 'Courier New', 'Consolas', monospace;
    border-radius: 0;
}

:root[data-theme="win95"] .search-input:focus,
:root[data-theme="win95"] .ww-search input:focus {
    box-shadow:
        inset 1px 1px 0 #0a0a0a,
        0 0 15px rgba(0, 255, 65, 0.3);
}

/* Entity cards - classified files */
:root[data-theme="win95"] .entity-card,
:root[data-theme="win95"] .ux-entity-card {
    background: #1a1a1a;
    border: 2px solid;
    border-color: #3a3a3a #1a1a1a #1a1a1a #3a3a3a;
    border-radius: 0;
    transition: all 0.2s ease;
}

:root[data-theme="win95"] .entity-card:hover,
:root[data-theme="win95"] .ux-entity-card:hover {
    border-color: var(--xf-green-dim) #1a1a1a #1a1a1a var(--xf-green-dim);
    box-shadow: 0 0 15px rgba(0, 255, 65, 0.15);
}

:root[data-theme="win95"] .entity-name {
    color: var(--xf-green);
    font-family: 'Courier New', 'Consolas', monospace;
}

:root[data-theme="win95"] .entity-type {
    color: var(--w95-silver-dark);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75em;
}

/* Relationship cards */
:root[data-theme="win95"] .relationship-card {
    background: #161616;
    border: 1px solid #2a2a2a;
    border-radius: 0;
}

:root[data-theme="win95"] .relationship-card:hover {
    border-color: var(--xf-green-dim);
    box-shadow: 0 0 10px rgba(0, 255, 65, 0.1);
}

/* Attribute cards */
:root[data-theme="win95"] .attribute-card {
    background: #161616;
    border: 1px solid #2a2a2a;
    border-radius: 0;
}

:root[data-theme="win95"] .attribute-name {
    color: var(--xf-green-dim);
    font-family: 'Courier New', 'Consolas', monospace;
}

:root[data-theme="win95"] .attribute-value {
    color: var(--w95-silver);
}

/* Tabs - Win95 property sheet tabs */
:root[data-theme="win95"] .nav-tabs,
:root[data-theme="win95"] .tab-list {
    border-bottom: 2px solid #3a3a3a;
}

:root[data-theme="win95"] .nav-tabs .nav-link,
:root[data-theme="win95"] .tab-item {
    background: #1e1e1e;
    border: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
    border-radius: 0;
    color: var(--w95-silver);
    margin-bottom: -2px;
}

:root[data-theme="win95"] .nav-tabs .nav-link:hover,
:root[data-theme="win95"] .tab-item:hover {
    background: #262626;
    color: var(--xf-green);
}

:root[data-theme="win95"] .nav-tabs .nav-link.active,
:root[data-theme="win95"] .tab-item.active {
    background: #141414;
    border-bottom-color: #141414;
    color: var(--xf-green);
}

/* Dropdown menus - Win95 popup menus */
:root[data-theme="win95"] .dropdown-menu {
    background: #2a2a2a;
    border: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
    border-radius: 0;
    box-shadow:
        inset 1px 1px 0 #3a3a3a,
        4px 4px 0 rgba(0, 0, 0, 0.5);
}

:root[data-theme="win95"] .dropdown-item {
    color: var(--w95-silver);
    border-radius: 0;
}

:root[data-theme="win95"] .dropdown-item:hover {
    background: #000080;
    color: var(--w95-white);
}

/* Featured universe card */
:root[data-theme="win95"] .featured-universe-card {
    background: #1a1a1a;
    border: 2px solid;
    border-color: #3a3a3a #1a1a1a #1a1a1a #3a3a3a;
    border-radius: 0;
}

:root[data-theme="win95"] .featured-universe-card:hover {
    border-color: var(--xf-green-dim) #1a1a1a #1a1a1a var(--xf-green-dim);
    box-shadow: 0 0 20px rgba(0, 255, 65, 0.15);
}

/* ============================================================================
   MODALS - FBI Case File Styling
   ============================================================================ */

/* Modal Overlays */
:root[data-theme="win95"] .rp-overlay,
:root[data-theme="win95"] .aem-overlay,
:root[data-theme="win95"] .uxdesc-modal-overlay,
:root[data-theme="win95"] .stat-modal-overlay {
    background: rgba(0, 0, 0, 0.9);
}

/* Modal Containers - Win95 dialog box */
:root[data-theme="win95"] .rp-modal,
:root[data-theme="win95"] .aem-modal-wide,
:root[data-theme="win95"] .uxdesc-modal,
:root[data-theme="win95"] .stat-modal {
    background: #2a2a2a;
    border: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
    border-radius: 0;
    box-shadow:
        inset 1px 1px 0 #3a3a3a,
        inset -1px -1px 0 #0a0a0a,
        8px 8px 0 rgba(0, 0, 0, 0.5);
    color: var(--w95-silver);
}

/* Modal Headers - Win95 title bar */
:root[data-theme="win95"] .rp-header,
:root[data-theme="win95"] .aem-header,
:root[data-theme="win95"] .stat-modal-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    border-bottom: 2px solid;
    border-color: #1a1a1a #4a4a4a #4a4a4a #1a1a1a;
}

:root[data-theme="win95"] .rp-title,
:root[data-theme="win95"] .aem-title,
:root[data-theme="win95"] .stat-modal-title {
    color: var(--w95-white);
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-weight: bold;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}

/* Modal Close Buttons - Win95 close button */
:root[data-theme="win95"] .rp-close,
:root[data-theme="win95"] .aem-close,
:root[data-theme="win95"] .stat-modal-close {
    background: #2a2a2a;
    border: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
    border-radius: 0;
    color: var(--w95-black);
    width: 16px;
    height: 16px;
    font-size: 10px;
    line-height: 1;
}

:root[data-theme="win95"] .rp-close:hover,
:root[data-theme="win95"] .aem-close:hover,
:root[data-theme="win95"] .stat-modal-close:hover {
    background: #3a3a3a;
}

/* Modal Body */
:root[data-theme="win95"] .rp-body,
:root[data-theme="win95"] .aem-body,
:root[data-theme="win95"] .stat-modal-body {
    background: #2a2a2a;
}

/* Modal Footer */
:root[data-theme="win95"] .rp-footer,
:root[data-theme="win95"] .aem-footer,
:root[data-theme="win95"] .stat-modal-footer {
    background: #2a2a2a;
    border-top: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
}

/* Side Panels */
:root[data-theme="win95"] .rp-side-panel {
    background: #262626;
    border-left: 2px solid;
    border-color: #4a4a4a #1a1a1a #1a1a1a #4a4a4a;
}

/* Panel Headers */
:root[data-theme="win95"] .panel-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    border-bottom: 2px solid #3a3a3a;
}

:root[data-theme="win95"] .panel-header h6 {
    color: var(--w95-white);
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-weight: bold;
}

/* Panel Search */
:root[data-theme="win95"] .panel-search input {
    background: #0d0d0d;
    border: 2px solid;
    border-color: #1a1a1a #3a3a3a #3a3a3a #1a1a1a;
    color: var(--xf-green);
    border-radius: 0;
}

:root[data-theme="win95"] .panel-search input:focus {
    box-shadow: 0 0 10px rgba(0, 255, 65, 0.2);
}

/* Entity/Relationship Items in Modals */
:root[data-theme="win95"] .entity-card,
:root[data-theme="win95"] .relationship-item {
    background: #1e1e1e;
    border: 1px solid #2a2a2a;
    color: var(--w95-silver);
    border-radius: 0;
}

:root[data-theme="win95"] .entity-card:hover,
:root[data-theme="win95"] .relationship-item:hover {
    border-color: var(--xf-green-dim);
    background: rgba(0, 255, 65, 0.05);
}

/* ============================================================================
   X-FILES PARANORMAL EFFECTS
   ============================================================================ */

/* Mysterious glow on focus for all interactive elements */
:root[data-theme="win95"] *:focus-visible {
    outline: 1px dotted var(--xf-green);
    outline-offset: 2px;
    box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
}

/* "I Want to Believe" poster effect for images */
:root[data-theme="win95"] img {
    filter: grayscale(20%) contrast(1.1);
    transition: filter 0.3s ease;
}

:root[data-theme="win95"] img:hover {
    filter: grayscale(0%) contrast(1.2);
    box-shadow: 0 0 20px rgba(0, 255, 65, 0.2);
}

/* Spooky selection */
:root[data-theme="win95"] ::selection {
    background: var(--xf-green-dim);
    color: #000000;
}

/* Loading states - scanning for paranormal activity */
:root[data-theme="win95"] .loading,
:root[data-theme="win95"] .spinner {
    border-color: rgba(0, 255, 65, 0.2);
    border-top-color: var(--xf-green);
    animation: xf-scan 1s linear infinite;
}

@keyframes xf-scan {
    0% { transform: rotate(0deg); filter: drop-shadow(0 0 5px var(--xf-green)); }
    50% { filter: drop-shadow(0 0 15px var(--xf-green)); }
    100% { transform: rotate(360deg); filter: drop-shadow(0 0 5px var(--xf-green)); }
}

/* Occasional subtle green pulse on body (very subtle paranormal effect) */
:root[data-theme="win95"] body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at center, rgba(0, 255, 65, 0.02) 0%, transparent 70%);
    pointer-events: none;
    z-index: 9999;
    animation: xf-pulse 8s ease-in-out infinite;
}

@keyframes xf-pulse {
    0%, 100% { opacity: 0; }
    50% { opacity: 1; }
}

/* Classified stamp effect for headers */
:root[data-theme="win95"] h1::after,
:root[data-theme="win95"] h2::after {
    content: none; /* Can be enabled for specific pages */
}

/* Win95 resize grip in bottom-right corner of modals */
:root[data-theme="win95"] .rp-modal::after,
:root[data-theme="win95"] .aem-modal-wide::after,
:root[data-theme="win95"] .stat-modal::after {
    content: '';
    position: absolute;
    bottom: 3px;
    right: 3px;
    width: 12px;
    height: 12px;
    background:
        linear-gradient(135deg,
            transparent 0%,
            transparent 30%,
            #4a4a4a 30%,
            #4a4a4a 40%,
            transparent 40%,
            transparent 50%,
            #4a4a4a 50%,
            #4a4a4a 60%,
            transparent 60%,
            transparent 70%,
            #4a4a4a 70%,
            #4a4a4a 80%,
            transparent 80%
        );
    pointer-events: none;
}

/* ============================================================================
   WIN95 TASKBAR
   ============================================================================ */

.w95-taskbar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 36px;
    background: #c0c0c0;
    border-top: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
    display: flex;
    align-items: center;
    padding: 2px 4px;
    gap: 4px;
    z-index: 9999;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    box-shadow: inset 0 1px 0 #dfdfdf;
}

/* Start Button */
.w95-start-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    height: 28px;
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #404040;
}

.w95-start-btn:hover {
    background: #d4d4d4;
}

.w95-start-btn:active {
    border-color: #808080 #ffffff #ffffff #808080;
    box-shadow: inset 1px 1px 0 #404040, inset -1px -1px 0 #dfdfdf;
    padding: 3px 7px 1px 9px;
}

.w95-start-icon {
    font-size: 16px;
}

.w95-start-text {
    color: #000000;
}

/* Taskbar Divider */
.w95-taskbar-divider {
    width: 2px;
    height: 24px;
    border-left: 1px solid #808080;
    border-right: 1px solid #ffffff;
    margin: 0 2px;
}

/* Active Window Indicator */
.w95-active-window {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    height: 24px;
    min-width: 160px;
    max-width: 250px;
    background: #c0c0c0;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    font-size: 12px;
    color: #000000;
    box-shadow: inset 1px 1px 0 #404040;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.w95-window-icon {
    font-size: 14px;
    flex-shrink: 0;
}

.w95-window-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Quick Launch Area */
.w95-quick-launch {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 0 4px;
    margin-left: 4px;
    border-left: 1px solid #808080;
    border-right: 1px solid #ffffff;
    padding-left: 8px;
}

.w95-quick-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    font-size: 14px;
    text-decoration: none;
    background: transparent;
    border: none;
    cursor: pointer;
}

.w95-quick-btn:hover {
    background: #d4d4d4;
    border: 1px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
}

/* Spacer */
.w95-taskbar-spacer {
    flex: 1;
}

/* System Tray */
.w95-system-tray {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 2px 8px;
    height: 24px;
    background: #c0c0c0;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    font-size: 12px;
    color: #000000;
    box-shadow: inset 1px 1px 0 #404040;
}

.w95-tray-icon {
    font-size: 14px;
}

.w95-tray-clickable {
    cursor: pointer;
}

.w95-tray-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 2px 4px;
    font-size: 14px;
    position: relative;
}

.w95-tray-btn:hover {
    background: #d4d4d4;
    border: 1px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
}

/* Subtle tray button - blends into system tray */
.w95-tray-btn-subtle {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0 4px;
    font-size: 10px;
    color: #808080;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

.w95-tray-btn-subtle:hover {
    color: #000000;
}

.w95-tray-time {
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 11px;
}

/* Theme Menu in System Tray */
.w95-theme-menu-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10001;
}

.w95-theme-menu {
    position: absolute;
    bottom: 32px;
    right: 0;
    min-width: 120px;
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.3), inset 1px 1px 0 #dfdfdf;
    padding: 4px 0;
    z-index: 10002;
}

.w95-theme-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 4px 16px;
    background: transparent;
    border: none;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 12px;
    color: #000000;
    cursor: pointer;
    text-align: left;
}

.w95-theme-item:hover {
    background: #000080;
    color: #ffffff;
}

.w95-theme-item.active {
    font-weight: bold;
}

/* ============================================================================
   WIN95 START MENU
   ============================================================================ */

.w95-start-menu-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
}

.w95-start-menu {
    position: fixed;
    bottom: 40px;
    left: 4px;
    width: 200px;
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.3), inset 1px 1px 0 #dfdfdf;
    z-index: 10000;
    display: flex;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

/* Sidebar with vertical text */
.w95-start-menu-sidebar {
    width: 24px;
    background: linear-gradient(180deg, #000080 0%, #1084d0 100%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 8px;
}

.w95-sidebar-text {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    color: #c0c0c0;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 1px 1px 0 #000000;
}

/* Menu Content */
.w95-start-menu-content {
    flex: 1;
    padding: 4px 0;
}

.w95-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    color: #000000;
    text-decoration: none;
    font-size: 12px;
    cursor: pointer;
}

.w95-menu-item:hover {
    background: #000080;
    color: #ffffff;
}

.w95-menu-icon {
    font-size: 16px;
    width: 20px;
    text-align: center;
}

.w95-menu-divider {
    height: 1px;
    background: #808080;
    margin: 4px 8px;
    box-shadow: 0 1px 0 #ffffff;
}

/* Submenu support */
.w95-has-submenu {
    position: relative;
    cursor: default;
}

.w95-submenu-arrow {
    margin-left: auto;
    font-size: 8px;
    color: #000000;
}

.w95-submenu {
    position: absolute;
    left: 100%;
    top: -2px;
    min-width: 180px;
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.3), inset 1px 1px 0 #dfdfdf;
    padding: 4px 0;
    z-index: 10001;
}

.w95-submenu .w95-menu-item {
    white-space: nowrap;
}

.w95-has-submenu:hover > .w95-submenu-arrow {
    color: #ffffff;
}

/* Upward-opening submenu (for items at bottom of menu like Help) */
.w95-submenu-upward {
    top: auto;
    bottom: -2px;
}

/* ============================================================================
   WIN95 CRT OVERLAY EFFECTS
   ============================================================================ */

/* Scanlines overlay */
:root[data-theme="win95"] .w95-crt-scanlines {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 9990;
    background: repeating-linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.1) 0px,
        rgba(0, 0, 0, 0.1) 1px,
        transparent 1px,
        transparent 2px
    );
}

/* Vignette effect */
:root[data-theme="win95"] .w95-crt-vignette {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 9989;
    box-shadow: inset 0 0 150px rgba(0, 0, 0, 0.4);
}

/* Subtle screen curvature glow */
:root[data-theme="win95"] .w95-crt-glow {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 9988;
    background: radial-gradient(ellipse at center, transparent 0%, rgba(0, 0, 0, 0.15) 100%);
}

/* ============================================================================
   WIN95 DASHBOARD-SPECIFIC STYLING
   ============================================================================ */

/* Dashboard page wrapper - main window */
:root[data-theme="win95"] .dashboard-page {
    background: #c0c0c0;
    padding: 0;
}

/* Dashboard header - becomes a Win95 title bar for the whole window */
:root[data-theme="win95"] .dashboard-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 4px 8px;
    margin: 0;
    border: none;
    border-bottom: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

:root[data-theme="win95"] .dashboard-header h1 {
    color: #ffffff;
    font-size: 14px;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-weight: bold;
    margin: 0;
    text-shadow: none;
}

:root[data-theme="win95"] .header-subtitle {
    color: #c0c0c0;
    font-size: 11px;
    margin: 0;
}

:root[data-theme="win95"] .header-actions {
    display: flex;
    gap: 4px;
}

/* Window control buttons in header (minimize, maximize, close style) */
:root[data-theme="win95"] .btn-create {
    background: #c0c0c0;
    color: #000000;
    font-size: 11px;
    padding: 2px 8px;
    font-weight: bold;
}

/* Dashboard grid */
:root[data-theme="win95"] .dashboard-grid {
    background: #c0c0c0;
    padding: 4px;
    gap: 4px;
}

/* Main content area in dashboard */
:root[data-theme="win95"] .dashboard-main {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Sidebar */
:root[data-theme="win95"] .dashboard-sidebar {
    gap: 4px;
}

/* Stats card specific styling */
:root[data-theme="win95"] .stats-card {
    padding: 0;
}

:root[data-theme="win95"] .stats-card h3 {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 4px 8px;
    margin: 0;
    font-size: 12px;
}

:root[data-theme="win95"] .quick-stats {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
}

:root[data-theme="win95"] .quick-stat {
    background: transparent;
    border: none;
    padding: 4px;
}

:root[data-theme="win95"] .stat-value {
    color: #000080;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 1.5rem;
}

:root[data-theme="win95"] .stat-label {
    color: #000000;
    font-size: 10px;
}

/* Media library card */
:root[data-theme="win95"] .media-library-card {
    background: #c0c0c0;
    padding: 8px;
}

:root[data-theme="win95"] .media-library-card:hover {
    background: #d4d4d4;
    transform: none;
}

:root[data-theme="win95"] .media-library-icon {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
}

:root[data-theme="win95"] .media-library-info h3 {
    background: transparent;
    color: #000000;
    padding: 0;
    font-size: 12px;
}

:root[data-theme="win95"] .media-library-info p {
    color: #0000ff;
    text-decoration: underline;
}

:root[data-theme="win95"] .media-library-arrow {
    color: #000000;
}

/* Empty states */
:root[data-theme="win95"] .empty-state {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    color: #808080;
    padding: 16px;
}

:root[data-theme="win95"] .empty-state p {
    color: #000000;
}

/* Hide footer in Win95 theme - taskbar replaces it */
:root[data-theme="win95"] .ww-footer {
    display: none !important;
}

/* ============================================================================
   WIN95 HOME PAGE STYLING
   ============================================================================ */

/* Home page wrapper */
:root[data-theme="win95"] .home-page {
    background: #c0c0c0;
    padding: 4px;
}

/* Hero section - Win95 window */
:root[data-theme="win95"] .hero {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    padding: 0;
    margin-bottom: 8px;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .hero::before {
    content: 'LoreBench';
    display: block;
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 2px 8px;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 11px;
    font-weight: bold;
}

:root[data-theme="win95"] .hero h1 {
    color: #000000;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 24px;
    padding: 16px 16px 8px 16px;
    margin: 0;
}

:root[data-theme="win95"] .hero-subtitle {
    color: #000000;
    padding: 0 16px 16px 16px;
    font-size: 12px;
}

/* Quick stats - Win95 raised panels */
:root[data-theme="win95"] .home-page > .quick-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 4px;
    margin-bottom: 8px;
    background: transparent;
    border: none;
    padding: 0;
}

:root[data-theme="win95"] .stat-card {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    padding: 12px 8px;
    text-align: center;
    box-shadow: none;
}

:root[data-theme="win95"] .stat-card:hover {
    background: #d4d4d4;
    transform: none;
    box-shadow: none;
}

:root[data-theme="win95"] .stat-card.create-card {
    background: #c0c0c0;
    border-color: #ffffff #808080 #808080 #ffffff;
}

:root[data-theme="win95"] .stat-value {
    color: #000080;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 24px;
}

:root[data-theme="win95"] .stat-label {
    color: #000000;
    font-size: 10px;
    text-transform: uppercase;
}

/* Content sections - Win95 windows */
:root[data-theme="win95"] .content-section {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    margin-bottom: 8px;
    padding: 0;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .content-section .section-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 2px 8px;
    margin: 0;
    border: none;
    border-bottom: none;
}

:root[data-theme="win95"] .content-section .section-header::after {
    content: '▢ ╳';
    font-size: 8px;
    letter-spacing: 4px;
    color: #000000;
    background: #c0c0c0;
    padding: 1px 3px;
    border: 1px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
}

:root[data-theme="win95"] .section-title {
    color: #ffffff;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 11px;
    margin: 0;
}

:root[data-theme="win95"] .section-nav {
    display: none; /* Hide time filter buttons for cleaner look */
}

/* Content grid area - sunken panel */
:root[data-theme="win95"] .content-grid,
:root[data-theme="win95"] .universe-grid {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
    display: grid;
    gap: 8px;
}

/* Content cards - Win95 raised look */
:root[data-theme="win95"] .content-card,
:root[data-theme="win95"] .universe-card {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
}

:root[data-theme="win95"] .content-card:hover,
:root[data-theme="win95"] .universe-card:hover {
    background: #d4d4d4;
    transform: none;
    box-shadow: none;
    border-color: #ffffff #808080 #808080 #ffffff;
}

:root[data-theme="win95"] .content-hero,
:root[data-theme="win95"] .universe-hero {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    margin: 4px;
    height: 120px;
}

:root[data-theme="win95"] .content-hero::after,
:root[data-theme="win95"] .universe-hero::after {
    display: none;
}

:root[data-theme="win95"] .content-body,
:root[data-theme="win95"] .universe-content {
    padding: 8px;
}

:root[data-theme="win95"] .content-type {
    color: #000080;
    font-size: 10px;
    font-weight: bold;
}

:root[data-theme="win95"] .content-title,
:root[data-theme="win95"] .universe-name {
    color: #000000;
    font-weight: bold;
    font-size: 12px;
}

:root[data-theme="win95"] .content-desc,
:root[data-theme="win95"] .universe-desc {
    color: #000000;
    font-size: 11px;
}

:root[data-theme="win95"] .content-stats,
:root[data-theme="win95"] .universe-stats {
    border-top: 1px solid #808080;
    padding-top: 4px;
    margin-top: 4px;
}

:root[data-theme="win95"] .content-stat,
:root[data-theme="win95"] .stat-num {
    color: #808080;
    font-size: 10px;
}

:root[data-theme="win95"] .universe-creator,
:root[data-theme="win95"] .stat-text {
    color: #808080;
    font-size: 10px;
}

/* Featured banner */
:root[data-theme="win95"] .featured-banner {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    margin-bottom: 8px;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .featured-banner:hover {
    transform: none;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .featured-tag {
    color: #000080;
}

:root[data-theme="win95"] .featured-title {
    color: #000000;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

:root[data-theme="win95"] .featured-desc {
    color: #000000;
}

:root[data-theme="win95"] .featured-image {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    margin: 4px;
}

/* Nav buttons */
:root[data-theme="win95"] .nav-btn {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    color: #000000;
    border-radius: 0;
    padding: 2px 8px;
    font-size: 11px;
}

:root[data-theme="win95"] .nav-btn:hover,
:root[data-theme="win95"] .nav-btn.active {
    background: #d4d4d4;
    color: #000000;
}

/* ============================================================================
   WIN95 PROFILE PAGE STYLING
   ============================================================================ */

:root[data-theme="win95"] .profile-page {
    background: #c0c0c0;
    padding: 4px;
}

:root[data-theme="win95"] .profile-header-card {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    padding: 0;
    margin-bottom: 8px;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .profile-header-card::before {
    content: 'User Profile';
    display: block;
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 2px 8px;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 11px;
    font-weight: bold;
}

:root[data-theme="win95"] .profile-header-card .avatar-box,
:root[data-theme="win95"] .profile-header-card .header-info,
:root[data-theme="win95"] .profile-header-card .stats-grid {
    background: transparent;
    padding: 8px;
}

:root[data-theme="win95"] .profile-header-card .avatar-box img,
:root[data-theme="win95"] .profile-header-card .avatar-placeholder {
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    border-radius: 0;
}

:root[data-theme="win95"] .profile-header-card h1 {
    color: #000000;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

:root[data-theme="win95"] .profile-header-card .follow-stats,
:root[data-theme="win95"] .profile-header-card .joined-info,
:root[data-theme="win95"] .profile-header-card .bio {
    color: #000000;
}

:root[data-theme="win95"] .profile-header-card .stat-card {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
}

:root[data-theme="win95"] .profile-header-card .stat-card:hover {
    background: #d4d4d4;
}

:root[data-theme="win95"] .profile-header-card .stat-card .v {
    color: #000080;
}

:root[data-theme="win95"] .profile-header-card .stat-card .l {
    color: #000000;
}

/* Profile tabs */
:root[data-theme="win95"] .profile-tabs {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    padding: 4px;
    margin-bottom: 8px;
}

:root[data-theme="win95"] .profile-tabs button,
:root[data-theme="win95"] .profile-tab {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    color: #000000;
    border-radius: 0;
}

:root[data-theme="win95"] .profile-tabs button.active,
:root[data-theme="win95"] .profile-tab.active {
    background: #d4d4d4;
    border-color: #808080 #ffffff #ffffff #808080;
}

/* ============================================================================
   WIN95 FEEDBACK MODAL STYLING
   ============================================================================ */

:root[data-theme="win95"] .feedback-modal,
:root[data-theme="win95"] .modal,
:root[data-theme="win95"] .modal-content {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .modal-header,
:root[data-theme="win95"] .feedback-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 2px 8px;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 11px;
    font-weight: bold;
    border-radius: 0;
}

:root[data-theme="win95"] .modal-header h2,
:root[data-theme="win95"] .modal-header h3,
:root[data-theme="win95"] .feedback-header h2,
:root[data-theme="win95"] .feedback-header h3 {
    color: #ffffff;
    margin: 0;
}

:root[data-theme="win95"] .modal-body,
:root[data-theme="win95"] .feedback-body {
    background: #c0c0c0;
    padding: 8px;
    color: #000000;
}

:root[data-theme="win95"] .modal-footer,
:root[data-theme="win95"] .feedback-footer {
    background: #c0c0c0;
    padding: 8px;
    border-top: 1px solid #808080;
}

:root[data-theme="win95"] .modal-close,
:root[data-theme="win95"] .feedback-close {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    color: #000000;
    font-size: 12px;
    padding: 0 4px;
}

/* ============================================================================
   WIN95 ENTITY DETAIL PAGES
   ============================================================================
   Entity pages should show teal desktop background around the main window,
   with content appearing as windows on top.
   ============================================================================ */

/* Entity detail pages - teal background visible around content */
:root[data-theme="win95"] .ww-main-content {
    background: var(--w95-teal);
    padding: 8px;
    max-width: none;
    width: 100%;
}

/* Base Details - main entity window */
:root[data-theme="win95"] .entity-details,
:root[data-theme="win95"] .base-details,
:root[data-theme="win95"] .detail-container,
:root[data-theme="win95"] .entity-page {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
    max-width: 1400px;
    margin: 0 auto;
}

/* Entity header as window title bar */
:root[data-theme="win95"] .entity-header,
:root[data-theme="win95"] .detail-header,
:root[data-theme="win95"] .hero-section {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 4px 8px;
    margin: 0;
    border: none;
}

:root[data-theme="win95"] .entity-header h1,
:root[data-theme="win95"] .detail-header h1,
:root[data-theme="win95"] .entity-name {
    color: #ffffff;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 14px;
    font-weight: bold;
    text-shadow: none;
    margin: 0;
}

/* Entity content area - sunken panel */
:root[data-theme="win95"] .entity-content,
:root[data-theme="win95"] .detail-content,
:root[data-theme="win95"] .content-area {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
}

/* Entity sidebar */
:root[data-theme="win95"] .entity-sidebar,
:root[data-theme="win95"] .detail-sidebar,
:root[data-theme="win95"] .sidebar {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    margin: 4px;
}

/* Two-column entity layout */
:root[data-theme="win95"] .entity-layout,
:root[data-theme="win95"] .detail-layout,
:root[data-theme="win95"] .two-column {
    background: #c0c0c0;
    gap: 0;
}

/* ============================================================================
   WIN95 COMMUNITY FEEDBACK COMPONENT
   ============================================================================ */

:root[data-theme="win95"] .community-feedback-card {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .community-feedback-card .section-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 4px 8px;
    border-bottom: none;
}

:root[data-theme="win95"] .community-feedback-card .section-title {
    color: #ffffff;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 12px;
}

:root[data-theme="win95"] .community-feedback-card .section-icon {
    color: #ffffff;
}

:root[data-theme="win95"] .community-feedback-card .section-badge {
    background: #c0c0c0;
    color: #000000;
    border-radius: 0;
}

/* Rating section - sunken panel */
:root[data-theme="win95"] .rating-section {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 12px;
}

:root[data-theme="win95"] .rating-number {
    color: #000080;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

:root[data-theme="win95"] .rating-stars {
    color: #000080;
}

:root[data-theme="win95"] .rating-count {
    color: #808080;
}

:root[data-theme="win95"] .rating-label {
    color: #000000;
}

:root[data-theme="win95"] .rating-bar-container {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    border-radius: 0;
}

:root[data-theme="win95"] .rating-bar-fill {
    background: #000080;
    border-radius: 0;
}

:root[data-theme="win95"] .rating-bar-count {
    color: #808080;
}

/* Your rating inline */
:root[data-theme="win95"] .your-rating-inline {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
}

:root[data-theme="win95"] .your-rating-label {
    color: #000000;
}

:root[data-theme="win95"] .star {
    color: #808080;
}

:root[data-theme="win95"] .star.filled,
:root[data-theme="win95"] .star:hover {
    color: #000080;
}

:root[data-theme="win95"] .clear-rating-btn {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    color: #000000;
}

:root[data-theme="win95"] .clear-rating-btn:hover {
    background: #d4d4d4;
}

/* Discussion section */
:root[data-theme="win95"] .discussion-section {
    background: #c0c0c0;
    padding: 12px;
}

:root[data-theme="win95"] .comment-form {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
    margin-bottom: 12px;
}

:root[data-theme="win95"] .comment-input {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    border-radius: 0;
    color: #000000;
}

:root[data-theme="win95"] .comment-input:focus {
    border-color: #808080 #ffffff #ffffff #808080;
    outline: 1px dotted #000000;
    outline-offset: -4px;
}

:root[data-theme="win95"] .comment-input::placeholder {
    color: #808080;
}

:root[data-theme="win95"] .character-count {
    color: #808080;
}

:root[data-theme="win95"] .character-count.warning {
    color: #ff0000;
}

/* Comment list */
:root[data-theme="win95"] .comment-list {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
}

:root[data-theme="win95"] .login-prompt {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    color: #000000;
}

:root[data-theme="win95"] .login-prompt p {
    color: #000000;
}

:root[data-theme="win95"] .error-message {
    background: #c0c0c0;
    border: 2px solid #ff0000;
    border-radius: 0;
    color: #ff0000;
}

/* Empty states */
:root[data-theme="win95"] .empty-rating-state,
:root[data-theme="win95"] .empty-comments-state {
    color: #808080;
}

:root[data-theme="win95"] .empty-icon {
    color: #808080;
}

:root[data-theme="win95"] .empty-text {
    color: #808080;
}

/* Report section */
:root[data-theme="win95"] .report-section {
    background: #c0c0c0;
    border-top: 1px solid #808080;
}

:root[data-theme="win95"] .report-btn {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    color: #000000;
}

:root[data-theme="win95"] .report-btn:hover {
    background: #d4d4d4;
    border-color: #ffffff #808080 #808080 #ffffff;
    color: #ff0000;
}

/* ============================================================================
   WIN95 DESCRIPTION TOOL (UxDescription)
   ============================================================================ */

:root[data-theme="win95"] .uxdesc-root {
    --bg-primary: #c0c0c0;
    --bg-secondary: #ffffff;
    --bg-tertiary: #d4d4d4;
    --bg-elevated: #c0c0c0;
    --border-primary: #808080;
    --border-accent: #000080;
    --text-primary: #000000;
    --text-secondary: #000000;
    --text-muted: #808080;
}

:root[data-theme="win95"] .uxdesc-shell {
    background: #c0c0c0;
}

/* TOC panel - Win95 window */
:root[data-theme="win95"] .uxdesc-toc {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .uxdesc-toc-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    border-bottom: none;
    padding: 4px 8px;
}

:root[data-theme="win95"] .uxdesc-toc h6 {
    color: #ffffff;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    text-transform: none;
    font-size: 12px;
}

:root[data-theme="win95"] .uxdesc-toc-list {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
}

:root[data-theme="win95"] .uxdesc-toc-search {
    background: #c0c0c0;
    border-bottom: none;
    padding: 4px 8px;
}

:root[data-theme="win95"] .uxdesc-toc-search input {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    border-radius: 0;
    color: #000000;
}

:root[data-theme="win95"] .uxdesc-toc-search input:focus {
    outline: 1px dotted #000000;
    outline-offset: -4px;
}

:root[data-theme="win95"] .uxdesc-toc a {
    color: #0000ff;
    border-radius: 0;
    text-decoration: underline;
}

:root[data-theme="win95"] .uxdesc-toc a:hover {
    background: #000080;
    color: #ffffff;
    text-decoration: none;
}

:root[data-theme="win95"] .uxdesc-toc a.active {
    background: #000080;
    border-left: none;
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
}

/* Toolbar - Win95 style */
:root[data-theme="win95"] .uxdesc-toolbar {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    padding: 4px;
}

:root[data-theme="win95"] .uxdesc-toolbar button {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    color: #000000;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

:root[data-theme="win95"] .uxdesc-toolbar button:hover {
    background: #d4d4d4;
}

:root[data-theme="win95"] .uxdesc-toolbar button:active {
    border-color: #808080 #ffffff #ffffff #808080;
}

/* Content area */
:root[data-theme="win95"] .uxdesc-content,
:root[data-theme="win95"] .uxdesc-editor {
    background: #ffffff;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    border-radius: 0;
    color: #000000;
}

/* Modal overlay for description tool */
:root[data-theme="win95"] .uxdesc-modal-overlay {
    background: rgba(0, 0, 0, 0.5);
}

:root[data-theme="win95"] .uxdesc-modal {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.3);
}

/* ============================================================================
   WIN95 COLLAPSIBLE SECTIONS (Entity Details)
   ============================================================================ */

:root[data-theme="win95"] .collapsible-section {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    margin-bottom: 4px;
    box-shadow: none;
}

:root[data-theme="win95"] .collapsible-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 4px 8px;
    border-bottom: none;
}

:root[data-theme="win95"] .collapsible-header:hover {
    background: linear-gradient(90deg, #0000a0 0%, #2094e0 100%);
}

:root[data-theme="win95"] .collapsible-title {
    color: #ffffff;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 12px;
    text-shadow: none;
}

:root[data-theme="win95"] .collapsible-chevron {
    color: #ffffff;
}

:root[data-theme="win95"] .collapsible-content {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
}

:root[data-theme="win95"] .collapsible-count {
    background: #c0c0c0;
    color: #000000;
    border: 1px solid #808080;
    border-radius: 0;
    box-shadow: none;
}

/* ============================================================================
   WIN95 INFOBOX / ATTRIBUTE PANELS
   ============================================================================ */

:root[data-theme="win95"] .infobox {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

:root[data-theme="win95"] .infobox-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 4px 8px;
}

:root[data-theme="win95"] .infobox-title {
    color: #ffffff;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
}

:root[data-theme="win95"] .infobox-content {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
}

:root[data-theme="win95"] .infobox-row {
    border-bottom: 1px solid #c0c0c0;
    padding: 4px 0;
}

:root[data-theme="win95"] .infobox-label {
    color: #000000;
    font-weight: bold;
}

:root[data-theme="win95"] .infobox-value {
    color: #000000;
}

/* ============================================================================
   WIN95 UX CARD OVERRIDES (General Component Styling)
   ============================================================================ */

:root[data-theme="win95"] .ux-card {
    background: #c0c0c0;
    border: 2px solid;
    border-color: #ffffff #808080 #808080 #ffffff;
    border-radius: 0;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
    padding: 0;
}

:root[data-theme="win95"] .ux-card-header {
    background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
    color: #ffffff;
    padding: 4px 8px;
    border-radius: 0;
}

:root[data-theme="win95"] .ux-card-header h2,
:root[data-theme="win95"] .ux-card-header h3,
:root[data-theme="win95"] .ux-card-header h4 {
    color: #ffffff;
    font-family: 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 12px;
    margin: 0;
}

:root[data-theme="win95"] .ux-card-body {
    background: #ffffff;
    margin: 4px;
    border: 2px solid;
    border-color: #808080 #ffffff #ffffff #808080;
    padding: 8px;
}

/* ============================================================================
   WIN95 TEXT CONTRAST FIXES
   ============================================================================
   Ensure text is always readable against backgrounds.
   Silver backgrounds (#c0c0c0) need black text.
   White backgrounds (#ffffff) can have gray text.
   ============================================================================ */

/* All muted/secondary text on silver backgrounds should be darker */
:root[data-theme="win95"] .text-muted,
:root[data-theme="win95"] .text-secondary,
:root[data-theme="win95"] [class*="-muted"],
:root[data-theme="win95"] [class*="-secondary"] {
    color: #404040 !important;
}

/* Specifically fix gray-on-gray issues */
:root[data-theme="win95"] .stat-label,
:root[data-theme="win95"] .stat-text,
:root[data-theme="win95"] .meta-info,
:root[data-theme="win95"] .timestamp,
:root[data-theme="win95"] .time-ago,
:root[data-theme="win95"] .subtitle,
:root[data-theme="win95"] .description,
:root[data-theme="win95"] small {
    color: #404040;
}

/* Ensure links are visible */
:root[data-theme="win95"] a:not(.btn):not(.nav-link):not([class*="menu-item"]) {
    color: #0000ff !important;
}

:root[data-theme="win95"] a:visited:not(.btn):not(.nav-link):not([class*="menu-item"]) {
    color: #800080 !important;
}

/* Headers/titles on silver backgrounds */
:root[data-theme="win95"] h1:not([class*="modal"]):not([class*="header"]),
:root[data-theme="win95"] h2:not([class*="modal"]):not([class*="header"]),
:root[data-theme="win95"] h3:not([class*="modal"]):not([class*="header"]),
:root[data-theme="win95"] h4,
:root[data-theme="win95"] h5,
:root[data-theme="win95"] h6 {
    color: #000000 !important;
    text-shadow: none;
}

/* Paragraph text on silver */
:root[data-theme="win95"] p {
    color: #000000;
}

/* Fix card content text */
:root[data-theme="win95"] .card-text,
:root[data-theme="win95"] .card-body,
:root[data-theme="win95"] .card-footer {
    color: #000000;
}

/* Label text */
:root[data-theme="win95"] label,
:root[data-theme="win95"] .label,
:root[data-theme="win95"] .field-label {
    color: #000000;
}

/* Placeholder text in inputs (white background) can stay gray */
:root[data-theme="win95"] ::placeholder {
    color: #808080 !important;
}

/* Icons and decorative elements can be darker gray */
:root[data-theme="win95"] .icon,
:root[data-theme="win95"] [class*="-icon"]:not(.w95-menu-icon):not(.w95-window-icon) {
    color: #404040;
}

/* Ensure disabled states are distinguishable but readable */
:root[data-theme="win95"] :disabled,
:root[data-theme="win95"] [disabled],
:root[data-theme="win95"] .disabled {
    color: #808080 !important;
    background: #c0c0c0;
}
