.lesson-mode-switch {
  display: flex;
  width: fit-content;
  margin: 18px 0 12px;
  padding: 4px;
  border: 1px solid rgba(47, 129, 121, .14);
  border-radius: 999px;
  background: rgba(251, 247, 237, .72);
  box-shadow: 0 8px 24px rgba(23, 79, 76, .07);
  backdrop-filter: blur(14px);
}

.lesson-mode-button {
  border: 0;
  border-radius: 999px;
  padding: 8px 15px;
  background: transparent;
  color: rgba(23, 79, 76, .66);
  font-size: 13px;
  cursor: pointer;
}

.lesson-mode-button.is-active {
  background: linear-gradient(135deg, #236e68, #3d9188);
  color: #fff;
  box-shadow: 0 5px 14px rgba(23, 79, 76, .18);
}

.lesson-slide-player { margin: 0 0 18px; }
.has-slide-deck .focus-day > h1,
.has-slide-deck .focus-day > .step-companion,
.has-slide-deck .focus-day > .micro-subtitle,
.has-slide-deck .focus-day > .micro-quote,
.has-slide-deck .focus-day > .media-note { display: none; }
.has-slide-deck .focus-day > .eyebrow { margin-bottom: 6px; }
.has-slide-deck .lesson-mode-switch { margin-top: 10px; }
.lesson-slide-view[hidden], .lesson-audio-view[hidden], .lesson-video-view[hidden], .lesson-audio-panel[hidden] { display: none; }
.lesson-video-audio-player .media-shell { margin: 0; }
.lesson-video-audio-player .guided-media { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #102b2a; border-radius: 22px; }
.lesson-video-audio-player .lesson-audio-panel .brand-audio-player { margin-top: 14px; }
.lesson-slide-stage {
  position: relative;
  display: flex;
  align-items: center;
  aspect-ratio: 16 / 9;
  min-height: 270px;
  overflow: hidden;
  border-radius: 26px;
  isolation: isolate;
  background-color: #cfe4e4;
  background-position: center;
  background-size: cover;
  box-shadow: 0 20px 50px rgba(20, 68, 66, .18);
  color: #174f4c;
  transition: background-image .45s ease, opacity .25s ease;
}

.lesson-slide-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(247, 244, 232, .92) 0%, rgba(247, 244, 232, .72) 40%, rgba(247, 244, 232, .08) 72%);
}

.lesson-slide-stage[data-theme="evening-tension"] { color: #f9f3e7; }
.lesson-slide-stage[data-theme="evening-tension"]::before { background: linear-gradient(90deg, rgba(16, 49, 59, .9), rgba(19, 56, 67, .62) 45%, rgba(16, 38, 45, .04) 76%); }
.lesson-slide-stage[data-theme="calm-ocean"]::before { background: linear-gradient(90deg, rgba(248, 246, 236, .9), rgba(248, 246, 236, .58) 42%, rgba(248, 246, 236, .04) 72%); }

.lesson-slide-copy {
  box-sizing: border-box;
  width: min(58%, 560px);
  padding: clamp(22px, 5vw, 54px);
  text-shadow: 0 1px 16px rgba(255,255,255,.22);
}

.lesson-slide-number { display: block; margin-bottom: 8px; font-size: 11px; letter-spacing: .18em; opacity: .68; }
.lesson-slide-copy h2 { margin: 0; font-family: "Songti SC", STSong, serif; font-size: clamp(22px, 3.2vw, 37px); font-weight: 600; line-height: 1.25; letter-spacing: .02em; }
.lesson-slide-subtitle { margin: 11px 0 0; font-size: clamp(14px, 1.7vw, 20px); font-weight: 500; line-height: 1.65; }
.lesson-slide-bullets { display: grid; gap: 6px; margin: 13px 0 0; padding: 0; list-style: none; }
.lesson-slide-bullets li { position: relative; padding-left: 15px; font-size: clamp(12px, 1.4vw, 16px); line-height: 1.55; }
.lesson-slide-bullets li::before { content: ""; position: absolute; left: 0; top: .7em; width: 5px; height: 5px; border-radius: 50%; background: #c99a4a; }
.lesson-slide-quote { margin: 14px 0 0; padding-left: 12px; border-left: 2px solid rgba(201,154,74,.78); font-family: "Songti SC", STSong, serif; font-size: clamp(13px, 1.5vw, 17px); line-height: 1.6; }
.lesson-slide-footer { display: block; margin-top: 17px; font-size: 10px; letter-spacing: .08em; opacity: .65; }

.lesson-slide-toolbar { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 10px; align-items: center; margin-top: 13px; }
.lesson-slide-nav {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(47,129,121,.18);
  border-radius: 50%;
  background: rgba(251,247,237,.82);
  color: #236e68;
  font-size: 20px;
  cursor: pointer;
}
.lesson-slide-nav:disabled { opacity: .3; cursor: default; }
.lesson-slide-position { text-align: center; }
.lesson-slide-position b { display: block; color: #174f4c; font-size: 13px; font-weight: 600; }
.lesson-slide-dots { display: flex; justify-content: center; gap: 7px; margin-top: 7px; }
.lesson-slide-dot { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: rgba(47,129,121,.23); cursor: pointer; transition: width .2s, background .2s; }
.lesson-slide-dot.is-active { width: 20px; border-radius: 999px; background: #c99a4a; }
.lesson-slide-caption { margin: 13px 3px 0; padding: 11px 14px; border-left: 2px solid rgba(201,154,74,.58); color: rgba(23,79,76,.74); font-size: 13px; line-height: 1.7; background: linear-gradient(90deg, rgba(251,247,237,.56), transparent); }

.lesson-audio-view {
  min-height: 230px;
  overflow: hidden;
  border-radius: 26px;
  background-position: center;
  background-size: cover;
  box-shadow: 0 18px 46px rgba(20,68,66,.15);
}
.lesson-audio-view-inner { display: flex; min-height: 230px; align-items: end; padding: 24px; background: linear-gradient(180deg, transparent 15%, rgba(19,70,69,.76)); color: white; }
.lesson-audio-view-inner span { display: block; margin-bottom: 5px; font-size: 11px; letter-spacing: .14em; opacity: .76; }
.lesson-audio-view-inner b { display: block; max-width: 560px; font-family: "Songti SC", STSong, serif; font-size: 21px; line-height: 1.45; }
.lesson-slide-player > .brand-audio-player { margin: 16px 3px 0; padding: 15px 16px; border-radius: 20px; background: rgba(251,247,237,.72); box-shadow: 0 9px 28px rgba(23,79,76,.08); backdrop-filter: blur(12px); }

@media (max-width: 560px) {
  .lesson-slide-stage { min-height: 360px; aspect-ratio: 1 / 1.12; align-items: end; background-position: 62% center; }
  .lesson-slide-stage::before { background: linear-gradient(0deg, rgba(247,244,232,.96) 0%, rgba(247,244,232,.84) 48%, rgba(247,244,232,.06) 78%); }
  .lesson-slide-stage[data-theme="evening-tension"]::before { background: linear-gradient(0deg, rgba(14,45,55,.96), rgba(16,49,59,.78) 50%, rgba(16,38,45,.06) 80%); }
  .lesson-slide-copy { width: 100%; padding: 22px; }
  .lesson-slide-copy h2 { font-size: 23px; }
  .lesson-slide-bullets { grid-template-columns: 1fr 1fr; gap: 4px 10px; }
  .lesson-slide-footer { margin-top: 10px; }
}
