/* Responsive contracts: compact ≤760 (or a phone held sideways), intermediate ≤1100, wide ≥1800. */

@media (min-width: 1800px) {
  :root {
    --page-gutter: 48px;
  }

  .control-grid {
    gap: var(--s-6) var(--s-10);
    padding-top: var(--s-6);
  }

}

@media (max-width: 1100px) {
  .setup-layout {
    grid-template-columns: minmax(0, 1fr);
    padding-bottom: 140px;
  }

  .setup-action-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    z-index: 30;
    padding: 0 var(--page-gutter) max(var(--s-3), env(safe-area-inset-bottom));
    background: linear-gradient(to top, var(--ground) 70%, transparent);
  }

  .summary-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-4);
    width: min(1100px, 100%);
    margin: 0 auto;
    padding: var(--s-3) var(--s-3) var(--s-3) var(--s-5);
    border-radius: var(--r-lg);
    box-shadow: var(--lift-3);
  }

  .summary-card::after,
  .summary-index,
  .summary-facts {
    display: none;
  }

  .setup-action-state {
    padding-right: 0;
  }

  #setupActionTitle {
    font-size: var(--text-lg);
  }

  .setup-action-buttons {
    display: flex;
  }

  .setup-action-buttons button.ghost {
    display: none;
  }

  .format-grid {
    gap: var(--s-4);
  }

  .control-grid {
    grid-template-columns: minmax(300px, 42fr) minmax(0, 58fr);
    gap: var(--s-4) var(--s-5);
  }

  .allocation-grid {
    grid-template-columns: 1fr;
  }

  .allocation-card + .allocation-card {
    border-left: 0;
    border-top: 1px solid var(--rule);
  }

  .level-row {
    grid-template-columns: 28px repeat(4, minmax(0, 1fr)) auto;
  }

  .level-row .level-reentry {
    display: none;
  }
}

@media (max-width: 900px) {
  .format-grid {
    grid-template-columns: 1fr;
  }

  .format-group {
    grid-template-columns: 1fr 1fr;
  }

  .format-group legend {
    grid-column: 1 / -1;
  }

  .prize-editor-top,
  .chip-preference-grid,
  .manual-stack-grid,
  .side-pot-showdown-grid {
    grid-template-columns: 1fr;
  }

  .auto-stack-target,
  .stack-color-budget {
    grid-template-columns: 1fr;
    gap: var(--s-3);
  }

  .stack-color-budget-options {
    justify-self: start;
  }
}

