/* Narrow-screen and keyboard improvements for ordered learning and review. */
.pupil-hub>.hub-choices{order:3;margin-top:0}
.pupil-hub [data-ordered-journey] button{margin:6px 8px 6px 0}
.survival-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.survival-bubble{border-radius:50%;min-height:110px;min-width:0;overflow-wrap:anywhere;background:radial-gradient(ellipse at 30% 20%,#fff,#cee9ff);color:#192f60;border:3px solid #657bb4;box-shadow:0 5px 0 #a4cbea;font-size:clamp(18px,3vw,28px);padding:18px 10px}
.survival-game #bubble-clock{width:100%;height:18px;accent-color:#7045ba}
.survival-game #bubble-countdown{min-height:24px;font-variant-numeric:tabular-nums}
@media(max-width:620px){.survival-choices{grid-template-columns:1fr;gap:14px}.survival-bubble{min-height:76px;border-radius:40px;font-size:24px}}
.hub-page,.hub-page article,.hub-page fieldset,.hub-page form,.hub-page label{min-width:0}
.hub-page h1,.hub-page h2,.hub-page h3,.hub-page p,.hub-page button{overflow-wrap:anywhere}
.hub-page input:not([type=checkbox]),.hub-page select,.hub-page textarea{box-sizing:border-box;max-width:100%;font-size:16px}
.hub-page textarea{width:100%;min-height:120px}
.hub-page summary,footer summary{min-height:44px;padding:10px 4px;box-sizing:border-box;cursor:pointer}
.hub-page fieldset{border:1px solid #b9abc9;border-radius:12px;margin:16px 0;padding:16px}
.hub-page fieldset button{margin:5px;max-width:100%;white-space:normal}
.hub-page progress{display:block;width:100%;margin:16px 0}
.hub-page form label{display:block;margin:14px 0}
.hub-page form label:has(input[type=checkbox]){min-height:44px;display:flex;align-items:center;gap:12px}
.hub-page input[type=checkbox]{flex:none;width:22px;height:22px}
.hub-table:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #885000;outline-offset:4px}
.hub-table{overscroll-behavior-x:contain}
@media(max-width:520px){
 .hub-page>.play-card,.hub-page>.card{padding:22px 18px}
 .hub-page>button{margin:6px 0;width:100%;white-space:normal}
 .hub-page h1{font-size:clamp(24px,7vw,32px)}
 .hub-page fieldset button{display:block;width:100%;margin:8px 0}
 .hub-page .sequence-practice-card>div{min-width:0}
 .hub-page .sequence-practice-card button{width:100%;margin:8px 0}
 .hub-filters{grid-template-columns:minmax(0,1fr)}
 .hub-filters label:last-child{grid-column:auto}
 .hub-page .play-card button{display:block;width:100%;margin:10px 0}
}
@media(forced-colors:active){button,input,select,textarea,summary{border:1px solid ButtonText}.confidence-state{border:1px solid CanvasText}}
