/* SET YOUR GAME'S COLOR THEME HERE */
:root {
--primary-color: #46D0B0;
--primary-hover: #3AB89A;
--hero-gradient-start: rgba(70, 208, 176, 0.1);
--hero-gradient-end: rgba(58, 184, 154, 0.1);
--section-bg-start: rgba(70, 208, 176, 0.05);
--section-bg-end: rgba(58, 184, 154, 0.05);
--primary-shadow: rgba(70, 208, 176, 0.3);
--feature-shadow: rgba(70, 208, 176, 0.15);
--focus-shadow: rgba(70, 208, 176, 0.25);
--mode-shadow: rgba(70, 208, 176, 0.2);
--btn-shadow: rgba(70, 208, 176, 0.4);
--summary-bg-start: rgba(70, 208, 176, 0.1);
--summary-bg-end: rgba(58, 184, 154, 0.05);
--accordion-icon-filter: invert(71%) sepia(21%) saturate(1234%) hue-rotate(120deg) brightness(94%) contrast(87%);
--btn-text-color: #ffffff;
}

.game-stats {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 1rem;
}

.game-stats .stat-card {
    flex: 1;
    min-width: 0;
}

/* Audio Section */
.audio-section {
background: linear-gradient(135deg, var(--section-bg-start) 0%, var(--section-bg-end) 100%);
border-radius: 1rem;
padding: 2rem;
margin-bottom: 2rem;
border: 2px solid rgba(70, 208, 176, 0.2);
text-align: center;
}

.audio-title {
font-size: 1.2rem;
font-weight: 600;
color: #333;
margin-bottom: 1rem;
}

.audio-players {
display: flex;
flex-direction: row;
gap: 1rem;
max-width: 100%;
margin: 0 auto;
justify-content: center;
}

.audio-player-item {
text-align: center;
flex: 1;
max-width: 300px;
}

.audio-player-label {
font-size: 0.9rem;
font-weight: 600;
color: #6c757d;
margin-bottom: 0.5rem;
}

.audio-status {
font-size: 0.9rem;
color: #6c757d;
margin-top: 1rem;
min-height: 1.5rem;
}

/* Spelling Input */
.spelling-input-section {
background: #f8f9fa;
border-radius: 1rem;
padding: 2rem;
margin-bottom: 2rem;
text-align: center;
}

.spelling-input {
font-size: 2rem;
padding: 1rem 1.5rem;
border: 3px solid #dee2e6;
border-radius: 1rem;
text-align: center;
width: 100%;
max-width: 500px;
margin: 0 auto;
display: block;
transition: all 0.3s ease;
text-transform: uppercase;
font-weight: 600;
}

.spelling-input:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 4px var(--focus-shadow);
}

/* Navigation Buttons */
.navigation-buttons {
display: flex;
justify-content: space-between;
gap: 1rem;
max-width: 500px;
margin: 0 auto;
}

.btn-nav {
flex: 1;
padding: 1rem 2rem;
font-weight: 600;
border-radius: 1rem;
border: none;
transition: all 0.3s ease;
font-size: 1.1rem;
}

.btn-previous {
background: #6c757d;
color: white;
}

.btn-previous:hover:not(:disabled) {
background: #545b62;
transform: translateY(-2px);
}

.btn-next {
background: var(--primary-color);
color: white;
}

.btn-next:hover:not(:disabled) {
background: var(--primary-hover);
transform: translateY(-2px);
box-shadow: 0 4px 12px var(--btn-shadow);
}

.btn-nav:disabled {
opacity: 0.5;
cursor: not-allowed;
}

/* Question Numbers Navigation */
.question-numbers {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
justify-content: center;
align-items: center;
margin-bottom: 2rem;
padding: 1rem;
background: #f8f9fa;
border-radius: 0.75rem;
}

.question-number {
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 1rem;
cursor: pointer;
transition: all 0.3s ease;
background: white;
border: 2px solid #dee2e6;
color: #6c757d;
}

.question-number:hover {
border-color: var(--primary-color);
transform: scale(1.1);
}

.question-number.active {
background: var(--primary-color);
border-color: var(--primary-color);
color: white;
transform: scale(1.15);
box-shadow: 0 2px 8px var(--primary-shadow);
}

.question-number.answered {
background: rgba(70, 208, 176, 0.15);
border-color: var(--primary-color);
color: var(--primary-color);
}

.question-number.answered.active {
background: var(--primary-color);
color: white;
}

.review-link {
background: var(--primary-color);
color: white;
padding: 0.5rem 1.5rem;
border-radius: 1rem;
font-weight: 600;
font-size: 0.95rem;
cursor: pointer;
transition: all 0.3s ease;
border: 2px solid var(--primary-color);
margin-left: 0.5rem;
}

.review-link:hover {
background: var(--primary-hover);
transform: translateY(-2px);
box-shadow: 0 4px 12px var(--primary-shadow);
}

