/* --- Global Styles --- */
:root {
    /* Light Mode Palette */
    --bg-color: #f4f7f6;
    --container-bg: #ffffff;
    --text-main: #2d3436;
    --text-muted: #636e72;
    --color-brand: #0984e3;
    /* Blue */
    --color-correct: #00b894;
    /* Green */
    --color-wrong: #d63031;
    /* Red */
    --btn-disabled-bg: #dfe6e9;
    --btn-disabled-text: #b2bec3;

    --shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    --transition: all 0.3s ease;
    --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* --- Dark Mode Palette Override --- */
/* (We apply this class to the body to switch themes) */
body.dark-mode {
    --bg-color: #1e272e;
    --container-bg: #2d3436;
    --text-main: #dfe6e9;
    --text-muted: #b2bec3;
    --color-brand: #0984e3;
    /* Blue */
    /* Green and Red remain similar for semantic meaning */
    --btn-disabled-bg: #636e72;
    --btn-disabled-text: #2d3436;
    --shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-family);
    background-color: var(--bg-color);
    color: var(--text-main);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    transition: var(--transition);
    padding: 20px;
}

/* --- Main Quiz Container --- */
/* We wrap your existing HTML structure conceptually */
/* In real HTML, you'd wrap everything in <main> or <div> */
/* For now, we apply style to the direct children of body */

main.quiz-card,
body>.container {
    /* Assuming a container class in future */
    background-color: var(--container-bg);
    padding: 40px;
    border-radius: 16px;
    box-shadow: var(--shadow);
    width: 100%;
    max-width: 600px;
    /* Centered Desktop layout */
    transition: var(--transition);
}

/* Alternative: Applying it directly based on your body structure */
body>h2,
body>div,
body>p,
body>button {
    max-width: 600px;
}

/* Let's define the containment with a helper class you should add to HTML */
.quiz-container {
    position: relative;
    background-color: var(--container-bg);
    padding: 40px;
    border-radius: 16px;
    box-shadow: var(--shadow);
    width: 100%;
    max-width: 600px;
    transition: var(--transition);
}

.theme-toggle-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  background: transparent;
  border: none;
  font-size: 1.4rem;
  cursor: pointer;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}

.theme-toggle-btn:hover {
  background-color: var(--bg-color);
  transform: scale(1.1);
}


/* --- Question Number --- */
#questionNumber {
    font-size: 0.9rem;
    color: var(--color-brand);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-weight: bold;
}

/* --- Question Text --- */
#question {
    font-size: 1.8rem;
    margin-bottom: 30px;
    line-height: 1.3;
}

/* --- Answers Container --- */
#answers {
    display: flex;
    flex-direction: column;
    gap: 15px;
    /* Spacing between options */
    margin-bottom: 30px;
}

/* --- Answer Buttons (Generated in JS) --- */
#answers button {
    background-color: var(--container-bg);
    color: var(--text-main);
    border: 2px solid var(--btn-disabled-bg);
    /* Muted border */
    padding: 18px 25px;
    border-radius: 10px;
    font-size: 1.1rem;
    cursor: pointer;
    text-align: left;
    transition: var(--transition);
    position: relative;
    /* For potential icons */
}

/* Hover state for active answer buttons */
#answers button:not([disabled]):hover {
    background-color: var(--bg-color);
    border-color: var(--color-brand);
    transform: translateY(-2px);
}

/* Disabled state (after selection) */
#answers button[disabled] {
    cursor: not-allowed;
    opacity: 0.8;
}

/* --- Next Question Button --- */
#nextBtn {
    background-color: var(--color-brand);
    color: #ffffff;
    border: none;
    padding: 15px 30px;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    transition: var(--transition);
    float: right;
    /* Position to the right */
}

#nextBtn:hover:not([disabled]) {
    background-color: #0773c5;
    /* Darker blue */
    box-shadow: 0 5px 10px rgba(9, 132, 227, 0.3);
}

#nextBtn[disabled] {
    background-color: var(--btn-disabled-bg);
    color: var(--btn-disabled-text);
    cursor: not-allowed;
}

/* --- Score Counter --- */
#score {
    display: inline-flex;
    font-size: 1.1rem;
    color: var(--text-muted);
    clear: both;
    min-height: 50px;
    align-items: center;
}

/* --- Restart Button (Dynamically created) --- */
/* We target a button created specifically inside #answers during showResult */
#answers button:only-child {
    background-color: var(--text-main);
    color: var(--container-bg);
    border: none;
    text-align: center;
    width: 100%;
    margin-top: 20px;
}

#answers button:only-child:hover {
    background-color: var(--text-muted);
    transform: none;
}

/* --- Classes added via JS for states --- */
#answers button.correct {
    background-color: var(--color-correct) !important;
    color: #ffffff !important;
    border-color: var(--color-correct) !important;
}

#answers button.wrong {
    background-color: var(--color-wrong) !important;
    color: #ffffff !important;
    border-color: var(--color-wrong) !important;
}