/* Shared visual skin only: SDK controls keep their own click/state handling. */
.player{--play-diameter:80px;--play-triangle-width:26px;--play-triangle-height:34px;--play-optical-offset:3px}
.player-shell{--play-diameter:64px;--play-triangle-width:20px;--play-triangle-height:26px;--play-optical-offset:2px;background:#000}
.player .message .play-trigger,.player-shell #play{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--play-diameter);height:var(--play-diameter);margin:0;padding:0;border:0;border-radius:50%;background:#fff;color:#111;line-height:1;box-shadow:none}
.player .play-trigger svg,.player-shell #play svg{display:block;width:var(--play-triangle-width);height:var(--play-triangle-height);fill:currentColor;transform:translateX(var(--play-optical-offset))}
.player .play-trigger:focus-visible,.player-shell #play:focus-visible{outline:2px solid #fff;outline-offset:4px}
.player .message .play-trigger.is-status,.player-shell #play.is-status{width:auto;max-width:100%;height:auto;min-height:44px;padding:10px 14px;border-radius:6px;background:transparent;color:#fff;font-size:14px;line-height:1.6;white-space:normal}
.player .play-trigger.is-loading:disabled,.player-shell #play.is-loading:disabled{opacity:1}
.play-trigger.is-loading:before,#play.is-loading:before{content:"";flex:none;width:18px;height:18px;margin-right:8px;border:2px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:course-player-spin .8s linear infinite}
@keyframes course-player-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.play-trigger.is-loading:before,#play.is-loading:before{animation:none}}

/* The SDK assigns inline left/bottom coordinates; override those coordinates,
   while retaining its display state, pause handling and full-screen behavior. */
#player .prism-big-play-btn,#vod-player .prism-big-play-btn,#player .vjs-big-play-button,#vod-player .vjs-big-play-button{position:absolute;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:var(--play-diameter)!important;height:var(--play-diameter)!important;margin:0!important;padding:0;border:0;border-radius:50%;background:#fff!important;background-image:none!important;color:#111;opacity:1;box-shadow:none;animation:none}
#player .prism-big-play-btn:before,#vod-player .prism-big-play-btn:before,#player .vjs-big-play-button:before,#vod-player .vjs-big-play-button:before{content:"";display:block;position:absolute;left:50%;top:50%;width:var(--play-triangle-width);height:var(--play-triangle-height);transform:translate(calc(-50% + var(--play-optical-offset)),-50%);background:#111;clip-path:polygon(0 0,100% 50%,0 100%)}
#player .prism-big-play-btn .outter,#vod-player .prism-big-play-btn .outter,#player .vjs-big-play-button .vjs-icon-placeholder,#vod-player .vjs-big-play-button .vjs-icon-placeholder,#player .vjs-big-play-button .vjs-button-icon,#vod-player .vjs-big-play-button .vjs-button-icon{display:none}
#player .vjs-has-started.vjs-paused:not(.vjs-error):not(.vjs-using-native-controls):not(.vjs-controls-disabled):not(.vjs-waiting) .vjs-big-play-button,#vod-player .vjs-has-started.vjs-paused:not(.vjs-error):not(.vjs-using-native-controls):not(.vjs-controls-disabled):not(.vjs-waiting) .vjs-big-play-button{display:block}
#player .prism-loading .circle,#player .prism-loading .circle-androidFirefox,#vod-player .prism-loading .circle,#vod-player .prism-loading .circle-androidFirefox{border-color:#ffffff35 #ffffff70 #fff #ffffff20;background:transparent}

/* Keep the same 16:9 surface for idle, loading, playback and locked lessons. */
.player-shell #player{position:absolute;inset:0;width:100%;height:100%;background:#000}
.player-shell #player video{object-fit:contain}
.playback-overlay{position:absolute;inset:0;z-index:20;display:flex;padding:10px;overflow:auto;overscroll-behavior:contain}
.playback-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;margin:auto;flex:none}
.player-shell #login{flex:none;min-height:36px;margin:0;padding:6px 12px;border:1px solid #ffffff55;background:transparent;color:#fff;font-size:13px}
.player-shell #opening-choices{width:100%;max-width:340px;margin:0;--co-bg:#17202c;--co-border:#364252;--co-link:#8cbeff;--co-muted:#bac5d3;--co-hover:#243144;--co-cart:#8cbeff;gap:6px}
.player-shell #opening-choices .co-row{gap:6px;padding:6px 10px;border-radius:6px}
.player-shell #opening-choices .co-name,.player-shell #opening-choices .co-link{font-size:14px;line-height:1.4}
.player-shell #opening-choices .co-description{margin-top:2px;font-size:11px;line-height:1.4}
.player-shell #opening-choices .co-open{min-height:36px;padding:6px 9px;font-size:12px}
.player-shell #opening-choices .co-cart{width:36px;height:36px;min-width:36px;padding:8px}

.player-shell #opening-choices > .muted{margin:0;color:#bac5d3;font-size:13px}