/* Review Before Submit */
.review-before-submit {
display: none;
}

.review-before-submit.active {
display: block;
}

.review-answers-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
margin-bottom: 2rem;
}

.review-answer-row {
background: white;
border: 2px solid #e9ecef;
border-radius: 0.75rem;
padding: 1rem 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
gap: 1rem;
}

.review-answer-row:hover {
border-color: var(--primary-color);
background: rgba(70, 208, 176, 0.05);
transform: translateY(-2px);
box-shadow: 0 4px 12px var(--primary-shadow);
}

.review-answer-num {
background: var(--primary-color);
color: white;
width: 35px;
height: 35px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
font-size: 1rem;
flex-shrink: 0;
}

.review-answer-text {
font-size: 1.1rem;
font-weight: 600;
color: #333;
text-transform: uppercase;
flex: 1;
}

.review-answer-text.empty {
color: #adb5bd;
font-style: italic;
font-weight: normal;
}

.submit-confirmation {
text-align: center;
padding: 3rem 2rem;
}

.submit-confirmation-icon {
font-size: 5rem;
margin-bottom: 2rem;
}

.submit-confirmation h2 {
color: var(--primary-color);
font-size: 2rem;
font-weight: 700;
margin-bottom: 1.5rem;
}

.submit-confirmation-message {
font-size: 1.2rem;
color: #495057;
margin-bottom: 2rem;
line-height: 1.6;
}

.submit-confirmation-buttons {
display: flex;
gap: 1rem;
justify-content: center;
margin-top: 2rem;
}

.btn-submit-test {
background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
color: white;
font-size: 1.3rem;
padding: 1rem 3rem;
font-weight: 700;
border: none;
border-radius: 1rem;
box-shadow: 0 4px 15px rgba(40, 167, 69, 0.4);
transition: all 0.3s ease;
cursor: pointer;
}

.btn-submit-test:hover {
background: linear-gradient(135deg, #218838 0%, #1fa589 100%);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(40, 167, 69, 0.5);
}

/* Plyr customization */
.plyr {
border-radius: 0.5rem;
background: white;
}

.plyr--audio .plyr__controls {
background: rgba(70, 208, 176, 0.15);
padding: 1rem;
border-radius: 0.5rem;
}

.plyr__control--overlaid {
display: none !important;
}

.plyr__controls .plyr__volume,
.plyr__controls [data-plyr="mute"],
.plyr__controls .plyr__time,
.plyr__controls .plyr__menu,
.plyr__controls [data-plyr="settings"],
.plyr__controls [data-plyr="fullscreen"],
.plyr__controls [data-plyr="download"] {
display: none !important;
}

.plyr__control {
color: var(--primary-color);
}

.plyr__control:hover {
background: rgba(70, 208, 176, 0.2);
}

.plyr__control svg {
fill: var(--primary-color);
}

.step.clickable {
    cursor: pointer;
    transition: all 0.3s ease;
}

.step.clickable:hover {
    transform: scale(1.05);
}

.step.clickable:hover .step-circle {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
}

.step.locked {
    cursor: not-allowed;
    opacity: 0.5;
}

.step.locked:hover {
    transform: none;
}

/* Responsive */
@media (max-width: 768px) {
.audio-players {
    flex-direction: column;
}

.audio-player-item {
    max-width: 100%;
}

.question-numbers {
    gap: 0.4rem;
}

.question-number {
    width: 35px;
    height: 35px;
    font-size: 0.9rem;
}

.review-link {
    font-size: 0.85rem;
    padding: 0.4rem 1.2rem;
}

.spelling-input {
    font-size: 1.5rem;
}

.btn-nav {
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
}

.submit-confirmation-icon {
    font-size: 4rem;
}

.submit-confirmation h2 {
    font-size: 1.5rem;
}

.submit-confirmation-message {
    font-size: 1rem;
}

.submit-confirmation-buttons {
    flex-direction: column;
}

.btn-submit-test {
    width: 100%;
}

.review-answers-grid {
    grid-template-columns: 1fr;
}
}

@media (max-width: 576px) {
.question-number {
    width: 32px;
    height: 32px;
    font-size: 0.85rem;
}

.review-link {
    font-size: 0.8rem;
    padding: 0.35rem 1rem;
}

.spelling-input {
    font-size: 1.3rem;
    padding: 0.75rem 1rem;
}

.navigation-buttons {
    flex-direction: column;
}

.btn-nav {
    width: 100%;
}

.submit-confirmation {
    padding: 2rem 1rem;
}

.btn-submit-test {
    font-size: 1rem;
    padding: 0.75rem 2rem;
}

.review-answer-row {
    padding: 0.75rem 1rem;
}

.review-answer-num {
    width: 30px;
    height: 30px;
    font-size: 0.9rem;
}

.review-answer-text {
    font-size: 1rem;
}
}
