        /* --- THEME & COLOR VARIABLES --- */
        :root {
            /* Dark Theme (Default) */
            --color-bg-primary: #0D1117;
            --color-bg-secondary: #161B22;
            --color-bg-secondary-rgb: 22, 27, 34;
            --color-bg-input: #161B22;
            --color-border: #30363D;
            --color-border-rgb: 48, 54, 61;
            --color-accent: #58A6FF;
            --color-text-primary: #e6edf3;
            --color-text-secondary: #7d8590;
            --color-success: #28a745;
        }

        html.light-mode {
            /* Light Theme */
            --color-bg-primary: #FFFFFF;
            --color-bg-secondary: #F3F4F6;
            --color-bg-secondary-rgb: 243, 244, 246;
            --color-bg-input: #FFFFFF;
            --color-border: #D1D5DB;
            --color-border-rgb: 209, 213, 219;
            --color-accent: #3B82F6;
            --color-text-primary: #1F2937;
            --color-text-secondary: #6B7280;
            --color-success: #16A34A;
        }

        /* --- BASE STYLES --- */
        html { scroll-behavior: smooth; }
        body {
            background-color: var(--color-bg-primary);
            color: var(--color-text-primary);
            font-family: 'Inter', sans-serif;
            transition: background-color 0.3s ease, color 0.3s ease;
            background-image: radial-gradient(var(--color-border) 0.5px, transparent 0.5px);
            background-size: 15px 15px;
        }
        header {
            background-color: rgba(var(--color-bg-secondary-rgb), 0.8);
            transition: background-color 0.3s ease;
        }
        
        /* --- MODAL STYLES (Magnific Popup) --- */
        .mfp-bg {
            background: rgba(var(--color-bg-primary-rgb, 13, 17, 23), 0.9);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
        }
        .mfp-zoom-in .mfp-content {
            opacity: 0;
            transform: scale(0.9);
            transition: all 0.3s ease-in-out;
        }
        .mfp-zoom-in.mfp-ready .mfp-content {
            opacity: 1;
            transform: scale(1);
        }
        .mfp-zoom-in.mfp-removing .mfp-content {
            opacity: 0;
            transform: scale(0.9);
        }
        #loader-modal-container {
            background: rgba(var(--color-bg-secondary-rgb), 0.8);
            backdrop-filter: blur(15px);
            -webkit-backdrop-filter: blur(15px);
            border: 1px solid rgba(var(--color-border-rgb), 0.5);
            box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
            transition: opacity 0.4s ease-in-out;
        }
        #loader-modal-container.is-hiding {
            opacity: 0;
        }
        
        /* --- DOWNLOAD CHECKLIST STYLES --- */
        .checklist-item {
            transition: color 0.4s ease-in-out;
            overflow: hidden;
            position: relative;
        }
        .checklist-item .checkmark {
            position: absolute;
            right: 0;
            opacity: 0;
            transform: scale(0.5);
            stroke-dasharray: 24;
            stroke-dashoffset: 24;
            transition: opacity 0.3s 0.3s ease-out, transform 0.3s 0.3s ease-out, stroke-dashoffset 0.6s ease-out;
        }
        .checklist-item.completed { color: var(--color-success); }
        .checklist-item.completed .checkmark {
            opacity: 1;
            stroke-dashoffset: 0;
            transform: scale(1);
        }