.table-container {
    width: 100%;
    max-width: 100vw;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;

    table {
        width: 100%;
        table-layout: fixed;
        background: var(--card-bg);
        border-radius: var(--radius);
        overflow: hidden;
        border: 1px solid var(--border-color);
        border-collapse: collapse;
        border-spacing: 0;
        box-shadow: var(--shadow-lg);
        backdrop-filter: blur(5px);

        th, td {
            width: calc(100% / var(--column-count, 1));
            min-width: 0;
            padding: var(--spacing-sm);
            font-weight: 700;
            text-align: center;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            word-break: break-word;
            hyphens: auto;
            font-size: clamp(0.6rem, 2.5cqw, 1rem);
        }

        thead {
            background: transparent;
            border-bottom: 2px solid var(--border-color);

            th {
                color: var(--primary-color);
                text-shadow: 0 0 5px var(--primary-color);
            }
        }

        tbody {
            tr {
                border-bottom: 1px dashed rgba(0, 255, 255, 0.2);
                animation: flipIn 0.4s ease-out;

                &:last-child {
                    border-bottom: none;
                }
            }

            td {
                transition: all 0.2s ease;
                margin: 0;
                border-radius: 0;

                &.correct {
                    background-color: var(--correct-bg);
                    color: var(--correct-answer);
                    text-shadow: 0 0 8px var(--correct-answer);
                    border-left: 1px solid var(--correct-answer);
                    border-right: 1px solid var(--correct-answer);
                }

                &.partial {
                    background-color: var(--partial-bg);
                    color: var(--partial-answer);
                    text-shadow: 0 0 8px var(--partial-answer);
                    border-left: 1px solid var(--partial-answer);
                    border-right: 1px solid var(--partial-answer);
                }

                &.incorrect {
                    background-color: var(--wrong-bg);
                    color: var(--wrong-answer);
                    text-shadow: 0 0 8px var(--wrong-answer);
                    border-left: 1px solid var(--wrong-answer);
                    border-right: 1px solid var(--wrong-answer);
                }
            }

            &:empty::after {
                content: "Aucune tentative... Initialisation du système.";
                display: block;
                padding: var(--spacing-xl);
                text-align: center;
                color: var(--text-secondary);
                font-style: italic;
                font-size: 0.875rem;
            }
        }
    }
}

@keyframes flipIn {
    0% {
        transform: rotateX(-90deg);
        opacity: 0;
    }
    100% {
        transform: rotateX(0);
        opacity: 1;
    }
}
