          /* --- CORE VARIABLES --- */
        :root {
            /* Light Theme (Default) */
            --bg-color: #e0e5ec;
            --text-color: #333333;
            --primary-color: #4c68ff;
            --primary-light: #7c90ff;
            --primary-dark: #3a50cc;
            --secondary-bg: #e0e5ec;
            --glass-color: rgba(255, 255, 255, 0.4);
            --card-glass: rgba(255, 255, 255, 0.65);
            --line-color: rgba(0, 0, 0, 0.07);
            --star-color: #E5B500;
            --toggle-size: 4rem;
            --border-radius: 20px;
            --font-stack: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

            /* Neumorphic Shadows (Light) */
            --shadow-light-top: -6px -6px 12px #ffffff;
            --shadow-light-bottom: 6px 6px 12px rgba(0, 0, 0, 0.15);
            --shadow-inset-light: inset 2px 2px 5px rgba(0, 0, 0, 0.1), inset -2px -2px 5px #ffffff;
            --card-shadow: 0 10px 25px rgba(0,0,0,0.1);
            
            --highlight-light: #ffffff;
            --shadow-dark: #a3b1c6;
            --active-color: #4c68ff; /* Synced with primary color */
        }

        /* --- GLOBAL RESET & BOX SIZING --- */
        * {
            box-sizing: border-box;
        }

        /* Dark Theme */
        [data-theme="dark"] {
            --bg-color: #1e2023;
            --text-color: #f0f0f0;
            --primary-color: #6a7eff;
            --secondary-bg: #1e2023;
            --glass-color: rgba(30, 32, 35, 0.6);
            --card-glass: rgba(40, 44, 52, 0.7);
            --line-color: rgba(255, 255, 255, 0.08);
            --star-color: #FFFACD;
            
            --shadow-light-top: -6px -6px 12px #34343e;
            --shadow-light-bottom: 6px 6px 12px #101214;
            --shadow-inset-light: inset 2px 2px 5px #101214, inset -2px -2px 5px #34343e;
            --card-shadow: 0 10px 25px rgba(0,0,0,0.5);

            --highlight-light: #34343e;
            --shadow-dark: #101214;
        }

        /* --- GLOBAL STYLES --- */
        body {
            font-family: var(--font-stack);
            /* Animated Background Gradient - Adjusted for less blue intensity */
            background: linear-gradient(300deg, var(--bg-color) 0%, var(--bg-color) 35%, var(--primary-light) 50%, var(--bg-color) 65%, var(--bg-color) 100%);
            background-size: 400% 400%;
            animation: gradient-flow 60s ease infinite;
            
            color: var(--text-color);
            margin: 0;
            padding: 0;
            transition: color 0.4s ease-in-out; 
            overflow: hidden; /* App handles scroll */
        }

        /* --- ANIMATIONS --- */
        @keyframes gradient-flow {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }
        
        @keyframes moveLines {
            0% { background-position: 0 0; }
            100% { background-position: 600px 600px; }
        }
        
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        @keyframes spinFast {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(720deg); }
        }
        
        @keyframes slideUp {
            0% { 
                opacity: 0; 
                transform: translateY(40px);
                filter: blur(2px);
            }
            100% { 
                opacity: 1; 
                transform: translateY(0);
                filter: blur(0);
            }
        }
        
        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-8px); }
            100% { transform: translateY(0px); }
        }

        @keyframes glow {
            0% { box-shadow: 0 0 5px var(--primary-color); }
            50% { box-shadow: 0 0 15px var(--primary-color), 0 0 25px var(--primary-light); }
            100% { box-shadow: 0 0 5px var(--primary-color); }
        }

        @keyframes shimmer {
            0% { background-position: -200% 0; }
            100% { background-position: 200% 0; }
        }

        @keyframes bounce {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.08); }
        }

        @keyframes pulseGlow {
            0% { opacity: 0.7; filter: blur(.15px); }
            50% { opacity: 1; filter: blur(.7px); }
            100% { opacity: 0.7; filter: blur(.15px); }
        }

        @keyframes rotateSlow {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        @keyframes fadeInScale {
            0% { 
                opacity: 0; 
                transform: scale(0.95);
            }
            100% { 
                opacity: 1; 
                transform: scale(1);
            }
        }

        @keyframes slideInRight {
            0% {
                opacity: 0;
                transform: translateX(30px);
            }
            100% {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes textGlow {
            0% { text-shadow: 0 0 2px var(--primary-color); }
            50% { text-shadow: 0 0 10px var(--primary-color), 0 0 20px var(--primary-light); }
            100% { text-shadow: 0 0 2px var(--primary-color); }
        }

        /* Cards animate AFTER loading */
        .card-animate {
          animation: slideUp 0.5s ease-out;
            animation-fill-mode: both;
        }

        .card-animate:nth-child(1) { animation-delay: 0.1s; }
        .card-animate:nth-child(2) { animation-delay: 0.2s; }
        .card-animate:nth-child(3) { animation-delay: 0.3s; }
        .card-animate:nth-child(4) { animation-delay: 0.4s; }
        .card-animate:nth-child(5) { animation-delay: 0.5s; }

        /* --- ADDED: BACKGROUND CANVAS STYLE --- */
        #bg-canvas {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            z-index: 0; /* Behind content */
            pointer-events: none;
        }

        /* --- LAYOUT & BACKGROUNDS --- */
        #main-menu {
            height: 100vh;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            overflow-y: auto;
            overflow-x: hidden;
            transition: background 0s;
            position: relative;
            z-index: 1;
            animation: fadeInScale 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        /* Background Patterns */
        #main-menu[data-pattern="lines"] {
            background-image: linear-gradient(to right, var(--line-color) 1px, transparent 1px), linear-gradient(to bottom, var(--line-color) 1px, transparent 1px);
            background-size: 50px 50px;
            animation: moveLines 10s linear infinite;
        }
        #main-menu[data-pattern="dots"] {
            background-image: radial-gradient(var(--line-color) 3px, transparent 1px);
            background-size: 40px 40px;
            animation: moveLines 10s linear infinite;
        }
        #main-menu[data-pattern="stripes"] {
            background-image: repeating-linear-gradient(45deg, var(--line-color) 0, var(--line-color) 1px, transparent 1px, transparent 30px);
            background-attachment: fixed;
            background-position: 0 0 !important; 
            background-size: auto;
        }
        #main-menu[data-pattern="stars"] {
          background-image: 
            radial-gradient(circle at 15% 50%, var(--star-color) 0.5px, transparent 1px),
            radial-gradient(circle at 80% 12%, var(--star-color) 1px, transparent 2px),
            radial-gradient(circle at 55% 85%, var(--star-color) 0.5px, transparent 1px),
            radial-gradient(circle at 40% 40%, var(--star-color) 1.5px, transparent 2px),
            radial-gradient(circle at 90% 90%, var(--star-color) 0.5px, transparent 1px),
            radial-gradient(circle at 10% 80%, var(--star-color) 1px, transparent 2px),
            radial-gradient(circle at 50% 10%, var(--star-color) 0.5px, transparent 1px),
            radial-gradient(circle at 95% 45%, var(--star-color) 1px, transparent 2px),
            radial-gradient(circle at 25% 25%, var(--star-color) 1.5px, transparent 2.5px),
            radial-gradient(circle at 65% 65%, var(--star-color) 0.5px, transparent 1px);
            
          background-size: 300px 300px; 
          animation: moveLines 25s linear infinite;
        }

        /* --- DASHBOARD GRID SYSTEM --- */
        .dashboard-container {
            width: 100%;
            max-width: 1000px;
            padding: 40px 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .hero-section {
            text-align: center;
            margin-bottom: 50px;
            padding: 20px;
            background: var(--glass-color);
            backdrop-filter: blur(10px);
            border-radius: 30px;
            border: 1px solid rgba(255,255,255,0.1);
            box-shadow: var(--shadow-light-bottom);
            animation: float 6s ease-in-out infinite;
            transform-origin: center;
        }
        
        .hero-section h2 {
            font-size: 3em;
            margin: 0 0 15px 0;
            color: var(--primary-color);
            text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
            animation: textGlow 3s ease-in-out infinite;
        }
        
        #quote-display {
            font-size: 1.2em;
            font-style: italic;
            opacity: 0.8;
            max-width: 600px;
            margin: 0 auto;
            transition: opacity 0.5s ease-in-out;
            min-height: 80px; 
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        #quote-display.fade-out {
            opacity: 0;
        }

        .card-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 30px;
            width: 100%;
        }

        .dashboard-card {
            background: var(--card-glass);
            backdrop-filter: blur(10px);
            border-radius: 25px;
            padding: 30px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            cursor: pointer;
            transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
            border: 1px solid rgba(255,255,255,0.2);
            box-shadow: var(--card-shadow);
            position: relative;
            overflow: hidden;
            height: 200px;
            opacity: 1;
        }

        .dashboard-card:not(:hover) {
            opacity: 0.85;
            transform: translateY(0);
            filter: blur(0.5px);
        }

        .dashboard-card:hover {
            transform: translateY(-15px) scale(1.03);
            box-shadow: 0 25px 50px rgba(0,0,0,0.3);
            border-color: var(--primary-color);
            opacity: 1;
            filter: blur(0);
            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .dashboard-card:hover i {
            transform: scale(1.2) rotate(3deg);
            transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .dashboard-card i {
            font-size: 3em;
            margin-bottom: 20px;
            color: var(--primary-color);
            transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .dashboard-card h3 { 
            margin: 0; 
            font-size: 1.5em; 
            font-weight: 700; 
            transition: all 0.3s ease;
        }
        
        .dashboard-card p { 
            opacity: 0.7; 
            font-size: 0.9em; 
            margin-top: 10px;
            transition: opacity 0.3s ease;
        }

        .dashboard-card:hover p {
            opacity: 1;
        }

        /* Special Card for Surf Web */
        .card-accent {
            background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
            color: white !important;
          animation: slideUp 0.5s ease-out;
            animation-fill-mode: both;
        }
        .card-accent i, .card-accent h3, .card-accent p { color: white !important; }

        .card-accent:not(:hover) {
            opacity: 0.9;
            filter: blur(0.5px);
        }

        /* --- SUB-PAGE HEADERS --- */
        .page-header {
            width: 100%;
            max-width: 1000px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 0;
            margin-bottom: 20px;
            border-bottom: 2px solid var(--line-color);
            animation: slideInRight 0.5s ease-out;
        }
        
        .back-btn {
            background: var(--secondary-bg);
            border: none;
            padding: 10px 20px;
            border-radius: 50px;
            font-weight: 600;
            color: var(--text-color);
            cursor: pointer;
            box-shadow: var(--shadow-light-bottom), var(--shadow-light-top);
            display: flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
        }
        
        .back-btn:hover {
            transform: translateX(-8px);
            color: var(--primary-color);
            box-shadow: var(--shadow-inset-light);
        }
        
        .back-btn i {
            transition: transform 0.3s ease;
        }
        
        .back-btn:hover i {
            transform: translateX(-3px);
        }

        /* --- COMPONENTS --- */
        .menu-tab-content {
            display: none;
            flex-direction: column;
            align-items: center;
            width: 100%;
            height: 100%;
            padding: 20px;
            box-sizing: border-box;
            overflow-y: auto;
            animation: fadeInScale 0.5s ease-out;
        }
        
        .menu-tab-content.active { display: flex; }

        .menu-section-title {
            font-size: 2em;
            font-weight: 800;
            color: var(--primary-color);
            margin: 0;
            animation: textGlow 3s ease-in-out infinite;
        }

        .menu-buttons, .menu-buttons2 {
            display: flex;
            gap: 20px;
            flex-wrap: wrap;
            justify-content: center;
            margin-top: 40px;
            width: 100%;
            max-width: 800px;
        }

        /* Neumorphic Buttons */
        .menu-buttons button, .menu-buttons2 button {
            color: var(--text-color);
            background-color: var(--secondary-bg);
            border: none;
            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
            box-shadow: var(--shadow-light-bottom), var(--shadow-light-top);
            font-weight: 600;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            border-radius: 15px;
            cursor: pointer;
            flex: 1 1 200px;
            position: relative;
            overflow: hidden;
            animation: slideUp 0.5s ease-out;
            animation-fill-mode: both;
        }
        
        .menu-buttons button { padding: 25px; font-size: 1.2em; height: 80px; }
        .menu-buttons2 button { padding: 15px; font-size: 1em; }
        
        .menu-buttons button:nth-child(1) { animation-delay: 0.1s; }
        .menu-buttons button:nth-child(2) { animation-delay: 0.2s; }
        .menu-buttons button:nth-child(3) { animation-delay: 0.3s; }
        
        .menu-buttons button:hover, .menu-buttons2 button:hover {
            transform: translateY(-5px) scale(1.02);
            box-shadow: var(--shadow-inset-light);
            color: var(--primary-color);
        }
        
        .menu-buttons button:hover::after, .menu-buttons2 button:hover::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            animation: shimmer 1.5s infinite;
        }

        /* Refresh icon spin on hover */
        .fa-sync-alt {
            transition: transform 0.3s ease;
        }
        
        .fa-sync-alt:hover {
            animation: spinFast 0.8s ease-in-out;
        }

        /* --- BOTTOM BAR --- */
        #bottom-bar {
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            justify-content: center; 
            align-items: center;
            gap: 30px;
            padding: 10px 40px;
            z-index: 300; 
            border-radius: 50px;
            backdrop-filter: blur(12px);
            background-color: var(--glass-color);
            box-shadow: var(--shadow-light-bottom);
            border: 1px solid rgba(255, 255, 255, 0.2);
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            white-space: nowrap; 
            min-width: 250px;
            animation: slideUp 0.8s ease-out;
        }
        
        #footer-time {
            animation: pulseGlow 3s ease-in-out infinite;
        }
        
        #footer-settings-btn {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: none;
            background: var(--secondary-bg);
            box-shadow: var(--shadow-light-bottom), var(--shadow-light-top);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 1.2em;
            color: var(--text-color);
            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
        }
        
        #footer-settings-btn:hover {
            transform: rotate(90deg) scale(1.1);
            color: var(--primary-color);
            box-shadow: var(--shadow-inset-light);
        }

        /* --- SETTINGS TOGGLES --- */
        .settings-container { 
            display: flex; 
            flex-direction: column; 
            gap: 20px; 
            align-items: center; 
            width: 100%; 
            max-width: 600px; 
            padding-bottom: 100px; 
            animation: fadeInScale 0.6s ease-out;
        }
        
        .settings-group-title {
            width: 100%;
            text-align: left;
            font-size: 1.3em;
            font-weight: 700;
            color: var(--primary-color);
            margin-top: 20px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--line-color);
            animation: slideInRight 0.5s ease-out;
        }

        .settings-item { 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            width: 100%; 
            padding: 20px;
            background: var(--card-glass);
            border-radius: 15px;
            box-shadow: var(--shadow-light-bottom);
            animation: slideUp 0.5s ease-out;
            animation-fill-mode: both;
        }

        
        .settings-item:hover {
            transform: translateX(5px);
            box-shadow: var(--shadow-inset-light);
        }
        
        .switch-container {
            width: var(--toggle-size);
            height: calc(var(--toggle-size) / 2);
            border-radius: 999px;
            background-color: var(--bg-color);
            box-shadow: inset 5px 5px 10px var(--shadow-dark), inset -5px -5px 10px var(--highlight-light);
            cursor: pointer;
            position: relative;
            transition: all 0.3s ease;
        }
        
        .switch-container:hover {
            transform: scale(1.02);
        }
        
        .switch-thumb {
            width: calc(var(--toggle-size) / 2 - 0.5rem);
            height: calc(var(--toggle-size) / 2 - 0.5rem);
            border-radius: 50%;
            background-color: var(--bg-color);
            box-shadow: -4px -4px 8px var(--highlight-light), 4px 4px 8px var(--shadow-dark);
            position: absolute;
            top: 0.25rem;
            left: 0.25rem;
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .switch-thumb i {
            transition: all 0.3s ease;
        }
        
        .switch-on .switch-thumb {
            transform: translateX(calc(var(--toggle-size) / 2));
            background-color: var(--active-color);
            color: white;
        }

        /* --- IFRAME & CHATBOT --- */
        #iframe-container {
            display: none;
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background: var(--bg-color);
            z-index: 200;
            flex-direction: column;
            animation: fadeInScale 0.4s ease-out;
        }
        
        #iframe-nav {
            position: relative;
            width: 100%;
            padding: 15px 20px; 
            display: flex; gap: 15px;
            background: var(--glass-color);
            backdrop-filter: blur(10px);
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            z-index: 10;
            box-sizing: border-box;
            align-items: center;
            flex-shrink: 0;
            animation: slideUp 0.5s ease-out;
        }
        
        #iframe-nav button {
            background: var(--secondary-bg);
            border: none;
            padding: 8px 16px;
            border-radius: 12px;
            font-weight: 600;
            color: var(--text-color);
            cursor: pointer;
            box-shadow: var(--shadow-light-bottom), var(--shadow-light-top);
            display: flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
            font-size: 0.9em;
        }
        
        #iframe-nav button:hover {
            transform: translateY(-3px) scale(1.02);
            color: var(--primary-color);
            box-shadow: var(--shadow-inset-light);
        }

        #my-iframe { 
            width: 100%; 
            border: none; 
            box-sizing: border-box; 
            flex: 1;
        }
        
        #chatbot-iframe {
            width: 100%;
            height: 100%;
            border: none;
            border-radius: 20px;
            background: white;
            box-shadow: var(--shadow-inset-light);
            transition: all 0.3s ease;
            animation: fadeInScale 0.5s ease-out;
        }

        /* --- MODAL --- */
        .modal-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0,0,0,0.6);
            display: flex; justify-content: center; align-items: center;
            opacity: 0; visibility: hidden; transition: all 0.3s;
            z-index: 9999;
            backdrop-filter: blur(5px);
        }
        
        .modal-overlay.active { 
            opacity: 1; 
            visibility: visible; 
        }
        
        .modal-content {
            background: var(--secondary-bg);
            padding: 30px; border-radius: 25px;
            width: 90%; max-width: 400px;
            transform: scale(0.9); 
            transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            border: 1px solid rgba(255,255,255,0.2);
        }
        
        .modal-overlay.active .modal-content { 
            transform: scale(1); 
        }

        /* --- PERFORMANCE MONITOR --- */
        #info-btn {
            position: fixed; bottom: 80px; right: 20px;
            width: 30px; height: 30px; border-radius: 50%;
            background: var(--secondary-bg); 
            color: var(--text-color); 
            display: flex; align-items: center; justify-content: center;
            cursor: grab; z-index: 1000;
            box-shadow: var(--shadow-light-bottom), var(--shadow-light-top);
            font-size: 0.8rem;
            font-weight: 700;
            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
            outline: none; 
            border: none;
            animation: pulseGlow 3s ease-in-out infinite;
        }
        
        #info-btn:hover { 
            transform: translateY(-3px) scale(1.1);
            color: var(--primary-color);
            box-shadow: var(--shadow-inset-light); 
            cursor: grabbing;
        }
        
        #performance-modal {
            position: fixed; bottom: 140px; right: 20px;
            width: 160px; background: var(--secondary-bg);
            padding: 15px; border-radius: 15px;
            box-shadow: var(--shadow-light-bottom); 
            font-size: 0.9em; z-index: 999;
            opacity: 0; 
            pointer-events: none;
            transition: opacity 0.3s, transform 0.3s;
            border: 1px solid rgba(255,255,255,0.1);
            display: flex;
            flex-direction: column;
            gap: 5px;
            transform-origin: bottom right;
        }
        
        #performance-modal.visible { 
            opacity: 0.9;
            transform: scale(1);
        }

        .text-good { color: #2ecc71; font-weight: bold; }
        .text-medium { color: #f1c40f; font-weight: bold; }
        .text-bad { color: #e74c3c; font-weight: bold; }

        /* --- TEXT INPUTS & BUTTONS --- */
        input[type="text"] {
            padding: 12px 15px; border-radius: 12px; border: 1px solid var(--line-color);
            background: var(--secondary-bg); color: var(--text-color);
            box-shadow: var(--shadow-inset-light);
            outline: none;
            width: 100%;
            max-width: 300px;
            transition: all 0.3s ease;
        }
        
        input[type="text"]:focus {
            border-color: var(--primary-color);
            box-shadow: 0 0 0 3px rgba(76, 104, 255, 0.2);
            transform: scale(1.02);
        }
        
        select {
            padding: 12px 15px; border-radius: 12px; border: 1px solid var(--line-color);
            background: var(--secondary-bg); color: var(--text-color);
            box-shadow: var(--shadow-light-bottom);
            outline: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        select:hover {
            transform: translateY(-2px);
            box-shadow: var(--shadow-inset-light);
        }
        
        .settings-btn {
            background: var(--primary-color);
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 12px;
            cursor: pointer;
            font-weight: 600;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
            margin-top: 10px;
            position: relative;
            overflow: hidden;
        }
        
        .settings-btn:hover {
            transform: translateY(-2px) scale(1.02);
            background: var(--primary-dark);
            box-shadow: 0 8px 15px rgba(0,0,0,0.2);
        }
        
        .settings-btn:active {
            transform: scale(0.98);
        }
        
        .settings-btn::after {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: left 0.5s ease;
        }
        
        .settings-btn:hover::after {
            left: 100%;
        }
        
        /* --- LOADING SCREEN --- */
        #loading-screen {
            position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
            background: var(--bg-color); z-index: 10000;
            display: flex; justify-content: center; align-items: center;
            flex-direction: column;
            transition: opacity 0.5s ease-out, visibility 0.5s;
            gap: 20px;
        }
        
        #loading-screen.fade-out { 
            opacity: 0; 
            visibility: hidden; 
        }
        
        /* --- CLOAKING ALERT --- */
        #CloakingAlert {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: var(--bg-color); z-index: 20000;
            display:flex;
            flex-direction: column; justify-content: center; align-items: center;
            color: var(--primary-color); font-size: 1.2em; font-weight: bold;
            font-family: var(--font-stack);
            animation: fadeInScale 0.5s ease-out;
        }
        
        .fade-out {
            opacity: 0;
            transition: opacity 0.8s ease;
            pointer-events: none;
        }
        
        #Dbclick {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: var(--bg-color); z-index: 9999;
            display:flex;
            flex-direction: column; justify-content: center; align-items: center;
            color: var(--primary-color); font-size: 1.2em; font-weight: bold;
            font-family: var(--font-stack);
            animation: pulseGlow 2s ease-in-out infinite;
        }
        
        .hidden { display: none !important; }
        .visible { display: flex !important; }
        
        .loader-container { padding: 20px; }
        
        .loader-circle {
            width: 50px; height: 50px; border: 5px solid var(--primary-light);
            border-top-color: var(--primary-color); border-radius: 50%;
            animation: spin 1s linear infinite, pulseGlow 2s ease-in-out infinite;
        }

        /* --- IFRAME LOADING BAR --- */
        .iframe-loading-bar {
            position: absolute; bottom: 0; left: 0; width: 100%; height: 3px;
            background: transparent; overflow: hidden; display: none;
        }
        
        .iframe-loading-bar.active { display: block; }
        
        .iframe-loading-bar::after {
            content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: 40%;
            background: var(--primary-color);
            animation: iframe-load-anim 1s infinite linear;
        }
        
        @keyframes iframe-load-anim {
            0% { transform: translateX(-100%); }
            100% { transform: translateX(300%); }
        }

        .pulse {
            animation: pulse-animation 1.5s infinite ease-in-out;
            color: var(--primary-color);
            font-family: sans-serif;
            font-size: 1.1rem;
            letter-spacing: 1px;
        }

        @keyframes pulse-animation {
            0% {
                opacity: 0.4;
                transform: scale(0.98);
            }
            50% {
                opacity: 1;
                transform: scale(1);
            }
            100% {
                opacity: 0.4;
                transform: scale(0.98);
            }
        }

        /* --- MOBILE RESPONSIVENESS --- */
        @media (max-width: 600px) {
            #iframe-nav button span { display: none; }
            #iframe-nav button { padding: 10px; justify-content: center; }
            .dashboard-container { padding: 20px 10px; }
            .hero-section h2 { font-size: 2em; }
            .dashboard-card { height: 180px; padding: 20px; }
            .dashboard-card i { font-size: 2.5em; }
            .dashboard-card h3 { font-size: 1.2em; }
        }
        
        /* --- TOGGLE GRADIENT --- */
        body[data-gradient="false"] {
            background: var(--bg-color);
            animation: none;
            background-size: auto;
        }

