/* Clue Builder Color Scheme */
:root {
--primary-color: #BEEF9E;
--primary-hover: #A8D88A;
--hero-gradient-start: rgba(190, 239, 158, 0.1);
--hero-gradient-end: rgba(168, 216, 138, 0.1);
--section-bg-start: rgba(190, 239, 158, 0.05);
--section-bg-end: rgba(168, 216, 138, 0.05);
--primary-shadow: rgba(190, 239, 158, 0.3);
--feature-shadow: rgba(190, 239, 158, 0.15);
--focus-shadow: rgba(190, 239, 158, 0.25);
--mode-shadow: rgba(190, 239, 158, 0.2);
--btn-shadow: rgba(190, 239, 158, 0.4);
--summary-bg-start: rgba(190, 239, 158, 0.1);
--summary-bg-end: rgba(168, 216, 138, 0.05);
--accordion-icon-filter: invert(87%) sepia(17%) saturate(778%) hue-rotate(43deg) brightness(99%) contrast(91%);
--btn-text-color: #2d5016;
}

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

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

#gameView .content-card {
position: relative;
}

.mode-pills {
display: flex;
gap: 1.5rem;
justify-content: center;
margin: 2rem 0;
}

.mode-pill {
background: rgba(190, 239, 158, 0.05);
border: 3px solid #e9ecef;
border-radius: 1rem;
padding: 2rem;
cursor: pointer;
transition: all 0.3s ease;
text-align: center;
flex: 1;
max-width: 280px;
}

.mode-pill:hover {
border-color: var(--primary-color);
transform: translateY(-3px);
box-shadow: 0 4px 12px var(--primary-shadow);
}

.mode-pill.selected {
border-color: var(--primary-color);
background: linear-gradient(135deg, rgba(190, 239, 158, 0.15) 0%, rgba(168, 216, 138, 0.1) 100%);
box-shadow: 0 4px 12px var(--primary-shadow);
}

.mode-pill-icon {
font-size: 2.5rem;
margin-bottom: 0.75rem;
}

.mode-pill-title {
font-size: 1.3rem;
font-weight: 700;
color: #212529;
margin-bottom: 0.5rem;
}

.mode-pill-description {
font-size: 0.95rem;
color: #6c757d;
}

.clue-section {
background: rgba(190, 239, 158, 0.1);
border: 2px solid var(--primary-color);
border-radius: 1rem;
padding: 1.5rem;
margin-bottom: 2rem;
}

.definition-text {
font-size: 1.1rem;
color: #495057;
line-height: 1.6;
}

.lives-display-right {
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding-top: 0.5rem;
}

.lives-label {
font-size: 0.9rem;
font-weight: 600;
color: #495057;
margin-bottom: 0.75rem;
white-space: nowrap;
}

.lives-hearts {
display: flex;
gap: 0.5rem;
justify-content: center;
flex-wrap: wrap;
}

.life-heart {
font-size: 2rem;
transition: all 0.3s ease;
}

.life-heart.lost {
opacity: 0.2;
filter: grayscale(100%);
}

.word-display-section {
background: #f8f9fa;
border-radius: 1rem;
padding: 2rem;
margin-bottom: 2rem;
min-height: 120px;
display: flex;
justify-content: center;
align-items: center;
overflow-x: auto;
}

.word-letters {
display: flex;
justify-content: center;
flex-wrap: nowrap;
gap: 0.5rem;
min-width: min-content;
}

.letter-slot {
width: 50px;
height: 60px;
border-bottom: 4px solid var(--primary-color);
display: flex;
justify-content: center;
align-items: center;
font-size: 2.5rem;
font-weight: 800;
color: #333;
flex-shrink: 0;
}

.letter-slot.empty {
color: transparent;
}

.letter-slot.revealed {
color: #10b981;
animation: revealLetter 0.3s ease;
}

