:root {
    --jeopardy-blue: #060CE9;
    --jeopardy-dark: #070B28;
    --jeopardy-gold: #FFCC00;
    --jeopardy-gold-hover: #ffd733;
    --jeopardy-card-bg: #0b1258;
}

body {
    font-family: 'Outfit', sans-serif;
    background-color: var(--jeopardy-dark);
    background-image: 
        radial-gradient(circle at 50% 20%, rgba(13, 27, 133, 0.8) 0%, rgba(7, 11, 40, 0.95) 70%),
        radial-gradient(circle at 10% 90%, rgba(255, 204, 0, 0.05) 0%, transparent 40%);
    background-attachment: fixed;
    color: white;
    overflow-x: hidden;
}

.font-jeopardy {
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.05em;
}

.board-container {
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
    width: 100%;
    overflow-x: auto;
    min-height: 75vh;
    align-items: stretch;
}

.category-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 190px;
}

.category-header {
    background: linear-gradient(180deg, #0d1678 0%, #050a4d 100%);
    color: #ffffff;
    text-align: center;
    padding: 1rem 0.5rem;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    border: 2px solid #3b82f6;
    border-radius: 0.75rem;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(59, 130, 246, 0.3);
    hyphens: auto;
    word-break: break-word;
}

.jeopardy-card {
    background: linear-gradient(145deg, #0a1154 0%, #040833 100%);
    color: var(--jeopardy-gold);
    font-size: 2.25rem;
    font-weight: 700;
    text-align: center;
    border: 2px solid #2563eb;
    border-radius: 0.75rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4), inset 0 0 15px rgba(6, 12, 233, 0.4);
    position: relative;
    user-select: none;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);
}

.jeopardy-card:hover:not(.disabled) {
    transform: translateY(-4px) scale(1.03);
    border-color: var(--jeopardy-gold);
    box-shadow: 0 10px 25px rgba(255, 204, 0, 0.3), inset 0 0 20px rgba(255, 204, 0, 0.2);
    color: #ffffff;
}

.jeopardy-card.disabled {
    background: rgba(10, 17, 60, 0.2);
    color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.05);
    cursor: default;
    box-shadow: none;
    pointer-events: none;
}

.card-zooming {
    z-index: 60 !important;
    animation: cardZoomFlip 0.7s forwards cubic-bezier(0.2, 0.8, 0.2, 1);
}

@keyframes cardZoomFlip {
    0% { transform: scale(1) rotateY(0deg); box-shadow: 0 0 0 rgba(255, 204, 0, 0); }
    50% { transform: scale(1.4) rotateY(90deg) translateY(-20px); border-color: #ffffff; box-shadow: 0 0 50px rgba(255, 204, 0, 0.8); background-color: var(--jeopardy-gold); color: #000; }
    100% { transform: scale(2) rotateY(180deg); opacity: 0; }
}

.modal-overlay {
    background-color: rgba(4, 7, 28, 0.92);
    backdrop-filter: blur(8px);
}

.option-btn {
    background: linear-gradient(135deg, #0d187d 0%, #060b47 100%);
    color: white;
    border: 2px solid rgba(255, 204, 0, 0.4);
    transition: all 0.2s ease-in-out;
}

.option-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    border-color: var(--jeopardy-gold);
    transform: translateX(4px);
    box-shadow: 0 4px 15px rgba(37, 99, 235, 0.4);
}

.option-btn.correct {
    background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    color: white !important;
    border-color: #34d399 !important;
    box-shadow: 0 0 20px rgba(52, 211, 153, 0.6) !important;
}

.option-btn.incorrect {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
    color: white !important;
    border-color: #f87171 !important;
    box-shadow: 0 0 20px rgba(248, 113, 113, 0.6) !important;
}

.fade-in { animation: fadeIn 0.4s ease-out forwards; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(12px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.score-anim-positive { animation: floatUpPositive 1.5s forwards cubic-bezier(0.18, 0.89, 0.32, 1.28); }
.score-anim-negative { animation: floatUpNegative 1.5s forwards cubic-bezier(0.18, 0.89, 0.32, 1.28); }

@keyframes floatUpPositive {
    0% { opacity: 0; transform: translateY(10px); color: #34d399; }
    30% { opacity: 1; transform: translateY(-10px); }
    100% { opacity: 0; transform: translateY(-40px); color: #34d399; }
}
@keyframes floatUpNegative {
    0% { opacity: 0; transform: translateY(-10px); color: #f87171; }
    30% { opacity: 1; transform: translateY(10px); }
    100% { opacity: 0; transform: translateY(40px); color: #f87171; }
}

.board-container::-webkit-scrollbar { height: 10px; }
.board-container::-webkit-scrollbar-track { background: rgba(0,0,0,0.4); border-radius: 5px; }
.board-container::-webkit-scrollbar-thumb { background: #2563eb; border-radius: 5px; border: 1px solid var(--jeopardy-gold); }