/* =========================
   THEME VARIABLES
========================= */

/* 🌙 DARK MODE */
html.dark body, html.dark {
    --bg:           #0e0e0e;
    --bg-alpha:     rgba(14, 14, 14, 0.92);
    --card:         #1a1a1a;
    --card-2:       #2d2d2d;
    --text:         #f5f3f0;
    --muted:        #9a9a9a;
    --muted-light:  #6b6b6b;
    --border:       rgba(255, 255, 255, 0.08);
    --border-dark:  rgba(255, 255, 255, 0.12);
    --shadow:       rgba(0, 0, 0, 0.5);
    --hover:        #2d2d2d;
    --primary-alpha: rgba(175, 50, 54, 0.25);

    /* Semantic colors — dark mode overrides */
    --info: #60a5fa;
    --info-light: rgba(96, 165, 250, 0.12);
    --info-dark: #93c5fd;
    --success: #4ade80;
    --success-light: rgba(74, 222, 128, 0.12);
    --success-dark: #86efac;
    --error: #f87171;
    --error-light: rgba(248, 113, 113, 0.12);
    --warning: #fbbf24;
    --warning-light: rgba(251, 191, 36, 0.12);
    --warning-dark: #fde68a;

    /* Accent tokens — dark mode */
    --accent-rose: #f9a8d4;
    --accent-rose-light: rgba(157, 23, 77, 0.12);
    --accent-event: #c4b5fd;
    --accent-event-light: rgba(91, 33, 182, 0.12);
}

/* Theme Fade */

.theme-fade {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: var(--bg);
    opacity: 0;
    pointer-events: none;
    z-index: 9999;

    transition: opacity 0.25s ease;
}

.theme-fade.active {
    opacity: 1;
}


/* Theme Toggle */

.theme-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
}

/* Icon base */
.icon-sun-moon {
    width: 24px;
    height: 24px;
    fill: var(--text);
    stroke: var(--text);
    stroke-width: 1.5;
    transition: transform 0.4s ease;
}

/* Default state (LIGHT = sun visible) */
.sun {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    transform-origin: center;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.moon {
    opacity: 0;
    transform: scale(0.6) translateX(4px);
    transform-origin: center;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

/* DARK MODE STATE */
html.dark .sun {
    opacity: 0;
    transform: scale(0.6) rotate(90deg);
}

html.dark .moon {
    opacity: 1;
    transform: scale(1) translateX(0);
}