#sp-app button, #sp-saved button { min-height: 44px; white-space: normal; }
#sp-app .ep-speed .btn-group { flex-wrap: wrap; justify-content: center; max-width: 100%; }
#sp-app .ep-speed .btn { flex: 0 1 auto; }
#sp-choices label { cursor: pointer; }
#sp-choices label:focus-within { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
#sp-choices span { min-width: 0; overflow-wrap: anywhere; }
#sp-passage { max-height: 26rem; overflow: auto; }
#sp-position, #sp-result h2, #sp-feedback { scroll-margin-block: 1rem; }
#sp-app .btn-outline-primary, #sp-saved .btn-outline-primary { color: #1b5792; }
[data-bs-theme=dark] #sp-app .btn-outline-primary, [data-bs-theme=dark] #sp-saved .btn-outline-primary { color: #afd5ff; }
#sp-app .btn-outline-primary:hover, #sp-saved .btn-outline-primary:hover { color: #fff; background: #1b5792; border-color: #1b5792; }
@media print {
    #sp-start, #sp-restart, #sp-run, #sp-app button, #sp-saved button, #sp-status { display: none !important; }
    #sp-passage { max-height: none; overflow: visible; }
}
