/* Mobile-friendly responsive design */
/* These styles override desktop styles on smaller screens */

@media (max-width: 768px) {
    body {
        padding: 0;
    }

    #start-modal {
        flex-direction: column;
        padding: 1rem 0.5rem;
        gap: 0;
        align-items: flex-start;
        justify-content: flex-start;
    }

    #game-container {
        flex-direction: column;
        max-width: 100%;
        min-height: auto;
    }

    #sidebar {
        width: 100%;
        position: static;
        padding: 0.75rem;
        margin-bottom: 1rem;
        border-right: none;
        border-bottom: 1px solid #333;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 1rem;
        height: auto;
    }

    #sidebar h2 {
        grid-column: 1 / -1;
        margin: 0;
    }

    #sidebar p {
        margin: 0;
        font-size: 0.9rem;
    }

    #main-content {
        padding: 0.5rem;
    }

    #page-title {
        font-size: 1.5rem;
    }

    header h1 {
        margin-bottom: 0.5rem;
    }

    #start-box {
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        padding: 1.5rem;
        margin: 0;
        margin-bottom: 1.5rem;
        box-sizing: border-box;
        border-radius: 12px;
    }

    #leaderboard-box {
        width: 100%;
        max-width: 100%;
        padding: 1.5rem;
        margin: 0;
        margin-bottom: 1.5rem;
        box-sizing: border-box;
        border-radius: 12px;
    }

    .dropdowns-container {
        flex-direction: column;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .dropdown-section {
        flex: 1;
    }

    .page-input-section {
        flex-direction: column;
        gap: 0.5rem;
    }

    #start-box input,
    #wiki-lang,
    #gamemode,
    #time-limit-preset,
    #custom-time-input {
        padding: 0.5rem;
        font-size: 16px;
        margin-bottom: 0.5rem;
    }

    #start-box label {
        margin-bottom: 0.25rem;
        font-size: 0.9rem;
    }

    #start-game-btn {
        padding: 0.75rem;
        font-size: 1rem;
        width: 100%;
    }

    .button-container {
        flex-direction: column;
        gap: 0.5rem;
    }

    .button-container button {
        width: 100%;
        padding: 0.75rem;
    }

    #win-modal {
        padding: 0;
        flex-direction: column;
        gap: 0;
    }

    #win-box {
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        padding: 1.5rem;
        margin: 0;
        box-sizing: border-box;
        border-radius: 0;
    }

    #win-box h2 {
        font-size: 1.5rem;
        margin-bottom: 1rem;
    }

    .win-stats {
        gap: 0.5rem;
        margin-bottom: 1rem;
    }

    .stat-item {
        flex-direction: column;
        gap: 0.25rem;
    }

    /* Leaderboard section - should be full width below the menu */
    #leaderboard-section {
        width: 100%;
        padding: 0;
        margin-top: 0;
        border-radius: 0;
    }

    #leaderboard-content table {
        font-size: 0.85rem;
    }

    .leaderboard-table th,
    .leaderboard-table td {
        padding: 0.5rem;
    }

    .player-name {
        font-size: 0.85rem;
    }

    .player-details {
        font-size: 0.75rem;
    }

    /* Party/Multiplayer responsive */
    #party-lobby-modal {
        padding: 1rem;
    }

    .party-info {
        padding: 1rem;
    }

    .party-info h3 {
        font-size: 1.1rem;
        margin-bottom: 0.5rem;
    }

    .player-list {
        gap: 0.5rem;
    }

    .player-item {
        padding: 0.5rem;
        font-size: 0.9rem;
    }

    /* Rogue mode responsive */
    #rogue-stats {
        font-size: 0.85rem;
    }

    #stage-complete-modal {
        padding: 1rem;
    }

    .stage-stats {
        gap: 0.5rem;
    }

    .stage-stat-row {
        gap: 0.5rem;
        font-size: 0.9rem;
    }

    /* Touch-friendly adjustments */
    button,
    input[type="button"],
    input[type="submit"],
    .btn {
        min-height: 44px;
        min-width: 44px;
    }

    input[type="checkbox"] {
        min-width: 18px;
        min-height: 18px;
        cursor: pointer;
    }

    select {
        min-height: 44px;
    }

    /* Tooltip responsive */
    #target-tooltip {
        max-width: 90vw;
    }

    /* Content responsive */
    #content {
        font-size: 0.95rem;
    }

    #content h2,
    #content h3 {
        font-size: 1.2rem;
        margin-top: 1rem;
        margin-bottom: 0.5rem;
    }

    #content p {
        margin-bottom: 0.75rem;
    }

    #content ul,
    #content ol {
        margin-left: 1rem;
    }
}

@media (max-width: 480px) {
    body {
        padding: 0;
    }

    #start-modal {
        flex-direction: column;
        padding: 0;
        gap: 0;
    }

    #sidebar {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
        padding: 0.5rem;
        margin-bottom: 0.5rem;
    }

    #sidebar h2 {
        font-size: 1.2rem;
    }

    #sidebar p {
        font-size: 0.8rem;
    }

    #page-title {
        font-size: 1.3rem;
    }

    #start-box {
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        padding: 1rem;
        margin: 0;
        margin-bottom: 1rem;
        box-sizing: border-box;
        max-height: 90vh;
        border-radius: 0;
    }

    #start-box input,
    #wiki-lang,
    #gamemode,
    #time-limit-preset,
    #custom-time-input {
        padding: 0.5rem;
        font-size: 16px;
        margin-bottom: 0.5rem;
    }

    #win-box {
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        padding: 1rem;
        margin: 0;
        box-sizing: border-box;
        border-radius: 0;
    }

    #win-box h2 {
        font-size: 1.2rem;
    }

    .leaderboard-table th,
    .leaderboard-table td {
        padding: 0.35rem;
        font-size: 0.75rem;
    }

    .stat-item {
        flex-direction: row;
        justify-content: space-between;
        font-size: 0.9rem;
    }

    /* Prevent text selection on long press on mobile */
    #sidebar,
    #start-box,
    #win-box {
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }
}
