﻿/* ======================================================
   QUIZIFY – CLEAN CONSOLIDATED STYLESHEET
   ====================================================== */

/* ================= RESET ================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

/* ================= BASE BODY ================= */
body {
    min-height: 100vh;
    color: #222;
    background: linear-gradient(rgba(255,255,255,0.15), rgba(255,255,255,0.15)), url("https://images.unsplash.com/photo-1606326608690-4e0281b1e588?auto=format&fit=crop&w=1920&q=80");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* ================= HEADER ================= */
.main-header {
    background: linear-gradient(135deg, #fff7ed, #ffedd5);
    border-bottom: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header-logo {
    width: 46px;
    height: 46px;
}

.header-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #dc2626;
}
.app-header h1 {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}
body.dark #progressText {
    color: #f87171;
}


.darkmode-toggle {
    background: #ffedd5;
    border: none;
    padding: 10px 12px;
    border-radius: 50%;
    cursor: pointer;
}

/* ================= MAIN CONTAINER ================= */
.container {
    max-width: 700px;
    margin: 40px auto;
    padding: 0 15px;
}

/* ================= APP HEADER ================= */
.app-header {
    text-align: center;
    margin-bottom: 30px;
}

    .app-header h1 {
        font-size: 2.4rem;
        font-weight: 700;
        background: linear-gradient(135deg, #fb923c, #f97316);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.subtitle {
    font-size: 1rem;
    color: #7c2d12;
    margin-top: 6px;
}

/* ================= CARDS ================= */
.category-card,
.quiz-card,
.result-card {
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 22px;
    padding: 30px 24px;
    box-shadow: 0 20px 45px rgba(0,0,0,0.35);
    text-align: center;
    position: relative;
}

    .category-card h2,
    .quiz-header h2,
    .result-card h2 {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }

/* ================= CATEGORY ================= */
.category-options {
    display: grid;
    gap: 14px;
}

.category-btn {
    background: linear-gradient(135deg, #fed7aa, #fdba74);
    color: #7c2d12;
    border: none;
    border-radius: 14px;
    padding: 14px;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(249,115,22,0.25);
    transition: transform 0.2s ease;
}

    .category-btn:hover {
        transform: translateY(-2px);
        background: linear-gradient(135deg, #fdba74, #fb923c);
    }

/* ================= QUIZ HEADER ================= */
.progress-bar {
    height: 10px;
    background: #e6e8f0;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    margin-bottom: 12px;
}

.progress {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #fdba74, #fb923c);
    transition: width 0.3s ease;
}

#progressText {
    position: absolute;
    right: 0;
    top: -22px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #ea580c;
}

.timer {
    font-size: 0.9rem;
    margin-bottom: 20px;
}

#timer.warning {
    color: #dc2626;
    font-weight: 700;
}

/* ================= OPTIONS ================= */
.options {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.option {
    background: #fff7ed;
    color: #7c2d12;
    border: none;
    border-radius: 14px;
    padding: 14px 16px;
    font-size: 1rem;
    cursor: pointer;
    text-align: left;
    transition: all 0.2s ease;
}

    .option:hover {
        background: linear-gradient(135deg, #fed7aa, #fdba74);
    }

    .option.correct {
        background: linear-gradient(135deg, #86efac, #4ade80);
        color: #14532d;
    }

    .option.wrong {
        background: linear-gradient(135deg, #fecaca, #f87171);
        color: #7f1d1d;
    }

/* ================= QUIZ FOOTER ================= */
.quiz-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 22px;
    font-weight: 600;
}

#score,
#timer {
    background: #fff7ed;
    padding: 8px 15px;
    border-radius: 20px;
}

/* ================= BUTTONS ================= */
.restart-btn,
#refreshQuiz {
    background: linear-gradient(135deg, #fed7aa, #fdba74);
    color: #7c2d12;
    border: none;
    border-radius: 16px;
    padding: 14px 24px;
    font-size: 1rem;
    cursor: pointer;
}

.refresh-btn {
    border-radius: 50%;
    padding: 10px;
}

/* ================= RESULT ================= */
.result-card h2 {
    color: #ea580c;
}

/* ================= CONFETTI ================= */
#confettiCanvas {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

/* ================= FOOTER ================= */
.footer-section {
    margin-top: 60px;
    padding: 20px;
    text-align: center;
    font-size: 0.85rem;
    background: linear-gradient(135deg, #fff7ed, #ffedd5);
    color: #7c2d12;
}

    .footer-section a {
        color: #ea580c;
        margin: 0 6px;
        text-decoration: none;
    }

.footer-copy {
    display: block;
    margin-top: 10px;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 600px) {
    .quiz-footer {
        flex-direction: column;
        gap: 12px;
    }

    .app-header h1 {
        font-size: 2rem;
    }
}

/* ================= DARK MODE ================= */
body.dark {
    background: linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.35)), url("https://images.unsplash.com/photo-1606326608690-4e0281b1e588?auto=format&fit=crop&w=1920&q=80");
    color: #f1f1f1;
}

    body.dark .main-header,
    body.dark .footer-section {
        background: linear-gradient(135deg, #2a1d14, #1f160f);
    }

    body.dark .category-card,
    body.dark .quiz-card,
    body.dark .result-card {
        background: rgba(24,24,36,0.95);
        box-shadow: 0 25px 60px rgba(0,0,0,0.6);
    }

    body.dark .option {
        background: #2a2a3c;
        color: #f1f1f1;
    }

        body.dark .option:hover {
            background: #6c5ce7;
        }

    body.dark .category-btn,
    body.dark .restart-btn,
    body.dark #refreshQuiz {
        background: linear-gradient(135deg, #fdba74, #fb923c);
        color: #3b1d0a;
    }

    body.dark .subtitle {
        color: #fed7aa;
    }

/* ================= CONFETTI FIX (PASTE AT BOTTOM) ================= */

/* Ensure result card is the positioning context */
#result {
    position: relative;
    overflow: hidden;
}

    /* Confetti canvas fills ONLY the result card */
    #result #confettiCanvas {
        position: absolute;
        inset: 0; /* top:0; right:0; bottom:0; left:0; */
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 1;
    }

    /* Keep all result content above the canvas */
    #result > *:not(#confettiCanvas) {
        position: relative;
        z-index: 2;
    }
/* ================= FOOTER FIX (NO LAYOUT SIDE EFFECTS) ================= */

/* Keep footer always at viewport bottom */
.footer-section {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 5;
}

/* Prevent footer from overlapping content */
body {
    padding-bottom: 90px;
}

/* ================= FOOTER SIZE REDUCTION ================= */

.footer-section {
    padding: 8px 12px; /* reduce height */
    font-size: 0.75rem; /* smaller text */
    line-height: 1.4;
}

    /* Reduce link spacing */
    .footer-section a {
        margin: 0 4px;
    }

/* Reduce copyright spacing */
.footer-copy {
    margin-top: 4px;
    font-size: 0.7rem;
}

/* ================= MICRO ANIMATIONS (SINGLE BLOCK) ================= */

/* Buttons & options: soft hover + press */
.category-btn,
.option,
.restart-btn,
#refreshQuiz {
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease;
}

    .category-btn:hover,
    .option:hover,
    .restart-btn:hover {
        transform: translateY(-2px);
    }

    .category-btn:active,
    .option:active,
    .restart-btn:active,
    #refreshQuiz:active {
        transform: scale(0.97);
    }

