/* V8.10.3 — final immersive geometry: no chrome over the visual, docked comparison, durable pan/zoom. */

/* ---------- Focus shell: timer always visible; secondary chrome may collapse into the layout, never float above the slide ---------- */
#viewer.focus-layout-v894{
  --mws-tools-h:64px;
  --mws-inspect-h:40px;
}
#viewer.focus-layout-v894 .viewer-top{
  grid-template-columns:auto minmax(0,1fr) auto auto auto!important;
  grid-template-areas:'exit title timer controls status'!important;
  min-height:52px!important;
  padding-block:6px!important;
  background:#050a11!important;
  border-bottom:1px solid rgba(126,190,230,.10)!important;
  z-index:20;
}
#viewer.focus-layout-v894 .viewer-tools-toggle{
  grid-area:controls;
  min-width:58px;
  height:34px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid rgba(118,171,207,.16);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:#9fb5c7;
  font:800 10px/1 system-ui,sans-serif;
  cursor:pointer;
}
#viewer.focus-layout-v894 .viewer-tools-toggle:hover,
#viewer.focus-layout-v894 .viewer-tools-toggle:focus-visible{border-color:rgba(91,211,255,.44);color:#e9f8ff;background:rgba(68,184,242,.07)}
#viewer.focus-layout-v894 .viewer-tools-toggle[aria-pressed='false']{color:#6d8396}
#viewer.focus-layout-v894 .viewer-tools-toggle span{font-size:13px;letter-spacing:2px;line-height:1}

#viewer.focus-layout-v894.immersive-viewer .slide-zone{
  padding:0!important;
  grid-template-rows:auto var(--mws-tools-h) minmax(0,1fr) var(--mws-inspect-h)!important;
  grid-template-areas:'information' 'tools' 'visual' 'inspection'!important;
  background:#000;
}
#viewer.focus-layout-v894 .visual-info{
  margin:0!important;
  padding:3px 8px!important;
  min-height:24px!important;
  background:#050a10;
  border-bottom:1px solid rgba(126,190,230,.06);
}
#viewer.focus-layout-v894.immersive-viewer .immersive-study-dock{
  min-height:var(--mws-tools-h)!important;
  height:var(--mws-tools-h)!important;
  padding:6px 8px!important;
  background:linear-gradient(180deg,#08111b,#060b12)!important;
  border-bottom:1px solid rgba(126,190,230,.09)!important;
  overflow:hidden!important;
}
#viewer.focus-layout-v894.immersive-viewer .immersive-study-dock .slide-tools-group{
  height:100%;
  min-height:0;
  align-items:center;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 1px 2px!important;
}
#viewer.focus-layout-v894.immersive-viewer .immersive-study-dock .tool-pill{
  height:44px!important;
  min-height:44px!important;
  padding:0 14px!important;
  border-radius:13px!important;
  font-size:12px!important;
}
#viewer.focus-layout-v894.immersive-viewer .immersive-study-dock .tool-primary-ai{
  height:52px!important;
  min-height:52px!important;
  padding:0 19px!important;
  font-size:13px!important;
  border-color:rgba(91,201,255,.36)!important;
  background:linear-gradient(135deg,rgba(24,126,255,.22),rgba(112,82,255,.18))!important;
  box-shadow:0 10px 24px rgba(30,95,220,.12),inset 0 1px rgba(255,255,255,.05)!important;
}
#viewer.focus-layout-v894.immersive-viewer .immersive-study-dock .tool-primary-ai .spence-ai-mark{width:24px;height:24px;flex-basis:24px}

#viewer.focus-layout-v894 #slide-viewport{
  isolation:isolate;
  background:#000!important;
  cursor:default;
  touch-action:none!important;
  overscroll-behavior:contain;
}
#viewer.focus-layout-v894 #slide-viewport[data-pannable='true']{cursor:grab}
#viewer.focus-layout-v894 #slide-viewport[data-pannable='true']:active{cursor:grabbing}
#viewer.focus-layout-v894 .immersive-zoom-dock{
  min-height:var(--mws-inspect-h)!important;
  height:var(--mws-inspect-h)!important;
  padding:3px 8px!important;
  background:#050a10;
  border-top:1px solid rgba(126,190,230,.07);
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none;
}
#viewer.focus-layout-v894 .immersive-zoom-dock::-webkit-scrollbar{display:none}
#viewer.focus-layout-v894 .source-zoom-status{margin-left:auto!important;color:#7f98ab!important;font-size:9px!important}

