/* Adaptación específica para tablets. La vista vertical usa la campaña táctil;
   la horizontal conserva la mesa completa con una densidad más segura. */

@media (min-width: 761px) and (max-width: 1100px) and (orientation: portrait) {
    .game-header {
        width: 100%;
        max-width: 920px;
        min-height: 58px;
        margin-inline: auto;
        padding-inline: 18px;
        border-right: 1px solid rgba(244, 200, 71, 0.24);
        border-left: 1px solid rgba(244, 200, 71, 0.24);
    }

    .game-brand img {
        width: 38px;
        height: 38px;
    }

    .game-brand strong {
        font-size: 0.64rem;
    }

    .game-brand small {
        font-size: 1rem;
    }

    .goose-game {
        width: 100%;
        max-width: 920px;
        height: calc(100svh - 58px);
        margin-inline: auto;
        border-right: 1px solid rgba(244, 200, 71, 0.18);
        border-left: 1px solid rgba(244, 200, 71, 0.18);
    }

    @supports (height: 100dvh) {
        .goose-game {
            height: calc(100dvh - 58px);
        }
    }

    .mobile-command-console {
        grid-template-columns: minmax(0, 1fr) 76px;
        gap: 9px 14px;
        padding: 12px 18px 10px;
        border-radius: 0 0 20px 20px;
    }

    .mobile-command-console__main strong {
        font-size: 1.12rem;
    }

    .mobile-command-console .turn-badge {
        min-height: 30px;
        font-size: 0.72rem;
    }

    .mobile-race-progress {
        width: min(100%, 300px);
        font-size: 0.66rem;
    }

    .mobile-orbital-die {
        width: 70px;
        min-width: 70px;
    }

    .mobile-command-console__actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mobile-command-console__actions .primary-action,
    .mobile-command-console__actions .secondary-action {
        min-height: 48px;
        font-size: 0.7rem;
    }

    .mobile-command-console__audio {
        grid-template-columns: 104px minmax(0, 1fr);
    }

    .mobile-path-board {
        padding: 34px 20px 80px;
        background-size: min(100%, 920px) auto;
    }

    .mobile-path-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: minmax(148px, auto);
        gap: 28px 18px;
    }

    .mobile-tile,
    .mobile-tile.tone-prize,
    .mobile-tile.tone-penalty,
    .mobile-tile.tone-move,
    .mobile-tile.tone-chance,
    .mobile-tile.tone-shield,
    .mobile-tile.tone-duel,
    .mobile-tile.tone-final,
    .mobile-tile.tone-rest,
    .mobile-tile.tone-mixed,
    .mobile-tile.is-inicio:not(.is-start) {
        min-height: 148px;
        padding: 12px 10px 13px;
    }

    .mobile-tile__core,
    .mobile-tile__core.is-art,
    .mobile-tile.is-champion .mobile-tile__core.is-art,
    .mobile-tile.is-crown .mobile-tile__core.is-art {
        width: 64px;
    }

    .mobile-tile__label {
        font-size: 0.92rem;
    }

    .mobile-tile__sub {
        font-size: 0.7rem;
    }

    .mobile-tile.is-start[data-mobile-step="0"] {
        min-height: 184px;
        padding: 16px 22px 76px;
    }

    .mobile-tile.is-start[data-mobile-step="0"] .mobile-tile__core {
        width: 90px;
    }

    .mobile-tile.is-start[data-mobile-step="0"] .mobile-tile__tokens {
        grid-template-columns: repeat(4, 54px);
        gap: 10px;
    }

    .mobile-tile.is-start[data-mobile-step="0"] .mobile-board-token {
        --mobile-token-size: 52px;
    }

    .mobile-tile.is-crown {
        min-height: 168px;
        padding-inline: 22px;
    }

    .mobile-tile.is-crown .mobile-tile__core {
        width: 94px;
    }

    .mobile-route-ribbon {
        stroke-width: 48px;
    }

    .setup-modal__card,
    .rules-modal__card,
    .comodin-modal__card {
        max-width: 780px;
    }

    .space-puzzle-modal__card,
    .jigsaw-modal__card,
    .word-search-modal__card,
    .crossword-modal__card,
    .reflex-modal__card,
    .memory-modal__card,
    .duel-modal__card {
        max-width: 980px;
    }

    .space-puzzle-modal__arena {
        grid-template-columns: minmax(390px, 0.9fr) minmax(250px, 0.62fr);
        align-items: stretch;
    }

    .space-puzzle-modal__board-frame {
        width: min(52vw, 460px);
    }
}

