/* Focus on the original visual, then retrieve before moving on. */
body.focus-session{overflow:hidden}
.viewer{max-width:100vw;min-width:0}
.viewer [hidden]{display:none!important}
.viewer .slide-zone{grid-template-rows:auto minmax(0,1fr) auto auto;min-height:0;min-width:0;padding:6px 8px 0}
.viewer .slide-image{image-rendering:auto;filter:none;opacity:0;transition:none}
.viewer .slide-image.loaded{opacity:1}
.visual-info{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:27px;padding:3px 6px;color:#a4b6c8;font-size:11px;line-height:1.4;flex-wrap:wrap}
#visual-quality{font-variant-numeric:tabular-nums}
#visual-recall-status{color:#96e4f7}
.visual-tools{display:flex;align-items:center;gap:6px;padding:6px 0;min-width:0}
.visual-tools button{min-height:36px;padding:4px 12px;font-size:12px;cursor:pointer}
.visual-tool-note{margin-left:auto;color:#9aadc2;font-size:11px;padding:0 8px}
.viewer .slide-loader{max-width:90%;font-size:13px;line-height:1.5;text-align:center}
.viewer .slide-error{max-height:95%;overflow:auto;padding:18px;font-size:15px;background:#190f15}
.viewer .slide-error span{font-size:13px;line-height:1.55}
.viewer .slide-error button{margin-top:14px;font-size:13px;min-height:44px}
.viewer .viewer-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:8px;height:auto;min-height:62px;padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.viewer .viewer-bottom .nav-arrow{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;height:auto;white-space:normal;line-height:1.3;padding:7px 9px;font-size:12px;cursor:pointer}
.recall-footer{display:flex;align-items:center;justify-content:center;min-width:0}
.recall-footer .primary-btn{width:100%;max-width:290px;min-height:44px;height:auto;font-size:13px;line-height:1.35;padding:7px 10px;cursor:pointer}
.viewer button:disabled{opacity:.5;cursor:not-allowed}
.viewer :is(button,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid #79e0ff;outline-offset:3px}
.recall-panel{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0a131f;border-left:1px solid #233549;padding:22px;color:#edf4fc}
.recall-content{max-width:760px;width:100%;margin:0 auto;display:grid;gap:14px}
.recall-content h2{font-size:clamp(21px,2.5vw,31px);line-height:1.2;letter-spacing:-.025em;margin:0}
.recall-content p{margin:0;line-height:1.65}
.recall-prompt{font-size:16px;color:#dce8f5;overflow-wrap:anywhere}
.recall-content label[for]{font-size:14px;font-weight:700;margin-bottom:-7px}
.recall-content textarea{width:100%;min-width:0;min-height:124px;max-height:30vh;resize:vertical;font:inherit;font-size:16px;line-height:1.55;color:#eef6ff;background:#050b13;border:1px solid #415870;border-radius:13px;padding:12px;touch-action:auto;user-select:text;-webkit-user-select:text}
.recall-small{font-size:12px;color:#abbcd0;line-height:1.55!important}
.recall-methods{display:flex;flex-wrap:wrap;gap:10px 20px}
.recall-methods label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer}
.recall-content input[type=radio]{width:18px;height:18px;flex:none;accent-color:#63d6f7}
.recall-primary{font-size:14px;min-height:46px;padding:10px 16px;cursor:pointer;white-space:normal;line-height:1.4}
.recall-secondary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.recall-secondary .ghost-btn{min-height:42px;font-size:13px;cursor:pointer}
.recall-text-btn{border:none;color:#b7cedd;background:none;text-decoration:underline;text-underline-offset:3px;padding:9px 0;font-size:12px;line-height:1.5;cursor:pointer}
.recall-your-answer{border:1px solid #32485b;border-radius:12px;padding:12px;background:#08101b}
.recall-your-answer summary{font-size:13px;color:#9cddf3;font-weight:700;cursor:pointer;min-height:25px}
.recall-your-answer p{max-height:20vh;overflow:auto;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;padding-top:8px;user-select:text;-webkit-user-select:text}
.recall-ratings{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}
.recall-ratings legend{font-size:13px;line-height:1.5;margin-bottom:9px;color:#d2e1f2;font-weight:700}
.recall-rating{display:flex;gap:8px;align-items:center;border:1px solid #2b4055;background:#0e1c2b;border-radius:12px;padding:10px;min-height:65px;cursor:pointer}
.recall-rating b{display:block;font-size:14px}.recall-rating small{display:block;font-size:11px;line-height:1.4;color:#a9bdcf;margin-top:4px}
.recall-rating.selected{border-color:#5fd2ef;background:#123040}.recall-rating:has(input:disabled){opacity:.45;cursor:not-allowed}
.viewer.recall-active .viewer-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.viewer.recall-active :is(.slide-zone,.chunk-rail,.ai-resizer){display:none!important}
.viewer.recall-active .recall-panel{border:0;padding:clamp(20px,4vw,44px)}
.viewer.recall-compare .viewer-body{grid-template-columns:minmax(0,1fr) minmax(300px,360px);grid-template-rows:minmax(0,1fr)}
.viewer.recall-compare :is(.chunk-rail,.ai-resizer,.pathway-bar){display:none!important}
.viewer.recall-compare .slide-zone{grid-template-rows:auto minmax(0,1fr) auto}
.viewer.recall-compare .recall-panel{padding:17px}
.viewer.recall-compare .recall-content{gap:11px}
.viewer.recall-compare .recall-content h2{font-size:22px}
.recall-prompt.compact{font-size:12px;color:#a9c0d2}
#path-modal{z-index:2200}
@media(max-width:760px) and (orientation:portrait){
 .viewer .viewer-top{grid-template-columns:auto minmax(0,1fr);gap:5px 9px}.viewer .focus-timer{grid-column:1/-1;justify-self:center;max-width:100%;min-width:0}
 .viewer .viewer-title{text-align:left}.viewer .viewer-title strong{font-size:12px}.viewer .exit-btn{min-height:40px;padding:0 8px}
 .viewer .visual-info{font-size:10px;min-height:32px;gap:2px 8px}.visual-tool-note{display:none}
 .viewer .viewer-bottom{min-height:64px;gap:5px;padding-left:7px;padding-right:7px}
 .viewer .viewer-bottom .nav-arrow{font-size:11px;padding:5px}.recall-footer .primary-btn{font-size:12px;padding:5px 7px}
 .viewer.recall-compare .viewer-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,.42fr) minmax(0,.58fr)}
 .viewer.recall-compare .recall-panel{border-left:0;border-top:1px solid #30475c;padding:15px}
 .viewer.recall-compare .visual-info{min-height:24px}.viewer.recall-compare .visual-tools{padding:3px 0}.viewer.recall-compare .visual-tools button{min-height:32px;padding:3px 12px}
 .viewer.recall-active .recall-panel{padding:22px 18px}.recall-methods{display:grid;gap:4px}
 .recall-ratings{grid-template-columns:1fr 1fr}
}
@media(orientation:landscape) and (max-height:680px){
 .viewer{grid-template-rows:auto minmax(0,1fr) auto!important}
 .viewer .viewer-top{min-height:42px;padding-top:max(4px,env(safe-area-inset-top));padding-bottom:4px}.viewer .exit-btn{min-height:32px}
 .viewer .viewer-bottom{min-height:48px;padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}.viewer .viewer-bottom .nav-arrow,.recall-footer .primary-btn{min-height:38px}
 .viewer .visual-info{font-size:10px;min-height:20px;padding:0 3px}.viewer .visual-tools{padding:2px 0}.viewer .visual-tools button{min-height:30px;padding:2px 12px}
 .visual-tool-note{display:none}.viewer.recall-compare .viewer-body{grid-template-columns:minmax(0,1fr) minmax(260px,36%)}
 .viewer.recall-compare .recall-panel{padding:14px}.viewer.recall-active .recall-panel{padding:20px 24px}
 .recall-content textarea{min-height:95px;max-height:38vh}.recall-content h2{font-size:22px}.recall-prompt{font-size:14px}
 .recall-rating{min-height:55px;padding:7px}.recall-rating small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.viewer *{scroll-behavior:auto!important;transition:none!important}}

/* Keep the current lesson title visible on every device. */
.viewer .viewer-title{display:block!important;min-width:0}
@media(max-width:760px) and (orientation:portrait){
 .viewer .viewer-title strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;overflow:hidden}
 .viewer .visual-tools button{min-height:42px;min-width:42px}
}

.slide-quick-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0 10px;flex-wrap:wrap;border-bottom:1px solid rgba(110,130,170,.22)}
.slide-tools-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#86b6ff;font-weight:700}
.slide-tools-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tool-pill{min-height:36px;padding:6px 12px;font-size:12px;border-radius:999px}
.tool-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:900px){.slide-quick-tools{padding:6px 0 8px}.slide-tools-group{gap:6px}}
@media(max-width:600px){.slide-quick-tools{align-items:flex-start}.slide-tools-group{width:100%}.tool-pill{min-height:40px;flex:0 1 auto}}
