@media (min-width: 1600px) {
  .shell { --chat-width: 360px; --chat-gap: 20px; }
}

@media (max-width: 1360px) {
  .shell { --chat-width: 300px; }
}

@media (max-width: 1100px) {
  .shell { --chat-width: 0px; --chat-gap: 0px; padding-top: 86px; }
  .sidebar {
    position: fixed; z-index: 35; left: 12px; top: 84px; width: min(360px, calc(100% - 24px));
    transform: translateX(calc(-100% - 24px)); transition: transform 0.25s ease; height: calc(100vh - 140px);
  }
  .site-foot { padding-left: 72px; }
  body.sidebar-open .sidebar { transform: none; }
  .sidebar-close, .chat-fab { display: inline-flex; }
  .hero, .page-head, .jackpot-grid, .stat-grid { display: grid; grid-template-columns: 1fr; min-width: 0; }
  .wheel-stage { min-height: 420px; }
  .chat-fab {
    position: fixed; z-index: 33; left: 16px; bottom: 16px; width: 52px; height: 52px; border-radius: 50%;
    background: var(--accent-primary); color: #1a1020;
  }
}

@media (max-width: 860px) {
  .topbar { height: auto; flex-wrap: wrap; row-gap: 6px; padding-top: 8px; padding-bottom: 8px; }
  .nav-links { display: none; }
  .nav-toggle { display: inline-flex; }
  body.nav-open .nav-links {
    display: flex; order: 3; width: 100%; flex-wrap: wrap; gap: 4px; padding-top: 4px;
  }
  .shell { padding-top: 96px; }
  body.nav-open .shell { padding-top: 188px; }
  .sidebar { top: 96px; height: calc(100vh - 150px); }
  .user-name { display: none; }
  .notice-panel, .toasts { top: 140px; }
}

@media (max-width: 720px) {
  .game-row { grid-template-columns: 1fr; }
  .slot-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .row-actions, .stake { justify-content: flex-start; text-align: left; }
  .profile-hero { align-items: flex-start; flex-wrap: wrap; }
  .lobby-tools { align-items: flex-start; }
  .coin-scene, .coin { width: min(280px, 72vw); height: min(280px, 72vw); }
  .face .coin-badge { width: min(280px, 72vw); height: min(280px, 72vw); }
}

@media (max-width: 520px) {
  .shell { padding-top: 128px; }
  body.nav-open .shell { padding-top: 220px; }
  .sidebar { top: 128px; height: calc(100vh - 178px); }
}

@media (max-width: 420px) {
  .lobby-stats, .stat-grid { grid-template-columns: 1fr; }
  .profile-sheet, dialog.profile-sheet { left: 12px; right: 12px; width: auto; }
}