/* Options: gentle fade-in */
.option {
    animation: optionFade 0.35s ease both;
}

@keyframes optionFade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Correct / wrong feedback */
.option.correct {
    animation: correctPulse 0.4s ease;
}

.option.wrong {
    animation: wrongShake 0.35s ease;
}

@keyframes correctPulse {
    0% {
        box-shadow: 0 0 0 rgba(0,0,0,0);
    }

    50% {
        box-shadow: 0 0 16px rgba(0, 200, 100, 0.45);
    }

    100% {
        box-shadow: 0 0 0 rgba(0,0,0,0);
    }
}

@keyframes wrongShake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-4px);
    }

    50% {
        transform: translateX(4px);
    }

    75% {
        transform: translateX(-2px);
    }

    100% {
        transform: translateX(0);
    }
}

/* Cards: subtle entrance (no resize) */
.quiz-card,
.result-card,
.category-card {
    animation: cardIn 0.35s ease;
}

@keyframes cardIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Footer links: tiny hover lift */
.footer-section a {
    transition: transform 0.15s ease;
}

    .footer-section a:hover {
        transform: translateY(-1px);
    }


/* ======================================================
   MASCOT (QUIZIFY CHARACTER)
   ====================================================== */

.mascot {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.mascot-face {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fed7aa, #fdba74);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    animation: mascotFloat 3s ease-in-out infinite;
}

.mascot-eye {
    width: 6px;
    height: 6px;
    background: #7c2d12;
    border-radius: 50%;
    position: absolute;
    top: 18px;
}

    .mascot-eye.left {
        left: 16px;
    }

    .mascot-eye.right {
        right: 16px;
    }

.mascot-mouth {
    width: 12px;
    height: 6px;
    border-radius: 0 0 10px 10px;
    background: #7c2d12;
    position: absolute;
    bottom: 14px;
}

.mascot-bubble {
    background: #fff7ed;
    padding: 8px 12px;
    border-radius: 14px;
    font-size: 0.85rem;
    color: #7c2d12;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Mascot floating animation */
@keyframes mascotFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}


/* ======================================================
   MASCOT FACE REACTIONS (EXPRESSIVE, NOT JUST SHAKE)
   ====================================================== */

/* ---------- NEUTRAL ---------- */
.mascot .mascot-mouth {
    border-radius: 0 0 10px 10px;
    height: 6px;
}

/* ---------- CORRECT (SMILE + EYE LIFT) ---------- */
.mascot.correct .mascot-mouth {
    height: 8px;
    border-radius: 0 0 14px 14px;
    transform: scaleX(1.2);
}

.mascot.correct .mascot-eye {
    transform: translateY(-2px);
}

/* ---------- WRONG (FROWN + SQUINT) ---------- */
.mascot.wrong .mascot-mouth {
    height: 8px;
    border-radius: 14px 14px 0 0;
    bottom: 16px;
}

.mascot.wrong .mascot-eye {
    height: 2px;
    border-radius: 2px;
    top: 22px;
}

/* ---------- THINKING (TIMER LOW) ---------- */
.mascot.thinking .mascot-eye {
    animation: blink 1.5s infinite;
}

@keyframes blink {
    0%, 90%, 100% {
        height: 6px;
    }

    95% {
        height: 1px;
    }
}


/* ======================================================
   QUIZIFY – UI FIXES & DARK MODE IMPROVEMENTS
   PASTE THIS BLOCK AT THE VERY BOTTOM
   ====================================================== */


/* ======================================================
   BACK TO CATEGORIES BUTTON (QUIZ HEADER)
   ====================================================== */

.back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    margin-bottom: 14px;
    border-radius: 18px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    background: linear-gradient(135deg, #fff7ed, #fed7aa);
    color: #7c2d12;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

    .back-btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 6px 14px rgba(0,0,0,0.18);
    }

body.dark .back-btn {
    background: linear-gradient(135deg, #3a2a1a, #2a1d14);
    color: #fed7aa;
}


/* ======================================================
   ANSWER OPTIONS – DARK MODE FIX
   (REMOVE PURPLE, KEEP CONSISTENT STYLE)
   ====================================================== */

body.dark .option {
    background: #2a2a3c;
    color: #f1f1f1;
}

    body.dark .option:hover {
        background: linear-gradient(135deg, #3a3a55, #444466);
    }


    /* ======================================================
   CORRECT / WRONG COLORS (CLEAR & ACCESSIBLE)
   ====================================================== */

    /* Correct answer */
    .option.correct,
    body.dark .option.correct {
        background: linear-gradient(135deg, #86efac, #4ade80);
        color: #14532d;
        box-shadow: 0 0 14px rgba(34,197,94,0.55);
    }

    /* Wrong answer */
    .option.wrong,
    body.dark .option.wrong {
        background: linear-gradient(135deg, #fecaca, #f87171);
        color: #7f1d1d;
        box-shadow: 0 0 14px rgba(239,68,68,0.55);
    }


/* ======================================================
   TIMER & QUESTION COUNT VISIBILITY (DARK MODE)
   ====================================================== */

body.dark .timer,
body.dark #timer,
body.dark #questionNumber,
body.dark #score {
    background: rgba(255,255,255,0.12);
    color: #f9fafb;
    font-weight: 600;
}

    /* Timer warning when low */
    #timer.warning,
    body.dark #timer.warning {
        color: #ef4444;
    }


/* ======================================================
   PROGRESS TEXT FIX (DARK MODE)
   ====================================================== */

body.dark #progressText {
    color: #fdba74;
    font-weight: 600;
}


/* ======================================================
   OPTION SELECTION FEEDBACK (PRESS STATE)
   ====================================================== */

.option:active {
    transform: scale(0.98);
}


/* ======================================================
   QUIZ FOOTER SPACING IMPROVEMENT
   ====================================================== */

.quiz-footer {
    gap: 10px;
}

body.dark .quiz-footer {
    color: #f1f1f1;
}


/* ======================================================
   MASCOT SPEECH BUBBLE – DARK MODE
   ====================================================== */

body.dark .mascot-bubble {
    background: #2a2a3c;
    color: #fed7aa;
    box-shadow: 0 4px 14px rgba(0,0,0,0.5);
}


/* ======================================================
   MICRO POLISH – SMOOTHER OPTION ENTRANCE
   ====================================================== */

.option {
    animation: optionFadeDarkSafe 0.35s ease both;
}

@keyframes optionFadeDarkSafe {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ======================================================
   SETTINGS BAR – LEFT / RIGHT LAYOUT FIX
   ====================================================== */

.settings-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

/* LEFT: mascot area */
.settings-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* RIGHT: language + difficulty */
.settings-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Stack label + select cleanly */
.setting-group {
    display: flex;
    flex-direction: column;
    font-size: 0.8rem;
    font-weight: 600;
    color: #7c2d12;
}

/* ======================================================
   DROPDOWNS – CLEAN & CONSISTENT
   ====================================================== */

.setting-group select {
    margin-top: 4px;
    padding: 6px 10px;
    border-radius: 10px;
    border: none;
    font-size: 0.85rem;
    background: #fff7ed;
    color: #7c2d12;
    box-shadow: 0 3px 8px rgba(0,0,0,0.12);
    cursor: pointer;
}

/* Dark mode dropdowns */
body.dark .setting-group select {
    background: #2a2a3c;
    color: #f1f1f1;
}

/* ======================================================
   DARK MODE TOGGLE – LIGHT MODE COLOR FIX
   ====================================================== */

.darkmode-toggle {
    background: linear-gradient(135deg, #fed7aa, #fdba74);
    color: #7c2d12;
    box-shadow: 0 4px 10px rgba(249,115,22,0.25);
}

.darkmode-toggle:hover {
    background: linear-gradient(135deg, #fdba74, #fb923c);
}

/* Dark mode toggle appearance */
body.dark .darkmode-toggle {
    background: linear-gradient(135deg, #3a2a1a, #2a1d14);
    color: #fed7aa;
}

/* ======================================================
   RESPONSIVE SAFETY (MOBILE)
   ====================================================== */

@media (max-width: 600px) {
    .settings-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .settings-right {
        width: 100%;
        justify-content: space-between;
    }
}

/* ======================================================
   TIMER – SIZE, VISIBILITY & POLISH FIX
   ====================================================== */

/* Timer container */
.timer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.85rem; /* base size */
    font-weight: 500;
    background: #fff7ed;
    color: #7c2d12;
    padding: 10px 18px;
    border-radius: 999px;
    box-shadow: 0 6px 14px rgba(0,0,0,0.15);
    margin: 0 auto 16px auto; /* centered */
    width: fit-content;
}

    /* Clock icon */
    .timer::before {
        content: "⏱";
        font-size: 0.5rem;
        line-height: 1;
    }

/* Seconds number */
#timer {
    font-size: 0.85rem;
    font-weight: 600;
}

    /* Warning state (last 5 seconds) */
    #timer.warning {
        color: #dc2626;
    }

/* ---------------- DARK MODE ---------------- */

body.dark .timer {
    background: #2a2a3c;
    color: #fbbf24;
    box-shadow: 0 8px 18px rgba(0,0,0,0.45);
}

body.dark #timer.warning {
    color: #f87171;
}

/* ======================================================
   QUESTION COUNTER – VISUAL UPGRADE
   ====================================================== */

/* Question counter pill */
#questionNumber {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: 10px 18px;
    font-size: 1rem;
    font-weight: 600;
    background: #fff7ed;
    color: #7c2d12;
    border-radius: 999px;
    box-shadow: 0 6px 14px rgba(0,0,0,0.15);
    letter-spacing: 0.5px;
}

/* ---------------- DARK MODE ---------------- */

body.dark #questionNumber {
    background: #2a2a3c;
    color: #fbbf24;
    box-shadow: 0 8px 18px rgba(0,0,0,0.45);
}


