/* V14 — a shared, resizable assistant rail. Load after all layout themes.
 * Resizes only the rail and its layout reservation; text is never scaled.
 */
body.assistant-resize-enabled {
  --assistant-panel-width:336px;
  --assistant-resize-ink:#49636b;
  --assistant-resize-line:#9aafb5;
}
body.assistant-resize-enabled .assistant-resize-handle {
  position:absolute;inset:0 auto 0 -7px;width:14px;z-index:15;
  cursor:ew-resize;touch-action:none;user-select:none;
  outline:none;background:transparent;
}
body.assistant-resize-enabled .assistant-resize-handle::before {
  content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;
  background:var(--assistant-resize-line);opacity:0;
  transition:opacity 150ms ease;
}
body.assistant-resize-enabled .assistant-resize-handle::after {
  content:"";position:absolute;left:4px;top:calc(var(--assistant-grab-y,50%) - 18px);
  width:4px;height:36px;border-radius:4px;
  background:var(--assistant-resize-line);opacity:.6;
  transition:background-color 150ms ease,opacity 150ms ease;
}
body.assistant-resize-enabled .assistant-resize-handle:is(:hover,:focus-visible)::before {opacity:.7}
body.assistant-resize-enabled .assistant-resize-handle:is(:hover,:focus-visible)::after {
  background:var(--assistant-resize-ink);opacity:1;
}
body.assistant-resize-enabled .assistant-resize-handle:focus-visible {
  outline:2px solid var(--assistant-resize-ink)!important;outline-offset:-2px;
}
body.assistant-resize-enabled .assistant-resize-tip {
  position:absolute;top:calc(var(--assistant-grab-y,50%) - 17px);right:18px;
  padding:5px 8px;border-radius:7px;border:1px solid #c3d0d3;
  background:#fff;color:#354f57;box-shadow:0 3px 12px #24383f15;
  font:14px/20px var(--course-font,"Times New Roman",serif);white-space:nowrap;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity 150ms ease;
}
body.assistant-resize-enabled .assistant-resize-handle:focus-visible .assistant-resize-tip,
body.assistant-resize-enabled.assistant-resizing .assistant-resize-tip {
  opacity:1;visibility:visible;
}
body.assistant-resize-enabled .assistant-resize-panel {overflow:visible}
body.assistant-resize-enabled .assistant-resize-panel>.assistant-messages {min-height:0;overflow:auto}
body.assistant-resize-enabled .assistant-resize-panel::before {
  content:"";position:absolute;pointer-events:none;z-index:1;
  left:calc(-1 * var(--assistant-edge-stretch,0px));
  top:calc(var(--assistant-grab-y,50%) - 90px);
  width:calc(var(--assistant-edge-stretch,0px) + 2px);height:180px;
  border-radius:50% 0 0 50%;background:#78939c24;
  opacity:0;transition:opacity 150ms ease,width 180ms cubic-bezier(.22,1,.36,1),left 180ms cubic-bezier(.22,1,.36,1);
}
body.assistant-resizing .assistant-resize-panel.is-resizing {
  box-shadow:-7px 0 24px #24383f14;
}
body.assistant-resizing .assistant-resize-panel.is-resizing::before {opacity:1}
body.assistant-resizing .assistant-resize-handle::before {opacity:1}
body.assistant-resizing .assistant-resize-handle::after {background:var(--assistant-resize-ink);opacity:1}
body.assistant-resizing,body.assistant-resizing * {cursor:ew-resize!important;user-select:none!important}
.assistant-resize-shield {position:fixed;inset:0;z-index:2147482000;cursor:ew-resize;touch-action:none;background:transparent}

@media(min-width:1101px) {
  html body.course-new.assistant-resize-enabled {--assistant-width:var(--assistant-panel-width)}
  html body.course-new.assistant-resize-enabled #site-header {margin-right:var(--assistant-panel-width)!important}
  html body.course-new.assistant-resize-enabled main.page-shell {width:calc(100% - var(--assistant-panel-width))!important}
  html body.course-new.assistant-resize-enabled>.lab-assistant {width:var(--assistant-panel-width)!important}
  html body.v04-lab.assistant-resize-enabled:not([data-start="overview"])>.lab-layout {
    grid-template-columns:minmax(0,1fr) var(--assistant-panel-width)!important;
  }
  html body.v04-lab.assistant-resize-enabled:not([data-start="overview"])>.lab-layout>.lab-assistant {
    position:relative;width:var(--assistant-panel-width)!important;
  }
  html body.mission-home.assistant-resize-enabled>.lab-assistant,
  html body[data-start="overview"].assistant-resize-enabled>.lab-layout>.lab-assistant {
    width:var(--assistant-panel-width)!important;
  }
  /* Explicitly hidden rails never reserve an empty column. */
  html body.course-new.assistant-resize-enabled:has(>.lab-assistant[hidden]) #site-header {margin-right:0!important}
  html body.course-new.assistant-resize-enabled:has(>.lab-assistant[hidden]) main.page-shell {width:100%!important}
  html body.v04-lab.assistant-resize-enabled>.lab-layout:has(>.lab-assistant[hidden]) {grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:1100px) {
  html body.assistant-resize-enabled .assistant-resize-handle {display:none!important}
  html body.assistant-resize-enabled {--assistant-width:0px}
  html body.course-new.assistant-resize-enabled #site-header {margin-right:0!important}
  html body.course-new.assistant-resize-enabled main.page-shell {width:100%!important}
  html body.v04-lab.assistant-resize-enabled>.lab-layout {grid-template-columns:minmax(0,1fr)!important}
  html body.assistant-resize-enabled .lab-assistant {width:min(340px,100vw)!important}
}
@media(prefers-reduced-motion:reduce) {
  body.assistant-resize-enabled .assistant-resize-panel::before {display:none!important}
  body.assistant-resize-enabled .assistant-resize-handle::before,
  body.assistant-resize-enabled .assistant-resize-handle::after,
  body.assistant-resize-enabled .assistant-resize-tip {transition:none!important}
}