@media (min-width: 761px) and (max-width: 1400px) and (orientation: landscape) and (min-height: 561px) {
    html,
    body {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    body {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
    }

    .game-header {
        min-height: 56px;
        padding: 7px 20px;
    }

    .game-brand img {
        width: 40px;
        height: 40px;
    }

    .game-brand strong {
        font-size: clamp(1.18rem, 2vw, 1.55rem);
    }

    .game-header__actions {
        gap: 7px;
    }

    .prototype-pill {
        padding: 8px 12px;
        font-size: 0.66rem;
    }

    .goose-game {
        width: 100%;
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 8px 12px 10px;
    }

    .game-table {
        height: 100%;
        min-height: 0;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .table-titlebar {
        display: none;
    }

    .board-scroll {
        min-height: 0;
        overflow: hidden;
    }

    .space-game-board {
        width: 100%;
        min-width: 0;
        max-height: calc(100dvh - 81px);
        margin-inline: auto;
    }

    .central-command {
        left: 57%;
        top: 26.2%;
        width: min(210px, 16.5%);
        min-height: 112px;
        gap: 4px;
        padding: 8px 10px;
        border-width: 1px;
        box-shadow: 0 8px 0 #8b6519, 0 15px 24px rgba(16, 44, 66, 0.25), inset 0 1px 0 #fff;
    }

    .central-command .eyebrow {
        font-size: 0.48rem;
    }

    .central-command strong {
        font-size: clamp(0.88rem, 1.25cqw, 1.08rem);
    }

    .central-command .turn-badge {
        min-height: 24px;
        padding: 4px 8px;
        font-size: 0.58rem;
    }

    .central-command .orbital-die {
        width: 48px;
        border-radius: 9px;
        box-shadow: 0 5px 0 #946b14, 0 8px 13px rgba(27, 45, 58, 0.25), inset 0 1px 0 #fff4bd;
    }

    .board-quick-actions {
        top: 41.5%;
        width: clamp(104px, 8.3cqw, 126px);
        gap: 5px;
    }

    .board-quick-actions .primary-action,
    .board-quick-actions .secondary-action {
        min-height: 28px;
        padding: 5px 7px;
    }

    .space-puzzle-modal,
    .setup-modal,
    .rules-modal,
    .comodin-modal,
    .turn-notice-modal,
    .chance-modal,
    .info-tile-modal,
    .winner-modal,
    .jigsaw-modal,
    .word-search-modal,
    .crossword-modal,
    .reflex-modal,
    .memory-modal,
    .duel-modal,
    .token-modal,
    .champion-quiz-modal {
        padding: 10px;
    }

    .space-puzzle-modal__card,
    .setup-modal__card,
    .rules-modal__card,
    .comodin-modal__card,
    .turn-notice-modal__card,
    .chance-modal__card,
    .info-tile-modal__card,
    .winner-modal__card,
    .jigsaw-modal__card,
    .word-search-modal__card,
    .crossword-modal__card,
    .reflex-modal__card,
    .memory-modal__card,
    .duel-modal__card,
    .token-modal__card,
    .champion-quiz-modal__card {
        max-height: calc(100dvh - 20px);
        overflow: auto;
    }

    .space-puzzle-modal__card {
        width: min(1120px, calc(100vw - 24px));
        gap: 8px;
        padding: 14px 18px;
    }

    .space-puzzle-modal__head {
        gap: 8px 14px;
    }

    .space-puzzle-modal__head h2 {
        font-size: clamp(1.72rem, 3.1vw, 2.45rem);
    }

    .space-puzzle-modal:not(.is-intro) .space-puzzle-modal__head p:not(.eyebrow) {
        display: none;
    }

    .space-puzzle-modal__timer {
        padding: 8px 13px;
    }

    .space-puzzle-modal__meta,
    .space-puzzle-modal__reward {
        min-height: 40px;
        padding: 7px 10px;
    }

    .space-puzzle-modal__arena {
        grid-template-columns: minmax(360px, 0.92fr) minmax(250px, 0.68fr);
        align-items: stretch;
        gap: 12px;
    }

    .space-puzzle-modal__board-frame {
        width: min(54svh, 46vw, 460px);
        min-height: 0;
        margin-inline: auto;
        aspect-ratio: 1;
    }

    .space-puzzle-modal__board {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 1;
    }

    .space-puzzle-modal__status {
        min-height: 100%;
    }

    .space-puzzle-modal__actions:not(.is-hidden) {
        position: sticky;
        top: 0;
        z-index: 9;
    }
}

@media (min-width: 761px) and (max-width: 900px) and (orientation: landscape) and (min-height: 561px) {
    .goose-game {
        padding-inline: 8px;
    }

    .central-command {
        left: 58%;
        top: 25.4%;
        width: min(154px, 19.5%);
        min-height: 86px;
        gap: 2px;
        padding: 5px 7px;
        box-shadow: 0 5px 0 #8b6519, 0 10px 18px rgba(16, 44, 66, 0.24), inset 0 1px 0 #fff;
    }

    .central-command .eyebrow {
        display: none;
    }

    .central-command strong {
        font-size: 0.78rem;
    }

    .central-command .turn-badge {
        min-height: 20px;
        padding: 2px 5px;
        font-size: 0.48rem;
    }

    .central-command .orbital-die {
        width: 38px;
        border-radius: 7px;
        box-shadow: 0 4px 0 #946b14, 0 6px 10px rgba(27, 45, 58, 0.22), inset 0 1px 0 #fff4bd;
    }

    .board-quick-actions {
        top: 38.5%;
        width: 94px;
        gap: 3px;
    }

    .board-quick-actions .primary-action,
    .board-quick-actions .secondary-action {
        min-height: 24px;
        padding: 3px 5px;
        font-size: 0.48rem;
    }
}
