.sr-heading h1 { font-size: 2rem; }
.sr-heading button, .sr-pages button, #sr-weeks button { font: inherit; }
.sr-heading button, .sr-pages button { color: #17363d; background: #fff; border: 1px solid #7d9298; border-radius: 4px; padding: 8px 12px; }
.sr-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.sr-pages button:disabled { color: #647477; background: #edf0f1; }
#sr-message.is-error { color: #a33020; }
.sr-layout { display: grid; grid-template-columns: minmax(190px, 240px) minmax(0, 1fr); gap: 32px; margin-top: 24px; }
.sr-layout h2, .sr-history h2 { font-size: 1.3rem; }
.sr-layout nav { border-right: 1px solid #bac8cc; padding-right: 20px; }
.sr-layout ul, .sr-history ol { padding: 0; list-style: none; }
#sr-weeks button { width: 100%; text-align: left; padding: 12px; border: 0; background: transparent; color: #125a59; border-bottom: 1px solid #bac8cc; }
#sr-weeks button[aria-current=true] { background: #dcefe9; border-left: 4px solid #126857; }
.sr-pages { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.sr-pages button { min-height: 42px; min-width: 42px; padding: 8px; }
#sr-study { margin: 16px 0; }
#sr-study li { margin: 10px 0; }
.sr-word { margin: 18px 0; }
.sr-word label { display: block; font-weight: 700; margin-bottom: 6px; overflow-wrap: anywhere; }
.sr-word input { width: min(100%, 400px); min-height: 48px; box-sizing: border-box; padding: 10px; font-size: 1.1rem; }
.sr-word small { display: block; margin-top: 4px; }
.sr-help { display: flex; gap: 10px; align-items: start; margin: 20px 0; }
.sr-help input { width: 20px; height: 20px; flex-shrink: 0; }
.sr-history { border-top: 1px solid #bac8cc; margin-top: 28px; padding-top: 18px; }
.sr-history li { padding: 14px 0; border-bottom: 1px solid #bac8cc; overflow-wrap: anywhere; }
.sr-answer { border-left: 4px solid #a54b2c; padding: 10px 16px; margin: 12px 0; background: #fff5ed; overflow-wrap: anywhere; }
.sr-answer[data-correct=true] { border-color: #16705a; background: #eaf5ef; }
.sr-answer p { margin: 5px 0; }
.sr-print-warning { display: none; }
@media (max-width: 650px) {
    .sr-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .sr-layout nav { border-right: 0; border-bottom: 1px solid #bac8cc; padding-right: 0; }
    #sr-weeks { max-height: 230px; overflow: auto; }
    .sr-heading h1 { font-size: 1.7rem; }
}
@media print {
    @page { margin: 14mm; }
    .site-header, .site-footer, .app-header, .app-footer, #panel-content, .sr-heading { display: none !important; }
    .sr-print-warning { display: block !important; }
    #sr-print-copy { display: none !important; }
    .app-shell { width: auto; max-width: none; margin: 0; padding: 0; }
    #sr-print-copy[data-print-approved] { display: block !important; color: #000; background: #fff; font-size: 11pt; line-height: 1.35; }
    #sr-print-copy[data-print-approved] ~ .sr-print-warning { display: none !important; }
    #sr-print-copy h1 { font-size: 18pt; margin: 0 0 5mm; }
    #sr-print-copy p { margin: 2mm 0; }
    #sr-print-copy ol { margin: 6mm 0; padding-left: 8mm; }
    #sr-print-copy li { break-inside: avoid; padding: 3mm 0; }
    #sr-print-copy .sr-answer-line { border-bottom: 1px solid #444; height: 9mm; max-width: 120mm; }
}
