/* Scoped, explicit Focus Mode geometry replaces conflicting historic orientation rules. */
#viewer.focus-layout-v894{position:fixed!important;inset:auto!important;left:var(--focus-left,0px)!important;top:var(--focus-top,0px)!important;width:var(--focus-vw,100vw)!important;height:var(--focus-vh,100dvh)!important;max-width:var(--focus-vw,100vw)!important;max-height:var(--focus-vh,100dvh)!important;min-height:0!important;overflow:hidden!important;display:grid;grid-template-rows:auto minmax(0,1fr) auto!important;grid-template-columns:minmax(0,1fr)!important;--rail-w:64px;box-sizing:border-box;}
#viewer.focus-layout-v894 .viewer-top{position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto!important;grid-template-rows:auto!important;grid-template-areas:'exit title timer status';align-items:center;gap:8px;min-height:48px!important;padding:5px max(8px,env(safe-area-inset-right)) 5px max(8px,env(safe-area-inset-left))!important;overflow:hidden;}
#viewer.focus-layout-v894 .viewer-top>.exit-btn{grid-area:exit;min-height:36px!important;max-width:150px;font-size:12px!important;padding:6px 10px;}
#viewer.focus-layout-v894 .viewer-top>.viewer-title{grid-area:title;display:block!important;padding:0;min-width:0;text-align:left;}
#viewer.focus-layout-v894 .viewer-title strong{display:block!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;font-size:14px!important;line-height:1.35!important;margin:2px 0 0;}
#viewer.focus-layout-v894 .viewer-title span{font-size:10px;line-height:1.3;}
#viewer.focus-layout-v894 .viewer-top>.focus-timer{grid-area:timer!important;justify-self:end;display:flex;align-items:center;gap:7px;flex-wrap:nowrap;min-width:0!important;width:auto!important;max-width:100%;height:36px!important;padding:0 5px 0 8px;}
#viewer.focus-layout-v894 .focus-timer span{font-size:9px;}.focus-layout-v894 .focus-timer strong{font-size:13px!important;white-space:nowrap;font-variant-numeric:tabular-nums;}
#viewer.focus-layout-v894 .focus-timer small{font-size:10px;white-space:nowrap;}
#viewer.focus-layout-v894 .timer-btn{height:28px;min-width:0;min-height:28px;padding:2px 8px!important;font-size:11px;white-space:nowrap;}
#viewer.focus-layout-v894 .focus-save-status{grid-area:status!important;min-height:0!important;padding:0!important;display:flex;justify-content:flex-end;align-items:center;gap:5px;font-size:10px!important;max-width:165px;line-height:1.3!important;}
#viewer.focus-layout-v894 .focus-save-status button{min-height:28px!important;font-size:10px;padding:3px 7px!important;}
#viewer.focus-layout-v894 .viewer-body{position:relative;display:grid;grid-template-rows:minmax(0,1fr)!important;grid-template-columns:minmax(0,1fr) var(--rail-w)!important;min-height:0!important;min-width:0;overflow:hidden;}
#viewer.focus-layout-v894 .slide-zone{min-height:0!important;min-width:0!important;display:grid;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr) auto auto!important;grid-template-areas:'information' 'tools' 'visual' 'inspection' 'pathway';padding:0 6px!important;gap:0;overflow:hidden;}
#viewer.focus-layout-v894 .visual-info{grid-area:information;min-height:20px!important;padding:2px 4px!important;font-size:10px!important;line-height:1.3;gap:4px;flex-wrap:nowrap;overflow:hidden;}
#viewer.focus-layout-v894 .visual-info>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#viewer.focus-layout-v894 .slide-quick-tools{grid-area:tools;display:flex!important;align-items:center;flex-wrap:nowrap!important;gap:8px!important;min-width:0!important;width:100%;max-height:none!important;padding:4px 0!important;overflow:hidden;}
#viewer.focus-layout-v894 .slide-tools-label{width:auto!important;flex:none;display:block;font-size:10px;}
#viewer.focus-layout-v894 .slide-tools-group{width:auto;min-width:0!important;max-width:100%;flex:1;justify-content:flex-start;display:flex;align-items:center;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;gap:6px!important;padding:1px 2px 4px!important;scrollbar-width:thin;overscroll-behavior-x:contain;}
#viewer.focus-layout-v894 .tool-pill,#viewer.focus-layout-v894 .tool-primary-ai{height:38px;min-height:38px!important;flex:0 0 auto;min-width:0;padding:5px 12px!important;font-size:12px!important;line-height:1.3!important;white-space:nowrap;}
#viewer.focus-layout-v894 #slide-viewport{grid-area:visual;position:relative!important;display:block!important;width:100%;height:100%;min-width:0!important;min-height:0!important;overflow:hidden!important;touch-action:none;contain:layout paint;}
#viewer.focus-layout-v894 #slide-image{position:absolute!important;max-width:none!important;max-height:none!important;aspect-ratio:auto;object-fit:contain!important;transform:none!important;transform-origin:0 0!important;will-change:auto!important;filter:none!important;image-rendering:auto!important;pointer-events:none;}
#viewer.focus-layout-v894 .slide-loader,#viewer.focus-layout-v894 .slide-error{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);max-width:90%;max-height:95%;}
#viewer.focus-layout-v894 .visual-tools{grid-area:inspection;min-height:36px;display:flex;align-items:center;flex-wrap:nowrap!important;gap:5px;overflow-x:auto;min-width:0;padding:2px 0!important;}
#viewer.focus-layout-v894 .visual-tools button{flex:none;min-height:32px!important;min-width:32px;padding:4px 9px!important;font-size:12px;}
#viewer.focus-layout-v894 .visual-tool-note{display:none!important;}.source-zoom-status{margin-left:auto;padding:0 5px;color:#aac3d5;font-size:10px;white-space:nowrap;flex:none;}
#viewer.focus-layout-v894 .visual-report{white-space:nowrap;padding:5px 6px;font-size:10px;}
#viewer.focus-layout-v894 .pathway-bar{grid-area:pathway;min-height:44px;margin:3px 0;padding:6px 10px;}.focus-layout-v894 .pathway-copy>small{display:none!important;}
#viewer.focus-layout-v894 .chunk-rail{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;grid-row:1;grid-column:2;width:var(--rail-w);height:100%;display:flex;flex-direction:column;padding:4px;gap:4px;}
#viewer.focus-layout-v894 .chunk-btn{flex:none;min-height:38px;padding:3px;font-size:10px;}.focus-layout-v894 .discussion-label{font-size:9px!important;}
#viewer.focus-layout-v894 .viewer-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr)!important;min-height:48px!important;height:auto!important;padding:5px max(7px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))!important;gap:6px;overflow:hidden;}
#viewer.focus-layout-v894 .viewer-bottom .nav-arrow,#viewer.focus-layout-v894 .recall-footer .primary-btn{min-height:38px!important;height:auto;font-size:12px!important;padding:6px 8px!important;line-height:1.2!important;max-width:none;}
/* Desktop remains side-by-side. Mobile AI owns the focus viewport instead of floating over it. */
#viewer.focus-layout-v894:not(.focus-mobile).ai-open .viewer-body{grid-template-columns:minmax(0,1fr) clamp(300px,var(--ai-width,400px),560px) var(--rail-w)!important;}
#viewer.focus-layout-v894:not(.focus-mobile).ai-open .chunk-rail{grid-column:3;}
#viewer.focus-layout-v894 .ai-panel.slide-tutor{position:relative!important;inset:auto!important;grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto!important;min-height:0!important;height:100%!important;width:100%!important;max-height:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:0!important;margin:0!important;}
#viewer.focus-layout-v894 .tutor-thread{min-height:0!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;}
#viewer.focus-layout-v894 .tutor-footer{min-height:0;max-height:none;padding:8px 10px!important;gap:6px;}
#viewer.focus-layout-v894 .tutor-form textarea{font-size:16px!important;height:58px;min-height:48px;max-height:100px;resize:none!important;}
#viewer.focus-layout-v894.focus-mobile{--rail-w:46px;}
#viewer.focus-layout-v894.focus-mobile.ai-open{grid-template-rows:minmax(0,1fr)!important;}
#viewer.focus-layout-v894.focus-mobile.ai-open>.viewer-top,#viewer.focus-layout-v894.focus-mobile.ai-open>.viewer-bottom,#viewer.focus-layout-v894.focus-mobile.ai-open .slide-zone,#viewer.focus-layout-v894.focus-mobile.ai-open .chunk-rail,#viewer.focus-layout-v894.focus-mobile .ai-resizer{display:none!important;}
#viewer.focus-layout-v894.focus-mobile.ai-open .viewer-body{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;}
#viewer.focus-layout-v894.focus-mobile.ai-open .ai-panel.slide-tutor{grid-column:1!important;grid-row:1!important;border:0!important;box-shadow:none!important;}
#viewer.focus-layout-v894.focus-mobile .tutor-head{padding:8px 12px!important;min-height:48px;}
#viewer.focus-layout-v894.focus-mobile [data-tutor-close]{min-height:38px!important;width:44px;font-size:22px;}
#viewer.focus-layout-v894.focus-mobile .tutor-tools{padding:6px 12px!important;gap:5px;}
#viewer.focus-layout-v894.focus-mobile .tutor-controls [hidden]{display:none!important;}
/* Compactness uses actual visible height, never keyboard-induced CSS orientation. */
#viewer.focus-layout-v894.focus-compact .viewer-top{min-height:42px!important;gap:5px;padding-top:3px!important;padding-bottom:3px!important;}
#viewer.focus-layout-v894.focus-compact .viewer-title strong{font-size:12px!important;}.focus-compact .focus-timer small{display:none!important;}
#viewer.focus-layout-v894.focus-compact .focus-save-status{max-width:125px;font-size:9px!important;}
#viewer.focus-layout-v894.focus-compact .slide-tools-label{display:none!important;}
#viewer.focus-layout-v894.focus-compact .slide-tools-group{justify-content:flex-start;}
#viewer.focus-layout-v894.focus-compact .tool-pill,#viewer.focus-layout-v894.focus-compact .tool-primary-ai{height:32px;min-height:32px!important;font-size:11px!important;padding:4px 9px!important;}
#viewer.focus-layout-v894.focus-compact .visual-info{min-height:17px!important;font-size:9px!important;padding:0 3px!important;}
#viewer.focus-layout-v894.focus-compact .visual-tools{min-height:30px;}
#viewer.focus-layout-v894.focus-compact .visual-tools button{min-height:28px!important;}
#viewer.focus-layout-v894.focus-compact .pathway-bar{min-height:29px;margin:2px 0;padding:3px 8px;}
#viewer.focus-layout-v894.focus-compact .pathway-copy>span{display:none!important;}
#viewer.focus-layout-v894.focus-compact .path-stages{display:none!important;}
#viewer.focus-layout-v894.focus-compact .chunk-btn{min-height:30px;}.focus-compact .chunk-btn>span{display:none;}
#viewer.focus-layout-v894.focus-compact .viewer-bottom{min-height:40px!important;padding-top:3px!important;padding-bottom:max(3px,env(safe-area-inset-bottom))!important;}
#viewer.focus-layout-v894.focus-compact .viewer-bottom .nav-arrow,#viewer.focus-layout-v894.focus-compact .recall-footer .primary-btn{min-height:32px!important;font-size:11px!important;padding:3px 6px!important;}
#viewer.focus-layout-v894.focus-short .visual-info{display:none!important;}
#viewer.focus-layout-v894.focus-short .focus-save-status:not([data-status=failed]):not([data-status=blocked]){position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;}
#viewer.focus-layout-v894.focus-short .source-zoom-status{font-size:9px;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-topic,#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-utility,#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-route-notice,#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-privacy{display:none!important;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-head{min-height:42px!important;padding:3px 9px!important;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-tools{padding:2px 9px!important;gap:0;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-quick button{min-height:30px;font-size:11px;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-footer{padding:4px 9px!important;gap:3px;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-form{grid-template-columns:minmax(0,1fr) auto!important;gap:6px;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-form textarea{height:44px!important;min-height:44px!important;max-height:66px;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-form-row{display:flex;flex-direction:column;gap:2px;justify-content:center;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-count{display:none;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-send,#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-stop{min-height:34px;min-width:62px;}
#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-external>a,#viewer.focus-layout-v894:is(.focus-keyboard,.focus-short) .tutor-external>button{min-height:28px;}
#viewer.focus-layout-v894.focus-short .tutor-status{max-height:26px;font-size:10px;}
#viewer.focus-layout-v894.focus-short .tutor-head h2{font-size:12px;}.focus-short.focus-keyboard .tutor-eyebrow{display:none;}
/* Preserve recall masking and comparison, independent of the study grid. */
#viewer.focus-layout-v894.recall-active .viewer-body,#viewer.focus-layout-v894.recall-compare:not(.compare-visual-only).focus-mobile .viewer-body{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;}
#viewer.focus-layout-v894.recall-active .slide-zone,#viewer.focus-layout-v894.recall-active .chunk-rail,#viewer.focus-layout-v894.recall-compare:not(.compare-visual-only).focus-mobile .slide-zone{display:none!important;}
#viewer.focus-layout-v894.recall-active .recall-panel,#viewer.focus-layout-v894.recall-compare .recall-panel{grid-column:auto;grid-row:1;min-height:0;overflow:auto;}
#viewer.focus-layout-v894.recall-compare:not(.focus-mobile):not(.compare-visual-only) .viewer-body{grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;}
#viewer.focus-layout-v894.recall-compare .chunk-rail,#viewer.focus-layout-v894.recall-compare .pathway-bar{display:none!important;}
#viewer.focus-layout-v894.recall-compare .slide-zone{grid-template-areas:'information' 'visual' 'inspection'!important;grid-template-rows:auto minmax(0,1fr) auto!important;}
#viewer.focus-layout-v894.compare-visual-only .viewer-body{grid-template-columns:minmax(0,1fr)!important;}
#viewer.focus-layout-v894.compare-visual-only .slide-zone{display:grid!important;}
#viewer.focus-layout-v894.compare-visual-only{grid-template-rows:auto minmax(0,1fr)!important;}
#viewer.focus-layout-v894.compare-visual-only>.viewer-bottom{display:none!important;}
#viewer.focus-layout-v894 [hidden]{display:none!important;}
/* Notes, pathways and Reading Focus stay within the visible screen too. */
#notes-modal,#path-modal{inset:auto!important;top:var(--mws-visible-top,0px)!important;left:0;width:100%;height:var(--mws-visible-h,100dvh)!important;padding:10px!important;overflow:hidden;}
#notes-modal .modal-card,#path-modal .modal-card{height:auto;max-height:100%!important;min-height:0;}
#notes-modal .notes-body,#path-modal .path-modal-grid{min-height:0;overflow:auto;}
#notes-modal .notes-body textarea{min-height:100px!important;height:32vh;max-height:38vh;font-size:16px!important;}
.visual-reader-overlay{min-height:0!important;overflow:hidden!important;}
.visual-reader-overlay .visual-reader-dialog{min-height:0!important;grid-template-rows:auto auto auto minmax(0,1fr) auto!important;overflow:hidden!important;}
.visual-reader-overlay .reader-stage,.visual-reader-overlay .reader-frame{min-height:0!important;}
.visual-reader-overlay .reader-controls,.visual-reader-overlay .reader-footer{min-height:0;max-height:36%;overflow:auto;}
@media(max-width:600px){
 #viewer.focus-layout-v894 .viewer-top{grid-template-columns:auto minmax(0,1fr)!important;grid-template-areas:'exit title' 'timer timer' 'status status';gap:4px 8px;}
 #viewer.focus-layout-v894 .viewer-title strong{font-size:13px!important;}
 #viewer.focus-layout-v894 .viewer-top>.focus-timer{justify-self:stretch;justify-content:flex-end;width:100%!important;height:34px!important;}
 #viewer.focus-layout-v894 .focus-timer>span{margin-right:auto;}.focus-layout-v894 .focus-timer small{display:none!important;}
 #viewer.focus-layout-v894 .focus-save-status{justify-self:end;max-width:100%;font-size:10px!important;}
 #viewer.focus-layout-v894 .slide-tools-label{display:none!important;}
 #viewer.focus-layout-v894 .slide-tools-group{justify-content:flex-start;width:100%;}
 #viewer.focus-layout-v894 .viewer-body{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;}
 #viewer.focus-layout-v894 .chunk-rail{grid-column:1;grid-row:2;display:flex;flex-direction:row;align-items:center;width:100%;height:38px!important;padding:2px 5px;overflow-x:auto;overflow-y:hidden;border-top:1px solid #172435;}
 #viewer.focus-layout-v894 .chunk-btn{min-height:32px!important;min-width:38px;padding:2px;}
 #viewer.focus-layout-v894 .chunk-btn span{display:none!important;}
 #viewer.focus-layout-v894 .discussion-label{font-size:9px!important;max-width:40px;}
 #viewer.focus-layout-v894 .visual-tools{min-height:34px;}.focus-layout-v894 .source-zoom-status{font-size:9px;max-width:110px;white-space:normal;line-height:1.25;}
 #viewer.focus-layout-v894 .path-stages{display:none!important;}
 #notes-modal,#path-modal{padding:0!important;}.visual-reader-overlay .reader-header{padding:6px 9px;}.visual-reader-overlay .reader-controls{max-height:95px;overflow:auto;}.visual-reader-overlay .reader-footer{max-height:160px;overflow:auto;}.visual-reader-overlay .reader-heading h2{font-size:16px;}
}
@media(orientation:landscape) and (max-height:500px){.visual-reader-overlay .reader-header{padding:3px 9px;}.visual-reader-overlay .reader-controls{flex-wrap:nowrap;overflow:auto;max-height:46px;padding:2px 8px;}.visual-reader-overlay .reader-footer{display:flex;flex-wrap:wrap;max-height:88px;padding:3px 8px;}.visual-reader-overlay .reader-return,.visual-reader-overlay #reader-status{font-size:10px;}.visual-reader-overlay .reader-stage{margin:2px 5px;}.visual-reader-overlay button{min-height:30px;padding:4px 8px;}}