@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  /* Shell */
  .topbar {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--s-2);
    padding: env(safe-area-inset-top) 12px 0 6px;
  }

  .mobile-app-menu-shell {
    display: block;
    grid-column: 1;
    grid-row: 1;
  }

  .sync-state {
    display: inline-flex;
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
  }

  .brand {
    grid-column: 3;
    grid-row: 1;
  }

  .brand-copy,
  .topbar-status,
  .topbar-actions {
    display: none;
  }

  .logo-tile.brand-logo-lockup {
    height: 44px;
    padding: 0 12px;
  }

  .logo-tile.brand-logo-lockup img {
    height: 28px;
  }

  body.projector-mode {
    overflow: auto;
  }

  .page-head h1,
  .side-pot-simple-hero h1 {
    font-size: var(--text-3xl);
  }

  .page-head p,
  .side-pot-simple-hero p {
    font-size: var(--text-md);
  }

  /* Setup */
  .setup-layout {
    gap: var(--s-4);
    padding-top: var(--s-5);
    padding-bottom: 120px;
  }

  .setup-main {
    gap: var(--s-3);
  }

  .setup-section {
    padding: var(--s-5) var(--s-4) var(--s-5);
    border-radius: var(--r-md);
  }

  .setup-disclosure > summary.section-head {
    margin: calc(var(--s-5) * -1) calc(var(--s-4) * -1) 0;
    padding: var(--s-5) var(--s-4) 0;
  }

  .setup-disclosure {
    padding-bottom: var(--s-5);
  }

  .setup-disclosure[open] > summary.section-head {
    margin-bottom: var(--s-5);
  }

  .section-head {
    flex-wrap: wrap;
    margin-bottom: var(--s-4);
  }

  .setup-table-zone .section-head p {
    display: none;
  }

  .summary-card {
    padding: var(--s-2) var(--s-2) var(--s-2) var(--s-4);
  }

  #setupActionDetail {
    display: none;
  }

  .setup-action-buttons button {
    min-height: 44px;
  }

  .setup-action-buttons button.primary {
    font-size: var(--text-md);
  }

  .setup-action-buttons button.danger {
    display: none;
  }

  .payout-editor-guide {
    flex-direction: column;
    gap: 4px;
  }

  .payout-editor-head,
  .payout-editor-row {
    grid-template-columns: 40px minmax(0, 1fr) 54px 64px;
    gap: var(--s-2);
  }

  .prize-pool-hero strong {
    font-size: 2.6rem;
  }

  .settlement-transfer {
    grid-template-columns: auto auto auto 1fr;
    padding: var(--s-3);
  }

  .level-row {
    grid-template-columns: 1fr 1fr;
    gap: var(--s-2);
  }

  .stack-mode-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
  }

  .stack-mode-options button {
    padding: 0 var(--s-1);
    line-height: 1.1;
  }

  .plan-choice-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-card,
  .plan-card:first-child,
  .plan-card:last-child {
    padding: var(--s-4) 0 var(--s-2);
  }

  .plan-card + .plan-card {
    border-left: 0;
    border-top: 1px solid var(--rule);
  }

  .level-row .level-number {
    grid-column: 1 / -1;
  }

  .level-row .row-tools {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .structure-preview-row {
    grid-template-columns: 1.2fr 1.2fr 1fr 0.9fr;
    padding: var(--s-2) var(--s-3);
  }

  .chip-stock-grid {
    grid-template-columns: 1fr;
  }

  /* Display */
  .control-grid {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    height: auto;
    padding: var(--s-4) var(--page-gutter) var(--s-12);
  }

  .hero-clock {
    gap: var(--s-3);
  }

  .level-stack {
    flex: none;
    container-type: inline-size;
    padding: 0 8px 8px 0;
  }

  .level-card {
    position: relative;
    left: auto;
    width: 100%;
    aspect-ratio: auto;
    min-height: 0;
    padding: 9cqw 7cqw 7cqw;
    transform: none;
  }

  .level-card.deal {
    animation-name: card-deal-mobile;
  }

  @keyframes card-deal-mobile {
    from {
      opacity: 0;
      transform: translateX(24px) rotate(2deg);
    }
  }

  .level-card-back {
    top: 8px;
    left: 8px;
    right: 0;
    bottom: 0;
    width: auto;
    aspect-ratio: auto;
    transform: none;
  }

  .card-index b {
    font-size: 6.4cqw;
  }

  .card-index .suit {
    width: 4.4cqw;
    height: 4.4cqw;
  }

  .level-card-head {
    font-size: 14px;
  }

  .mobile-control-status {
    display: none;
  }

  .timer {
    margin: 3cqw 0 4cqw;
    font-size: min(30cqw, calc(165cqw / var(--chars, 5)));
  }

  .blind-box strong {
    font-size: min(17cqw, calc(64cqw / var(--chars, 4)));
  }

  .level-card-foot {
    margin-top: 4cqw;
    padding-left: 6cqw;
    padding-right: 6cqw;
  }

  .display-control-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .control-toggle {
    grid-column: 1 / -1;
  }

  .control-group {
    justify-content: space-between;
  }

  .control-group .icon-button,
  .break-button {
    flex: 1;
    width: auto;
  }

  .control-tools {
    grid-column: 1 / -1;
  }

  .control-side {
    display: grid;
    grid-template-rows: auto;
    gap: var(--s-4);
  }

  .projection-table {
    container-type: normal;
    display: block;
  }

  .display-footer {
    display: grid;
  }

  .clock-invitation {
    display: none;
  }

  .display-secondary {
    display: block;
  }

  .display-secondary > summary {
    width: 100%;
    min-height: 52px;
    padding: 0 var(--s-4);
    border: 1px solid var(--rule);
    border-radius: var(--r-md);
    background: var(--face);
  }

  .display-secondary .display-stats-icon {
    width: 18px;
    height: 18px;
  }

  .stats-panel {
    position: static;
    width: auto;
    margin-top: var(--s-2);
    box-shadow: none;
    animation: none;
  }

  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-2);
    border-top: 0;
  }

  .stats-grid .stat-box {
    min-width: 128px;
    min-height: 86px;
    padding: var(--s-3);
    border: 1px solid var(--rule);
    border-radius: var(--r-sm);
  }

  .tournament-timeline {
    order: 3;
  }

  .timeline-summary {
    display: none;
  }

  /* Side pots */
  .side-pot-screen {
    gap: var(--s-4);
    padding-top: var(--s-5);
  }

  .side-pot-simple-hero {
    flex-direction: column;
    align-items: stretch;
    gap: var(--s-3);
  }

  .side-pot-simple-clock {
    grid-template-columns: auto 1fr auto;
    align-items: baseline;
    justify-items: start;
    gap: var(--s-3);
  }

  .side-pot-simple-clock strong {
    font-size: var(--text-2xl);
    justify-self: center;
  }

  .side-pot-wizard-nav {
    grid-template-columns: auto 1fr auto;
    gap: var(--s-2);
  }

  .side-pot-wizard-direction {
    width: 44px;
    min-width: 44px;
    padding: 0;
    justify-content: center;
  }

  .side-pot-wizard-direction > span {
    display: none;
  }

  .side-pot-simple-steps {
    justify-content: center;
  }

  .side-pot-simple-step strong {
    display: none;
  }

  .side-pot-simple-step.active strong {
    display: inline;
  }

  .side-pot-simple-step + .side-pot-simple-step::before {
    width: 14px;
  }

  .side-pot-simple-card {
    padding: var(--s-5) var(--s-4);
    border-radius: var(--r-lg);
  }

  .side-pot-simple-heading h2 {
    font-size: var(--text-2xl);
  }

  .side-pot-player-picker {
    grid-template-columns: 1fr 1fr;
  }

  .side-pot-simple-player {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--s-2) var(--s-3);
  }

  .side-pot-status-toggle {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .side-pot-simple-amount {
    grid-column: 1 / -1;
  }

  .side-pot-remove-player {
    grid-column: 2;
    grid-row: 1;
  }

  .side-pot-live-summary {
    gap: var(--s-5);
    flex-wrap: wrap;
  }

  .side-pot-primary-actions button {
    flex: 1;
  }

  .side-pot-result-pots > div {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .side-pot-result-pots .arrow {
    display: none;
  }

  .side-pot-odd-chip > div {
    grid-template-columns: 1fr;
  }

  .side-pot-result-actions button {
    flex: 1;
  }
}

@media (max-width: 380px) {
  .side-pot-player-picker {
    grid-template-columns: 1fr;
  }

  .payout-editor-head,
  .payout-editor-row {
    grid-template-columns: 34px minmax(0, 1fr) 48px 56px;
  }
}

@media (max-height: 820px) and (min-width: 1101px) {
  .control-toggle {
    min-height: 48px;
  }

  .control-group button {
    min-height: 40px;
  }
}

@media (max-height: 760px) and (min-width: 761px) {
  .control-grid {
    padding-top: var(--s-4);
    padding-bottom: var(--s-3);
    gap: var(--s-3) var(--s-6);
  }

  .control-grid .timeline-track {
    --timeline-h: 62px;
  }

  .control-grid .timeline-level > span {
    font-size: var(--text-lg);
  }

  .control-grid .timeline-level-start {
    display: none;
  }
}

@media (max-width: 1100px) {
  .allocation-card,
  .allocation-card:first-child,
  .allocation-card:last-child {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 900px) {
  .manual-stack-card + .manual-stack-card {
    padding: var(--s-5) 0 0;
    border-left: 0;
    border-top: 1px solid var(--rule);
  }

  .side-pot-decision-board {
    padding: var(--s-5) 0 0;
    border-left: 0;
    border-top: 1px solid var(--rule);
  }
}

/* The topbar status repeats what the level card already shows; drop it before it slides under the session chip. */
@media (min-width: 761px) and (max-width: 1300px) {
  .topbar-status {
    display: none;
  }
}
