@media (max-width: 1180px) {
  .home-main { grid-template-columns: 1fr 1fr; }
  .mode-deck { grid-template-columns: repeat(2, 1fr); }
  .game-grid { grid-template-columns: 280px 1fr; }
  .status-panel { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
  .event-panel { min-height: auto; }
  .scenario-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .home-topbar, .home-main, .home-footer, .subpage-header, .setup-progress, .setup-content, .setup-footer, .lab-content, .workshop-content { width: min(100% - 28px, 720px); }
  .home-topbar { min-height: 70px; }
  .home-tools .quiet-button:first-child { display: none; }
  .home-main { display: flex; flex-direction: column; padding-top: 22px; }
  .hero-copy { order: 1; padding: 0; text-align: center; }
  .hero-copy h1 { font-size: clamp(48px, 14vw, 74px); }
  .hero-lead { margin-inline: auto; }
  .hero-actions { justify-content: center; }
  .home-world { order: 2; min-height: 360px; }
  .world-disc { width: min(90vw, 440px); }
  .mode-deck { order: 3; width: 100%; }
  .home-footer span:nth-child(2) { display: none; }
  .form-grid, .binary-choice { grid-template-columns: 1fr; }
  .game-topbar { grid-template-columns: auto 1fr auto; padding-inline: 12px; }
  .brand-compact b, .autosave-indicator, .game-tools .quiet-button:first-of-type, .life-position small { display: none; }
  .life-position { justify-content: flex-start; }
  .game-grid { grid-template-columns: 1fr; width: min(100% - 20px, 720px); }
  .scene-panel { display: grid; grid-template-columns: 180px 1fr; gap: 10px; }
  .scene-heading, .stage-track { grid-column: 1 / -1; }
  #life-scene { align-self: center; }
  .character-chip { margin: 0; align-self: center; }
  .status-panel { grid-template-columns: 1fr 1fr; }
  .today-note { display: none; }
  .game-nav { bottom: 8px; width: calc(100% - 18px); justify-content: space-around; }
  .game-nav button { min-width: 0; flex: 1; padding-inline: 6px; }
  .lab-intro, .workshop-layout { grid-template-columns: 1fr; }
  .scenario-grid { grid-template-columns: 1fr 1fr; }
  .subtext-grid { grid-template-columns: 1fr; }
  .training-scores { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 560px) {
  body { font-size: 14px; }
  .home-tools { gap: 2px; }
  .home-tools .quiet-button { padding-inline: 10px; }
  .hero-copy h1 { margin-top: 12px; }
  .hero-actions { display: grid; }
  .hero-actions button { width: 100%; }
  .mode-deck { grid-template-columns: 1fr; }
  .mode-card { min-height: 126px; }
  .home-footer { justify-content: center; }
  .home-footer span:last-child { display: none; }
  .subpage-header { min-height: 82px; }
  .subpage-header h2 { font-size: 19px; }
  .subpage-header > .quiet-button { padding-inline: 10px; font-size: 11px; }
  .setup-content { padding: 24px 0 100px; }
  .choice-grid { grid-template-columns: 1fr; }
  .setup-footer { width: 100%; padding: 12px 14px; }
  .scene-panel { grid-template-columns: 130px 1fr; }
  .character-chip { grid-template-columns: 38px 1fr; }
  .character-chip em { grid-column: 2; }
  .event-panel { padding: 21px 17px; }
  .event-title { font-size: 31px; }
  .event-scene { font-size: 15px; }
  .choice-button { grid-template-columns: 30px 1fr; }
  .choice-button > small { grid-column: 2; }
  .support-choice { grid-template-columns: 1fr; }
  .status-panel { grid-template-columns: 1fr; }
  .relationship-preview { display: none; }
  .game-nav button { font-size: 0; }
  .game-nav button span { margin: 0; font-size: 17px; }
  .profile-grid, .ending-sections { grid-template-columns: 1fr; }
  .scenario-grid { grid-template-columns: 1fr; }
  .training-dialogue blockquote { font-size: 17px; }
  .modal-backdrop { padding: 8px; align-items: end; }
  .modal-card { max-height: 88vh; padding: 18px; border-radius: 24px 24px 12px 12px; }
  .choice-editor-row { grid-template-columns: 1fr; }
}
