/* Shared video library. All colors inherit the common school cabinet. */
.hub-videos .hub-intro { margin-bottom: 28px; }
.student-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.student-video-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: var(--cabinet-panel); }
.student-video-play { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 0; border-bottom: 1px solid var(--line); background: #101725; color: #fff; text-align: left; aspect-ratio: 16 / 9; }
.student-video-play img { display: block; width: 100%; height: 100%; object-fit: cover; }
.student-video-play::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0a102000 42%, #0a10205c); pointer-events: none; }
.student-video-play-symbol { position: absolute; z-index: 1; inset: 50% auto auto 50%; display: grid; width: 64px; height: 64px; padding-left: 3px; place-items: center; transform: translate(-50%, -50%); border: 1px solid #e7dfff75; border-radius: 50%; background: #242137dd; box-shadow: 0 6px 28px #05071455; color: #eee8ff; font-size: 25px; transition: background .15s, transform .15s; }
.student-video-play:hover .student-video-play-symbol { background: #554780; transform: translate(-50%, -50%) scale(1.05); }
.student-video-play[aria-pressed="true"] .student-video-play-symbol { background: #675393; }
.student-video-duration { position: absolute; z-index: 1; right: 16px; bottom: 14px; padding: 5px 8px; border-radius: 7px; background: #111726e6; color: #f6f6fa; font-size: 12px; font-weight: 650; font-variant-numeric: tabular-nums; }
.student-video-copy { padding: 23px 26px 25px; }
.student-video-copy .eyebrow { display: block; margin-bottom: 10px; }
.student-video-copy h2 { margin: 0 0 10px; font-size: clamp(21px, 2.1vw, 28px); line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; }
.student-video-copy p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.student-video-player { min-width: 0; margin-bottom: 28px; padding: 24px; border: 1px solid #695b91; border-radius: 24px; background: var(--cabinet-panel); }
.student-video-player[hidden] { display: none; }
.student-video-player-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.student-video-player-heading h2 { margin: 6px 0 0; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; }
.student-video-close { display: grid; flex: 0 0 auto; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #242c40; color: var(--ink); font-size: 25px; }
.student-video-close:hover { background: #30364d; }
.student-video-player video { display: block; width: 100%; height: auto; max-height: 70vh; aspect-ratio: 16 / 9; border-radius: 12px; background: #080b12; object-fit: contain; }
.student-video-player-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 16px; }
.student-video-quality { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 10px; min-width: 0; color: var(--muted); font-size: 13px; }
.student-video-quality select { min-height: 44px; max-width: 100%; padding: 8px 32px 8px 12px; border: 1px solid #655a83; border-radius: 10px; background: #222b3d; color: var(--ink); font: inherit; }
.student-video-quality select:disabled { opacity: .65; }
.student-video-player-footer > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.student-video-status { margin: 16px 0 0; color: #d5caff; font-size: 14px; line-height: 1.5; }
.student-video-retry { min-height: 44px; margin-top: 14px; padding: 10px 16px; border: 1px solid #766996; border-radius: 10px; background: #2e2844; color: #eee8ff; font: inherit; font-size: 13px; }
.student-video-retry:hover { background: #3e335c; }
.student-video-player :is(button, select, video):focus-visible, .student-video-play:focus-visible { outline: 3px solid var(--cabinet-accent); outline-offset: 4px; }
@media (max-width: 680px) {
  .student-video-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .student-video-card { border-radius: 20px; }
  .student-video-copy { padding: 20px; }
  .student-video-copy h2 { font-size: 24px; }
  .student-video-player { margin-bottom: 22px; padding: 16px; border-radius: 20px; }
  .student-video-player-heading { gap: 12px; }
  .student-video-player-footer { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .student-video-play-symbol { transition: none; } }
