@media (max-width: 1260px) {
  .control-deck { grid-template-columns: 1.3fr 1fr repeat(3, 0.7fr); }
  .pattern-tools { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-soft); }
  .workspace { grid-template-columns: 1fr; }
  .pad-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .pad-grid { max-width: 720px; }
}

@media (max-width: 820px) {
  .instrument { width: min(100% - 16px, 720px); min-height: calc(100vh - 16px); margin: 8px auto; border-radius: 12px; }
  .top-rail { align-items: flex-start; min-height: 104px; padding: 18px 20px; }
  .system-status { min-width: 0; padding-right: 0; }
  .system-status small { display: none; }
  .system-status strong { display: block; max-width: 126px; font-size: 0.62rem; }
  .master-meter { display: none; }
  .control-deck { grid-template-columns: 1fr 1fr; }
  .control-deck > * { padding: 15px; }
  .transport-block, .tempo-block { min-height: 102px; }
  .dial-control { min-height: 74px; }
  .pattern-tools { grid-column: 1 / -1; }
  .pad-panel, .sequencer-panel { padding: 22px 20px; }
  .preset-rack { grid-template-columns: 1fr; gap: 12px; align-items: start; }
  .preset-rack-status { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; }
  .preset-rack-status .block-label { grid-column: 1 / -1; }
  .preset-current { min-width: 0; }
  .preset-queue { text-align: right; }
  .machine-footer { align-items: flex-start; padding: 12px 20px; }
  .machine-footer > p:first-child { display: none; }
  #messageLine { max-width: none; text-align: left; }
}

@media (max-width: 540px) {
  .top-rail { min-height: 104px; }
  .eyebrow { font-size: 0.52rem; }
  .tool-switcher { margin-top: 5px; }
  .tool-switcher a { padding: 4px 6px; font-size: 0.5rem; }
  .system-status { border-left: 0; }
  .status-led { width: 8px; height: 8px; }
  .control-deck { grid-template-columns: 1fr 1fr; }
  .control-deck > * { border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
  .control-deck > *:nth-child(2n) { border-right: 0; }
  .dial-control { min-height: 64px; }
  .pattern-tools { grid-column: 1 / -1; grid-template-columns: 1fr; border-right: 0; }
  .section-heading { align-items: flex-start; margin-bottom: 16px; }
  .section-heading > p { max-width: 120px; font-size: 0.58rem; text-align: right; }
  .pad-grid { grid-template-columns: repeat(4, minmax(58px, 1fr)); gap: 7px; }
  .pad { min-height: 66px; border-radius: 6px; }
  .pad-number { top: 8px; left: 9px; font-size: 0.48rem; }
  .pad-key { top: 7px; right: 7px; min-width: 21px; padding: 3px; font-size: 0.55rem; }
  .pad-name { left: 9px; bottom: 9px; font-size: clamp(0.55rem, 2.6vw, 0.73rem); }
  .shortcut-strip { display: grid; gap: 7px; }
  .sequence-heading { align-items: end; }
  .step-readout strong { font-size: 1.5rem; }
  .preset-rack { margin-bottom: 12px; padding: 11px 0; }
  .preset-scroll-cue { display: block; margin: -3px 0 0; color: var(--muted); font: 700 0.52rem/1 var(--mono); letter-spacing: 0.1em; text-align: right; }
  .preset-groups { gap: 13px; margin-right: -4px; }
  .preset-button { min-width: 100px; min-height: 44px; }
  .bank-bar { align-items: flex-end; }
  .bank-button { width: 36px; }
  .sequence-footer { grid-template-columns: 1fr 1fr; }
  .sequence-footer > div:nth-child(2) { grid-row: 2; grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .pad.is-triggered, .step-button.is-playhead { transform: none; }
}
