/* v163: compact mobile controls without reducing the original typing font. */
@media (max-width: 700px) {
 html body.att-ui-app #home-typing-lab {padding-top:10px!important}
 html body.att-ui-app #home-typing-lab .shell {width:calc(100% - 20px)!important}
 html body.att-ui-app #home-typing-lab .kf-lab-app {padding:12px 12px 18px!important;border-radius:18px!important}
 #home-typing-lab .kf-primary-toolbar {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px!important;gap:8px!important;align-items:center!important;margin:0 0 9px!important;padding:0!important}
 #home-typing-lab .kf-mode-group {grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;gap:2px!important}
 #home-typing-lab .kf-mode-group button {min-width:0!important;padding:8px 2px!important;font-size:13px!important}
 #home-typing-lab .kf-toggle-group {grid-column:1/-1!important;display:flex!important;justify-content:space-around!important;gap:4px!important;width:100%!important}
 #home-typing-lab .kf-toggle-group button {font-size:12px!important;padding:5px 3px!important;white-space:nowrap!important}
 #home-typing-lab .kf-primary-toolbar>select {width:100%!important;min-width:0!important;max-width:none!important;height:40px!important;font-size:14px!important;padding:4px 24px 4px 10px!important}
 #home-typing-lab .kf-primary-toolbar>.kf-lab-gear {grid-column:3!important;grid-row:3!important;width:38px!important;height:38px!important;margin:0!important}
 #home-typing-lab .kf-primary-toolbar>.kf-tool-divider,#home-typing-lab .kf-primary-toolbar>.kf-lab-spacer {display:none!important}
 #home-typing-lab .kf-duration-toolbar {display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:5px!important;margin:0 0 8px!important;padding:0!important}
 #home-typing-lab .kf-duration-group {display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none!important;gap:2px!important;min-width:0!important;flex:1 1 auto!important;padding:0!important}
 #home-typing-lab .kf-duration-group::-webkit-scrollbar{display:none}
 #home-typing-lab .kf-duration-group button {flex:0 0 auto!important;min-width:37px!important;padding:7px 5px!important;font-size:12px!important}
 #home-typing-lab .kf-duration-toolbar .kf-start-note,#home-typing-lab .kf-duration-toolbar>.kf-lab-spacer {display:none!important}
 #home-typing-lab .kf-sound-quick {flex:0 0 34px!important;min-width:34px!important;padding:5px!important}
 #home-typing-lab .att-extra {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important;padding:5px 0 9px!important;margin:0!important;align-items:end!important}
 #home-typing-lab .att-extra>label:not(.att-extra-custom) {min-width:0!important;max-width:none!important;width:100%!important;flex:auto!important;font-size:11px!important;line-height:1.3!important}
 #home-typing-lab .att-extra>label select,#home-typing-lab .att-extra>label input,#home-typing-lab .att-extra .att-type-picker {width:100%!important;min-width:0!important;max-width:none!important;height:40px!important;font-size:14px!important;box-sizing:border-box!important}
 #home-typing-lab .att-extra>[data-extra-apply] {grid-column:1/-1!important;width:100%!important;min-height:35px!important;padding:6px!important;font-size:13px!important}
 #home-typing-lab .att-extra>.att-extra-custom {grid-column:1/-1!important}
 #home-typing-lab .kf-lab-meta {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;margin:7px 0 12px!important;flex-wrap:nowrap!important}
 #home-typing-lab .kf-lab-meta>b {font-size:31px!important;flex:0 0 auto!important}
 #home-typing-lab .kf-live-chip {font-size:11px!important;white-space:nowrap!important;display:inline-flex!important;gap:3px!important}
 #home-typing-lab .kf-lab-words {font-size:clamp(24px,6.2vw,30px)!important;line-height:1.65!important;min-height:190px!important;height:190px!important;max-height:190px!important;overflow:hidden!important;letter-spacing:0!important}
 #home-typing-lab .kf-lab-main {min-width:0!important}
 /* The test itself remains full-sized; only controls collapse during active typing. */
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-primary-toolbar,
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-duration-toolbar,
 html body.att-ui-app.att-mobile-typing #home-typing-lab .att-extra {display:none!important}
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-lab-app {padding:12px!important}
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-lab-meta {margin:0 0 12px!important}
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-lab-words {height:clamp(120px,30vh,230px)!important;min-height:120px!important;max-height:230px!important;overflow:hidden!important}
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-focus-footer {display:none!important}
}

