@media (max-width: 900px) {
  .container { width: min(calc(100% - 40px), var(--container)); }
  .topbar nav { display: none; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-block: 64px; }
  .meeting-panel { width: 100%; }
  .status-grid, .score-grid, .evidence-strength-grid { grid-template-columns: 1fr; }
  .evidence-card { grid-column: span 6; }
  .candidate-grid { grid-template-columns: 1fr; }
  .method-steps, .experiment-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  :root { --space-section: 56px; }
  .container { width: min(calc(100% - 32px), var(--container)); }
  .topbar-inner { min-height: 56px; gap: var(--space-2); }
  .connection-state { margin-left: auto; }
  h1 { font-size: 2.45rem; }
  .hero { gap: var(--space-6); padding-block: 52px; }
  .mode-switch, .vote-grid, .final-form, .result-grid, .method-steps, .role-check-grid, .experiment-rule-grid { grid-template-columns: 1fr; }
  .join-form { grid-template-columns: 1fr; }
  .evidence-grid { display: grid; grid-template-columns: 1fr; }
  .evidence-card { grid-column: auto; }
  .score-fieldset, .vote-fieldset, .final-form, .candidate-card { padding: var(--space-5); }
  .score-row { grid-template-columns: 1fr 76px; }
  .full-field, .final-form > .button { grid-column: auto; }
  .candidate-details, .final-details, .evidence-scale dl { grid-template-columns: 1fr; gap: 2px; }
  .candidate-details dd, .final-details dd { margin-bottom: 12px; }
  .footer-inner { align-items: flex-start; flex-direction: column; justify-content: center; gap: 2px; }
}

@media (max-width: 360px) {
  .connection-state { display: none; }
}

@media print {
  .topbar, .meeting-panel, #current-status, #evidence-strength, #evidence, #comparison, #video-candidates, #decision-method, #evaluation, .export-actions, footer, .notice { display: none !important; }
  body { background: #fff; }
  .hero { min-height: auto; padding: 24px 0; }
  .hero-copy { max-width: none; }
  .content-section { padding-block: 24px; }
}
