.lesson03-video {
  margin: 0 0 22px;
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--paper);
  box-shadow: 0 8px 28px #0f172a0a;
}
.lesson03-video h2 { margin: 5px 0 0; padding: 0; border: 0; font-size: clamp(1.25rem, 2vw, 1.6rem); }
.lesson03-video-eyebrow { color: var(--blue-deep); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lesson03-video-fallback { margin: 15px 0 0; color: var(--muted); line-height: 1.5; }
.lesson03-video-ready { margin-top: 16px; }
.lesson03-video-ready[hidden] { display: none; }
.lesson03-video-frame { overflow: hidden; border-radius: 12px; background: #0f172a; }
.lesson03-video-frame video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #0f172a; }
.lesson03-video-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.lesson03-video-tools button, .lesson03-video-tools select {
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--blue-soft);
  color: var(--blue-deep);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.lesson03-video-tools button:disabled { opacity: .55; cursor: not-allowed; }
.lesson03-video-tools label { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
@media (max-width: 620px) { .lesson03-video { padding: 18px 16px; } .lesson03-video-tools { gap: 8px; } }
@media print { .lesson03-video { display: none; } }
