/* Focused additions to the established blue study interface. */
:focus-visible{outline:3px solid #08777e;outline-offset:4px}
.topic-progress{display:block;font:400 14px/1.45 'Source Sans 3',sans-serif;color:#536c7e;margin-top:5px}
.topic-diagnosis{margin:20px 0;padding:16px;background:#edf5f8;border:1px solid #c7dde5;border-radius:10px}
.topic-diagnosis>button{display:block;width:100%;border:0;border-top:1px solid #cfdee5;background:transparent;text-align:left;padding:12px 0;color:#193d57;font-size:16px;font-weight:700}
.topic-diagnosis>button:hover{color:#00717b}
.topic-diagnosis small{display:block;font-size:14px;font-weight:400;margin-top:3px;color:#536c7e}
.topic-diagnosis .eyebrow{margin:0 0 8px}
.review-options{display:flex;gap:16px;justify-content:center;margin-top:10px}
.review-options .text-button{color:#70481c;font-size:14px;min-height:44px}
.review-quiet{display:block;text-align:center;margin:10px auto;color:#5b7082;font-size:15px}
.figure-zoom{display:grid;justify-items:center;gap:8px;background:transparent;border:0;width:100%;cursor:zoom-in;color:#315c75;font-size:14px;padding:4px}
.figure-zoom img{max-height:240px;max-width:100%;object-fit:contain}
.figure-zoom span{text-decoration:underline;text-underline-offset:3px}
.image-dialog{width:min(90vw,780px);max-height:90dvh;overflow:auto;text-align:center}
.image-dialog img{display:block;width:100%;max-height:65dvh;object-fit:contain;margin:18px auto;background:#fff}
.practice-note{font-size:14px;line-height:1.5;color:#486479;background:#edf5f8;border-radius:8px;padding:12px;margin:18px 0}
.storage-warning{padding:14px;background:#fff1cc;color:#6d4a14;border:1px solid #ddbd70;border-radius:8px;line-height:1.5}
.sheet-cell.filled.flagged{background:#dff2ee;border:2px solid #be8b2b}
.sheet-cell.current{outline:2px solid #173d59;outline-offset:2px}
.demo-dialog{max-height:90dvh;overflow:auto}
.correction-body .question-figure{margin:12px 0}
.next-step .topic-diagnosis{padding:12px;margin:14px 0;width:100%}
@media(max-width:620px){.topic-item{grid-template-columns:32px minmax(0,1fr) 16px;gap:10px}.topic-count{display:none}.topic-name{min-width:0}.topic-name,.topic-diagnosis span{overflow-wrap:anywhere}.confirm-actions{flex-direction:column}.confirm-actions button{width:100%}.image-dialog{padding:18px}.quiz-time{flex-wrap:wrap}.review-options{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
