.hls-player{position:relative;isolation:isolate}.hls-player>.class-video{width:100%;aspect-ratio:16/9;min-height:0;background:#15191d;object-fit:contain}.lesson-playback-notice{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 0}.lesson-playback-notice p{margin:0;font-size:14px}.lesson-playback-notice [role=alert]{color:var(--error)}.lesson-playback-notice small{width:100%;color:var(--muted)}.lesson-tap-zones{position:absolute;inset:0 0 54px;pointer-events:none}.lesson-tap-zone{display:none;position:absolute;inset-block:0;width:34%;pointer-events:auto;touch-action:pan-y pinch-zoom}.lesson-tap-zone.left{left:0}.lesson-tap-zone.right{right:0}.lesson-seek-feedback{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%) scale(.96);opacity:0;background:#15191de6;color:#fff;border-radius:16px;padding:12px 18px;pointer-events:none;transition:opacity 140ms ease-out,transform 180ms ease-out;font-variant-numeric:tabular-nums}.lesson-seek-feedback.active{opacity:1;transform:translate(-50%,-50%) scale(1)}.lesson-player-actions{display:none}.lesson-player-actions button{min-width:64px;min-height:44px;border:0;border-radius:16px;background:var(--surface-2);color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}.lesson-player-actions button:active{transform:scale(.97)}.lesson-player-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hls-player-status{max-width:calc(100% - 28px);border-radius:12px;background:#15191de6;color:#fff}@media(pointer:coarse){.lesson-tap-zone{display:block}.lesson-player-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.lesson-tap-zones{bottom:106px}}@media(max-width:767px){.learning-content{min-width:0}.mobile-lesson-outline{display:flex;width:100%;min-height:48px;gap:10px;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface-2);border:0;border-radius:16px;color:var(--ink);font-size:15px;font-weight:650}.mobile-lesson-outline:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.outline-open .mobile-learning-list{display:block;max-height:52dvh;overflow:auto;overscroll-behavior:contain;padding:8px 0 14px;border:0}.mobile-learning-list input{font-size:16px;min-height:44px}.mobile-learning-list details>button{min-height:48px;font-size:14px;padding:12px 10px}.mobile-learning-list details>button small{font-size:12px}.hls-player-status{font-size:12px}.lesson-playback-notice{gap:10px}.classroom-heading{margin-bottom:14px}}@media(prefers-reduced-motion:reduce){.lesson-seek-feedback{transition:none}.lesson-player-actions button:active{transform:none}}

/* Shared source video. The moving identifier remains a DOM overlay. */
.hls-player .lesson-player-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}
.hls-player .lesson-player-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:999px;transition:background-color 180ms cubic-bezier(.65,0,.35,1),transform 160ms cubic-bezier(.65,0,.35,1)}
@media(pointer:fine){.hls-player .lesson-player-actions button:not(:last-child){display:none}}
.hls-player>.class-video::-webkit-media-controls-fullscreen-button{display:none!important}
.hls-player:fullscreen,.hls-player:-webkit-full-screen{display:flex;align-items:center;justify-content:center;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden;box-sizing:border-box;background:#000;margin:0;padding:0}
.hls-player:fullscreen>.class-video,.hls-player:-webkit-full-screen>.class-video{width:100%;height:100%;max-height:100dvh;aspect-ratio:auto;object-fit:contain;border-radius:0}
.hls-player:fullscreen .lesson-player-actions,.hls-player:-webkit-full-screen .lesson-player-actions{position:absolute;right:12px;bottom:66px;z-index:8;padding:0}
.hls-player:fullscreen .lesson-player-actions button,.hls-player:-webkit-full-screen .lesson-player-actions button{background:#182125d9;color:#fff}
.hls-player .hls-session-mark{position:absolute;top:var(--arq-mark-top,12px);left:var(--arq-mark-left,12px);right:auto;bottom:auto;z-index:6;max-width:calc(100% - 24px);padding:5px 8px;pointer-events:none;white-space:normal;overflow-wrap:anywhere;background:#0e171a35;color:#ffffffb8;border-radius:6px;font-size:clamp(9px,1.1vw,12px);line-height:1.3;animation:arq-player-mark-path 86s cubic-bezier(.65,0,.35,1) infinite}
.hls-player .player-fullscreen-error{position:absolute;left:12px;bottom:64px;z-index:9;max-width:calc(100% - 24px);padding:8px 12px;border-radius:12px;background:#15191de6;color:#fff;font-size:13px}
@keyframes arq-player-mark-path{0%,100%{transform:translate(0,0)}16%{transform:translate(calc(var(--arq-mark-x,0px)*.84),calc(var(--arq-mark-y,0px)*.08))}33%{transform:translate(var(--arq-mark-x,0px),calc(var(--arq-mark-y,0px)*.78))}50%{transform:translate(calc(var(--arq-mark-x,0px)*.55),var(--arq-mark-y,0px))}66%{transform:translate(0,calc(var(--arq-mark-y,0px)*.7))}84%{transform:translate(calc(var(--arq-mark-x,0px)*.2),calc(var(--arq-mark-y,0px)*.2))}}
@media(prefers-reduced-motion:reduce){.hls-player .hls-session-mark{animation:none;transform:none}.hls-player .lesson-player-actions button{transition:none}}

/* Compact recorded runtime in both enrolled and demo course outlines. */
.learning-outline .outline-course-duration{display:block;margin:-10px 0 14px;color:var(--muted);font-size:13px;line-height:1.45;font-variant-numeric:tabular-nums}
.learning-outline .outline-module-title{flex:1;min-width:0;overflow-wrap:anywhere}
.learning-outline .outline-module-duration{flex:none;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.learning-outline .outline-module-duration+svg{flex:none;margin-left:0}
.learning-outline details{border-bottom:0}

/* Integrated course controls. Existing course layout, source and watermark path remain. */
.hls-player.arq-youtube-player{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/9;background:#080a0d;border-radius:16px;color:#fff;line-height:1.3}
.arq-youtube-player:focus-visible{outline:2px solid var(--accent,#239d81);outline-offset:4px}
.hls-player.arq-youtube-player>.class-video{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:16/9;object-fit:contain;background:#080a0d;border-radius:0}
.arq-player-surface{position:absolute;inset:0;z-index:1;touch-action:pan-y pinch-zoom;cursor:pointer}
.arq-youtube-player[data-controls=hidden] .arq-player-surface{cursor:none}
.arq-player-center{position:absolute;left:50%;top:46%;z-index:3;display:grid;place-items:center;width:64px;height:64px;padding:0!important;border:0!important;border-radius:50%!important;background:#12171b9c!important;color:#fff!important;transform:translate(-50%,-50%);opacity:1;cursor:pointer;transition:opacity 150ms cubic-bezier(.23,1,.32,1),background-color 150ms ease}
.arq-player-center svg{width:30px;height:30px}
.arq-youtube-player[data-paused=true] .arq-player-center svg{margin-left:3px}
.arq-youtube-player[data-controls=hidden] .arq-player-center{opacity:0;pointer-events:none}
.arq-player-center:active{transform:translate(-50%,-50%) scale(.96)}
.arq-player-controls{position:absolute;inset:auto 0 0;z-index:8;padding:34px 16px max(7px,env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(0,0,0,.76));opacity:1;transition:opacity 160ms cubic-bezier(.23,1,.32,1);pointer-events:auto}
.arq-youtube-player[data-controls=hidden] .arq-player-controls{opacity:0;pointer-events:none}
.arq-player-seek{position:relative;height:24px;display:flex;align-items:center;width:100%}
.arq-player-track{position:absolute;left:0;right:0;top:10px;height:4px;background:#ffffff38;border-radius:999px;overflow:hidden;pointer-events:none}
.arq-player-track>span{position:absolute;inset:0 auto 0 0;display:block;border-radius:inherit;will-change:width}
.arq-player-buffer{background:#ffffff54}
.arq-player-played{background:var(--accent,#239d81)}
.arq-player-seek input[type=range]{position:relative;z-index:1;display:block;width:100%;height:24px;min-height:24px;padding:0;margin:0;border:0;background:transparent!important;appearance:none;-webkit-appearance:none;cursor:pointer;touch-action:none;box-shadow:none!important}
.arq-player-seek input[type=range]::-webkit-slider-runnable-track{height:4px;background:transparent;border:0}
.arq-player-seek input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-4.5px;border:0;border-radius:50%;background:var(--accent,#239d81);box-shadow:0 0 0 2px #0002}
.arq-player-seek input[type=range]::-moz-range-track{height:4px;background:transparent;border:0}
.arq-player-seek input[type=range]::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:var(--accent,#239d81)}
.arq-player-seek input[type=range]:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:5px}
.arq-player-seek input[type=range]:disabled{cursor:default;opacity:.4}
.arq-player-bar{display:flex;align-items:center;gap:3px;min-width:0;min-height:40px}
.arq-player-bar button,.arq-player-bar select{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;height:40px;margin:0;padding:7px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#fff!important;font-size:12px;font-weight:550;line-height:1;font-family:inherit;cursor:pointer;box-shadow:none;transition:background-color 140ms ease,transform 120ms cubic-bezier(.23,1,.32,1)}
.arq-player-bar button:active{transform:scale(.96)}
.arq-player-bar button:focus-visible,.arq-player-bar select:focus-visible{outline:2px solid #fff;outline-offset:-2px;background:#ffffff1c!important}
.arq-player-bar select{max-width:148px;padding:6px 8px!important;appearance:auto}
.arq-player-bar select option{color:#fff;background:#20262c}
.arq-player-rate{width:56px}
.arq-player-captions{max-width:120px!important;font-size:11px!important}
.arq-player-skip{font-variant-numeric:tabular-nums}
.arq-player-time{white-space:nowrap;flex:none;margin-left:5px;color:#fff;font-size:12px;font-variant-numeric:tabular-nums;font-weight:450}
.arq-player-time>span{color:#ffffffbd}
.arq-player-spacer{flex:1;min-width:0}
.arq-player-bar input.arq-player-volume{width:64px;min-width:0;height:30px;min-height:30px;margin:0 6px 0 0;padding:0;border:0;accent-color:#fff;background:transparent;box-shadow:none}
.arq-player-feedback{position:absolute;left:50%;top:26%;z-index:7;transform:translateX(-50%);display:block;max-width:calc(100% - 24px);padding:8px 12px;border-radius:12px;background:#0c1014b8;color:#fff;font-size:13px;font-variant-numeric:tabular-nums;text-align:center;pointer-events:none}
.arq-player-loading{position:absolute;left:50%;top:62%;z-index:7;transform:translateX(-50%);display:flex;align-items:center;gap:7px;max-width:calc(100% - 24px);padding:7px 10px;border-radius:12px;background:#0c10149c;color:#fff;font-size:11px;pointer-events:none}
.arq-player-loading>span{display:block;flex:none;width:13px;height:13px;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;animation:arq-player-spinner .7s linear infinite}
.arq-youtube-player .hls-session-mark{z-index:5;max-width:calc(100% - 24px);pointer-events:none}
.arq-youtube-player .hls-player-error{position:absolute;inset:12px 12px auto;z-index:10;margin:0;padding:10px 12px;border-radius:12px;background:#141a20e8;color:#fff;font-size:13px;line-height:1.45}
.arq-youtube-player .player-fullscreen-error{z-index:10;bottom:90px}
.hls-player.arq-youtube-player:fullscreen,.hls-player.arq-youtube-player:-webkit-full-screen{width:100vw;height:100dvh;max-width:none;max-height:none;aspect-ratio:auto;margin:0;padding:0;border-radius:0;background:#000}
.hls-player.arq-youtube-player:fullscreen>.class-video,.hls-player.arq-youtube-player:-webkit-full-screen>.class-video{width:100%;height:100%;max-height:100dvh;aspect-ratio:auto;object-fit:contain}
@keyframes arq-player-spinner{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){.arq-player-bar button:hover,.arq-player-bar select:hover{background:#ffffff1c!important}.arq-player-center:hover{background:#0a1116c2!important}}
@media(pointer:coarse){.arq-player-bar button,.arq-player-bar select{min-width:44px;min-height:44px;height:44px}.arq-player-seek{height:30px}.arq-player-track{top:13px}.arq-player-seek input[type=range]{height:30px;min-height:30px}.arq-player-seek input[type=range]::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px}.arq-player-seek input[type=range]::-moz-range-thumb{width:16px;height:16px}}
@media(max-width:560px){.arq-player-controls{padding:26px 8px max(2px,env(safe-area-inset-bottom))}.arq-player-bar{gap:0}.arq-player-bar .arq-player-skip,.arq-player-bar input.arq-player-volume{display:none}.arq-player-time{margin-left:4px;font-size:11px}.arq-player-rate{width:50px;min-width:44px!important;font-size:11px!important}.arq-player-captions{max-width:76px!important;width:64px}.arq-player-center{width:54px;height:54px;top:42%}.arq-player-center svg{width:26px;height:26px}.arq-player-loading{top:63%;font-size:10px}.arq-player-feedback{font-size:12px}}
@media(prefers-reduced-motion:reduce){.arq-player-center,.arq-player-controls,.arq-player-bar button,.arq-player-bar select{transition:none}.arq-player-loading>span{animation-duration:1.4s}.arq-player-bar button:active{transform:none}.arq-player-center:active{transform:translate(-50%,-50%)}}

.hls-player .hls-session-mark {
  top: 0;
  left: 0;
  background: #0e171a18;
  color: #fff7;
  text-shadow: 0 1px 2px #0005;
  animation: none;
  will-change: transform;
}
.lesson-discussion .discussion-heading { margin: 0 0 16px; font-size: 1.15rem; }
.lesson-outline-loading { padding: 24px; color: var(--muted); }

.campus-boot {
  max-width: 72rem;
  min-height: 70vh;
  margin-inline: auto;
  padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 5vw, 3rem);
}

.campus-boot h1 {
  margin: 0 0 .5rem;
}

.campus-boot p,
.lesson-preparing-room .lesson-outline-loading {
  margin: 0 0 1.25rem;
}

.campus-placeholders {
  display: grid;
  gap: .75rem;
  max-width: 42rem;
  padding: .25rem 0;
}

.campus-placeholders span {
  display: block;
  width: 92%;
  height: 1.15rem;
  border-radius: .45rem;
  background: currentColor;
  opacity: .075;
}

.campus-placeholders span:nth-child(2) { width: 77%; }
.campus-placeholders span:nth-child(3) { width: 83%; }
.campus-placeholders span:nth-child(4) { width: 69%; }

.coupon-product-group + .coupon-product-group {
  border-top: 1px solid var(--line);
  margin-top: .35rem;
  padding-top: .35rem;
}

.coupon-product-group h3 {
  margin: .5rem 0 .25rem;
  font-size: .85rem;
  line-height: 1.4;
}

/* Campus progress and sales */
.app-shell.campus-refined .home-resume-button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
}
.home-resume-button .home-resume-info {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.home-resume-button .campus-course-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 3px;
  color: var(--muted);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
}
.campus-course-progress progress {
  display: block;
  appearance: none;
  width: 100%;
  height: 4px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: var(--line);
  accent-color: var(--accent);
}
.campus-course-progress progress::-webkit-progress-bar {
  border-radius: 999px;
  background: var(--line);
}
.campus-course-progress progress::-webkit-progress-value {
  border-radius: 999px;
  background: var(--accent);
}
.campus-course-progress progress::-moz-progress-bar {
  border-radius: 999px;
  background: var(--accent);
}
.campus-sales-heading {
  align-items: flex-end;
  flex-wrap: wrap;
  row-gap: 12px;
}
.campus-sales-period {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 100%;
}
.campus-sales-period .field {
  flex: 0 1 auto;
  margin: 0;
}
.campus-sales-period select,
.campus-sales-period input {
  min-height: 44px;
  max-width: 100%;
}
.campus-sales-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 1.25rem;
}
.campus-sales-kpis > div {
  min-width: 0;
  padding: clamp(.7rem, 2vw, 1.15rem);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}
.campus-sales-kpis .campus-sales-net {
  background: var(--tint);
}
.campus-sales-kpis dt {
  color: var(--muted);
  font-size: .84rem;
}
.campus-sales-kpis dd {
  margin: .15rem 0 0;
  color: var(--ink);
  font-size: clamp(1.12rem, 2.4vw, 1.7rem);
  font-weight: 740;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
@media (max-width: 620px) {
  .campus-sales-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (forced-colors: active) {
  .campus-course-progress progress { appearance: auto; }
}
