.related-video-links { margin-block:1.2rem; padding-block-start:1rem; border-top:1px solid #c8d9e2; font-family:Arial,Helvetica,sans-serif; }
.related-video-links h3 { margin:0 0 .6rem; font-size:1rem; }
.related-video-links ul { margin:0; padding:0; list-style:none; display:grid; gap:.8rem; }
.related-video-links a { color:#075f86; text-decoration:underline; text-underline-offset:3px; font-weight:700; overflow-wrap:anywhere; }
.related-video-links small { display:block; margin-top:.2rem; font-size:.82rem; color:#435b6c; }
.related-video-links a:focus-visible { outline:3px solid #f4bf36; outline-offset:3px; }
.video-context-menu { position:relative; flex:0 0 auto; font:700 15px/1.35 Arial,Helvetica,sans-serif; }
/* Some older tools give only native buttons a touch height. This low-specificity
   fallback fills that gap while inheriting every existing compact header rule. */
:where(.video-context-menu) > summary { min-height:var(--touch,48px); border-color:#263d51; background:#122436; color:#fff; }
:where(.video-context-menu > summary:focus-visible) { outline:3px solid #8fd8f3; outline-offset:3px; }
.video-context-menu > summary.icon-button { display:flex; align-items:center; justify-content:center; padding:0; box-sizing:border-box; list-style:none; border-width:2px; border-style:solid; border-radius:8px; font:inherit; cursor:pointer; }
.video-context-menu > summary::-webkit-details-marker { display:none; }
.video-context-menu .video-context-list { position:fixed; z-index:200; width:min(360px, calc(100vw - 24px)); box-sizing:border-box; margin:0; padding:7px; border:2px solid #36546b; border-radius:8px; background:#102332; color:#fff; list-style:none; overflow-y:auto; overscroll-behavior:contain; box-shadow:0 8px 24px #10212f33; }
.video-context-menu .video-context-list a { display:block; padding:11px; border-radius:5px; color:#fff; text-align:left; white-space:normal; overflow-wrap:anywhere; text-decoration:none; line-height:1.4; }
.video-context-menu .video-context-list a:hover { background:#173247; }
.video-context-menu .video-context-list a:focus-visible { outline:3px solid #8fd8f3; outline-offset:-2px; }
.video-context-list strong { display:block; font-size:15px; }
.video-context-list small { display:block; margin-top:5px; color:#b9cfdf; font-size:13px; font-weight:400; }
@media screen {
  [data-video-context-header] { flex-wrap:wrap; min-width:0; }
  [data-video-context-shell] { min-width:0; }
}
@media screen and (max-width:900px) {
  .topbar[data-video-context-shell] { grid-template-columns:minmax(0,1fr); }
  .header[data-video-context-shell] .brand-panel { grid-template-columns:minmax(0,1fr); }
  :is(.topbar, .header) [data-video-context-header] { justify-content:flex-start; }
  .teacher-shell--board[data-video-context-shell] { flex-wrap:wrap; }
  .teacher-shell--board[data-video-context-shell] .teacher-shell-actions { flex:1 1 100%; min-width:0; }
  .teacher-shell--board [data-video-context-header] { justify-content:flex-start; }
}
@media print { .related-video-links, .video-context-menu { display:none!important; } }