/* v165: ONLY small screens receive settings overlay and End Test UI. */
@media (min-width: 701px) {
  #home-typing-lab .kf-mobile-test-actions {display:none!important}
}
@media (max-width: 700px) {
  #home-typing-lab .kf-lab-app {position:relative!important}
  #home-typing-lab .kf-lab-app.settings-open .kf-lab-body {display:block!important;grid-template-columns:minmax(0,1fr)!important}
  #home-typing-lab .kf-lab-app .kf-lab-settings {position:absolute!important;top:48px!important;right:8px!important;left:auto!important;width:calc(100% - 16px)!important;max-height:min(65dvh,510px)!important;overflow-y:auto!important;z-index:120!important;margin:0!important;box-shadow:0 20px 55px #000a!important;background:#292b2e!important;border:1px solid #55585d!important;border-radius:14px!important}
  #home-typing-lab .kf-lab-app:not(.settings-open) .kf-lab-settings {display:none!important}
  #home-typing-lab .kf-lab-app.settings-open .kf-lab-settings {display:block!important}
  #home-typing-lab .kf-lab-settings>div {width:100%!important;box-sizing:border-box!important}
  #home-typing-lab .kf-mobile-test-actions {display:flex!important;justify-content:flex-end!important;margin:0 0 7px!important}
  #home-typing-lab .kf-end-test[hidden] {display:none!important}
  #home-typing-lab .kf-end-test:not([hidden]) {display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #e2b714!important;border-radius:9px!important;background:#e2b71416!important;color:#e2b714!important;font:600 13px system-ui,sans-serif!important;padding:8px 15px!important;min-height:36px!important}
}

/* v166: mobile settings are anchored to the gear, not the typing panel. */
@media(max-width:700px){
 #home-typing-lab .kf-lab-app.settings-open .kf-lab-settings.kf-mobile-settings-popover{display:block!important;position:fixed!important;top:var(--kf-settings-top,110px)!important;left:var(--kf-settings-left,12px)!important;right:auto!important;width:var(--kf-settings-width,calc(100% - 24px))!important;max-height:var(--kf-settings-max-height,55dvh)!important;overflow:auto!important;z-index:99999!important;margin:0!important;transform:none!important;}
 #home-typing-lab .kf-mobile-test-actions{display:none!important}
 #home-typing-lab .kf-lab-meta .kf-mobile-test-actions{display:flex!important;align-items:center!important;margin:0!important;flex:0 0 auto!important}
 #home-typing-lab .kf-lab-meta{flex-wrap:wrap!important}
 #home-typing-lab .kf-lab-meta .kf-end-test:not([hidden]){display:inline-flex!important;min-height:32px!important;padding:5px 9px!important;font-size:12px!important;white-space:nowrap!important}
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-lab-meta .kf-mobile-test-actions{display:flex!important}
}

/* v167: End Test stays immediately below the speed stats and above the typing words.
   Override v166 rules which hid the button after it was moved into the stats grid. */
@media (max-width:700px) {
 #home-typing-lab .kf-lab-main > .kf-mobile-test-actions {
   display:flex!important; justify-content:flex-end!important; align-items:center!important;
   margin:0 0 8px!important; min-height:0!important; width:100%!important;
 }
 #home-typing-lab .kf-lab-main > .kf-mobile-test-actions:has(.kf-end-test[hidden]) {display:none!important;}
 #home-typing-lab .kf-lab-main > .kf-mobile-test-actions .kf-end-test[hidden] {display:none!important;}
 #home-typing-lab .kf-lab-main > .kf-mobile-test-actions .kf-end-test:not([hidden]) {
   display:inline-flex!important; align-items:center!important; justify-content:center!important;
   background:#e2b714!important;color:#1c1d20!important;border:1px solid #e2b714!important;
   font:700 13px system-ui,sans-serif!important;border-radius:9px!important;
   min-height:38px!important;padding:8px 16px!important;opacity:1!important;visibility:visible!important;
   position:relative!important;z-index:5!important;pointer-events:auto!important;
 }
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-lab-main > .kf-mobile-test-actions {display:flex!important;}
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-lab-main > .kf-mobile-test-actions:has(.kf-end-test[hidden]) {display:none!important;}
}

/* v168: Single source of truth for the mobile End Test control. */
@media(max-width:700px){
 #home-typing-lab .kf-lab-main>.kf-mobile-test-actions,
 html body.att-ui-app.att-mobile-typing #home-typing-lab .kf-lab-main>.kf-mobile-test-actions{
 display:flex!important;justify-content:flex-end!important;position:relative!important;
 width:100%!important;margin:0 0 9px!important;visibility:visible!important;opacity:1!important;
 }
 #home-typing-lab .kf-lab-main>.kf-mobile-test-actions:has([hidden]){display:none!important}
 #home-typing-lab .kf-lab-main>.kf-mobile-test-actions [data-end-test]:not([hidden]){
 display:inline-flex!important;visibility:visible!important;opacity:1!important;
 background:#e2b714!important;color:#191a1d!important;min-height:40px!important;
 border-radius:9px!important;padding:9px 17px!important;font-weight:700!important;
 }
}