/* ======================================================
   FIX: ALIGN MASCOT (LEFT) + SETTINGS (RIGHT)
   SINGLE ROW – NO GAP
   ====================================================== */

/* Turn prequiz area into a row container */
.prequiz-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px;
    margin-bottom: 12px !important;
}

    /* Mascot stays left */
    .prequiz-bar .mascot {
        flex-shrink: 0;
    }

/* Force settings to the right side */
.settings-bar {
    position: absolute;
    top: 110px; /* aligns vertically with mascot */
    right: 24px;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
}

/* Layout language + difficulty horizontally */
.settings-right {
    display: flex !important;
    gap: 14px;
    align-items: center;
}

/* Reduce dropdown height + padding */
.setting-group select {
    padding: 8px 14px;
    border-radius: 14px;
    font-weight: 600;
}

/* Reduce label spacing */
.setting-group label {
    margin-bottom: 4px;
    font-size: 0.75rem;
}

/* Remove phantom spacing pushing card down */
.container {
    margin-top: 160px !important;
}

.app-header {
    margin-bottom: 220px !important;
}

/* ======================================================
   QUIZIFY – RED BRANDING + SQUARE CATEGORY BLOCKS
   PASTE AT VERY BOTTOM
   ====================================================== */

/* -------------------------------
   HEADER LOGO – RED THEME
-------------------------------- */

