/* 동영상 */
#app-video .vd-player-view { display: none; flex: 1; min-height: 0; flex-direction: column; }
#app-video[data-view="player"] .vd-list-view { display: none; }
#app-video[data-view="player"] .vd-player-view { display: flex; }
.vd-brand { font-size: 20px; font-weight: 800; letter-spacing: -.4px; }
.vd-chips { display: flex; gap: 8px; overflow-x: auto; padding: 4px 12px 12px; touch-action: pan-x pan-y; scrollbar-width: none; }
.vd-chips::-webkit-scrollbar { display: none; }
.vd-chip { appearance: none; border: 0; font: inherit; font-size: 14px; font-weight: 500; padding: 7px 13px; border-radius: 8px; background: #f0f0f0; color: #0f0f0f; white-space: nowrap; cursor: pointer; }
.vd-chip.on { background: #0f0f0f; color: #fff; }
.vd-card { appearance: none; border: 0; background: none; font: inherit; color: inherit; display: block; width: 100%; padding: 0 0 18px; text-align: left; cursor: pointer; }
.vd-thumb { position: relative; aspect-ratio: 16 / 9; background-size: cover; background-position: center; }
.vd-dur { position: absolute; right: 8px; bottom: 8px; padding: 1px 5px; border-radius: 4px; font-size: 12px; font-weight: 600; color: #fff; background: rgba(0,0,0,.8); }
.vd-row { display: flex; gap: 12px; padding: 12px 12px 0; }
.vd-av { width: 36px; height: 36px; border-radius: 50%; flex: none; display: grid; place-items: center; color: #fff; font-weight: 700; font-size: 14px; }
.vd-t { font-size: 15px; font-weight: 500; line-height: 1.35; }
.vd-s { font-size: 12.5px; color: #606060; margin-top: 3px; }
.vd-stage { position: relative; background: #000; aspect-ratio: 16 / 9; flex: none; }
.vd-stage canvas { width: 100%; height: 100%; display: block; }
.vd-bigplay { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; border-radius: 50%; border: 0; background: rgba(0,0,0,.5); display: grid; place-items: center; cursor: pointer; transition: opacity .25s; }
.vd-bigplay svg { width: 30px; height: 30px; fill: #fff; }
.vd-stage.playing .vd-bigplay { opacity: 0; }
.vd-stage.playing:active .vd-bigplay { opacity: 1; }
.vd-bar { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 10px 2px; display: flex; flex-direction: column; background: linear-gradient(transparent, rgba(0,0,0,.55)); color: #fff; }
.vd-bar span { font-size: 11.5px; font-variant-numeric: tabular-nums; padding-top: 14px; }
.vd-range { -webkit-appearance: none; appearance: none; width: 100%; height: 16px; background: transparent; margin: 0; touch-action: none; }
.vd-range::-webkit-slider-runnable-track { height: 3px; background: linear-gradient(to right, #f00 var(--p, 0%), rgba(255,255,255,.35) var(--p, 0%)); }
.vd-range::-moz-range-track { height: 3px; background: linear-gradient(to right, #f00 var(--p, 0%), rgba(255,255,255,.35) var(--p, 0%)); }
.vd-range::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; height: 12px; margin-top: -4.5px; border-radius: 50%; background: #f00; }
.vd-range::-moz-range-thumb { width: 12px; height: 12px; border: 0; border-radius: 50%; background: #f00; }
.vd-info { padding: 12px 12px 4px; }
.vd-info h3 { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; }
.vd-meta { font-size: 12.5px; color: #606060; margin-top: 4px; }
.vd-chan { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.vd-chan b { flex: 1; font-size: 15px; }
.vd-subbtn { appearance: none; border: 0; border-radius: 18px; padding: 8px 15px; font: inherit; font-size: 14px; font-weight: 600; background: #0f0f0f; color: #fff; cursor: pointer; }
.vd-subbtn.on { background: #f0f0f0; color: #0f0f0f; }
.vd-acts { display: flex; gap: 8px; margin-top: 12px; }
.vd-pill { appearance: none; border: 0; border-radius: 18px; padding: 7px 13px; font: inherit; font-size: 14px; font-weight: 500; background: #f0f0f0; color: #0f0f0f; display: flex; align-items: center; gap: 6px; cursor: pointer; }
.vd-pill svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.vd-pill.on svg { fill: #0f0f0f; }
.vd-next-title { font-size: 16px; font-weight: 700; padding: 14px 12px 8px; }
.vd-mini { appearance: none; border: 0; background: none; font: inherit; color: inherit; width: 100%; display: flex; gap: 10px; padding: 6px 12px; text-align: left; cursor: pointer; }
.vd-mini .vd-thumb { width: 160px; flex: none; border-radius: 8px; overflow: hidden; }

