/* Final accessibility and reading polish, without adding work to motion loops. */
html{scrollbar-gutter:stable}
html:has(dialog[open]){overflow:hidden}
.km-skip-link{position:fixed;top:12px;left:12px;z-index:10000;transform:translateY(-180%);padding:12px 18px;background:#234c3f;color:#fffdf0;border-radius:9px;text-decoration:none;font:700 14px system-ui}
.km-skip-link:focus{transform:none;outline:3px solid #c99a5e;outline-offset:3px}
body.km :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #ad6043;outline-offset:4px}
body.km :is(h2,#study-content)[tabindex="-1"]:focus{outline:none}
.km-note-search:focus-within{border-color:#a76a45;box-shadow:0 0 0 2px #a76a451c}
.km-draft-status,.km-privacy{color:#62705c}
.km-privacy{font-size:13px;line-height:1.7}
#testArea .matchGrid label{min-width:0}
#testArea .matchGrid select{min-width:0;max-width:100%}
.km-note-input{resize:vertical;max-height:35dvh}
@media(max-width:700px){
 .km-header{gap:10px}.km-brand{min-width:0}.km-emblem{flex-shrink:0}
 .km-desk-actions{flex-wrap:wrap;max-width:100%}
 .km-desk-actions button,.km-unlearned,.km-filters button,.km-tools button,.km-small-btn{min-height:40px}
 .km-discovery-tools{align-items:stretch}.km-note-search{min-width:160px}.km-unlearned{flex-shrink:0}
 .km-loose-controls button{min-height:27px;padding:5px 7px;font-size:9px}
 .km-loose-card strong{margin-top:8px;-webkit-line-clamp:2;max-height:33px;font-size:15px}
 .km-note-input,#practiceDraft,#search,#km-note-search,.matchGrid select{font-size:16px}
 .km-note-sheet{line-height:1.65}
 .km-route-foot{flex-wrap:wrap}.km-route-buttons{flex-wrap:wrap}
 .km-story-footer>div{flex-wrap:wrap}
 #testArea select{max-width:100%}
}
@media(max-width:380px){.km-brand small{font-size:6px;letter-spacing:.06em}.km-brand{gap:7px;font-size:14px}.km-header{padding:0 12px}.km-sound input{width:30px}.km-sound{gap:5px}}
@media(prefers-reduced-motion:reduce){.km-skip-link{transition:none}}