@keyframes revealLetter {
0% { transform: scale(0); }
50% { transform: scale(1.2); }
100% { transform: scale(1); }
}

.keyboard-section {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.5rem;
padding: 1.5rem;
background: white;
border: 2px solid rgba(190, 239, 158, 0.3);
border-radius: 1rem;
}

.key-button {
width: 45px;
height: 45px;
background: rgba(190, 239, 158, 0.15);
border: 2px solid var(--primary-color);
border-radius: 0.5rem;
font-size: 1.2rem;
font-weight: 700;
color: #333;
cursor: pointer;
transition: all 0.15s ease;
user-select: none;
}

.key-button:hover:not(.disabled):not(.correct):not(.incorrect) {
background: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 4px 8px var(--primary-shadow);
}

.key-button.correct {
background: #10b981;
border-color: #059669;
color: white;
cursor: default;
}

.key-button.incorrect {
background: #ef4444;
border-color: #dc2626;
color: white;
cursor: default;
}

.key-button.disabled:not(.correct):not(.incorrect) {
opacity: 0.5;
cursor: not-allowed;
}

.plyr {
border-radius: 0.5rem;
background: white;
}

.plyr--audio .plyr__controls {
background: rgba(190, 239, 158, 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(190, 239, 158, 0.2);
}

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

@keyframes flash-correct {
    0%, 100% {
        background-color: transparent;
        border-color: transparent;
    }
    50% {
        background-color: rgba(76, 175, 80, 0.2);
        border: 3px solid #4caf50;
    }
}

@keyframes flash-wrong {
    0%, 100% {
        background-color: transparent;
        border-color: transparent;
    }
    50% {
        background-color: rgba(244, 67, 54, 0.2);
        border: 3px solid #f44336;
    }
}

.content-card.flash-correct {
    animation: flash-correct 0.6s ease;
}

.content-card.flash-wrong {
    animation: flash-wrong 0.6s ease;
}

.flash-correct {
animation: flashCorrect 800ms ease;
}

.flash-wrong {
animation: flashWrong 800ms ease;
}

@keyframes flashCorrect {
0% { background: rgba(76,175,80,0); }
50% { background: rgba(76,175,80,0.5); }
100% { background: rgba(76,175,80,0); }
}

@keyframes flashWrong {
0% { background: rgba(244,67,54,0); }
50% { background: rgba(244,67,54,0.5); }
100% { background: rgba(244,67,54,0); }
}

.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) {
.letter-slot {
    width: 40px;
    height: 50px;
    font-size: 2rem;
    border-bottom: 3px solid var(--primary-color);
}

.mode-pills {
    flex-direction: column;
    gap: 1rem;
}

.mode-pill {
    max-width: 100%;
}

.lives-label {
    font-size: 0.85rem;
}

.life-heart {
    font-size: 1.6rem;
}
}

@media (max-width: 576px) {
.letter-slot {
    width: 30px;
    height: 45px;
    font-size: 1.5rem;
    border-bottom: 3px solid var(--primary-color);
}

.word-letters {
    gap: 0.3rem;
}

.clue-section .row > div {
    margin-bottom: 1rem;
}

.lives-display-right {
    padding-top: 0;
    margin-top: 1rem;
}

.lives-label {
    font-size: 0.8rem;
}

.life-heart {
    font-size: 1.4rem;
}

.key-button {
    width: 38px;
    height: 38px;
    font-size: 1rem;
}
}

.page-hero {
    background: linear-gradient(135deg,
        var(--hero-gradient-start) 0%,
        var(--hero-gradient-end) 100%);
    padding: 3rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.hero-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.hero-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #212529;
    margin: 0;
    line-height: 1.2;
}

.text-gradient {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-description {
    font-size: 1.1rem;
    color: #6c757d;
    line-height: 1.6;
    margin: 0;
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.hero-screenshot {
    width: 100%;
    max-width: 500px;
    height: auto;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 3px solid white;
}
