/* Larger touch targets, without disabling pinch zoom or enlarging the series grid. */
button,summary{min-height:44px!important;min-width:44px;touch-action:manipulation}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px!important;font-size:16px}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{border-color:#6b879a!important}
input::placeholder,textarea::placeholder{color:#a9bdca;opacity:1}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #9ff1cc!important;outline-offset:3px}
label:has(>input[type=checkbox]),label:has(>input[type=radio]){min-height:44px}
input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px;accent-color:#68e8b6}
.exercise-rest input{background:#0b1c2a;color:#eff8ff;border:1px solid #6b879a;border-radius:9px}
.demo-close{width:44px;height:44px;flex-shrink:0}
.technique,.exercise-manage button{white-space:normal}
/* Keep previous-series values aligned with the wider confirmation target. */
@media(max-width:450px){.setrow,.series-comparison{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 58px 44px!important;gap:4px!important}}
/* The operating-system preference takes precedence over decorative motion. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}button:not(:disabled):active{transform:none!important}}
@media(prefers-contrast:more){input:not([type=checkbox]):not([type=radio]),select,textarea,button{border-color:#b5cddb!important}.muted,.small,.note,.badge,.comparison-heading,.comparison-empty{color:#cbdbe5}.card,.progression-evidence{border-color:#8da9ba}}
