/* Large screens / 4K TVs */
@media (min-width: 2000px) {
  .board {
    --tile-size: 65px;
    --tile-gap: 5px;
    padding: 36px 36px 48px;
  }
}

/* Standard desktop */
@media (max-width: 1200px) {
  .board {
    --tile-size: clamp(32px, 4vw, 50px);
  }
}

/* Tablet */
@media (max-width: 900px) {
  .board {
    --tile-size: clamp(26px, 4.5vw, 40px);
    padding: 20px 16px 32px;
    border-radius: 12px;
  }

  .accent-segment {
    width: 12px;
    height: 12px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .board {
    /* (100vw - outside padding) / 22 cols. Gaps are 2px. */
    --calc-size: calc((100vw - 16px - (var(--grid-cols, 22) * 2px)) / var(--grid-cols, 22));
    --tile-size: clamp(12px, var(--calc-size), 36px);
    --tile-gap: 2px;
    padding: 16px 8px 24px;
  }

  .app-main {
    padding: max(8px, env(safe-area-inset-left, 0px)) max(8px, env(safe-area-inset-right, 0px));
    padding-top: max(8px, env(safe-area-inset-top, 0px));
    padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
  }

  .accent-bar {
    display: none;
  }

  .keyboard-hint {
    display: none;
  }

  .message-panel {
    width: 100%;
    max-width: 100%;
    border-left: none;
  }
}

/* Small + short viewports: 4-row board still fits nicely */
@media (max-width: 600px) and (max-height: 740px) {
  .board {
    --tile-size: clamp(18px, 4.2vw, 26px);
    padding: 12px 6px 18px;
    border-radius: 10px;
  }
}

/* Fullscreen mode — board fills display; toolbar stays for Messages / sound */
:fullscreen {
  background: #020202;
}

:fullscreen .app-shell {
  min-height: 100vh;
  min-height: 100dvh;
}

:fullscreen .app-main {
  padding: 8px 12px;
}

:fullscreen .board-section {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

:fullscreen .board {
  border-radius: 0;
  box-shadow: none;
  --tile-size: clamp(44px, 4vw, 70px);
}
