.topic-video-section{margin:14px 0 20px;padding:10px;border:1px solid #ddcba0;border-radius:18px;background:linear-gradient(145deg,#fffdf7,#f7f2e6);box-sizing:border-box;overflow-wrap:anywhere}
.topic-video-placeholder{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 12px;box-sizing:border-box;border-radius:13px;background:#f1ecdf;color:#5c5268;text-align:center}
.topic-video-placeholder svg{width:64px;height:48px;fill:none;stroke:#a89360;stroke-width:2}.topic-video-placeholder p{margin:0;max-width:32em;line-height:1.45}
#topic-video-anchor{aspect-ratio:16/9}#topic-video-main-container{height:100%;width:100%}
.topic-video-frame{aspect-ratio:16/9;overflow:hidden;border-radius:13px;background:#101624}
#main-root .topic-player,.topic-player{position:relative;width:100%;isolation:isolate;color:#fff;box-sizing:border-box;overflow:hidden}
.topic-player video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#101624;border-radius:inherit}
.topic-player [hidden],#topic-floating-video-wrapper[hidden]{display:none!important}
#main-root .topic-player .tv-wake,.topic-player .tv-wake{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;box-shadow:none;transform:none;cursor:pointer;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
#main-root .topic-player .tv-controls,.topic-player .tv-controls{position:absolute;z-index:2;inset:auto 0 0;padding:12px 6px 3px;box-sizing:border-box;background:linear-gradient(transparent,rgba(8,12,20,.82) 25%,rgba(8,12,20,.96));color:#fff;animation:tv-controls-in .14s ease-out}
.topic-player .tv-transport{display:grid;grid-template-columns:44px minmax(32px,1fr) 44px 48px 44px;align-items:center;gap:0}
#main-root .topic-player .tv-control,.topic-player .tv-control{display:grid;place-items:center;width:44px;height:44px;min-width:0;min-height:44px;border:0;border-radius:8px;background:transparent;color:inherit;margin:0;padding:0;box-shadow:none;transform:none;cursor:pointer;touch-action:manipulation;transition:background-color .12s}
#main-root .topic-player .tv-control:hover,#main-root .topic-player .tv-control:active,.topic-player .tv-control:hover,.topic-player .tv-control:active{background:rgba(255,255,255,.14)}.topic-player .tv-control svg{width:20px;height:20px;pointer-events:none}
.topic-player .tv-time{font:12px/1.3 system-ui,sans-serif;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.topic-player .tv-speed{width:48px;height:44px;min-height:44px;border:0;border-radius:8px;padding:0 1px;margin:0;color:inherit;background:transparent;font:13px system-ui,sans-serif;cursor:pointer;touch-action:manipulation}.topic-player .tv-speed option{background:#fff;color:#171b27}
.topic-player .tv-seek{display:block;appearance:none;-webkit-appearance:none;width:calc(100% - 12px);height:24px;min-height:24px;margin:0 6px;border:0;padding:0;background:transparent;cursor:pointer;touch-action:pan-y;--played:0%;--buffered:0%}
.topic-player .tv-seek::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,#d6c289 0 var(--played),#98a0b1 var(--played) var(--buffered),#4e5667 var(--buffered) 100%)}
.topic-player .tv-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4.5px;border:0;border-radius:50%;background:#fff}
.topic-player .tv-seek::-moz-range-track{height:3px;border-radius:3px;background:#4e5667}.topic-player .tv-seek::-moz-range-progress{height:3px;background:#d6c289}.topic-player .tv-seek::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#fff}.topic-player .tv-seek:disabled{opacity:.45;cursor:default}
#main-root .topic-player :focus-visible,.topic-player :focus-visible,.topic-video-retry:focus-visible{outline:3px solid #b9a1ef;outline-offset:-3px}
.topic-player .tv-buffering{position:absolute;z-index:3;left:calc(50% - 12px);top:calc(50% - 12px);width:24px;height:24px;box-sizing:border-box;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;pointer-events:none;animation:tv-spin 1s linear infinite}
#topic-floating-video-wrapper{position:fixed;width:240px;max-width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px);right:calc(var(--safe-right,0px) + 10px);bottom:calc(var(--safe-bottom,0px) + 12px);z-index:11000;overflow:hidden;border:1px solid rgba(255,255,255,.5);border-radius:12px;box-shadow:0 6px 22px rgba(15,23,42,.25);background:#101624}
#topic-floating-video-wrapper.is-dragged{right:auto;bottom:auto}#topic-floating-video-wrapper .topic-player{border-radius:11px}
.topic-player.is-mini .tv-wake{touch-action:none;cursor:grab}.topic-player.is-mini .tv-wake:active{cursor:grabbing}
.topic-player.is-mini .tv-seek,.topic-player.is-mini .tv-time,.topic-player.is-mini .tv-mute,.topic-player.is-mini .tv-speed{display:none}
.topic-player.is-mini .tv-controls{padding:6px 4px 1px}.topic-player.is-mini .tv-transport{grid-template-columns:minmax(44px,1fr) 44px 44px}.topic-player.is-mini .tv-control svg{width:18px;height:18px}
.topic-video-status{margin:8px 0 0;line-height:1.45;color:#615772;font-size:.9em}.topic-video-status:empty{display:none}
.topic-video-retry{min-height:44px;border:1px solid #786199;border-radius:12px;padding:8px 14px;background:#fff;color:#514071;font:inherit;cursor:pointer}
.topic-video-expanded{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;box-sizing:border-box;padding:0;background:#080c14;color:#fff;overscroll-behavior:contain}
.topic-video-expanded>.topic-player{flex:1;min-height:0;aspect-ratio:auto;border-radius:0}
.topic-video-expanded .tv-controls{padding-left:max(8px,var(--safe-left,0px));padding-right:max(8px,var(--safe-right,0px));padding-bottom:max(3px,var(--safe-bottom,0px))}
.topic-video-section[hidden],.topic-video-menu-host[hidden]{display:none!important}
.topic-video-menu-host{position:fixed;left:-10000px;top:0;width:640px;height:360px}
.topic-video-system-pip{position:fixed;inset:0;z-index:2147483100;background:#000;overflow:hidden}
.topic-video-system-pip>.topic-player{width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.topic-video-system-pip .tv-controls,.topic-video-system-pip .tv-wake,.topic-video-system-pip .tv-buffering{display:none!important}
.theme-btns.has-video-lesson{display:grid!important;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:8px!important}
.theme-btns.has-video-lesson>button{min-width:0;width:100%;margin:0;box-sizing:border-box;overflow-wrap:normal}
#main-root .theme-btns .topic-video-menu-button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:48px;padding:8px}
.topic-video-menu-button svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.topic-video-menu-button span{display:none}
@media(min-width:520px){.theme-btns.has-video-lesson{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.topic-video-menu-button span{display:inline}}
.topic-player.is-expanded .tv-transport{grid-template-columns:44px minmax(32px,1fr) 44px 48px 44px}.topic-player.is-expanded .tv-seek{display:block}.topic-player.is-expanded .tv-time,.topic-player.is-expanded .tv-mute,.topic-player.is-expanded .tv-speed{display:block}.topic-player.is-expanded .tv-mini-close{display:none}
.topic-player:fullscreen{width:100vw;height:100vh;height:100dvh;border-radius:0;aspect-ratio:auto;background:#080c14}.topic-player:fullscreen .tv-controls{bottom:var(--safe-bottom,0px)}
@media(pointer:coarse){#main-root .topic-player .tv-control,.topic-player .tv-control,.topic-player .tv-speed{width:48px;height:48px;min-height:48px}.topic-player .tv-transport,.topic-player.is-expanded .tv-transport{grid-template-columns:48px minmax(32px,1fr) 48px 48px 48px}.topic-player.is-mini:not(.is-expanded) .tv-transport{grid-template-columns:minmax(48px,1fr) 48px 48px}}
@media(max-width:380px){.topic-video-placeholder{padding:16px 10px}}
@keyframes tv-spin{to{transform:rotate(360deg)}}@keyframes tv-controls-in{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.topic-player .tv-controls,.topic-player .tv-buffering{animation:none}.topic-player .tv-control{transition:none}}