.header-title {
    color: #dc2626; /* red-600 */
}

/* Optional: main title gradient aligned to red theme */
.app-header h1 {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* -------------------------------
   CATEGORY MENU – SQUARE BLOCKS
-------------------------------- */

.category-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 16px;
}

/* Square category tiles */
.category-btn {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    color: #7f1d1d;
    border: none;
    border-radius: 12px;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(220,38,38,0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

    /* Hover effect */
    .category-btn:hover {
        transform: translateY(-3px);
        background: linear-gradient(135deg, #fecaca, #f87171);
        box-shadow: 0 14px 32px rgba(220,38,38,0.35);
    }

    /* Press feedback */
    .category-btn:active {
        transform: scale(0.97);
    }

/* -------------------------------
   DARK MODE SUPPORT
-------------------------------- */

body.dark .category-btn {
    background: linear-gradient(135deg, #3a1d1d, #2a1414);
    color: #fecaca;
    box-shadow: 0 14px 32px rgba(0,0,0,0.6);
}

    body.dark .category-btn:hover {
        background: linear-gradient(135deg, #4c1d1d, #7f1d1d);
    }

/* ======================================================
   END OVERRIDE BLOCK
   ====================================================== */
/* ======================================================
   QUIZIFY – FULL RED THEME OVERRIDE
   PASTE AT VERY BOTTOM OF style.css
   ====================================================== */

/* -------------------------------
   CORE BRAND COLORS
-------------------------------- */
:root {
    --red-main: #dc2626; /* red-600 */
    --red-light: #f87171; /* red-400 */
    --red-soft: #fee2e2; /* red-100 */
    --red-dark: #7f1d1d; /* red-900 */
}

/* -------------------------------
   HEADER & TITLES
-------------------------------- */

.header-title {
    color: var(--red-main);
}

.app-header h1 {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.subtitle {
    color: var(--red-dark);
}

/* -------------------------------
   CATEGORY CARD
-------------------------------- */

.category-card h2 {
    color: var(--red-main);
}

/* Square grid */
.category-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 16px;
}

/* Square category buttons */
.category-btn {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(135deg, var(--red-soft), #fecaca);
    color: var(--red-dark);
    border: none;
    border-radius: 12px;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(220,38,38,0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

    .category-btn:hover {
        transform: translateY(-3px);
        background: linear-gradient(135deg, #fecaca, var(--red-light));
        box-shadow: 0 14px 32px rgba(220,38,38,0.35);
    }

    .category-btn:active {
        transform: scale(0.97);
    }

/* -------------------------------
   BUTTONS (GLOBAL)
-------------------------------- */

.restart-btn,
.back-btn,
#refreshQuiz,
.darkmode-toggle {
    background: linear-gradient(135deg, var(--red-soft), #fecaca);
    color: var(--red-dark);
    box-shadow: 0 6px 16px rgba(220,38,38,0.25);
}

    .restart-btn:hover,
    .back-btn:hover,
    #refreshQuiz:hover,
    .darkmode-toggle:hover {
        background: linear-gradient(135deg, #fecaca, var(--red-light));
    }

/* -------------------------------
   PROGRESS BAR
-------------------------------- */

.progress {
    background: linear-gradient(90deg, #f87171, #dc2626);
}

#progressText {
    color: var(--red-main);
    font-weight: 600;
}

/* -------------------------------
   TIMER / SCORE / COUNTER
-------------------------------- */

.timer,
#score,
#questionNumber {
    background: var(--red-soft);
    color: var(--red-dark);
    font-weight: 600;
}

#timer.warning {
    color: var(--red-main);
}

/* -------------------------------
   OPTIONS
-------------------------------- */

.option {
    background: #fff1f2;
    color: var(--red-dark);
}

    .option:hover {
        background: linear-gradient(135deg, var(--red-soft), #fecaca);
    }

    .option.correct {
        background: linear-gradient(135deg, #86efac, #4ade80);
        color: #14532d;
    }

    .option.wrong {
        background: linear-gradient(135deg, #fecaca, #f87171);
        color: var(--red-dark);
    }

/* -------------------------------
   MASCOT
-------------------------------- */

.mascot-face {
    background: linear-gradient(135deg, var(--red-soft), #fecaca);
}

.mascot-eye,
.mascot-mouth {
    background: var(--red-dark);
}

.mascot-bubble {
    background: var(--red-soft);
    color: var(--red-dark);
}

/* -------------------------------
   DARK MODE OVERRIDES
-------------------------------- */

body.dark .header-title {
    color: #fca5a5;
}

body.dark .category-card,
body.dark .quiz-card,
body.dark .result-card {
    background: rgba(28, 18, 18, 0.95);
}

body.dark .category-btn {
    background: linear-gradient(135deg, #3a1d1d, #2a1414);
    color: #fecaca;
}

    body.dark .category-btn:hover {
        background: linear-gradient(135deg, #4c1d1d, #7f1d1d);
    }

body.dark .timer,
body.dark #score,
body.dark #questionNumber {
    background: #2a1d1d;
    color: #fca5a5;
}

body.dark .option {
    background: #2a1d1d;
    color: #fca5a5;
}

    body.dark .option:hover {
        background: #3a1d1d;
    }

body.dark #progressText {
    color: #f87171;
}

body.dark .mascot-bubble {
    background: #2a1d1d;
    color: #fecaca;
}

/* ======================================================
   END RED THEME OVERRIDE
   ====================================================== */
/* ======================================================
   QUIZIFY – FULL RED THEME OVERRIDE (HEADER + FOOTER INCLUDED)
   PASTE AT VERY BOTTOM OF style.css
   ====================================================== */

/* -------------------------------
   CORE BRAND COLORS
-------------------------------- */
:root {
    --red-main: #dc2626; /* red-600 */
    --red-strong: #b91c1c; /* red-700 */
    --red-light: #f87171; /* red-400 */
    --red-soft: #fee2e2; /* red-100 */
    --red-50: #fff1f2; /* red-50 */
    --red-dark: #7f1d1d; /* red-900 */
}

/* ======================================================
   HEADER (FIXED RED THEME)
   ====================================================== */

.main-header {
    background: linear-gradient(135deg, #fff1f2, #fee2e2);
    border-bottom: 1px solid rgba(185,28,28,0.15);
    box-shadow: 0 2px 10px rgba(220,38,38,0.10);
}

.header-title {
    color: var(--red-main);
}

/* Darkmode button in header */
.darkmode-toggle {
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    color: var(--red-dark);
    box-shadow: 0 6px 16px rgba(220,38,38,0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease;
}

    .darkmode-toggle:hover {
        background: linear-gradient(135deg, #fecaca, var(--red-light));
        transform: translateY(-1px);
    }

    .darkmode-toggle:active {
        transform: scale(0.97);
    }

/* ======================================================
   APP TITLE + SUBTITLE
   ====================================================== */

.app-header h1 {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.subtitle {
    color: var(--red-dark);
}

/* ======================================================
   CATEGORY MENU – SQUARE RED BLOCKS
   ====================================================== */

.category-card h2 {
    color: var(--red-main);
}

.category-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 16px;
}

.category-btn {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(135deg, var(--red-soft), #fecaca);
    color: var(--red-dark);
    border: none;
    border-radius: 12px;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(220,38,38,0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

    .category-btn:hover {
        transform: translateY(-3px);
        background: linear-gradient(135deg, #fecaca, var(--red-light));
        box-shadow: 0 14px 32px rgba(220,38,38,0.35);
    }

    .category-btn:active {
        transform: scale(0.97);
    }

/* ======================================================
   BUTTONS – UNIFIED RED STYLE
   ====================================================== */

.restart-btn,
.back-btn,
#refreshQuiz {
    background: linear-gradient(135deg, var(--red-soft), #fecaca);
    color: var(--red-dark);
    box-shadow: 0 6px 16px rgba(220,38,38,0.25);
}

    .restart-btn:hover,
    .back-btn:hover,
    #refreshQuiz:hover {
        background: linear-gradient(135deg, #fecaca, var(--red-light));
    }

    .restart-btn:active,
    .back-btn:active,
    #refreshQuiz:active {
        transform: scale(0.97);
    }

/* ======================================================
   PROGRESS + TEXT
   ====================================================== */

.progress {
    background: linear-gradient(90deg, var(--red-light), var(--red-main));
}

#progressText {
    color: var(--red-main);
    font-weight: 700;
}

/* ======================================================
   TIMER / SCORE / COUNTER
   ====================================================== */

.timer,
#score,
#questionNumber {
    background: var(--red-soft);
    color: var(--red-dark);
    font-weight: 700;
}

#timer.warning {
    color: var(--red-main);
}

/* ======================================================
   OPTIONS
   ====================================================== */

.option {
    background: var(--red-50);
    color: var(--red-dark);
}

    .option:hover {
        background: linear-gradient(135deg, var(--red-soft), #fecaca);
    }

    /* Keep correct/wrong clear and accessible */
    .option.correct {
        background: linear-gradient(135deg, #86efac, #4ade80);
        color: #14532d;
    }

    .option.wrong {
        background: linear-gradient(135deg, #fecaca, #f87171);
        color: var(--red-dark);
    }

/* ======================================================
   MASCOT – RED ACCENTS
   ====================================================== */

.mascot-face {
    background: linear-gradient(135deg, var(--red-soft), #fecaca);
}

.mascot-eye,
.mascot-mouth {
    background: var(--red-dark);
}

.mascot-bubble {
    background: var(--red-soft);
    color: var(--red-dark);
}

/* ======================================================
   FOOTER – RED THEME (FIXED)
   ====================================================== */

.footer-section {
    background: linear-gradient(135deg, #fff1f2, #fee2e2);
    color: var(--red-dark);
    border-top: 1px solid rgba(185,28,28,0.15);
    box-shadow: 0 -2px 10px rgba(220,38,38,0.10);
}

    .footer-section a {
        color: var(--red-main);
    }

        .footer-section a:hover {
            color: var(--red-strong);
        }

/* ======================================================
   DARK MODE – HEADER + FOOTER + FULL UI
   ====================================================== */

body.dark .main-header,
body.dark .footer-section {
    background: linear-gradient(135deg, #2a1414, #1f0f0f);
    border-color: rgba(248,113,113,0.18);
}

body.dark .header-title {
    color: #fca5a5;
}

body.dark .darkmode-toggle {
    background: linear-gradient(135deg, #3a1d1d, #2a1414);
    color: #fecaca;
    box-shadow: 0 10px 22px rgba(0,0,0,0.55);
}

body.dark .category-card,
body.dark .quiz-card,
body.dark .result-card {
    background: rgba(28, 18, 18, 0.95);
}

body.dark .subtitle {
    color: #fecaca;
}

body.dark .category-btn {
    background: linear-gradient(135deg, #3a1d1d, #2a1414);
    color: #fecaca;
}

    body.dark .category-btn:hover {
        background: linear-gradient(135deg, #4c1d1d, #7f1d1d);
    }

body.dark .timer,
body.dark #score,
body.dark #questionNumber {
    background: #2a1d1d;
    color: #fca5a5;
}

body.dark .option {
    background: #2a1d1d;
    color: #fca5a5;
}

    body.dark .option:hover {
        background: #3a1d1d;
    }

body.dark #progressText {
    color: #f87171;
}

body.dark .mascot-bubble {
    background: #2a1d1d;
    color: #fecaca;
}

body.dark .footer-section a {
    color: #f87171;
}

    body.dark .footer-section a:hover {
        color: #fca5a5;
    }

/* ======================================================
   END RED THEME OVERRIDE
   ====================================================== */
/* ======================================================
   FIX: DARK MODE ANSWER OPTION HOVER COLORS
   KEEP RED / GREEN — NO BROWN
   ====================================================== */

/* Neutral hover → RED-TINTED (not brown) */
body.dark .option:hover {
    background: linear-gradient(135deg, #3a1d1d, #7f1d1d);
    color: #fecaca;
}

/* Correct answer stays GREEN (hover-safe) */
body.dark .option.correct,
body.dark .option.correct:hover {
    background: linear-gradient(135deg, #16a34a, #22c55e);
    color: #dcfce7;
    box-shadow: 0 0 14px rgba(34,197,94,0.55);
}

/* Wrong answer stays RED (hover-safe) */
body.dark .option.wrong,
body.dark .option.wrong:hover {
    background: linear-gradient(135deg, #dc2626, #f87171);
    color: #fee2e2;
    box-shadow: 0 0 14px rgba(239,68,68,0.55);
}


/* ======================================================
   QUIZIFY – MOBILE & TABLET OVERRIDES
   SAFE, NON-DESTRUCTIVE
   ====================================================== */

/* ============================
   MOBILE & TABLET BREAKPOINT
   ============================ */
@media (max-width: 1024px) {

    /* ---------- CATEGORY GRID ---------- */
    .category-options {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 14px;
    }

    .category-btn {
        aspect-ratio: 1 / 1;
        font-size: 0.95rem;
        padding: 12px;
    }

    /* ---------- OPTIONS (TOUCH SAFE) ---------- */
    .option {
        padding: 16px 18px;
        font-size: 1rem;
    }

        /* Disable hover lift on touch */
        .category-btn:hover,
        .option:hover {
            transform: none;
        }

    /* ---------- QUIZ FOOTER ---------- */
    .quiz-footer {
        flex-direction: column;
        gap: 12px;
    }

    #score,
    #timer,
    #questionNumber {
        width: 100%;
        text-align: center;
    }

    /* ---------- SETTINGS BAR ---------- */
    .settings-bar {
        position: static !important;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-bottom: 20px;
    }

    .settings-right {
        justify-content: space-between;
    }



    /* ============================
   MOBILE ONLY (PHONES)
   ============================ */
    @media (max-width: 600px) {

        /* ---------- HEADER ---------- */
        .header-title {
            font-size: 1.4rem;
        }

        /* ---------- APP HEADER ---------- */
        .app-header h1 {
            font-size: 2rem;
        }

        .subtitle {
            font-size: 0.9rem;
        }

        /* ---------- OPTIONS ---------- */
        .option {
            font-size: 0.95rem;
            padding: 16px;
        }

        /* ---------- FOOTER ---------- */
        .footer-section {
            font-size: 0.7rem;
            padding: 6px 10px;
        }
    }

    /* ============================
   DARK MODE – MOBILE OPTION COLORS
   (NO BROWN, RED / GREEN ONLY)
   ============================ */

    /* Neutral hover / tap */
    body.dark .option:hover {
        background: linear-gradient(135deg, #3a1d1d, #7f1d1d);
        color: #fecaca;
    }

    /* Correct (tap-safe) */
    body.dark .option.correct,
    body.dark .option.correct:hover {
        background: linear-gradient(135deg, #16a34a, #22c55e);
        color: #dcfce7;
        box-shadow: 0 0 14px rgba(34,197,94,0.55);
    }

    /* Wrong (tap-safe) */
    body.dark .option.wrong,
    body.dark .option.wrong:hover {
        background: linear-gradient(135deg, #dc2626, #f87171);
        color: #fee2e2;
        box-shadow: 0 0 14px rgba(239,68,68,0.55);
    }

    /* ======================================================
   END MOBILE & TABLET OVERRIDE
   ====================================================== */
    /* ======================================================
   FIX: MOBILE / TABLET BACKGROUND + SETTINGS BAR
   DESIGN-SAFE OVERRIDE
   ====================================================== */

    /* ===============================
   MOBILE & TABLET ONLY
   =============================== */
    @media (max-width: 1024px) {

        /* ---------- BACKGROUND IMAGE FIX ---------- */
        body {
            background-attachment: scroll; /* fixes mobile zoom/jump */
            background-position: center top;
            background-size: cover;
        }

        /* ---------- SETTINGS BAR RESET ---------- */
        .settings-bar {
            position: static !important; /* undo absolute positioning */
            width: 100%;
            margin: 12px 0 20px 0 !important;
            padding: 0;
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
        }

        /* Keep right-side options aligned */
        .settings-right {
            width: 100%;
            justify-content: space-between;
        }

        .setting-group {
            flex: 1;
            min-width: 120px;
        }

            .setting-group select {
                width: 100%;
            }

        /* ---------- PREQUIZ BAR ALIGNMENT ---------- */
        .prequiz-bar {
            flex-direction: column;
            align-items: flex-start !important;
            gap: 12px;
        }
    }

    /* ===============================
   MOBILE ONLY (PHONES)
   =============================== */
    @media (max-width: 600px) {

        /* Stack settings vertically on small screens */
        .settings-bar {
            flex-direction: column;
            align-items: stretch;
        }

        .settings-right {
            gap: 10px;
        }



        /* ======================================================
   END FIX
   ====================================================== */
        /* ======================================================
   FIX: DARK MODE DROPDOWNS – RED THEME CONSISTENCY
   (Language / Difficulty only)
   ====================================================== */

        body.dark .setting-group select {
            background: linear-gradient(135deg, #3a1d1d, #2a1414);
            color: #fecaca;
            box-shadow: 0 4px 12px rgba(220,38,38,0.35);
        }

            /* Hover / focus state */
            body.dark .setting-group select:hover,
            body.dark .setting-group select:focus {
                background: linear-gradient(135deg, #4c1d1d, #7f1d1d);
                outline: none;
            }

            /* Dropdown arrow (browser-safe) */
            body.dark .setting-group select option {
                background: #2a1414;
                color: #fecaca;
            }
        /* ======================================================
   FIX: LIGHT MODE DROPDOWNS – RED THEME CONSISTENCY
   ====================================================== */

        body:not(.dark) .setting-group select {
            background: linear-gradient(135deg, #fee2e2, #fecaca);
            color: #7f1d1d;
            box-shadow: 0 4px 12px rgba(220,38,38,0.25);
        }

            /* Hover / focus */
            body:not(.dark) .setting-group select:hover,
            body:not(.dark) .setting-group select:focus {
                background: linear-gradient(135deg, #fecaca, #f87171);
                outline: none;
            }

            /* Dropdown options */
            body:not(.dark) .setting-group select option {
                background: #fff1f2;
                color: #7f1d1d;
            }
    }
}
    /* ======================================================
   FIX: BACKGROUND IMAGE – MOVE UP (PHONES ONLY)
   ====================================================== */

@media (max-width: 600px) {
    body {
        background-position: center 20%;
    }
}
/* ======================================================
   FIX: DARK MODE DROPDOWNS – RED THEME CONSISTENCY
   (Language / Difficulty only)
   ====================================================== */

body.dark .setting-group select {
    background: linear-gradient(135deg, #3a1d1d, #2a1414);
    color: #fecaca;
    box-shadow: 0 4px 12px rgba(220,38,38,0.35);
}

    /* Hover / focus state */
    body.dark .setting-group select:hover,
    body.dark .setting-group select:focus {
        background: linear-gradient(135deg, #4c1d1d, #7f1d1d);
        outline: none;
    }

    /* Dropdown arrow (browser-safe) */
    body.dark .setting-group select option {
        background: #2a1414;
        color: #fecaca;
    }
/* ======================================================
   FIX: LIGHT MODE DROPDOWNS – RED THEME CONSISTENCY
   ====================================================== */

body:not(.dark) .setting-group select {
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    color: #7f1d1d;
    box-shadow: 0 4px 12px rgba(220,38,38,0.25);
}

    /* Hover / focus */
    body:not(.dark) .setting-group select:hover,
    body:not(.dark) .setting-group select:focus {
        background: linear-gradient(135deg, #fecaca, #f87171);
        outline: none;
    }

    /* Dropdown options */
    body:not(.dark) .setting-group select option {
        background: #fff1f2;
        color: #7f1d1d;
    }

/* ======================================================
   QUIZIFY – FEATURES / TRUST SECTION (ISOLATED)
   ====================================================== */

.features-section {
    margin: 80px auto;
    text-align: center;
}

.features-title {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 36px;
    color: darkred;
}

/* Grid */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
}

/* Card */
.feature-card {
    background: rgba(255,255,255,0.9);
    border-radius: 20px;
    padding: 28px 24px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.25);
    text-align: left;
}

    /* Icon */
    .feature-card i {
        font-size: 2rem;
        color: #dc2626;
        margin-bottom: 14px;
    }

    /* Title */
    .feature-card h3 {
        font-size: 1.25rem;
        font-weight: 700;
        margin-bottom: 8px;
        color: #7f1d1d;
    }

    /* Text */
    .feature-card p {
        font-size: 0.95rem;
        line-height: 1.6;
        color: #7f1d1d;
        opacity: 0.9;
    }

/* ================= DARK MODE ================= */

body.dark .features-section .features-title {
    color: #fff;
}

body.dark .feature-card {
    background: linear-gradient(135deg, #1f0f0f, #2a1414);
    box-shadow: 0 22px 50px rgba(0,0,0,0.6);
}

    body.dark .feature-card i {
        color: #f87171;
    }

    body.dark .feature-card h3 {
        color: #fecaca;
    }

    body.dark .feature-card p {
        color: #fca5a5;
    } 


/* ================= RESPONSIVE ================= */

@media (max-width: 600px) {
    .features-title {
        font-size: 1.8rem;
    }

    .feature-card {
        padding: 22px 18px;
    }
}

/* ======================================================
   END FEATURES SECTION
   ====================================================== */
/* ======================================================
   TRUST / FEATURES SECTION – MOBILE & TABLET FIX
   (SAFE: affects this section only)
   ====================================================== */

/* Base layout (desktop untouched) */
.features-section {
    margin: 80px auto 40px;
    text-align: center;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.feature-card {
    padding: 28px 24px;
    border-radius: 20px;
}

/* ======================================================
   TABLETS (≤1024px)
   ====================================================== */
@media (max-width: 1024px) {

    .features-section {
        margin: 60px auto 30px;
        padding: 0 16px;
    }

    .features-title {
        font-size: 1.9rem;
        margin-bottom: 16px;
    }

    .features-subtitle {
        font-size: 0.95rem;
        line-height: 1.5;
        margin-bottom: 32px;
    }

    /* Switch to 2-column grid */
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .feature-card {
        padding: 24px 20px;
    }
}

/* ======================================================
   PHONES (≤600px)
   ====================================================== */
@media (max-width: 600px) {

    .features-section {
        margin: 50px auto 20px;
        padding: 0 14px;
    }

    .features-title {
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .features-subtitle {
        font-size: 0.9rem;
        margin-bottom: 26px;
    }

    /* Stack cards vertically */
    .features-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .feature-card {
        padding: 22px 18px;
        text-align: left;
    }

        .feature-card h3 {
            font-size: 1.05rem;
        }

        .feature-card p {
            font-size: 0.9rem;
            line-height: 1.45;
        }
}

/* ======================================================
   DARK MODE – TRUST SECTION SAFETY
   (no white text, red-consistent)
   ====================================================== */
body.dark .features-title {
    color: #fca5a5;
}

body.dark .features-subtitle {
    color: #fecaca;
}

body.dark .feature-card {
    background: rgba(28, 18, 18, 0.9);
    border: 1px solid rgba(248, 113, 113, 0.15);
}

    body.dark .feature-card h3 {
        color: #fee2e2;
    }

    body.dark .feature-card p {
        color: #fca5a5;
    }

/* ======================================================
   END TRUST / FEATURES FIX
   ====================================================== */
/* ======================================================
   FIX: REFRESH BUTTON – THEME-AWARE (FINAL OVERRIDE)
   PASTE AT VERY BOTTOM OF style.css
   ====================================================== */

/* LIGHT MODE – follow red theme */
body:not(.dark) #refreshQuiz {
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    color: #7f1d1d;
    box-shadow: 0 6px 16px rgba(220,38,38,0.25);
}

/* LIGHT MODE hover */
body:not(.dark) #refreshQuiz:hover {
    background: linear-gradient(135deg, #fecaca, #f87171);
}

/* DARK MODE – remove orange completely */
body.dark #refreshQuiz {
    background: linear-gradient(135deg, #3a1d1d, #2a1414);
    color: #fecaca;
    box-shadow: 0 8px 20px rgba(0,0,0,0.55);
}

/* DARK MODE hover */
body.dark #refreshQuiz:hover {
    background: linear-gradient(135deg, #4c1d1d, #7f1d1d);
}

/* Press feedback */
#refreshQuiz:active {
    transform: scale(0.97);
}


/* ======================================================
   DARK MODE – VISUAL HIERARCHY FIX
   OPTIONS ≠ SCORE ≠ BUTTONS
   PASTE AT VERY BOTTOM
   ====================================================== */

/* ---------- ANSWER OPTIONS (MORE TRANSPARENT / GLASS) ---------- */
body.dark .option {
    background: rgba(42, 29, 29, 0.65); /* more transparent */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(248,113,113,0.15);
    box-shadow: 0 6px 14px rgba(0,0,0,0.45);
}

    /* Hover stays clearly interactive */
    body.dark .option:hover {
        background: rgba(76, 29, 29, 0.85);
    }

/* ---------- SCORE / QUESTION COUNTER (SOLID, LOWER ELEVATION) ---------- */
body.dark #score,
body.dark #questionNumber {
    background: rgba(42, 29, 29, 0.9); /* more solid */
    border: 1px solid rgba(248,113,113,0.2);
    box-shadow: 0 4px 10px rgba(0,0,0,0.35);
}

/* ---------- ACTION BUTTON (STRONGEST EMPHASIS) ---------- */
body.dark #refreshQuiz,
body.dark .restart-btn {
    background: linear-gradient(135deg, #7f1d1d, #dc2626);
    color: #fee2e2;
    box-shadow: 0 10px 26px rgba(0,0,0,0.6);
}

    /* Hover = most prominent */
    body.dark #refreshQuiz:hover,
    body.dark .restart-btn:hover {
        background: linear-gradient(135deg, #dc2626, #f87171);
    }

/* ---------- PROGRESS / DIVIDER SOFTENING ---------- */
body.dark .progress-bar {
    background: rgba(255,255,255,0.08);
}
