        :root {
            --primary-gold: #c9a24d;
            --primary-gold-hover: #a9832f;
            --accent-ivory: #eee2c3;
            --dark-bg: #15120d;
            --darker-bg: #0a0806;
            --light-bg: #f6f2ea;
            --card-bg: #ffffff;
            --text-main: #221f1a;
            --text-muted: #8a8172;
            --success-color: #2f8f5b;
            --danger-color: #b23b2e;
            --border-radius: 12px;
            /* Elevation scale — 3 fixed levels instead of one-off box-shadow
               values per component. Applied so far to the exact-duplicate
               shadows already in use (buttons, cards, dropdown/overlay
               panels); a few colored/glow shadows are intentionally left
               as-is pending a dedicated pass. */
            --shadow-1: 0 4px 14px rgba(0,0,0,0.3);   /* raised buttons / nav items */
            --shadow-2: 0 10px 30px rgba(0,0,0,0.05); /* cards / panels */
            --shadow-3: 0 12px 30px rgba(0,0,0,0.35); /* dropdown / overlay menus */
        }
        body, button, input, select { font-family: 'Tajawal', sans-serif; }
        body.lang-he, body.lang-he button, body.lang-he input, body.lang-he select { font-family: 'Heebo', sans-serif; }
        .brand-subtitle, .menu-title, .menu-card h3, .question-text,
        .exam-timer, .exam-progress, .results-banner, .license-btn-label,
        .review-heading, .quiz-card .meta-info strong, header .rotating-badge,
        #compactHeader span, .about-name { font-family: 'Almarai', sans-serif; }
        .header-home-link { transition: filter 0.15s ease; filter: brightness(1); }
        .header-home-link:hover { filter: brightness(1.3); }
        #compactHeader .header-home-link { align-items: center; justify-content: center; gap: 8px; }
        .compact-brand-mark { width: 22px; height: 22px; flex: 0 0 auto; }
        .compact-brand-name { color: var(--primary-gold); font-weight: 800; font-size: 1.15rem; letter-spacing: 0.5px; white-space: nowrap; }
        .compact-brand-vip { color: #fff; font-weight: 500; font-size: 0.9rem; }
        body {
            background-color: var(--light-bg);
            background-image: radial-gradient(ellipse 900px 500px at 50% -120px, rgba(201,162,77,0.10), transparent 70%);
            color: var(--text-main); margin: 0; padding: 0;
            display: flex; flex-direction: column; align-items: center;
        }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
        @keyframes iconPop { 0% { transform: scale(0); opacity: 0; } 60% { transform: scale(1.25); opacity: 1; } 100% { transform: scale(1); } }
        @keyframes shakeX { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
        .icon-placeholder svg { animation: iconPop 0.35s ease-out; }
        .option-btn.wrong { animation: shakeX 0.3s ease-out; }
        .option-btn:active { transform: scale(0.97); }
        .scroll-fade { opacity: 0; transform: translateY(18px); transition: opacity 0.55s ease-out, transform 0.55s ease-out; }
        .scroll-fade.visible { opacity: 1; transform: translateY(0); }
        @media (prefers-reduced-motion: reduce) { .scroll-fade { opacity: 1; transform: none; transition: none; } }
        @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.4); } 70% { box-shadow: 0 0 0 10px rgba(212, 175, 55, 0); } 100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0); } }
        @keyframes pulseRed { 0% { opacity: 1; } 50% { opacity: 0.4; } 100% { opacity: 1; } }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
        .container { max-width: 800px; width: 100%; padding: 12px 20px 20px 20px; box-sizing: border-box; }
        .site-footer { width: 100%; box-sizing: border-box; border-top: 2px solid var(--primary-gold); background: linear-gradient(135deg, #221a10 0%, #111111 55%, #1c150c 100%); padding: 12px 20px 16px 20px; text-align: center; margin-top: 10px; }
        .site-footer-link { display: inline-flex; align-items: center; gap: 8px; color: var(--primary-gold); text-decoration: none; font-weight: 700; font-size: 0.95rem; padding: 8px 18px; border: 1.5px solid var(--primary-gold); border-radius: 20px; transition: all 0.25s; }
        .site-footer-link:hover { background: var(--primary-gold); color: var(--dark-bg); }
        .site-footer-copy { color: var(--accent-ivory); opacity: 0.9; font-size: 0.8rem; margin: 10px 0 0 0; }
        .site-footer-copy .site-footer-link { text-decoration: none !important; color: #e2bd4f; transition: color 0.2s, opacity 0.2s; }
        .site-footer-copy .site-footer-link:hover { color: #f2cf64; opacity: 1; }
        .site-footer-social { display: flex; justify-content: center; gap: 12px; margin-top: 0; }
        .site-footer-social-btn { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: 1.7px solid rgba(226,189,79,0.88); color: #e2bd4f; transition: all 0.25s; }
        .site-footer-social-btn svg { width: 19px; height: 19px; }
        .site-footer-social-btn:hover { background: var(--primary-gold); color: var(--dark-bg); border-color: var(--primary-gold); transform: translateY(-2px); }
        #navButtonsRow {
            position: fixed; top: 14px; right: 16px; z-index: 1000; display: flex; gap: 10px; flex-wrap: nowrap;
        }
        #topNavToggle {
            height: 42px; padding: 0 16px;
            background: var(--dark-bg); border: 2px solid var(--primary-gold); border-radius: 10px;
            cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
            box-shadow: var(--shadow-1); transition: all 0.25s;
        }
        #topNavToggle span { color: var(--primary-gold); font-family: 'Tajawal', sans-serif; font-size: 0.9rem; font-weight: 700; transition: color 0.25s; }
        #topNavToggle:hover span { color: var(--dark-bg); }
        #topNavToggle:hover { background: var(--primary-gold); }
        #topNavToggle:hover svg path { stroke: var(--dark-bg); }
        #drivingLessonsToggle {
            height: 42px; padding: 0 16px; white-space: nowrap;
            background: var(--dark-bg); border: 2px solid var(--primary-gold); border-radius: 10px;
            cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
            box-shadow: var(--shadow-1); transition: all 0.25s;
            color: var(--primary-gold); text-decoration: none; box-sizing: border-box;
        }
        #drivingLessonsToggle span { color: var(--primary-gold); font-family: 'Tajawal', sans-serif; font-size: 0.9rem; font-weight: 700; transition: color 0.25s; }
        #drivingLessonsToggle:hover span { color: var(--dark-bg); }
        #drivingLessonsToggle:hover { background: var(--primary-gold); }
        #drivingLessonsToggle:hover svg path { stroke: var(--dark-bg); }
        #topNavDropdown, #siteNavDropdown {
            position: fixed; top: 66px; right: 16px; z-index: 999; background: var(--dark-bg);
            border: 1px solid rgba(201,162,77,0.4); border-radius: 10px; box-shadow: var(--shadow-3);
            padding: 8px; min-width: 260px; animation: fadeIn 0.25s ease-out;
        }
        #heNavDropdown {
            position: fixed; top: 66px; right: 16px; z-index: 999; background: var(--dark-bg);
            border: 1px solid rgba(201,162,77,0.4); border-radius: 10px; box-shadow: var(--shadow-3);
            padding: 8px; min-width: 260px; animation: fadeIn 0.25s ease-out;
        }
        .top-nav-item {
            width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none;
            color: var(--accent-ivory); padding: 11px 12px; border-radius: 8px; font-family: 'Tajawal', sans-serif;
            font-size: 0.95rem; font-weight: 600; cursor: pointer; text-align: right; transition: background 0.2s;
            text-decoration: none; box-sizing: border-box;
        }
        .top-nav-item:hover { background: rgba(201,162,77,0.15); }
        .top-nav-item svg { flex-shrink: 0; }
        #testPrepToggle {
            height: 42px; padding: 0 16px;
            background: var(--dark-bg); border: 2px solid var(--primary-gold); border-radius: 10px;
            cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
            box-shadow: var(--shadow-1); transition: all 0.25s;
        }
        #testPrepToggle span { color: var(--primary-gold); font-family: 'Tajawal', sans-serif; font-size: 0.9rem; font-weight: 700; transition: color 0.25s; }
        #testPrepToggle:hover span { color: var(--dark-bg); }
        #testPrepToggle:hover { background: var(--primary-gold); }
        #testPrepToggle:hover svg path { stroke: var(--dark-bg); }
        #testPrepDropdown {
            position: fixed; top: 66px; right: 16px; z-index: 999; background: var(--dark-bg);
            border: 1px solid rgba(201,162,77,0.4); border-radius: 10px; box-shadow: var(--shadow-3);
            padding: 8px; min-width: 260px; animation: fadeIn 0.25s ease-out;
        }
        #heDrivingLessonsToggle {
            height: 42px; padding: 0 16px; white-space: nowrap;
            background: var(--dark-bg); border: 2px solid var(--primary-gold); border-radius: 10px;
            cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
            box-shadow: var(--shadow-1); transition: all 0.25s;
        }
        #heDrivingLessonsToggle span { color: var(--primary-gold); font-family: 'Heebo', sans-serif; font-size: 0.9rem; font-weight: 700; transition: color 0.25s; }
        #heDrivingLessonsToggle:hover span { color: var(--dark-bg); }
        #heDrivingLessonsToggle:hover { background: var(--primary-gold); }
        #heDrivingLessonsToggle:hover svg path { stroke: var(--dark-bg); }
        #heTestPrepToggle {
            height: 42px; padding: 0 16px;
            background: var(--dark-bg); border: 2px solid var(--primary-gold); border-radius: 10px;
            cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
            box-shadow: var(--shadow-1); transition: all 0.25s;
        }
        #heTestPrepToggle span { color: var(--primary-gold); font-family: 'Heebo', sans-serif; font-size: 0.9rem; font-weight: 700; transition: color 0.25s; }
        #heTestPrepToggle:hover span { color: var(--dark-bg); }
        #heTestPrepToggle:hover { background: var(--primary-gold); }
        #heTestPrepToggle:hover svg path { stroke: var(--dark-bg); }
        #heTestPrepDropdown {
            position: fixed; top: 66px; right: 16px; z-index: 999; background: var(--dark-bg);
            border: 1px solid rgba(201,162,77,0.4); border-radius: 10px; box-shadow: var(--shadow-3);
            padding: 8px; min-width: 260px; animation: fadeIn 0.25s ease-out;
        }
        .top-nav-item.soon { cursor: default; opacity: 0.55; }
        .top-nav-item.soon:hover { background: none; }
        .top-nav-item .soon-badge { margin-inline-start: auto; font-size: 0.75rem; color: var(--text-muted); font-weight: 600; }
        .tp-accordion-item {
            border: 1px solid rgba(201,162,77,0.35); border-radius: 10px; margin-bottom: 10px;
            overflow: hidden; background: #fff;
        }
        .tp-accordion-item summary {
            padding: 14px 16px; cursor: pointer; font-weight: 700; color: var(--text-main);
            font-family: 'Almarai', sans-serif; list-style: none; display: flex; align-items: center;
            gap: 10px; font-size: 1rem;
        }
        .tp-accordion-item summary::-webkit-details-marker { display: none; }
        .tp-accordion-item summary .tp-accordion-chev { margin-inline-start: auto; transition: transform 0.2s; color: var(--primary-gold); font-size: 0.85rem; }
        .tp-accordion-item[open] summary .tp-accordion-chev { transform: rotate(180deg); }
        .tp-accordion-item .tp-accordion-body {
            padding: 0 16px 16px; color: var(--text-muted); font-size: 0.95rem; line-height: 1.85;
        }
        .tp-accordion-body ul { margin: 0; padding-inline-start: 20px; }
        .tp-accordion-body li { margin-bottom: 6px; }
        .failure-stats { max-width: 580px; margin: 0 auto 26px auto; }
        .failure-stat-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
        .failure-stat-label { font-size: 0.9rem; width: 150px; flex-shrink: 0; color: var(--text-main); font-weight: 600; }
        .failure-stat-track { flex: 1; height: 9px; background: #eee2c3; border-radius: 5px; overflow: hidden; }
        .failure-stat-fill { height: 100%; background: var(--danger-color); border-radius: 5px; }
        .failure-stat-pct { font-size: 0.9rem; font-weight: 700; width: 38px; color: var(--danger-color); }
        #langGateScreen {
            position: fixed; inset: 0; z-index: 5000; background: linear-gradient(160deg, #1c1812 0%, #100e0a 100%);
            display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; padding: 24px;
        }
        #langGateScreen .lang-gate-logo { max-width: 399px; width: 90%; border-radius: 10px; }
        .lang-gate-btn {
            width: 260px; max-width: 80vw; padding: 18px 20px; border-radius: 12px; border: 2px solid var(--primary-gold);
            background: #14110d; color: var(--primary-gold); font-size: 1.05rem; font-weight: 700; cursor: pointer;
            transition: all 0.2s; font-family: 'Tajawal', 'Heebo', sans-serif;
        }
        .lang-gate-btn:hover { background: var(--primary-gold); color: #14110d; }
        .lang-gate-btn.he { font-family: 'Heebo', sans-serif; }
        #topLeftBar {
            position: fixed; top: 14px; left: 16px; z-index: 1500; display: flex; align-items: center; gap: 8px;
        }
        #langSwitchBtn {
            height: 42px; padding: 0 14px 0 12px;
            background: var(--dark-bg); border: 2px solid var(--primary-gold); border-radius: 10px;
            display: flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer;
            box-shadow: var(--shadow-1); font-size: 1.1rem; transition: background 0.25s;
            color: var(--primary-gold); text-decoration: none; box-sizing: border-box;
        }
        #langSwitchBtn span#langSwitchText { color: var(--primary-gold); font-size: 0.82rem; font-weight: 700; font-family: 'Heebo', 'Tajawal', sans-serif; transition: color 0.25s; }
        #langSwitchBtn:hover { background: var(--primary-gold); }
        #langSwitchBtn:hover span#langSwitchText { color: var(--dark-bg); }
        #shareBtn {
            height: 42px; width: 42px; padding: 0; flex-shrink: 0;
            background: var(--dark-bg); border: 2px solid var(--primary-gold); border-radius: 10px;
            display: flex; align-items: center; justify-content: center; cursor: pointer;
            box-shadow: var(--shadow-1); transition: background 0.25s;
        }
        #shareBtn svg path, #shareBtn svg circle { transition: stroke 0.25s; }
        #shareBtn:hover { background: var(--primary-gold); }
        #shareBtn:hover svg path, #shareBtn:hover svg circle { stroke: var(--dark-bg); }
        #shareBtn.copied { border-color: #2e7d32; }
        #whatsappFloatBtn {
            position: fixed; bottom: 16px; left: 14px; z-index: 1300;
            width: 42px; height: 42px; border-radius: 50%; background: #25D366;
            display: flex; align-items: center; justify-content: center;
            box-shadow: 0 4px 12px rgba(0,0,0,0.3); transition: transform 0.2s, box-shadow 0.2s;
            opacity: 0.88;
        }
        #whatsappFloatBtn:hover { transform: scale(1.08); box-shadow: 0 6px 16px rgba(0,0,0,0.4); opacity: 1; }
        #whatsappFloatBtn svg { width: 22px; height: 22px; }
        @media (max-width: 768px) {
            #whatsappFloatBtn { bottom: calc(70px + env(safe-area-inset-bottom, 0px)); left: 10px; width: 36px; height: 36px; }
            #whatsappFloatBtn svg { width: 19px; height: 19px; }
        }
        header {
            background-color: var(--dark-bg); color: white; text-align: center; padding: 40px 20px;
            border-bottom: 4px solid var(--primary-gold); margin-bottom: 30px; width: 100%; box-sizing: border-box;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }
        .header-inner { display: flex; align-items: center; justify-content: center; gap: 38px; max-width: 1200px; margin: 0 auto; }
        .header-center { flex-shrink: 0; min-width: 0; max-width: 100%; }
        .header-divider { display: none; width: 1px; height: 110px; background: linear-gradient(to bottom, transparent, rgba(212,175,55,0.5), transparent); flex-shrink: 0; }
        .header-badges { display: none; flex-direction: column; gap: 26px; flex: 1; max-width: 200px; }
        .header-badge { display: flex; align-items: center; gap: 12px; color: var(--primary-gold); font-size: 0.98rem; font-weight: 600; letter-spacing: 0.3px; line-height: 1.45; opacity: 0.95; transition: opacity 0.25s; min-height: 3.2em; }
        .header-badge:hover { opacity: 1; }
        .header-badge svg { flex-shrink: 0; }
        @media (min-width: 1100px) { .header-badges, .header-divider { display: flex; } }
        .mobile-header-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
        .mobile-header-badge {
            display: flex; align-items: center; gap: 6px; background: rgba(212,175,55,0.1);
            border: 1px solid rgba(212,175,55,0.4); border-radius: 20px; padding: 6px 12px;
            font-size: 0.76rem; font-weight: 700; color: var(--accent-ivory); white-space: nowrap;
        }
        @media (min-width: 1100px) { .mobile-header-badges { display: none; } }
        .brand-logo { font-size: 2.5rem; font-weight: 900; letter-spacing: 2px; margin: 0 0 10px 0; text-transform: uppercase; }
        .brand-logo span { color: var(--primary-gold); }
        .brand-subtitle { font-size: 1.1rem; color: #ecf0f1; margin: 0; font-weight: 300; letter-spacing: 1px; }
        .file-input-container { background: var(--card-bg); padding: 22px 20px 32px 20px; border-radius: var(--border-radius); box-shadow: var(--shadow-2); text-align: center; margin-bottom: 30px; border: 1px solid #eaeaea; animation: fadeIn 0.6s ease-out; }
        .controls-panel { background: var(--card-bg); padding: 24px; border-radius: var(--border-radius); box-shadow: var(--shadow-2); margin-bottom: 32px; display: none; flex-wrap: wrap; gap: 24px; align-items: flex-start; animation: fadeIn 0.6s ease-out; border-top: 4px solid var(--dark-bg); }
        .filter-column { display: flex; flex-direction: column; gap: 24px; flex: 1 1 260px; min-width: 0; }
        @media (max-width: 768px) { .filter-column { flex-basis: 100%; } }
        .filters-header { flex: 1 1 100%; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: -8px; }
        .reset-filters-btn { background: none; border: none; color: var(--text-muted); font-size: 0.85rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; padding: 4px 2px; transition: color 0.2s; }
        .reset-filters-btn:hover { color: var(--primary-gold); }
        .practice-entry-link {
            display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
            margin: 16px auto 0; padding: 10px 18px; border: 1px solid rgba(201,162,77,0.55);
            border-radius: 12px; background: #fbf7ed; color: var(--text-main); text-decoration: none;
            box-shadow: 0 3px 10px rgba(97,73,25,0.06); transition: border-color 0.2s, background 0.2s, transform 0.2s;
        }
        .practice-entry-link:hover { color: var(--text-main); border-color: var(--primary-gold); background: #fff7df; transform: translateY(-1px); }
        .practice-entry-prompt { font-size: 0.84rem; font-weight: 700; }
        .practice-entry-action { color: var(--primary-gold-hover); font-size: 0.88rem; font-weight: 800; }
        .live-count { display: flex; align-items: center; gap: 8px; font-size: 0.85rem; font-weight: 700; color: var(--text-muted); background: #f8f6f1; border: 1px solid #ece5d3; border-radius: 20px; padding: 8px 16px; transition: all 0.25s; }
        .live-count-focused { background: #fff8e1; border: 1px solid rgba(212,175,55,0.4); border-radius: 20px; padding: 5px 12px; }
        .live-count-focused #liveFilterCountText { color: var(--primary-gold-hover); }
        .live-count svg { color: var(--primary-gold); flex-shrink: 0; }
        .live-count #liveFilterCountText { color: var(--dark-bg); font-weight: 800; }
        .control-group { display: flex; flex-direction: column; text-align: right; }
        .control-group label { font-size: 0.95rem; font-weight: 600; margin-bottom: 8px; color: var(--text-main); }
        .control-group select, .control-group input { padding: 12px; border: 2px solid #eee; border-radius: 8px; font-size: 1rem; transition: all 0.3s; background-color: var(--light-bg); width: 100%; box-sizing: border-box; }
        .control-group select { appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: left 12px center; background-size: 16px; padding-left: 36px; cursor: pointer; }
        .control-group input.search-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f8c8d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; padding-right: 40px; }
        .control-group select:focus, .control-group input:focus { outline: none; border-color: var(--primary-gold); background-color: #fff; box-shadow: 0 0 0 3px rgba(212,175,55,0.18); }
        .control-group-primary label { font-size: 1.02rem; font-weight: 800; color: var(--dark-bg); }
        .control-group-primary select { border-color: var(--primary-gold); border-width: 2px; background-color: #fffdf7; font-weight: 700; }
        .control-group-secondary label { font-size: 0.85rem; font-weight: 500; color: var(--text-muted); }
        .control-group-secondary select { padding-top: 9px; padding-bottom: 9px; font-size: 0.92rem; border-width: 1.5px; background-color: transparent; border-color: #e6e0d0; }
        /* Practice selector: a compact, single visual panel that keeps the
           existing filter controls and question engine intact underneath. */
        .practice-controls-shell { padding: 15px 16px 16px; gap: 0; border: 1px solid #2b2822; border-top-width: 4px; border-radius: 14px; background: linear-gradient(180deg,#fff 0%,#fff 68%,#fcfaf5 100%); box-shadow: 0 14px 34px rgba(44,34,15,0.09); }
        .practice-controls-shell .filters-header { margin: 0 0 2px; justify-content: flex-start; }
        .practice-controls-shell .reset-filters-btn { font-size: 0.8rem; }
        .practice-license-section { flex: 1 1 100%; text-align: center; padding: 0 6px 7px; }
        .practice-license-heading { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 7px; color: var(--dark-bg); font-size: 1.13rem; font-weight: 850; }
        .practice-vehicle-medallion { width: 38px; height: 38px; border: 1.5px solid var(--primary-gold); border-radius: 50%; display: grid; place-items: center; background: #fffaf0; color: #a97915; box-shadow: 0 3px 10px rgba(151,105,17,0.08); }
        .practice-vehicle-medallion svg { width: 25px; height: 25px; }
        .practice-license-tabs { display: flex; direction: rtl; justify-content: center; gap: 7px; flex-wrap: wrap; }
        .practice-license-tab { height: 32px; min-width: 62px; padding: 0 12px; border: 1px solid #d9c69b; border-radius: 8px; background: #fff; color: var(--dark-bg); font-size: 0.82rem; font-weight: 800; cursor: pointer; transition: transform 0.18s, border-color 0.18s, background 0.18s; }
        .practice-license-tab:hover { border-color: var(--primary-gold); transform: translateY(-1px); }
        .practice-license-tab.active { background: var(--dark-bg); color: #e4bd59; border-color: #b8871e; box-shadow: 0 0 0 2px rgba(200,155,49,0.15); }
        .practice-selected-license { margin: 5px 0 0; color: #726c63; font-size: 0.75rem; }
        .practice-selected-license strong { color: var(--dark-bg); }
        .practice-hidden-select { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
        .practice-vip-strip { flex: 1 1 100%; margin: 0 10px 10px; }
        .practice-vip-strip.focused-exam-toggle { cursor: pointer; }
        .practice-vip-strip .focused-exam-toggle-box { min-height: 52px; padding: 6px 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-width: 1px; border-color: #e3bd5d; background: linear-gradient(90deg,#fffdf8,#fff7df); }
        .practice-vip-copy { display: flex; align-items: center; gap: 9px; min-width: 0; }
        .practice-vip-target { width: 29px; height: 29px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: #fff0bd; color: #9e7013; font-size: 1rem; }
        .practice-vip-text { min-width: 0; text-align: right; }
        .practice-vip-strip .focused-exam-toggle-title { justify-content: flex-start; gap: 7px; margin: 0 0 1px; font-size: 0.88rem; }
        .practice-vip-strip .focused-exam-toggle-desc { font-size: 0.75rem; }
        .practice-vip-strip .mini-toggle { flex: 0 0 auto; }
        .practice-topic-section { flex: 1 1 100%; }
        .practice-topic-heading { margin: 9px 0 10px; text-align: center; color: var(--dark-bg); font-size: 1rem; font-weight: 850; }
        .practice-topic-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; direction: rtl; }
        .practice-topic-card { min-width: 0; min-height: 92px; padding: 8px 5px; border: 1px solid #ddd6ca; border-top: 3px solid var(--topic-accent,#c9a24d); border-radius: 10px; background: #fff; color: var(--dark-bg); box-shadow: 0 5px 14px rgba(37,29,15,0.065); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; cursor: pointer; transition: transform 0.18s, border-color 0.18s, box-shadow 0.18s; }
        .practice-topic-card:hover { transform: translateY(-2px); border-color: var(--topic-accent,#c9a24d); box-shadow: 0 8px 18px rgba(0,0,0,0.07); }
        .practice-topic-card.active { box-shadow: 0 0 0 2px color-mix(in srgb,var(--topic-accent,#c9a24d) 32%,transparent); }
        .practice-topic-card.is-all { background: linear-gradient(135deg,#211e18,#111); color: #fff6dc; border-color: #b88822; --topic-accent: #c89b31; }
        .practice-topic-icon { height: 29px; display: grid; place-items: center; color: var(--topic-accent,#c9a24d); }
        .practice-topic-icon svg { width: 27px; height: 27px; }
        .practice-topic-name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.81rem; font-weight: 850; }
        .practice-topic-count { color: #777168; font-size: 0.72rem; }
        .practice-topic-card.is-all .practice-topic-name { color: #e5bd59; }
        .practice-topic-card.is-all .practice-topic-count { color: #ddd3bc; }
        .practice-results-tools { flex: 1 1 100%; margin-top: 14px; padding: 10px 12px; border: 1px solid #e1d8c8; border-radius: 11px; background: var(--light-bg); display: grid; grid-template-columns: minmax(250px,1fr) 165px 200px; gap: 10px; align-items: end; }
        .practice-results-tools .control-group { gap: 0; }
        .practice-results-tools .control-group label { margin: 0 0 5px; color: #38342e; font-size: 0.8rem; font-weight: 750; }
        .practice-results-tools .control-group input,
        .practice-results-tools .control-group select { height: 39px; padding-block: 0; border-width: 1px; background-color: #fff; font-size: 0.88rem; }
        .practice-results-tools .live-count { height: 34px; align-self: end; justify-content: center; padding: 0 10px; border: 1px solid var(--primary-gold); background: #fffaf0; color: #5f4a1e; font-size: 0.75rem; white-space: nowrap; }
        .practice-results-tools .live-count #liveFilterCountText { color: #5f4a1e; }
        @media (max-width: 768px) {
            #practiceScreen > .back-to-menu-btn { margin-bottom: 8px !important; }
            .practice-controls-shell { padding: 11px 10px 12px; border-radius: 12px; }
            .practice-controls-shell .filters-header { margin-bottom: 0; }
            .practice-license-section { padding-inline: 0; padding-bottom: 6px; }
            .practice-license-heading { margin-bottom: 6px; font-size: 1.05rem; }
            .practice-vehicle-medallion { width: 36px; height: 36px; }
            .practice-vehicle-medallion svg { width: 23px; height: 23px; }
            .practice-license-tabs { gap: 5px; flex-wrap: nowrap; justify-content: center; overflow: visible; padding-bottom: 0; }
            .practice-license-tab { flex: 1 1 0; min-width: 0; height: 31px; padding-inline: 3px; }
            .practice-selected-license { margin-top: 4px; }
            .practice-vip-strip { margin: 0 2px 8px; }
            .practice-vip-strip .focused-exam-toggle-box { min-height: 48px; padding: 5px 8px; gap: 8px; }
            .practice-vip-target { width: 26px; height: 26px; font-size: 0.9rem; }
            .practice-vip-strip .focused-exam-toggle-title { font-size: 0.84rem; }
            .practice-vip-strip .focused-exam-toggle-desc { font-size: 0.7rem; line-height: 1.35; }
            .practice-topic-heading { margin: 8px 0; font-size: 0.95rem; }
            .practice-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
            .practice-topic-card { min-height: 80px; padding: 6px 4px; }
            .practice-topic-card.is-all { grid-column: 1 / -1; min-height: 84px; }
            .practice-topic-icon { height: 26px; }
            .practice-topic-icon svg { width: 24px; height: 24px; }
            .practice-results-tools { margin-top: 10px; padding: 8px 9px; gap: 8px; grid-template-columns: minmax(0,1fr) 124px; align-items: start; }
            .practice-results-tools .control-group label { font-size: 0.72rem; min-height: 28px; display: block; }
            .practice-results-tools .control-group input,
            .practice-results-tools .control-group select { height: 37px; }
            .practice-results-tools .live-count { grid-column: 1 / -1; }
        }
        .toggle-label { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: 0.9rem; color: var(--text-muted); cursor: pointer; font-weight: 500; }
        .toggle-switch { position: relative; display: inline-block; width: 38px; height: 22px; flex-shrink: 0; }
        .toggle-switch input { opacity: 0; width: 0; height: 0; }
        .toggle-slider { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #e1e1e1; transition: 0.3s; border-radius: 22px; cursor: pointer; }
        .toggle-slider:before { position: absolute; content: ""; height: 16px; width: 16px; left: 3px; bottom: 3px; background-color: white; transition: 0.3s; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,0.3); }
        .toggle-switch input:checked + .toggle-slider { background-color: var(--primary-gold); }
        .toggle-switch input:checked + .toggle-slider:before { transform: translateX(16px); }
        .quiz-card { background: var(--card-bg); padding: 30px; border-radius: var(--border-radius); box-shadow: 0 10px 30px rgba(0,0,0,0.06); margin-bottom: 30px; position: relative; border-top: 4px solid var(--primary-gold); animation: fadeIn 0.5s ease-out forwards; opacity: 0; }
        .meta-info { display: flex; justify-content: space-between; font-size: 0.9rem; color: var(--text-muted); border-bottom: 2px dashed #e6ddc6; padding-bottom: 12px; margin-bottom: 20px; font-weight: 500; flex-wrap: wrap; gap: 10px; }
        .question-text { font-size: 1.3rem; font-weight: 700; line-height: 1.6; margin-bottom: 25px; white-space: pre-line; text-align: right; color: var(--dark-bg); }
        .question-image { max-width: 100%; height: auto; max-height: 350px; display: block; margin: 0 auto 25px auto; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.15); }
        .options-list { list-style: none; padding: 0; margin: 0; }
        .option-btn { width: 100%; padding: 16px 20px; margin-bottom: 15px; background-color: var(--light-bg); border: 2px solid #e1e1e1; border-radius: 8px; text-align: right; font-size: 1.1rem; cursor: pointer; transition: all 0.25s ease; color: var(--text-main); font-weight: 500; display: flex; justify-content: space-between; align-items: center; }
        .option-btn:hover:not([disabled]) { background-color: #f0f0f0; border-color: var(--primary-gold); transform: translateX(-5px); }
        .option-btn.selected { background-color: #fff8e1 !important; border-color: var(--primary-gold) !important; font-weight: 700; }
        .option-btn.correct { background-color: #e8f8f5 !important; border-color: var(--success-color) !important; color: #1e8449; font-weight: 700; box-shadow: 0 4px 10px rgba(39, 174, 96, 0.1); }
        .option-btn.wrong { background-color: #fdedec !important; border-color: var(--danger-color) !important; color: #a93226; }
        .show-answer-btn { background: #fffaf0; border: 1px solid #e6d3a3; color: #5f4a1e; cursor: pointer; font-weight: 600; font-size: 0.95rem; display: inline-flex; align-items: center; gap: 8px; padding: 8px 15px; border-radius: 20px; margin-bottom: 20px; transition: all 0.3s; }
        .show-answer-btn:hover { color: var(--dark-bg); background: #fff3d9; border-color: var(--primary-gold); }
        .pagination { display: none; justify-content: space-between; align-items: center; margin-top: 10px; background: var(--card-bg); padding: 20px; border-radius: var(--border-radius); box-shadow: var(--shadow-2); margin-bottom: 50px; flex-wrap: wrap; gap: 15px; }
        .sticky-nav { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 800px; box-sizing: border-box; background: var(--card-bg); border-radius: 0; box-shadow: 0 -8px 24px rgba(0,0,0,0.12); padding: 14px 20px; margin: 0 !important; z-index: 200; }
        .sticky-nav-spacer { height: 90px; }
        @media (max-width: 600px) { .sticky-nav { padding: 12px 15px; } }
        .nav-btn { display: block; box-sizing: border-box; background-color: var(--dark-bg); color: var(--primary-gold); border: none; padding: 12px 25px; border-radius: 8px; cursor: pointer; font-size: 1.1rem; font-weight: bold; transition: all 0.3s; flex: 1; min-width: 100px; text-align: center; }
        .nav-btn:hover:not([disabled]) { background-color: var(--primary-gold); color: var(--dark-bg); transform: translateY(-2px); }
        .nav-btn:active:not([disabled]) { transform: scale(0.96) translateY(-1px); }
        .nav-btn:disabled { background-color: #bdc3c7; color: white; cursor: not-allowed; transform: none; }
        .stats { font-weight: bold; color: var(--text-main); font-size: 1.1rem; text-align: center; flex: 2; }
        #loadingSpinner { display: none; flex-direction: column; align-items: center; margin-top: 25px; }
        .spinner { width: 40px; height: 40px; border: 4px solid rgba(212, 175, 55, 0.2); border-left-color: var(--primary-gold); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 10px; }
        .no-results { text-align: center; padding: 40px 20px; font-size: 1.2rem; color: var(--text-muted); background: var(--card-bg); border-radius: var(--border-radius); display: none; border-top: 3px solid #bdc3c7; }
        .main-menu { animation: fadeIn 0.6s ease-out; }
        .menu-title { text-align: center; color: var(--dark-bg); font-size: 1.5rem; margin: 0 0 25px 0; }
        .menu-cards { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-bottom: 25px; max-width: 940px; margin-left: auto; margin-right: auto; }
        .menu-card { grid-column: span 2; }
        /* #mainMenu (Arabic) now has 6 cards - two full rows of 3 - so plain span:2
           fills both rows evenly with no centering hack needed.
           #heMenuScreen (Hebrew) has 4 cards - row 1 fills with 3, leaving a single
           4th card that needs to be centered under it instead of left-aligned. */
        @media (max-width: 560px) { .menu-cards { grid-template-columns: repeat(2, 1fr); } .menu-card { grid-column: span 1; } }
        @media (max-width: 480px) {
            /* Keep a compact 2-column grid instead of collapsing to one full-width
               card per row - the single-column list was tall and, with a 4th/7th
               card added, looked unbalanced. Cards shrink (less padding, smaller
               icon/text) rather than dropping any of the title/description text. */
            .menu-cards { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
            .menu-card { grid-column: span 1 !important; max-width: none; padding: 10px 8px !important; height: 164px !important; }
            .menu-card-icon svg { width: 24px !important; height: 24px !important; }
            .menu-card-icon { margin-bottom: 4px !important; }
            .menu-card h3 { font-size: 0.92rem !important; min-height: 2em !important; margin: 0 0 3px 0 !important; line-height: 1.25 !important; }
            .menu-card p { font-size: 0.75rem !important; line-height: 1.35 !important; min-height: 1.7em !important; }
        }
        .menu-card { position: relative; max-width: none; background: var(--card-bg); border: 1.5px solid #eee; border-radius: var(--border-radius); padding: 15px 20px; text-align: center; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 6px 16px rgba(0,0,0,0.04); display: flex; flex-direction: column; justify-content: center; min-height: 104px; box-sizing: border-box; }
        .menu-card-icon svg { width: 28px; height: 28px; }
        .menu-card:hover { border-color: var(--primary-gold); transform: translateY(-3px); box-shadow: 0 10px 22px rgba(212, 175, 55, 0.15); }
        .menu-card:active { transform: scale(0.97) translateY(-1px); }
        .menu-card-icon { margin-bottom: 6px; display: flex; justify-content: center; }
        .menu-card h3 { color: var(--dark-bg); font-size: 1.25rem; margin: 0 0 5px 0; min-height: 2.6em; line-height: 1.3; display: flex; align-items: center; justify-content: center; }
        .menu-card p { color: var(--text-muted); font-size: 0.85rem; line-height: 1.55; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
        .back-to-menu-btn { position: relative; z-index: 2; background: var(--dark-bg); border: none; color: var(--primary-gold); width: 44px; height: 44px; padding: 0; border-radius: 10px; cursor: pointer; font-weight: 700; font-size: 0; margin-bottom: 8px; transition: all 0.3s; display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; box-shadow: 0 3px 7px rgba(0,0,0,0.28); }
        .back-to-menu-btn:hover { background: var(--primary-gold); color: var(--dark-bg); }
        .back-to-menu-btn::before {
            content: ""; width: 21px; height: 21px; background: currentColor;
            -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 11.2 12 3l9 8.2v9.3a.5.5 0 0 1-.5.5H15v-6H9v6H3.5a.5.5 0 0 1-.5-.5v-9.3Zm2 1v6.8h2v-6h10v6h2v-6.8l-7-6.36L5 12.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 11.2 12 3l9 8.2v9.3a.5.5 0 0 1-.5.5H15v-6H9v6H3.5a.5.5 0 0 1-.5-.5v-9.3Zm2 1v6.8h2v-6h10v6h2v-6.8l-7-6.36L5 12.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
        }
        .back-to-menu-btn > span { display: none !important; }
        .contact-btn { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 20px; border-radius: 10px; font-weight: 700; font-size: 1rem; text-decoration: none; transition: all 0.25s; cursor: pointer; }
        .contact-btn-whatsapp { background: var(--dark-bg); color: var(--primary-gold); }
        .contact-btn-whatsapp:hover { background: var(--primary-gold); color: var(--dark-bg); transform: translateY(-2px); }
        .contact-btn-whatsapp:active { transform: scale(0.96) translateY(-1px); }
        .contact-btn-call { background: var(--light-bg); color: var(--dark-bg); border: 2px solid var(--dark-bg); }
        .contact-btn-call:hover { background: var(--dark-bg); color: var(--primary-gold); transform: translateY(-2px); }
        .contact-btn-call:active { transform: scale(0.96) translateY(-1px); }
        .social-links-row { display: flex; justify-content: center; gap: 12px; margin-top: 4px; }
        .social-icon-btn { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--light-bg); border: 1.5px solid #ece4cf; color: var(--dark-bg); transition: all 0.25s; }
        .social-icon-btn:hover { background: var(--dark-bg); color: var(--primary-gold); border-color: var(--dark-bg); transform: translateY(-2px); }
        .trust-chips { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; max-width: 540px; margin: 0 auto; text-align: right; }
        @media (max-width: 560px) { .trust-chips { grid-template-columns: 1fr; } }
        .trust-chip { display: flex; align-items: center; gap: 10px; background: var(--light-bg); border: 1px solid #ece4cf; border-radius: 10px; padding: 12px 14px; font-size: 0.88rem; font-weight: 600; color: var(--text-main); }
        .trust-chip svg { flex-shrink: 0; }
        .license-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 16px; margin: 25px 0 5px 0; }
        .license-btn { background: var(--card-bg); border: none; border-radius: 12px; overflow: hidden; cursor: pointer; transition: all 0.25s ease; box-shadow: 0 6px 16px rgba(0,0,0,0.08); display: flex; flex-direction: column; }
        .license-btn-disabled { opacity: 0.45; cursor: not-allowed; }
        .license-grid .license-btn-disabled:hover { transform: none; box-shadow: 0 6px 16px rgba(0,0,0,0.08); }
        .license-focus-unavailable { display: block; font-size: 0.65rem; color: var(--danger-color); font-weight: 700; margin-top: 3px; }
        .license-btn:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(212,175,55,0.35); }
        .license-btn:active { transform: scale(0.96) translateY(-2px); }
        .license-icon-block { background: linear-gradient(135deg, var(--primary-gold), var(--primary-gold-hover)); padding: 18px 10px; display: flex; align-items: center; justify-content: center; }
        .license-label-block { background: var(--card-bg); padding: 14px 8px; text-align: center; }
        .license-btn-label { font-size: 1.05rem; font-weight: 700; color: var(--dark-bg); }
        .license-btn .license-name { display: block; font-size: 0.75rem; font-weight: 600; color: var(--text-muted); margin-top: 4px; }
        .links-intro { color: var(--text-muted); font-size: 0.95rem; text-align: center; margin: 0 0 22px 0; }
        .links-section-title { color: var(--dark-bg); font-size: 1.05rem; font-weight: 800; margin: 0 0 14px 0; text-align: right; display: flex; align-items: center; gap: 8px; }
        .official-link-card { display: flex; align-items: center; gap: 14px; background: var(--light-bg); border: 1px solid #ece4cf; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; text-decoration: none; color: var(--text-main); transition: all 0.25s; }
        .official-link-card:hover { border-color: var(--primary-gold); background: #fff; transform: translateX(-4px); box-shadow: 0 6px 16px rgba(0,0,0,0.06); }
        .official-link-icon { width: 42px; height: 42px; border-radius: 10px; background: linear-gradient(135deg, var(--primary-gold), var(--primary-gold-hover)); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .official-link-text { flex: 1; text-align: right; }
        .official-link-title { font-weight: 700; font-size: 0.98rem; color: var(--dark-bg); }
        .official-link-desc { font-size: 0.8rem; color: var(--text-muted); margin-top: 2px; }
        .official-link-arrow { flex-shrink: 0; color: var(--text-muted); }
        .official-link-share-btn { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid #ddd0ac; background: #fff; color: var(--text-muted); cursor: pointer; transition: all 0.2s; }
        .official-link-share-btn:hover { border-color: var(--primary-gold); color: var(--primary-gold-hover); background: #fff8e1; }
        .official-link-share-btn.copied { color: #2e7d32; border-color: #2e7d32; }
        .official-link-share-btn-inline { width: 24px; height: 24px; vertical-align: middle; margin-right: 4px; display: inline-flex; }
        .links-disclaimer { font-size: 0.78rem; color: var(--text-muted); text-align: center; margin-top: 6px; }
        .age-calc-box { background: var(--light-bg); border: 1px solid #ece4cf; border-radius: 12px; padding: 18px 16px; margin-bottom: 20px; text-align: right; }
        .age-calc-title { font-weight: 700; font-size: 1rem; color: var(--dark-bg); margin-bottom: 12px; }
        .age-calc-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
        .age-calc-row input[type="date"] { flex: 1; min-width: 150px; padding: 10px 12px; border: 1px solid #ddd0ac; border-radius: 8px; font-family: inherit; font-size: 0.95rem; color: var(--text-main); background: #fff; }
        .age-calc-row button { background: var(--primary-gold); color: var(--dark-bg); border: none; border-radius: 8px; padding: 10px 20px; font-weight: 700; font-size: 0.95rem; cursor: pointer; transition: background 0.2s; }
        .age-calc-row button:hover { background: var(--primary-gold-hover); }
        .age-calc-result { margin-top: 14px; padding-top: 14px; border-top: 1px dashed #ddd0ac; }
        .age-calc-result p { margin: 6px 0; font-size: 0.9rem; color: var(--text-main); }
        .age-calc-result .eligible { color: var(--success-color, #2e7d32); font-weight: 700; }
        .age-calc-result .not-eligible { color: var(--text-muted); }
        .age-calc-note { font-size: 0.75rem; color: var(--text-muted); margin-top: 10px; }
        .tips-list { color: var(--text-muted); font-size: 0.95rem; line-height: 2; padding-right: 20px; margin: 0; text-align: right; }
        .history-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px; }
        @media (max-width: 560px) { .history-summary-grid { grid-template-columns: 1fr; } }
        .streak-banner { display: flex; align-items: center; gap: 14px; background: var(--card-bg); border-radius: 10px; padding: 14px 18px; margin-bottom: 16px; box-shadow: 0 6px 18px rgba(0,0,0,0.05); border-top: 3px solid var(--primary-gold); }
        .streak-emoji { font-size: 1.8rem; line-height: 1; }
        .streak-number { font-size: 1.3rem; font-weight: 900; color: var(--dark-bg); direction: ltr; display: inline-block; }
        .streak-label { font-size: 0.78rem; color: var(--text-muted); }
        .streak-badge { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 16px; border-radius: 20px; font-size: 0.85rem; font-weight: 700; text-align: center; margin: -6px 0 16px 0; }
        .streak-badge.tier-7 { background: rgba(212,175,55,0.14); color: var(--dark-bg); border: 1.5px solid var(--primary-gold); }
        .streak-badge.tier-30 { background: linear-gradient(135deg, rgba(212,175,55,0.28), rgba(212,175,55,0.1)); color: var(--dark-bg); border: 1.5px solid var(--primary-gold); }
        .streak-badge.tier-100 { background: var(--dark-bg); color: var(--primary-gold); border: 1.5px solid var(--primary-gold); animation: pulse 2.4s infinite; }
        .weak-topics-practice-btn { display: block; width: 100%; margin-top: 12px; background: var(--primary-gold); color: var(--dark-bg); border: none; border-radius: 8px; padding: 10px 14px; font-weight: 800; font-size: 0.85rem; cursor: pointer; transition: background 0.2s; }
        .weak-topics-practice-btn:hover { background: var(--primary-gold-hover); }
        .exam-info-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 24px 0; }
        @media (max-width: 560px) { .exam-info-stats-grid { grid-template-columns: repeat(2, 1fr); } }
        .exam-info-stat-card { background: var(--card-bg); border-radius: 12px; padding: 18px 10px; text-align: center; box-shadow: 0 6px 18px rgba(0,0,0,0.06); border-top: 3px solid var(--primary-gold); }
        .exam-info-stat-icon { font-size: 1.6rem; margin-bottom: 8px; line-height: 1; }
        .exam-info-stat-value { font-size: 1.25rem; font-weight: 900; color: var(--dark-bg); direction: ltr; display: block; }
        .exam-info-stat-label { font-size: 0.76rem; color: var(--text-muted); margin-top: 4px; }
        .history-summary-card { background: var(--card-bg); border-radius: 10px; padding: 14px 10px; text-align: center; box-shadow: 0 6px 18px rgba(0,0,0,0.05); border-top: 3px solid var(--primary-gold); }
        .history-summary-value { font-size: 1.3rem; font-weight: 900; color: var(--dark-bg); direction: ltr; }
        .history-summary-label { font-size: 0.75rem; color: var(--text-muted); margin-top: 4px; }
        .history-trend { font-size: 0.78rem; font-weight: 700; margin-top: 4px; }
        .history-trend.up { color: var(--success-color); }
        .history-trend.down { color: var(--danger-color); }
        .history-trend.flat { color: var(--text-muted); }
        .history-chart { display: flex; align-items: flex-end; gap: 4px; height: 90px; background: var(--card-bg); border-radius: 10px; padding: 12px 10px 8px 10px; margin-bottom: 20px; box-shadow: 0 6px 18px rgba(0,0,0,0.05); }
        .history-chart-caption { font-size: 0.78rem; color: var(--text-muted); text-align: center; margin-bottom: 8px; }
        .weak-topics-card { background: #fff8e1; border: 1px solid rgba(212,175,55,0.4); border-radius: 10px; padding: 14px 16px; margin-bottom: 20px; text-align: right; }
        .weak-topics-title { font-weight: 800; color: var(--dark-bg); font-size: 0.95rem; margin-bottom: 10px; }
        .weak-topic-row { display: flex; align-items: center; justify-content: space-between; padding: 6px 0; border-top: 1px dashed rgba(201,162,77,0.3); font-size: 0.9rem; }
        .weak-topic-row:first-of-type { border-top: none; }
        .weak-topic-name { color: var(--text-main); font-weight: 600; }
        .weak-topic-pct { font-weight: 800; color: var(--primary-gold-hover); }
        .weak-topic-pct.low { color: var(--danger-color); }
        .focused-exam-toggle { display: block; cursor: pointer; margin: 16px 0 8px 0; }
        .focused-exam-toggle input { position: absolute; opacity: 0; width: 0; height: 0; }
        .focused-exam-toggle-box { display: block; border: 2px solid #e6ddc6; border-radius: 10px; padding: 12px 16px; text-align: right; transition: all 0.25s; background: linear-gradient(135deg, #fdfaf2 0%, var(--light-bg) 100%); }
        .focused-exam-toggle:not(.focused-exam-toggle-disabled):hover .focused-exam-toggle-box { border-color: var(--primary-gold); transform: translateY(-2px); box-shadow: 0 6px 16px rgba(212,175,55,0.18); }
        .focused-exam-toggle input:checked + .focused-exam-toggle-box { border-color: var(--primary-gold); background: linear-gradient(135deg, #fff8e1 0%, #fdf1cf 100%); box-shadow: 0 4px 14px rgba(212,175,55,0.25); }
        .focused-exam-toggle-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-weight: 800; font-size: 0.98rem; color: var(--dark-bg); margin-bottom: 4px; }
        .mini-toggle { direction: ltr; position: relative; flex-shrink: 0; width: 34px; height: 19px; border-radius: 20px; background: #d8d0ba; transition: background 0.25s; }
        .mini-toggle-knob { position: absolute; top: 2px; left: 2px; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.25); transition: transform 0.25s; }
        .focused-exam-toggle input:checked ~ .focused-exam-toggle-box .mini-toggle { background: var(--primary-gold); }
        .focused-exam-toggle input:checked ~ .focused-exam-toggle-box .mini-toggle-knob { transform: translateX(15px); }
        .focused-exam-toggle-disabled .mini-toggle { background: #e6e0d0; }
        .focused-exam-badge { display: inline-block; background: var(--dark-bg); color: var(--primary-gold); font-size: 0.65rem; font-weight: 900; padding: 2px 8px; border-radius: 20px; margin-right: 6px; letter-spacing: 0.5px; vertical-align: middle; }
        .focused-exam-toggle-desc { display: block; font-size: 0.82rem; color: var(--text-muted); line-height: 1.5; }
        .focused-exam-toggle-compact { margin: 8px 0; }
        .focused-exam-toggle-compact .focused-exam-toggle-box { padding: 8px 12px; }
        .focused-exam-toggle-disabled .focused-exam-toggle-box { opacity: 0.55; cursor: not-allowed; }
        .focused-exam-toggle-disabled { cursor: not-allowed; }
        .menu-card-vip-badge { display: inline-block; background: var(--dark-bg); color: var(--primary-gold); font-weight: 900; font-size: 0.62rem; padding: 2px 7px; border-radius: 20px; letter-spacing: 0.5px; vertical-align: middle; margin-right: 4px; }
        .menu-card-vip { background: linear-gradient(135deg, #221a10 0%, #111111 55%, #1c150c 100%); border: 1.5px solid var(--primary-gold); box-shadow: 0 8px 22px rgba(0,0,0,0.18); }
        .menu-card-vip h3 { color: var(--primary-gold); }
        .menu-card-vip p { color: var(--accent-ivory); }
        .menu-card-vip .menu-card-vip-badge { background: var(--primary-gold); color: var(--dark-bg); }
        .menu-card-vip:hover { border-color: var(--primary-gold); box-shadow: 0 12px 28px rgba(212,175,55,0.3); }
        /* warm gold-tinted highlight for the two most important cards (real exam, signs) — stands out from the plain white cards without breaking the site's gold theme */
        .menu-card-highlight { background: linear-gradient(160deg, #fffdf8 0%, #fbf1da 100%); border: 1.5px solid var(--primary-gold); padding-top: 34px !important; }
        .menu-card-highlight:hover { box-shadow: 0 10px 24px rgba(212,175,55,0.28); }
        @media (max-width: 480px) { .menu-card-highlight { padding-top: 30px !important; } }
        .vip-icon {
            width: 48px;
            height: 48px;
            object-fit: contain;
            display: block;
            margin: 0 auto 10px;
            filter: drop-shadow(0 4px 8px rgba(201,162,77,.20));
        }
        .signs-icon {
            height: 36px;
            width: auto;
            object-fit: contain;
            display: block;
            margin: 0 auto;
        }
        @media (max-width: 600px) { .signs-icon { height: 32px; } }
        @media (max-width: 480px) { .signs-icon { height: 27px !important; } }
        /* small corner ribbon explaining why a card is highlighted — doesn't affect card layout/size, just an absolutely-positioned label */
        .menu-card-ribbon {
            position: absolute; top: 10px; left: 10px;
            background: var(--primary-gold); color: var(--dark-bg);
            font-size: 0.61rem; font-weight: 800; padding: 4px 9px;
            border-radius: 20px; letter-spacing: 0.2px; z-index: 2;
            box-shadow: 0 2px 6px rgba(0,0,0,0.15); white-space: nowrap;
            display: inline-flex; align-items: center;
        }
        .menu-card-ribbon svg { flex-shrink: 0; }
        .driving-lessons-banner {
            max-width: 940px; margin: 14px auto 10px auto; padding: 32px 28px;
            background: linear-gradient(135deg, #221a10 0%, #111111 55%, #1c150c 100%);
            border: 1.5px solid var(--primary-gold); border-radius: var(--border-radius);
            box-shadow: 0 8px 22px rgba(0,0,0,0.18); text-align: center;
        }
        .driving-lessons-banner h1,
        .driving-lessons-banner h3 { color: var(--primary-gold); font-size: 1.5rem; font-weight: 900; margin: 0 0 6px; }
        .driving-lessons-banner .dlb-sub { color: var(--accent-ivory); font-size: 1.05rem; font-weight: 700; margin: 0 0 4px; opacity: 0.92; }
        .driving-lessons-banner .dlb-promise { color: var(--primary-gold-hover); font-size: 1rem; font-weight: 600; margin: 0 0 24px; }
        .dlb-chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 26px; }
        .dlb-chip { background: rgba(255,255,255,0.05); border: 1px solid rgba(201,162,77,0.3); border-radius: 10px; padding: 14px 10px; }
        .dlb-chip strong { display: block; color: var(--primary-gold); font-size: 0.92rem; margin-bottom: 4px; }
        .dlb-chip span { display: block; color: var(--accent-ivory); font-size: 0.8rem; opacity: 0.85; line-height: 1.4; }
        .dlb-cta {
            display: inline-block; background: var(--primary-gold); color: var(--dark-bg); border: none;
            font-family: 'Tajawal', sans-serif; font-weight: 800; font-size: 1.05rem; padding: 14px 36px;
            border-radius: 10px; cursor: pointer; transition: background 0.2s, transform 0.15s; margin-bottom: 30px;
        }
        .dlb-cta:hover { background: var(--primary-gold-hover); }
        .dlb-cta:active { transform: scale(0.97); }
        .dlb-form { max-width: 420px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
        .dlb-form input {
            width: 100%; box-sizing: border-box; padding: 13px 16px; border-radius: 10px; border: 1.5px solid rgba(201,162,77,0.4);
            background: rgba(255,255,255,0.06); color: var(--accent-ivory); font-family: 'Tajawal', sans-serif; font-size: 0.95rem;
        }
        .dlb-form input::placeholder { color: var(--accent-ivory); opacity: 0.5; }
        .dlb-form input:focus { outline: none; border-color: var(--primary-gold); }
        .dlb-form button[type="submit"] {
            background: var(--primary-gold); color: var(--dark-bg); border: none; font-family: 'Tajawal', sans-serif;
            font-weight: 800; font-size: 1rem; padding: 13px; border-radius: 10px; cursor: pointer; transition: background 0.2s;
        }
        .dlb-form button[type="submit"]:hover { background: var(--primary-gold-hover); }
        .dlb-form button[type="submit"]:disabled { opacity: 0.6; cursor: not-allowed; }
        #dlbThankYou { color: var(--primary-gold); font-weight: 800; font-size: 1.05rem; max-width: 420px; margin: 0 auto; }
        #dlbError { color: #ff8a7a; font-size: 0.88rem; margin: 10px auto 0; max-width: 420px; display: none; }
        @media (max-width: 700px) {
            .driving-lessons-banner { padding: 24px 18px; margin: 20px auto 8px auto; }
            .dlb-chips { grid-template-columns: repeat(2, 1fr); }
            .driving-lessons-banner h1,
            .driving-lessons-banner h3 { font-size: 1.25rem; }
        }
        .about-mission-banner {
            background: linear-gradient(135deg, #fffaf0 0%, #f7e9bd 100%);
            color: var(--dark-bg);
            border: 1px solid rgba(201,162,77,0.62);
            border-inline-start: 4px solid var(--primary-gold);
            border-radius: 12px;
            padding: 14px 20px;
            margin: 22px 0 20px;
            text-align: center;
            box-shadow: 0 5px 14px rgba(92,68,22,0.08);
        }
        .about-mission-title {
            font-size: 1.05rem;
            font-weight: 800;
            margin: 0 0 5px;
        }
        .about-mission-text {
            font-size: 0.94rem;
            font-weight: 650;
            line-height: 1.55;
            margin: 0;
        }
        @media (max-width: 700px) {
            .about-mission-banner { padding: 12px 14px; margin: 18px 0; }
            .about-mission-title { font-size: 1rem; }
            .about-mission-text { font-size: 0.9rem; }
        }
        .focused-exam-active-notice { display: block; border: 2px solid var(--primary-gold); border-radius: 10px; padding: 12px 16px; text-align: right; margin: 18px 0 5px 0; background: #fff8e1; box-shadow: 0 4px 14px rgba(212,175,55,0.2); }
        .focused-exam-active-notice .focused-exam-toggle-title { display: block; margin-bottom: 4px; }
        .history-chart-bar { flex: 1; min-width: 4px; background: linear-gradient(180deg, var(--primary-gold), var(--primary-gold-hover)); border-radius: 3px 3px 0 0; transition: opacity 0.2s; }
        .history-chart-bar.fail { background: linear-gradient(180deg, #d68f85, var(--danger-color)); }
        .history-filter-row { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
        .history-filter-row select { padding: 8px 30px 8px 12px; border: 2px solid #eee; border-radius: 8px; font-size: 0.88rem; background-color: var(--light-bg); appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a24d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: left 10px center; background-size: 14px; cursor: pointer; }
        .history-clear-btn { background: none; border: none; color: var(--text-muted); font-size: 0.82rem; font-weight: 600; cursor: pointer; text-decoration: underline; }
        .history-clear-btn:hover { color: var(--danger-color); }
        .history-item { display: flex; align-items: center; gap: 12px; background: var(--card-bg); border: 2px solid #eee; border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
        .history-item.passed { border-color: rgba(47,143,91,0.3); }
        .history-item.failed { border-color: rgba(178,59,46,0.3); }
        .history-item-badge { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 0.95rem; flex-shrink: 0; color: white; }
        .history-item.passed .history-item-badge { background: var(--success-color); }
        .history-item.failed .history-item-badge { background: var(--danger-color); }
        .history-item-info { flex: 1; text-align: right; }
        .history-item-title { font-weight: 700; font-size: 0.92rem; color: var(--dark-bg); }
        .history-item-meta { font-size: 0.78rem; color: var(--text-muted); margin-top: 2px; }
        .history-empty { text-align: center; padding: 40px 20px; color: var(--text-muted); }
        .carousel-wrap { background: var(--dark-bg); border-radius: var(--border-radius); padding: 26px 22px; position: relative; overflow: hidden; min-height: 420px; touch-action: pan-y; }
        .carousel-avatar {
            width: 150px; height: 150px; border-radius: 50%; margin: 0 auto 16px auto;
            background-image: url('/1.webp'); background-size: 310% auto; background-position: 84% 38%;
            border: 3px solid var(--primary-gold); box-shadow: 0 6px 20px rgba(0,0,0,0.4);
        }
        .carousel-slide { display: none; animation: fadeIn 0.4s ease-out; }
        .carousel-slide.active { display: block; }
        .carousel-badge { display: inline-block; background: rgba(201,162,77,0.12); color: var(--primary-gold); border: 1px solid var(--primary-gold); border-radius: 20px; padding: 4px 14px; font-size: 0.8rem; font-weight: 700; margin-bottom: 16px; }
        .carousel-heading { font-family: 'Almarai', sans-serif; font-size: 1.25rem; font-weight: 800; color: #fff; margin: 0 0 16px 0; line-height: 1.5; text-align: right; }
        .carousel-para { color: var(--accent-ivory); font-size: 0.98rem; line-height: 1.9; margin: 0 0 16px 0; text-align: right; }
        .carousel-checklist { list-style: none; padding: 0; margin: 0 0 16px 0; }
        .carousel-checklist li { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: rgba(255,255,255,0.05); border: 1px solid rgba(201,162,77,0.25); border-radius: 8px; padding: 12px 14px; margin-bottom: 10px; font-weight: 600; font-size: 0.92rem; color: #fff; text-align: right; }
        .carousel-two-col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 16px; }
        @media (max-width: 480px) { .carousel-two-col { grid-template-columns: 1fr; } }
        .carousel-two-col > div { background: rgba(255,255,255,0.05); border: 1px solid rgba(201,162,77,0.25); border-radius: 10px; padding: 14px; text-align: center; }
        .carousel-two-col .cc-label { color: var(--primary-gold); font-weight: 700; font-size: 0.95rem; margin-bottom: 6px; }
        .carousel-two-col .cc-detail { color: var(--accent-ivory); font-size: 0.85rem; }
        .carousel-stat-big { font-size: 3.2rem; font-weight: 900; color: var(--primary-gold); text-align: center; line-height: 1; margin-bottom: 8px; }
        .carousel-stat-caption { text-align: center; color: #fff; font-weight: 700; font-size: 1rem; margin-bottom: 18px; }
        .carousel-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
        .carousel-stat-item { background: rgba(255,255,255,0.05); border: 1px solid rgba(201,162,77,0.25); border-radius: 8px; padding: 12px 6px; text-align: center; }
        .carousel-stat-item .csi-num { font-size: 1.4rem; font-weight: 900; color: var(--primary-gold); }
        .carousel-stat-item .csi-label { font-size: 0.75rem; color: var(--accent-ivory); margin-top: 4px; }
        .carousel-tip-box { background: rgba(201,162,77,0.1); border: 1px solid rgba(201,162,77,0.35); border-radius: 8px; padding: 12px 14px; font-size: 0.88rem; color: var(--accent-ivory); text-align: right; line-height: 1.7; margin-bottom: 6px; }
        .carousel-warn-box { background: rgba(178,59,46,0.12); border: 1px solid rgba(178,59,46,0.4); border-radius: 8px; padding: 12px 14px; font-size: 0.88rem; color: #f3a99e; text-align: right; line-height: 1.7; margin-bottom: 16px; }
        .carousel-final-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
        .carousel-final-actions div { background: rgba(255,255,255,0.05); border: 1px solid rgba(201,162,77,0.3); border-radius: 8px; padding: 12px 14px; color: #fff; font-weight: 600; font-size: 0.9rem; text-align: center; }
        .carousel-form-btn { display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--primary-gold); color: var(--dark-bg); border: none; border-radius: 8px; padding: 12px 14px; font-weight: 800; font-size: 0.92rem; text-decoration: none; margin-top: 6px; transition: all 0.25s; }
        .carousel-form-btn:hover { background: var(--primary-gold-hover); }
        .carousel-nav-row { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; }
        .carousel-arrow-btn { background: rgba(255,255,255,0.08); border: 1px solid rgba(201,162,77,0.4); color: var(--primary-gold); width: 40px; height: 40px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; flex-shrink: 0; }
        .carousel-arrow-btn:hover:not(:disabled) { background: var(--primary-gold); color: var(--dark-bg); }
        .carousel-arrow-btn:disabled { opacity: 0.3; cursor: not-allowed; }
        .carousel-dots { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
        .carousel-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.25); border: none; cursor: pointer; transition: all 0.25s; padding: 0; }
        .carousel-dot.active { background: var(--primary-gold); width: 22px; border-radius: 4px; }
        .exam-header { display: flex; justify-content: space-between; align-items: center; background: linear-gradient(135deg, #221a10 0%, var(--dark-bg) 55%, #1c150c 100%); color: white; padding: 18px 25px; border-radius: var(--border-radius); margin-bottom: 20px; flex-wrap: wrap; gap: 10px; }
        .exam-timer { font-size: 1.6rem; font-weight: 900; color: var(--primary-gold); font-variant-numeric: tabular-nums; direction: ltr; }
        .exam-timer.warning { color: var(--danger-color); animation: pulseRed 1s infinite; }
        .exam-progress { font-size: 1.05rem; font-weight: 600; }
        .exam-progress-track { width: 100%; height: 10px; background: repeating-linear-gradient(90deg, rgba(255,255,255,0.55) 0 10px, transparent 10px 20px) center / 100% 2px no-repeat, var(--dark-bg); border-radius: 20px; overflow: hidden; margin-bottom: 20px; box-shadow: inset 0 1px 3px rgba(0,0,0,0.25); }
        .exam-progress-fill { height: 100%; width: 0%; background: linear-gradient(90deg, var(--primary-gold-hover), var(--primary-gold)); border-radius: 20px; transition: width 0.4s ease; box-shadow: 0 0 10px rgba(201,162,77,0.6); }
        .quick-nav-panel { background: var(--card-bg); border: 1px solid #eaeaea; border-radius: var(--border-radius); padding: 15px; margin-bottom: 20px; box-shadow: var(--shadow-2); }
        .quick-nav-heading { font-weight: 700; font-size: 0.95rem; color: var(--dark-bg); margin-bottom: 12px; text-align: center; }
        .quick-nav-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(42px, 1fr)); gap: 8px; }
        .quick-nav-btn { width: 42px; height: 42px; border-radius: 8px; border: 2px solid #e1e1e1; background: var(--light-bg); color: var(--text-main); font-weight: 600; font-size: 0.95rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
        .quick-nav-btn:hover { border-color: var(--primary-gold); }
        .quick-nav-btn.answered { background: #fff8e1; border-color: var(--primary-gold); color: var(--dark-bg); }
        .quick-nav-btn.current { background: var(--dark-bg); border-color: var(--dark-bg); color: var(--primary-gold); font-weight: 900; transform: scale(1.08); }
        @media (min-width: 1300px) { .quick-nav-panel { position: fixed; top: 130px; left: 24px; width: 220px; max-height: calc(100vh - 160px); overflow-y: auto; margin-bottom: 0; } .quick-nav-grid { grid-template-columns: repeat(4, 1fr); } }
        @media (max-width: 1299px) { .quick-nav-panel { padding: 12px 12px 10px 12px; } .quick-nav-heading { font-size: 0.85rem; margin-bottom: 8px; } .quick-nav-grid { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding-bottom: 6px; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; } .quick-nav-grid::-webkit-scrollbar { height: 4px; } .quick-nav-grid::-webkit-scrollbar-thumb { background: #ddd; border-radius: 10px; } .quick-nav-btn { flex-shrink: 0; width: 38px; height: 38px; font-size: 0.85rem; } }
        .exam-nav { display: flex; gap: 12px; margin-top: 10px; margin-bottom: 50px; flex-wrap: wrap; }
        .exam-nav .nav-btn { flex: 1; min-width: 100px; }
        #examFinishBtn { background-color: var(--danger-color); color: white; }
        #examFinishBtn:hover { background-color: #a93226; color: white; }
        .results-banner { text-align: center; padding: 30px 20px; border-radius: var(--border-radius); margin-bottom: 25px; font-size: 1.6rem; font-weight: 900; color: white; animation: fadeIn 0.6s ease-out; }
        .results-banner.pass { background: linear-gradient(135deg, var(--success-color), #229954); }
        .results-banner.fail { background: linear-gradient(135deg, var(--danger-color), #922b21); }
        @keyframes shakeBanner { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-9px); } 40% { transform: translateX(8px); } 60% { transform: translateX(-6px); } 80% { transform: translateX(5px); } }
        .results-banner.shake-banner { animation: fadeIn 0.6s ease-out, shakeBanner 0.5s ease-out 0.15s; }
        .confetti-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 500; overflow: hidden; }
        .confetti-piece { position: absolute; top: -20px; border-radius: 2px; animation-name: confettiFall; animation-timing-function: cubic-bezier(0.4, 0.0, 0.6, 1); animation-fill-mode: forwards; }
        @keyframes confettiFall { 0% { transform: translateY(0) rotate(0deg); opacity: 1; } 100% { transform: translateY(112vh) rotate(600deg); opacity: 0.85; } }
        @media (prefers-reduced-motion: reduce) { .confetti-piece { animation: none; display: none; } .results-banner.shake-banner { animation: none; } }
        .results-summary { background: var(--card-bg); border-radius: var(--border-radius); padding: 20px 25px; margin-bottom: 25px; box-shadow: var(--shadow-2); text-align: center; font-size: 1.05rem; color: var(--text-main); }
        .results-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
        @media (max-width: 700px) { .results-stats-grid { grid-template-columns: repeat(2, 1fr); } }
        .result-stat-card { background: var(--card-bg); border-radius: 10px; padding: 16px 8px; text-align: center; box-shadow: 0 6px 18px rgba(0,0,0,0.05); border-top: 3px solid var(--primary-gold); }
        .result-stat-value { font-size: 1.25rem; font-weight: 900; color: var(--dark-bg); direction: ltr; }
        .result-stat-label { font-size: 0.75rem; color: var(--text-muted); margin-top: 4px; }
        .new-exam-btn { width: 100%; background: linear-gradient(135deg, var(--primary-gold), var(--primary-gold-hover)); color: var(--dark-bg); border: none; border-radius: 10px; padding: 16px; font-size: 1.1rem; font-weight: 800; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: all 0.25s; box-shadow: 0 8px 20px rgba(212,175,55,0.3); }
        .new-exam-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(212,175,55,0.4); }
        .new-exam-btn:active { transform: scale(0.96) translateY(-1px); }
        .view-history-link { display: flex; align-items: center; gap: 10px; width: 100%; background: var(--light-bg); border: 1.5px dashed #ddd0ac; border-radius: 10px; padding: 12px 16px; margin-bottom: 14px; cursor: pointer; color: var(--text-main); font-size: 0.88rem; font-weight: 600; transition: all 0.25s; box-sizing: border-box; }
        .view-history-link:hover { border-color: var(--primary-gold); background: #fff8e1; }
        .view-history-link svg { flex-shrink: 0; color: var(--primary-gold-hover); }
        .view-history-link span:not(.view-history-arrow) { flex: 1; text-align: right; }
        .view-history-arrow { color: var(--primary-gold-hover); font-weight: 700; }
        .review-hint { text-align: center; color: var(--text-muted); font-size: 0.85rem; margin: -8px 0 15px 0; }
        .review-filter-tabs { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
        .filter-tab { background: var(--card-bg); border: 2px solid #e1e1e1; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; font-weight: 700; color: var(--text-main); cursor: pointer; transition: all 0.2s; }
        .filter-tab:hover { border-color: var(--primary-gold); }
        .filter-tab.active { background: var(--dark-bg); border-color: var(--dark-bg); color: var(--primary-gold); }
        .filter-tab.active.correct-tab { background: var(--success-color); border-color: var(--success-color); color: white; }
        .filter-tab.active.wrong-tab { background: var(--danger-color); border-color: var(--danger-color); color: white; }
        .accordion-item { background: var(--card-bg); border: 2px solid #eee; border-radius: 10px; margin-bottom: 12px; overflow: hidden; transition: border-color 0.2s; }
        .accordion-item.correct { border-color: rgba(39,174,96,0.35); }
        .accordion-item.wrong { border-color: rgba(192,57,43,0.35); }
        .accordion-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; cursor: pointer; font-weight: 600; font-size: 0.95rem; color: var(--text-main); }
        .accordion-header-right { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
        .accordion-number { color: var(--text-muted); font-weight: 700; font-size: 0.8rem; flex-shrink: 0; }
        .accordion-question-text { flex: 1; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .accordion-chevron { transition: transform 0.25s; flex-shrink: 0; color: var(--text-muted); }
        .accordion-item.open .accordion-chevron { transform: rotate(180deg); }
        .accordion-body { display: none; padding: 0 16px 18px 16px; }
        .accordion-item.open .accordion-body { display: block; }
        .review-heading { color: var(--dark-bg); font-size: 1.2rem; margin: 0 0 15px 0; }
        .review-question-label { display: inline-block; background: var(--light-bg); padding: 4px 12px; border-radius: 20px; font-size: 0.8rem; color: var(--text-muted); margin-bottom: 15px; }
        .user-answer-label { font-size: 0.85rem; color: var(--danger-color); font-weight: 600; margin-top: 10px; }
        @media (max-width: 600px) {
            .meta-info { gap: 5px; font-size: 0.85rem; } .brand-logo { font-size: 2rem; } .pagination { flex-direction: column-reverse; } .nav-btn { width: 100%; } .stats { margin-bottom: 15px; } .exam-nav { flex-direction: column; }
            .menu-cards { gap: 12px; margin-bottom: 20px; } .menu-card { padding: 14px 16px; height: 246px; justify-content: center; } .menu-card-icon svg { width: 32px; height: 32px; } .menu-card-icon { margin-bottom: 8px; } .menu-card h3 { font-size: 1.1rem; margin: 0 0 4px 0; } .menu-card p { font-size: 0.95rem; line-height: 1.55; } .menu-title { font-size: 1.17rem; margin-bottom: 16px; }
            #uploadBox h3 { font-size: 1.4rem !important; }
            #navButtonsRow { flex-direction: column; top: 10px; right: 10px; gap: 6px; }
            #topNavToggle { height: 34px; padding: 0 10px; gap: 5px; } #topNavToggle svg { width: 15px; height: 15px; } #topNavToggle span { font-size: 0.85rem; } #topNavDropdown, #siteNavDropdown { top: 48px; right: 10px; min-width: 220px; } #heNavDropdown { top: 48px; right: 10px; min-width: 220px; }
            #testPrepToggle { height: 34px; padding: 0 10px; gap: 5px; } #testPrepToggle svg { width: 15px; height: 15px; } #testPrepToggle span { font-size: 0.85rem; } #testPrepDropdown { top: 88px; right: 10px; min-width: 220px; }
            #mainHeader { padding-top: 92px !important; }
            #compactHeader { padding-top: 92px !important; }
            .exam-nav.sticky-nav, .pagination.sticky-nav { flex-direction: row; } .sticky-nav .nav-btn { width: auto; padding: 14px 6px; font-size: 0.9rem; min-width: 0; } .sticky-nav .stats { margin-bottom: 0; font-size: 0.9rem; }
            .quiz-card { padding: 18px 10px; margin-bottom: 16px; } .meta-info { font-size: 0.85rem; margin-bottom: 14px; padding-bottom: 10px; } .question-text { font-size: 1.1rem; line-height: 1.55; margin-bottom: 16px; } .question-image { max-height: 200px; margin-bottom: 16px; } .option-btn { padding: 12px 12px; font-size: 0.95rem; margin-bottom: 10px; } .show-answer-btn { padding: 6px 12px; font-size: 0.88rem; margin-bottom: 14px; }
            .official-link-title { font-size: 1rem; } .official-link-desc { font-size: 0.9rem; line-height: 1.6; } .links-disclaimer { font-size: 0.85rem; } .age-calc-note { font-size: 0.82rem; } .age-calc-title { font-size: 1.05rem; }
            .accordion-header { font-size: 1rem; } .accordion-number { font-size: 0.85rem; } .review-question-label { font-size: 0.85rem; } .user-answer-label { font-size: 0.9rem; }
            .license-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; margin: 18px 0 5px 0; } .license-icon-block { padding: 14px 6px; } .license-icon-block svg { width: 28px; height: 28px; } .license-btn-label { font-size: 0.92rem; } .license-btn .license-name { font-size: 0.7rem; } .license-label-block { padding: 10px 6px; }
            .carousel-wrap { padding: 20px 16px; min-height: 0; } .carousel-heading { font-size: 1.12rem; } .controls-panel { padding: 18px 16px; }
            #heAboutScreen .file-input-container { padding: 0 8px !important; }
            #heAboutScreen h1 { font-size: 1.5rem !important; margin: 16px 0 6px !important; }
            .menu-title { font-size: 1.02rem !important; }
        }
        @media (max-width: 380px) {
            .menu-title { font-size: 0.88rem !important; }
        }
        @media (min-width: 700px) {
            .quiz-card { padding: 22px 26px; margin-bottom: 22px; } .question-text { font-size: 1.12rem; margin-bottom: 18px; } .option-btn { font-size: 0.98rem; padding: 12px 16px; margin-bottom: 10px; } .nav-btn { font-size: 1rem; padding: 11px 20px; } .menu-title { font-size: 1.3rem; } .menu-card { padding: 20px 18px; } .menu-card h3 { font-size: 1.1rem; } .menu-card p { font-size: 0.85rem; } .license-icon-block { padding: 16px 8px; } .license-icon-block svg { width: 34px; height: 34px; } .license-btn-label { font-size: 1rem; } .license-btn .license-name { font-size: 0.7rem; } .results-banner { font-size: 1.35rem; padding: 24px 20px; } .results-summary { font-size: 0.95rem; padding: 16px 20px; } .meta-info { font-size: 0.82rem; }
        }
        /* Compact desktop sizing (~15% smaller) for wide screens — test version, requested for review */
        @media (min-width: 993px) {
            .quiz-card { padding: 19px 22px; margin-bottom: 19px; }
            .meta-info { font-size: 0.70rem; padding-bottom: 10px; margin-bottom: 17px; }
            .question-text { font-size: 0.95rem; margin-bottom: 15px; }
            .question-image { max-height: 298px; margin-bottom: 21px; }
            .option-btn { font-size: 0.93rem; padding: 11px 15px; margin-bottom: 9px; }
            .show-answer-btn { padding: 7px 13px; font-size: 0.81rem; margin-bottom: 17px; }
            .nav-btn { font-size: 0.85rem; padding: 9px 17px; }
        }
        /* ===== Bottom navigation — MOBILE ONLY (<=768px). Desktop keeps the original top القائمة/استعد للتست buttons untouched. ===== */
        @media (max-width: 768px) {
            /* Compact fixed mobile utility bar. Body spacing keeps every header,
               logo and page title below it instead of underneath it. */
            body { padding-top: 50px !important; }
            #desktopTopBar {
                display: block !important; height: 50px !important;
                background: #15120d !important;
                border-bottom: 1px solid rgba(201,162,77,0.7) !important;
                box-shadow: none !important;
            }
            #navButtonsRow { display: none !important; }
            #mainHeader, #heMainHeader, #compactHeader { padding-top: 20px !important; }
            .site-footer { padding-bottom: 92px; }
            .site-footer-link { display: none !important; }
            .footer-topic-links { display: none !important; }
            #bottomNavBar { display: flex !important; }
            /* Compact controls sit inside the fixed 50px mobile bar. */
            #topLeftBar { top: 10px !important; left: 10px !important; gap: 6px !important; direction: ltr; }
            #langSwitchBtn { height: 32px !important; padding: 0 9px 0 8px !important; gap: 4px !important; border-width: 1.5px !important; border-radius: 8px !important; font-size: 0.85rem !important; }
            #langSwitchBtn span#langSwitchText { font-size: 0.66rem !important; }
            /* share button detached to top-right corner on mobile, away from the language pill */
            #shareBtn { position: fixed !important; top: 10px !important; right: 10px !important; left: auto !important; height: 32px !important; width: 32px !important; border-width: 1.5px !important; border-radius: 8px !important; z-index: 1500 !important; }
            #shareBtn svg { width: 16px !important; height: 16px !important; }
            #whatsappFloatBtn {
                position: static !important; order: 2; width: 32px !important; height: 32px !important;
                flex: 0 0 32px; opacity: 1; box-shadow: 0 3px 9px rgba(0,0,0,0.28);
            }
            #whatsappFloatBtn svg { width: 18px !important; height: 18px !important; }
            #langSwitchBtn { order: 1; }
            /* header block: image stays fully uncropped (no cover/crop — the logo text baked into it is never cut).
               The short rotating badge now floats fixed, between the lang + share buttons, up top.
               The static title moved down to where the badge used to be — the image's own empty lower area.
               Straight edges, no rounding. */
            #mainHeader, #heMainHeader { padding-left: 0 !important; padding-right: 0 !important; padding-top: 14px !important; padding-bottom: 10px !important; margin-bottom: 8px !important; overflow: hidden !important; border-top: none !important; border-left: none !important; border-right: none !important; border-bottom: 2px solid var(--primary-gold) !important; box-sizing: border-box !important; }
            .header-center { display: flex !important; flex-direction: column !important; }
            .header-center img {
                width: 100vw !important; max-width: 100vw !important;
                margin-left: calc(-50vw + 50%) !important; margin-right: calc(-50vw + 50%) !important;
                margin-top: 0 !important; margin-bottom: -22px !important;
                height: auto !important; display: block !important; order: 1 !important;
                /* subtle fade top & bottom so the photo's rectangle edge dissolves into the header's own matching dark background */
                -webkit-mask-image: linear-gradient(to bottom, transparent 0, black 22px, black calc(100% - 30px), transparent 100%);
                mask-image: linear-gradient(to bottom, transparent 0, black 22px, black calc(100% - 30px), transparent 100%);
            }
            .header-center .brand-subtitle { order: 2 !important; margin: 0 !important; padding: 0 16px !important; }
            /* rotating badge detached from flow — floats fixed, centered in the gap between the two corner buttons */
            .header-center .mobile-header-badges {
                position: fixed !important; top: 12px !important; left: 108px !important; right: 46px !important;
                z-index: 1500 !important; margin: 0 !important; padding: 0 !important; justify-content: center !important;
                min-width: 0 !important; overflow: hidden !important;
            }
            .brand-subtitle { font-size: 0.74rem !important; line-height: 1.25 !important; opacity: 0.95 !important; }
            .mobile-header-badges { margin-top: 0 !important; gap: 5px !important; }
            .mobile-header-badge { max-width: 100% !important; box-sizing: border-box !important; font-size: 0.66rem !important; padding: 4px 9px !important; }
            /* smaller, higher-positioned back-to-menu button on inner screens */
            .back-to-menu-btn { width: 40px !important; height: 40px !important; padding: 0 !important; font-size: 0 !important; margin-top: -8px !important; margin-bottom: 16px !important; }
            #compactHeader { min-height: 58px; padding: 14px 48px 14px 108px !important; margin-bottom: 10px !important; display: flex; align-items: center; justify-content: center; }
            #compactHeader .header-home-link { width: 100%; min-width: 0; }
            .compact-brand-name { font-size: 1.05rem; }
            .compact-brand-vip { font-size: 0.8rem; }
            /* smaller exam timer bar and question-number pills */
            .exam-header { padding: 9px 16px !important; margin-bottom: 8px !important; }
            .exam-timer { font-size: 1.15rem !important; }
            .exam-progress { font-size: 0.85rem !important; }
            .quick-nav-panel { padding: 7px 9px 7px 9px !important; margin-bottom: 8px !important; }
            .quick-nav-heading { display: none !important; }
            .quick-nav-btn { width: 30px !important; height: 30px !important; font-size: 0.72rem !important; border-radius: 6px !important; }
        }
        @media (max-width: 360px) {
            #topLeftBar { left: 6px !important; gap: 4px !important; }
            #langSwitchBtn { height: 30px !important; padding: 0 7px !important; }
            #whatsappFloatBtn { width: 30px !important; height: 30px !important; flex-basis: 30px !important; }
            #shareBtn { right: 6px !important; width: 30px !important; height: 30px !important; }
            .header-center .mobile-header-badges { left: 92px !important; right: 42px !important; }
        }
        @media (max-width: 1050px) {
            #desktopTopBar .header-home-link span span { display: none; }
        }
        @media (max-width: 950px) {
            #desktopTopBar .header-home-link span { display: none !important; }
        }
        @media (max-width: 810px) {
            #desktopTopBar .header-home-link { display: none !important; }
        }
        @media (max-width: 768px) {
            /* Inner pages place the compact brand in the fixed mobile bar.
               The homepage has a different header and is intentionally unchanged. */
            #desktopTopBar { display: flex !important; align-items: center; justify-content: center; }
            #desktopTopBar .header-home-link { display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; max-width: 190px; }
            #desktopTopBar .header-home-link > span { display: inline !important; font-size: 0.98rem !important; white-space: nowrap; }
            #desktopTopBar .header-home-link > span > span { display: inline !important; font-size: 0.76rem !important; }
            #desktopTopBar .header-home-link > svg { width: 20px; height: 20px; flex: 0 0 auto; }
            #compactHeader { display: none !important; }
        }
        @media (min-width: 769px) {
            #bottomNavBar { display: none !important; }
            #moreSheetOverlay.open { display: none !important; }
            #mainHeader, #heMainHeader, #compactHeader { padding-top: 62px !important; }
            .menu-card { min-height: 150px !important; }
            .brand-subtitle { font-size: 0.98rem !important; }
            #topNavDropdown .top-nav-item:hover, #siteNavDropdown .top-nav-item:hover, #heNavDropdown .top-nav-item:hover, #testPrepDropdown .top-nav-item:hover, #heTestPrepDropdown .top-nav-item:hover { color: #ffffff !important; }
            #langGateScreen .lang-gate-logo { max-width: 479px !important; }
            /* soften the pre-existing header divider line on desktop to match the calmer new top bar */
            #mainHeader, #heMainHeader, #compactHeader { border-bottom-width: 1px !important; border-bottom-color: rgba(201,162,77,0.4) !important; box-shadow: none !important; }
            .header-center img { max-height: 235px !important; max-width: min(460px, 100%) !important; }
            .brand-subtitle { font-weight: 600 !important; letter-spacing: 0.3px !important; }
            #navButtonsRow, #topLeftBar { top: 11px !important; }
            #topNavToggle, #testPrepToggle, #drivingLessonsToggle, #heTestPrepToggle, #heDrivingLessonsToggle { height: 32px !important; padding: 0 11px !important; }
            #langSwitchBtn { height: 36px !important; padding: 0 12px !important; }
            #shareBtn { height: 36px !important; width: 36px !important; }
            #topLeftBar { direction: ltr; }
            #shareBtn { order: 1; }
            #langSwitchBtn { order: 2; }
            #whatsappFloatBtn {
                position: static; order: 3; width: 36px; height: 36px; flex-shrink: 0;
                opacity: 1; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
            }
            #whatsappFloatBtn svg { width: 20px; height: 20px; }
            #topNavToggle span, #testPrepToggle span, #drivingLessonsToggle span, #heTestPrepToggle span, #heDrivingLessonsToggle span { font-size: 0.78rem !important; font-weight: 600 !important; }
            #langSwitchBtn span#langSwitchText { font-size: 0.82rem !important; font-weight: 600 !important; }
            .header-divider { display: none !important; }
            header { margin-bottom: 14px !important; }
        }
        #desktopTopBar {
            display: none; position: fixed; top: 0; left: 0; right: 0; height: 58px; z-index: 900;
            background: linear-gradient(135deg, #221a10 0%, #111111 55%, #1c150c 100%);
            border-bottom: 1px solid rgba(201,162,77,0.4);
            align-items: center; justify-content: center;
        }
        @media (min-width: 769px) {
            #compactHeader .header-home-link { display: none !important; }
            #compactHeader { padding: 60px 20px 0 20px !important; margin-bottom: 0 !important; border-bottom: none !important; box-shadow: none !important; min-height: 0 !important; }
        }
        /* Option 2: unify the two floating corner buttons into one continuous top bar (desktop only) — placed after the base rule above so it isn't cancelled out by source order */
        @media (min-width: 769px) {
            #desktopTopBar { display: flex; }
        }
        #bottomNavBar {
            position: fixed; bottom: 0; left: 50%; transform: translateX(-50%);
            width: 100%; max-width: 800px; box-sizing: border-box;
            display: none; justify-content: space-around; align-items: stretch;
            background: linear-gradient(135deg, #221a10 0%, #111111 55%, #1c150c 100%);
            border-top: 3px solid var(--primary-gold);
            box-shadow: 0 -8px 24px rgba(0,0,0,0.25);
            padding: 7px 4px calc(7px + env(safe-area-inset-bottom, 0px)) 4px;
            z-index: 1000;
        }
        #bottomNavBar.bnav-hidden { display: none !important; }
        .bnav-item {
            flex: 1 1 0; min-width: 0; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center;
            gap: 3px; background: none; border: none; cursor: pointer; padding: 6px 2px;
            color: var(--accent-ivory); opacity: 0.62; transition: opacity 0.2s, transform 0.15s;
            font-family: 'Tajawal', sans-serif; -webkit-tap-highlight-color: transparent;
            text-decoration: none; box-sizing: border-box;
        }
        body.lang-he .bnav-item { font-family: 'Heebo', sans-serif; }
        .bnav-item svg { width: 21px; height: 21px; flex-shrink: 0; }
        .bnav-item span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: 0.72rem; font-weight: 800; white-space: nowrap; }
        .bnav-item.active { opacity: 1; }
        .bnav-item:active { transform: scale(0.92); }
        #moreSheetOverlay { display: none; position: fixed; inset: 0; z-index: 1400; background: rgba(10,8,6,0.42); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
        #moreSheetOverlay.open { display: block; animation: fadeIn 0.2s ease-out; }
        #moreSheet {
            position: fixed; left: 50%; bottom: 0; transform: translateX(-50%) translateY(100%);
            width: 100%; max-width: 800px; box-sizing: border-box;
            background: #fffdf8; border-radius: 22px 22px 0 0;
            box-shadow: 0 -10px 30px rgba(0,0,0,0.3);
            padding: 8px 14px calc(16px + env(safe-area-inset-bottom, 0px)) 14px;
            z-index: 1401; max-height: 62vh; overflow-y: auto; transition: transform 0.25s ease-out;
        }
        #moreSheetOverlay.open #moreSheet { transform: translateX(-50%) translateY(0); }
        #moreSheet .more-sheet-handle { width: 38px; height: 4px; background: #e2ddd0; border-radius: 4px; margin: 0 auto 6px auto; }
        #moreSheet .more-sheet-title { min-height: 38px; display: flex; align-items: center; padding: 0 4px 6px; color: var(--text-main); font-size: 1rem; font-weight: 800; }
        #moreSheetList { display: grid; }
        #moreSheetList, #moreSheetListAr, #moreSheetListHe { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
        #moreSheet .top-nav-item { width: auto; min-width: 0; min-height: 58px; justify-content: flex-start; color: var(--text-main); background: #fbf8f1; border: 1px solid #e8dfcf; border-radius: 12px; font-size: 0.84rem; line-height: 1.3; padding: 9px 11px; }
        #moreSheet .top-nav-item:hover { color: var(--text-main); background: #fff7df; border-color: rgba(201,162,77,0.7); }
        #moreSheet .top-nav-item:active { transform: scale(0.98); }
        #moreSheet .top-nav-item svg { width: 18px; height: 18px; }
        #moreSheetList > :last-child:nth-child(odd), #moreSheetListAr > :last-child:nth-child(odd), #moreSheetListHe > :last-child:nth-child(odd) { grid-column: 1 / -1; width: calc(50% - 4.5px); justify-self: center; }
        #moreSheet .top-nav-item svg path, #moreSheet .top-nav-item svg circle { stroke: var(--primary-gold); }


/* PREMIUM_EXAM_RESULT_START */
/* Premium official-exam result: restrained VIP styling, distinct from the daily race. */
        .exam-result-vip-card { position: relative; overflow: hidden; color: #fff; background: radial-gradient(520px 230px at 50% 10%, rgba(201,162,77,.19), transparent 68%), linear-gradient(145deg,#1a1711,#090a09 72%); border: 1px solid #b68e32; border-radius: 20px; padding: 24px 30px 20px; box-shadow: 0 22px 48px rgba(48,37,15,.18), inset 0 0 0 1px rgba(255,255,255,.035); margin-bottom: 18px; }
        .exam-result-vip-card::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 0 42%,rgba(255,255,255,.035) 43% 45%,transparent 46%); pointer-events:none; }
        .exam-result-vip-card.is-fail { border-color: #96614e; background: radial-gradient(520px 230px at 50% 10%, rgba(178,59,46,.14), transparent 68%), linear-gradient(145deg,#1a1512,#090a09 72%); }
        .exam-result-kicker { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; color:#edcd70; font-size:.74rem; font-weight:800; letter-spacing:.08em; }
        .exam-result-kicker::before,.exam-result-kicker::after { content:""; width:66px; height:1px; background:linear-gradient(90deg,transparent,#c99c38); }
        .exam-result-kicker::after { transform:scaleX(-1); }
        .exam-result-main { position:relative; display:grid; grid-template-columns:1fr 1.4fr 1fr; align-items:center; gap:20px; margin:16px 0; }
        .exam-result-seal { width:132px; height:132px; margin:auto; border-radius:50%; border:1px solid #d5a83d; display:grid; place-items:center; text-align:center; background:radial-gradient(circle,#292014 0 51%,#0e0d0a 52%); box-shadow:0 0 0 7px rgba(210,163,61,.07),0 0 34px rgba(210,163,61,.2); color:#efcd69; }
        .is-fail .exam-result-seal { border-color:#b7775f; color:#e4a28d; box-shadow:0 0 0 7px rgba(178,59,46,.07),0 0 30px rgba(178,59,46,.16); }
        .exam-result-seal-inner { width:108px; height:108px; border:1px solid #7e6228; border-radius:50%; display:grid; place-items:center; align-content:center; }
        .is-fail .exam-result-seal-inner { border-color:#74493c; }
        .exam-result-seal-crown { font-size:1.65rem; line-height:1; }
        .exam-result-seal strong { font-size:.86rem; margin-top:4px; }
        .exam-result-seal small { font-size:.56rem; color:#bbb3a2; margin-top:3px; direction:ltr; }
        .exam-result-score-block { text-align:center; }
        .exam-result-score-label { color:#b9b2a4; font-size:.78rem; font-weight:700; }
        .exam-result-score { color:#f2d16c; font-size:4.15rem; line-height:1; font-weight:900; text-shadow:0 0 22px rgba(213,163,49,.32); direction:ltr; }
        .is-fail .exam-result-score { color:#e3a08b; text-shadow:0 0 20px rgba(178,59,46,.25); }
        .exam-result-vip-card .results-banner { background:none !important; padding:0; border-radius:0; margin:7px 0 0; font-size:1.65rem; animation:none; }
        .exam-result-vip-card .results-summary { background:none; box-shadow:none; padding:0; margin:6px auto 0; color:#80d8d0; font-size:.86rem; font-weight:700; max-width:360px; }
        .is-fail .results-summary { color:#e8b5a6; }
        .exam-result-streak { text-align:center; border-inline-start:1px solid #5c4824; padding-inline-start:20px; color:#bcb4a5; font-size:.78rem; line-height:1.5; }
        .exam-result-streak strong { display:block; color:#f0cf6c; font-size:1.55rem; direction:ltr; }
        .is-fail .exam-result-streak strong { color:#e5aa96; }
        .exam-result-vip-card .results-stats-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid #4f4023; padding-top:15px; margin:0; }
        .exam-result-vip-card .result-stat-card { background:none; border:0; border-inline-end:1px solid #383124; border-radius:0; box-shadow:none; padding:3px 8px; }
        .exam-result-vip-card .result-stat-card:last-child { border-inline-end:0; }
        .exam-result-vip-card .result-stat-value { color:#f0cf6c; font-size:1.05rem; }
        .is-fail .result-stat-value { color:#e5aa96; }
        .exam-result-vip-card .result-stat-label { color:#9d9689; font-size:.67rem; }
        .exam-result-insights-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:16px; margin-bottom:14px; }
        .exam-result-insights-card,.exam-result-next-card { background:#fff; border:1px solid #e5dcc8; border-radius:15px; padding:18px 20px; box-shadow:0 9px 26px rgba(68,54,21,.06); }
        .exam-result-panel-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:13px; }
        .exam-result-panel-heading h3 { margin:0; font-size:1.05rem; color:var(--dark-bg); }
        .exam-result-panel-heading span { color:var(--text-muted); background:#f6f0e4; border-radius:20px; padding:5px 9px; font-size:.67rem; }
        .exam-result-insight-row { display:grid; grid-template-columns:minmax(90px,135px) 1fr 44px; gap:10px; align-items:center; margin:11px 0; }
        .exam-result-insight-name { font-size:.8rem; font-weight:800; color:var(--text-main); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
        .exam-result-insight-track { height:8px; border-radius:20px; background:#eee9df; overflow:hidden; }
        .exam-result-insight-fill { display:block; height:100%; border-radius:20px; background:#d0ad45; }
        .exam-result-insight-fill.low { background:#d95f55; }
        .exam-result-insight-fill.mid { background:#d89a3b; }
        .exam-result-insight-pct { font-size:.78rem; font-weight:900; text-align:left; direction:ltr; color:#8e6c1d; }
        .exam-result-insight-pct.low { color:#c94f48; }
        .exam-result-insight-pct.mid { color:#b87924; }
        .exam-result-insights-empty { color:var(--text-muted); font-size:.82rem; line-height:1.6; padding:8px 0; }
        .exam-result-next-card { background:linear-gradient(150deg,#15211f,#0b1110); border-color:#28433f; color:#fff; }
        .exam-result-next-kicker { color:#69d7ce; font-size:.68rem; font-weight:900; }
        .exam-result-next-card h3 { color:#fff; font-size:1.15rem; margin:7px 0 6px; }
        .exam-result-next-card p { color:#c8d0ce; font-size:.78rem; line-height:1.55; margin:0 0 13px; }
        .exam-result-actions { display:flex; gap:8px; align-items:stretch; }
        .exam-result-practice-btn { flex:1; border:0; border-radius:9px; padding:12px 10px; background:linear-gradient(135deg,#f4d77d,#d6a52f); color:#18140b; font-size:.78rem; font-weight:900; cursor:pointer; }
        .exam-result-next-card .new-exam-btn { width:auto; min-width:118px; padding:11px 12px; background:#171713; color:#e7c869; border:1px solid #836722; box-shadow:none; font-size:.76rem; }
        .exam-result-next-card .new-exam-btn:hover { transform:none; box-shadow:none; }
        .review-section { background:#fff; border:1px solid #e4ddcf; border-radius:15px; padding:18px 18px 6px; }
        @media (max-width:700px) {
            .exam-result-vip-card { padding:18px 14px 16px; border-radius:16px; }
            .exam-result-kicker { font-size:.66rem; }
            .exam-result-kicker::before,.exam-result-kicker::after { width:32px; }
            .exam-result-main { grid-template-columns:minmax(0,1fr) 84px; gap:10px; margin:13px 0 10px; }
            .exam-result-score-block { grid-row:1; grid-column:1; }
            .exam-result-seal { grid-row:1; grid-column:2; width:82px; height:82px; }
            .exam-result-seal-inner { width:66px; height:66px; }
            .exam-result-seal-crown { font-size:1.08rem; }
            .exam-result-seal strong { font-size:.61rem; }
            .exam-result-seal small { font-size:.46rem; }
            .exam-result-score-label { font-size:.68rem; }
            .exam-result-score { font-size:2.8rem; }
            .exam-result-vip-card .results-banner { font-size:1.05rem; margin-top:4px; }
            .exam-result-vip-card .results-summary { font-size:.72rem; margin-top:4px; line-height:1.35; }
            .exam-result-streak { grid-row:2; grid-column:1 / -1; border:0; border-top:1px solid #4f4023; padding:8px 0 0; display:flex; align-items:center; justify-content:center; gap:5px; }
            .exam-result-streak strong { display:block; font-size:.92rem; }
            .is-fail .exam-result-streak { display:none; }
            .exam-result-vip-card .results-stats-grid { grid-template-columns:repeat(2,1fr); padding-top:8px; row-gap:8px; }
            .exam-result-vip-card .result-stat-card { padding:3px; border-bottom:1px solid #28241c; }
            .exam-result-vip-card .result-stat-card:nth-last-child(-n+2) { border-bottom:0; }
            .exam-result-vip-card .result-stat-value { font-size:.86rem; }
            .exam-result-vip-card .result-stat-label { font-size:.58rem; }
            .exam-result-insights-grid { grid-template-columns:1fr; gap:12px; }
            .exam-result-insights-card,.exam-result-next-card { padding:16px 14px; }
            .exam-result-panel-heading { align-items:flex-start; flex-direction:column; gap:6px; }
            .exam-result-panel-heading h3 { font-size:.96rem; }
            .exam-result-insight-row { grid-template-columns:minmax(82px,105px) 1fr 39px; gap:8px; }
            .exam-result-next-card h3 { font-size:1.02rem; }
            .exam-result-next-card p { font-size:.72rem; line-height:1.5; }
            .exam-result-actions { flex-direction:column; }
            .exam-result-next-card .new-exam-btn { width:100%; }
            .view-history-link { font-size:.78rem; padding:10px 12px; }
            .review-section { padding:15px 12px 4px; }
            .review-section .review-heading { font-size:1.02rem; margin-bottom:8px; }
            .review-section .review-hint { font-size:.72rem; line-height:1.4; margin:0 0 10px; }
            .review-section .review-filter-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; width:100%; margin-bottom:12px; }
            .review-section .filter-tab { padding:6px 3px; border-width:1.5px; font-size:.68rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
            .review-section #resultsDetails { border:1px solid #e4ded3; border-radius:11px; overflow:hidden; background:#fff; }
            .review-section .accordion-item { margin:0; border:0; border-bottom:1px solid #e8e2d8; border-radius:0; background:transparent; box-shadow:none; }
            .review-section .accordion-item:last-child { border-bottom:0; }
            .review-section .accordion-item.correct,.review-section .accordion-item.wrong { border-color:#e8e2d8; }
            .review-section .accordion-item.open { background:#fbfaf6; }
            .review-section .accordion-item.open.correct { box-shadow:inset -3px 0 #29945a; }
            .review-section .accordion-item.open.wrong { box-shadow:inset -3px 0 #c34639; }
            .review-section .accordion-header { min-height:42px; padding:7px 11px; gap:7px; font-size:.74rem; line-height:1.38; }
            .review-section .accordion-header-right { display:grid; grid-template-columns:14px 24px minmax(0,1fr); align-items:center; gap:5px; }
            .review-section .accordion-header-right svg { width:13px; height:13px; }
            .review-section .accordion-number { font-size:.64rem; text-align:center; }
            .review-section .accordion-chevron { width:14px; height:14px; }
            .review-section .accordion-question-text { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; line-height:1.35; }
            .review-section .accordion-item.open .accordion-question-text { display:block; -webkit-line-clamp:unset; overflow:visible; }
            .review-section .accordion-body { padding:2px 12px 12px; }
            .review-section .review-question-label { padding:3px 8px; margin-bottom:8px; font-size:.64rem; }
            .review-section .accordion-body .question-image { max-height:150px; margin-bottom:10px; }
            .review-section .accordion-body .option-btn { display:grid; grid-template-columns:minmax(0,1fr) 15px; align-items:start; gap:7px; padding:7px 9px; margin-bottom:5px; border-width:1px; border-radius:7px; font-size:.72rem; line-height:1.45; }
            .review-section .accordion-body .option-btn span:first-child { min-width:0; overflow-wrap:anywhere; }
            .review-section .accordion-body .option-btn span:last-child { margin-top:1px; }
            .review-section .user-answer-label { margin-top:6px; font-size:.68rem; }
        }

.filter-tab.all-tab { border-color:#4a4131; color:var(--primary-gold-hover); background:#f6f1e5; }
.filter-tab.correct-tab { border-color:rgba(39,174,96,.55); color:#247a47; background:rgba(39,174,96,.08); }
.filter-tab.wrong-tab { border-color:rgba(192,57,43,.55); color:#a92f25; background:rgba(192,57,43,.08); }
.filter-tab.active { background:var(--dark-bg); border-color:var(--dark-bg); color:var(--primary-gold); }
.filter-tab.active.correct-tab { background:var(--success-color); border-color:var(--success-color); color:#fff; }
.filter-tab.active.wrong-tab { background:var(--danger-color); border-color:var(--danger-color); color:#fff; }
/* PREMIUM_EXAM_RESULT_END */