/* Idle state: the slide grows into the released rows. Nothing overlays the slide. */
#viewer.focus-layout-v894.chrome-minimized:not(.zoom-active):not(.ai-open):not(.notes-open):not(.pathway-open):not(.recall-active):not(.recall-compare) .slide-zone{
  grid-template-rows:0 0 minmax(0,1fr) 0!important;
}
#viewer.focus-layout-v894.chrome-minimized:not(.zoom-active):not(.ai-open):not(.notes-open):not(.pathway-open):not(.recall-active):not(.recall-compare) :is(.visual-info,.immersive-study-dock,.immersive-zoom-dock){
  min-height:0!important;height:0!important;padding-top:0!important;padding-bottom:0!important;margin:0!important;border:0!important;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden!important;
}
/* Once zoom/pan is engaged, keep only the inspection bar permanently available. */
#viewer.focus-layout-v894.chrome-minimized.zoom-active:not(.ai-open):not(.notes-open):not(.pathway-open):not(.recall-active):not(.recall-compare) .slide-zone{
  grid-template-rows:0 0 minmax(0,1fr) var(--mws-inspect-h)!important;
}
#viewer.focus-layout-v894.chrome-minimized.zoom-active :is(.visual-info,.immersive-study-dock){
  min-height:0!important;height:0!important;padding-top:0!important;padding-bottom:0!important;margin:0!important;border:0!important;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden!important;
}
#viewer.focus-layout-v894.chrome-minimized.zoom-active .immersive-zoom-dock{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

/* Side tools are layout columns, never overlays. */
#viewer.focus-layout-v894:not(.focus-mobile).ai-open .viewer-body{grid-template-columns:minmax(0,1fr) clamp(340px,var(--ai-width,410px),570px) var(--rail-w)!important}
#viewer.focus-layout-v894:not(.focus-mobile).notes-open .viewer-body,
#viewer.focus-layout-v894:not(.focus-mobile).pathway-open .viewer-body{grid-template-columns:minmax(0,1fr) clamp(340px,29vw,450px)!important}
#viewer.focus-layout-v894 :is(.notes-panel,.pathway-panel,.ai-panel){min-width:0!important;max-width:100%!important;box-shadow:none!important}

