/* iPhone adaptation only. Shared v1.2 typography and music geometry stay intact. */
html{-webkit-text-size-adjust:100%;overscroll-behavior:none}
body{min-width:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
button,a,input,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button,.icon-button,.close-button,.text-button{min-height:44px;min-width:44px}
dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);overflow-y:auto;overscroll-behavior:contain}
.credits-link{color:var(--accent);display:inline-block;min-height:44px;padding:12px 0;font-size:13px}
@media(max-width:560px){
 .toolbar-inner{padding:10px 16px;gap:12px}.brand p{display:none}.brand-mark{width:30px;height:30px}.brand{gap:10px}h1{font-size:18px}
 .toolbar-controls{gap:8px}.metric-label{font-size:11px}.metric strong{font-size:15px}.icon-button{padding:8px 10px}
 main{padding:0 8px;margin-top:10px}.practice-card{padding:12px 8px 10px}.card-topline{gap:4px;min-height:60px}.question-meta{gap:8px;font-size:12px}
 .notation{height:clamp(152px,24dvh,210px)}
 .answer-grid{gap:4px}.answer-button{height:54px;min-width:0;padding:0}
 .answer-heading{padding:6px 0 10px}.feedback{font-size:12px;margin:12px 0 0;min-height:36px}.page-footer{padding-bottom:12px;gap:6px}
 dialog{padding:20px}.close-button{width:44px;height:44px}.clef-option{min-height:60px}.clef-option input{width:20px;height:20px;flex-shrink:0}.settings-note{margin:12px 0}.dialog-actions{margin-top:16px}
}
/* Keep 44pt targets on rare 320pt accessibility/browser viewports. */
@media(max-width:359px){.answer-grid{grid-template-columns:repeat(4,minmax(44px,1fr))}.answer-button{height:48px}.toolbar-inner{padding-inline:12px}.accuracy-metric{min-width:110px}.icon-button span{display:none}}