/* ---------- Reading Focus: each control surface owns a real grid row; the visual can never sit underneath it ---------- */
.visual-reader-overlay{overflow:hidden!important;background:#02060b!important}
.visual-reader-dialog{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(58px,auto) minmax(54px,auto) auto minmax(0,1fr) minmax(66px,auto)!important;
  grid-template-areas:'head' 'controls' 'selection' 'stage' 'foot'!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  isolation:isolate;
}
.reader-header{grid-area:head!important;position:relative!important;z-index:3!important;min-width:0!important;background:#07101a!important}
.reader-heading{min-width:0!important;overflow:hidden}.reader-heading h2{max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.reader-controls{
  grid-area:controls!important;
  position:relative!important;
  z-index:3!important;
  display:grid!important;
  grid-template-columns:auto minmax(160px,240px) auto auto minmax(120px,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  min-height:54px!important;
  padding:6px 12px!important;
  background:#08111b!important;
  border-bottom:1px solid #1b2d3d!important;
  overflow:visible!important;
}
.reader-controls>*{min-width:0!important}.reader-controls>select{width:100%!important}.reader-controls>button{white-space:nowrap!important}
.reader-help{justify-self:end!important;min-width:0!important;margin:0!important}
.reader-help[open]{grid-column:1/-1!important;max-height:24dvh!important;overflow:auto!important;margin:0!important;padding:9px 12px!important;background:#0b1926!important;box-shadow:none!important}
.reader-select-tools{grid-area:selection!important;position:relative!important;z-index:2!important;margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;max-height:27dvh!important;overflow:auto!important}
.reader-stage{grid-area:stage!important;position:relative!important;z-index:1!important;min-width:0!important;min-height:0!important;margin:6px 8px!important;overflow:hidden!important;isolation:isolate}
.reader-frame{width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.reader-footer{
  grid-area:foot!important;
  position:relative!important;
  z-index:3!important;
  min-height:66px!important;
  max-height:none!important;
  padding:7px 12px 9px!important;
  overflow:auto!important;
  background:#07101a!important;
}

/* ---------- Memory Loop compare: dock beside visual on desktop; never cover it ---------- */
#viewer.focus-layout-v894.recall-compare .viewer-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) clamp(330px,27vw,420px)!important;
  grid-template-rows:minmax(0,1fr)!important;
  overflow:hidden!important;
  background:#000;
}
#viewer.focus-layout-v894.recall-compare .slide-zone{
  position:relative!important;
  inset:auto!important;
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  grid-template-areas:'visual'!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
}
#viewer.focus-layout-v894.recall-compare .slide-zone>:not(.slide-viewport){display:none!important}
#viewer.focus-layout-v894.recall-compare .slide-viewport{grid-area:visual!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;background:#000!important}
#viewer.focus-layout-v894.recall-compare :is(.chunk-rail,.notes-panel,.pathway-panel,.ai-panel){display:none!important}
#viewer.focus-layout-v894.recall-compare:not(.compare-visual-only) .recall-panel{
  position:relative!important;
  inset:auto!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:auto!important;
  border:0!important;
  border-left:1px solid rgba(97,177,228,.18)!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#08131e,#060b12)!important;
  box-shadow:none!important;
}
#viewer.focus-layout-v894.recall-compare .recall-verdict-stage{
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  padding:24px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
#viewer.focus-layout-v894.recall-compare .recall-sprint-head{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important;margin:0 0 10px!important;padding:0!important}
#viewer.focus-layout-v894.recall-compare .recall-step{display:inline-flex!important;align-items:center!important;gap:5px!important;white-space:nowrap!important;margin:0!important}
#viewer.focus-layout-v894.recall-compare .recall-verdict-stage h2{margin:4px 0 7px!important;font-size:24px!important;line-height:1.12!important}
#viewer.focus-layout-v894.recall-compare .recall-small{margin:0 0 14px!important;font-size:11px!important;line-height:1.5!important}
#viewer.focus-layout-v894.recall-compare .recall-verdicts{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;margin:4px 0 0!important}
#viewer.focus-layout-v894.recall-compare .recall-verdict{
  min-width:0!important;
  min-height:62px!important;
  padding:10px 10px 10px 13px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  gap:10px!important;
  overflow:hidden!important;
  text-align:left!important;
}
#viewer.focus-layout-v894.recall-compare .recall-verdict-copy{display:grid!important;gap:3px!important;min-width:0!important}
#viewer.focus-layout-v894.recall-compare .recall-verdict-copy b{display:block!important;min-width:0!important;font-size:14px!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
#viewer.focus-layout-v894.recall-compare .recall-verdict-copy small{display:block!important;min-width:0!important;color:#8fa6b8!important;font-size:10px!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important}
#viewer.focus-layout-v894.recall-compare .recall-verdict kbd{position:static!important;transform:none!important;flex:none!important;align-self:center!important}
#viewer.focus-layout-v894.recall-compare .memory-auto{margin:12px 0 0!important;line-height:1.4!important;color:#6f899d!important}

/* ---------- Connected pathway cue everywhere the learner sees a slide ---------- */
.session-next-title{display:flex;align-items:center;gap:8px;min-width:0}.session-next-title>strong{min-width:0;overflow:hidden;text-overflow:ellipsis}
.session-pathway-indicator,.queue-pathway-star{
  display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:8px;border:1px solid rgba(255,215,113,.22);background:rgba(255,196,57,.07);color:#ffd269;font-size:12px;line-height:1;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.queue-item{position:relative!important}.queue-pathway-star{position:absolute;top:8px;right:54px;z-index:2}
.queue-item.has-pathway:hover .queue-pathway-star,.queue-item.has-pathway:focus-visible .queue-pathway-star,
.session-next-title:hover .session-pathway-indicator{transform:scale(1.1) rotate(7deg);background:rgba(255,196,57,.14);border-color:rgba(255,226,154,.55);box-shadow:0 0 18px rgba(255,194,49,.16)}

@media(max-width:1100px){
  #viewer.focus-layout-v894 .viewer-top{grid-template-columns:auto minmax(0,1fr) auto auto!important;grid-template-areas:'exit title timer controls'!important}
  #viewer.focus-layout-v894 .focus-save-status{display:none!important}
  .reader-controls{grid-template-columns:auto minmax(150px,1fr) auto auto!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:none}.reader-help{display:none!important}
}
@media(max-width:760px){
  #viewer.focus-layout-v894 .viewer-tools-toggle b{display:none}.viewer-tools-toggle{min-width:40px!important;width:40px!important;padding:0!important}
  #viewer.focus-layout-v894.recall-compare .viewer-body{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important}
  #viewer.focus-layout-v894.recall-compare .slide-zone{grid-column:1!important;grid-row:1!important}
  #viewer.focus-layout-v894.recall-compare:not(.compare-visual-only) .recall-panel{grid-column:1!important;grid-row:2!important;width:100%!important;height:auto!important;max-height:42dvh!important;border-left:0!important;border-top:1px solid rgba(97,177,228,.18)!important}
  #viewer.focus-layout-v894.recall-compare .recall-verdict-stage{min-height:0!important;padding:13px!important;justify-content:flex-start!important}
  #viewer.focus-layout-v894.recall-compare .recall-verdicts{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  #viewer.focus-layout-v894.recall-compare .recall-verdict{min-height:58px!important;padding:8px!important;grid-template-columns:minmax(0,1fr)!important;text-align:center!important}
  #viewer.focus-layout-v894.recall-compare .recall-verdict kbd{display:none!important}
  #viewer.focus-layout-v894.recall-compare .recall-verdict-copy small{display:none!important}
  .reader-footer{grid-template-columns:minmax(0,1fr) auto!important}
}
@media(max-width:560px){
  #viewer.focus-layout-v894{--mws-tools-h:58px;--mws-inspect-h:38px}
  #viewer.focus-layout-v894 .viewer-top{grid-template-columns:auto minmax(0,1fr) auto auto!important;grid-template-areas:'exit title timer controls'!important;min-height:48px!important}
  #viewer.focus-layout-v894 .viewer-tools-toggle{position:static!important;right:auto!important;bottom:auto!important;z-index:auto!important;background:rgba(255,255,255,.025)!important;box-shadow:none!important}
  .reader-controls{grid-template-columns:minmax(140px,1fr) auto!important}.reader-controls>label,.reader-controls>[data-reader-region='overview']{display:none!important}
  .reader-header{min-height:56px!important}.reader-stage{margin:4px!important}.reader-footer{max-height:34dvh!important}
  .queue-pathway-star{right:42px}
}
@media(orientation:landscape) and (max-height:700px){
  #viewer.focus-layout-v894{--mws-tools-h:54px;--mws-inspect-h:36px}
  #viewer.focus-layout-v894 .viewer-top{min-height:44px!important;padding-block:3px!important}
  #viewer.focus-layout-v894.immersive-viewer .immersive-study-dock .tool-primary-ai{height:46px!important;min-height:46px!important}
  .visual-reader-dialog{grid-template-rows:minmax(46px,auto) minmax(46px,auto) auto minmax(0,1fr) minmax(54px,auto)!important}
  .reader-header{min-height:46px!important;padding:5px 10px!important}.reader-controls{min-height:46px!important;padding:4px 8px!important}.reader-stage{margin:3px 5px!important}.reader-footer{min-height:54px!important;padding:4px 8px!important}
  #viewer.focus-layout-v894.recall-compare .recall-verdict-stage{padding:14px!important}
}
@media(prefers-reduced-motion:reduce){.session-pathway-indicator,.queue-pathway-star{transition:none!important}}
