/* VID2 — video section (home + watch). Uses the site tokens (light/dark/RTL/LTR). */
.vx{--vx-r:12px;--vx-gap:24px 16px;color:var(--ink)}
.vx svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.vx .n{direction:ltr;unicode-bidi:isolate;display:inline-block}
.vx a{color:inherit;text-decoration:none}
.vx button{font:inherit;color:inherit}

/* ---- top bar: title + search + chips (sticky) */
.vx-top{position:sticky;top:54px;z-index:40;background:var(--bg);box-shadow:0 1px 0 var(--line)}
.vx-bar{display:flex;align-items:center;gap:16px;padding:14px 0 6px}
.vx-bar h1{font-size:clamp(22px,1vw + 17px,30px);line-height:1.45;font-weight:800;margin:0;flex:none}
.vx-search{position:relative;flex:1 1 auto;max-width:560px;margin-inline-start:auto;display:flex;align-items:center}
.vx-search input{width:100%;height:42px;border-radius:21px;border:1px solid var(--line);background:var(--surf);color:var(--ink);font:inherit;font-size:15px;padding-block:0;padding-inline:44px 40px;outline:none;-webkit-appearance:none;appearance:none}
.vx-search input::-webkit-search-cancel-button{display:none}
.vx-search input:focus{border-color:var(--ink-2);box-shadow:0 0 0 3px var(--red-soft)}
.vx-si{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);color:var(--mute);pointer-events:none;display:grid}
.vx-clear{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--mute)}
.vx-clear:hover{background:var(--surf-2);color:var(--ink)}
.vx-chips{position:relative;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:8px 0 12px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.vx-chips::-webkit-scrollbar{display:none}
.vx-chip{flex:none;display:inline-flex;align-items:center;height:36px;padding:0 15px;border-radius:10px;background:var(--surf-2);color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background .15s,color .15s}
.vx-chip:hover{background:var(--line)}
.vx-chip.on{background:var(--ink);color:var(--bg)}
.vx-chip:focus-visible,.vx-btn:focus-visible,.vx-card a:focus-visible,.vx-row a:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* ---- body */
.vx-body{padding-top:18px;padding-bottom:56px}
.vx-count{color:var(--mute);font-size:14px;line-height:1.6;margin:0 0 14px;min-height:1.6em}
.vx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--vx-gap)}
.vx-grid.vx-gv{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.vx-card,.vx-row{min-width:0}
.vx-card a{display:flex;flex-direction:column;gap:11px}
.vx-th{position:relative;aspect-ratio:16/9;border-radius:var(--vx-r);overflow:hidden;background:var(--surf-2)}
.vx-th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.vx-card a:hover .vx-th img,.vx-row a:hover .vx-th img{transform:scale(1.04)}
.vx-v .vx-th{aspect-ratio:9/16}
.vx-du{position:absolute;inset-inline-end:7px;bottom:7px;direction:ltr;background:rgba(0,0,0,.78);color:#fff;font-size:12.5px;font-weight:700;line-height:1;padding:4px 6px;border-radius:5px;letter-spacing:.2px}
.vx-in{display:flex;flex-direction:column;gap:5px;min-width:0}
.vx-in h3{font-size:16px;line-height:1.5;font-weight:700;margin:0;overflow-wrap:anywhere;color:var(--ink)}
.vx-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:0;color:var(--mute);font-size:13.5px;line-height:1.6}
.vx-sn{color:var(--red-ink);font-weight:700}
.vx-meta time:before{content:"·";margin-inline-end:8px;color:var(--mute)}
.vx-card a:hover h3,.vx-row a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.vx-empty{text-align:center;color:var(--mute);padding:60px 0;font-size:16px;line-height:1.8}
.vx-more{display:flex;justify-content:center;margin:34px 0 8px}
.vx-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 18px;border-radius:20px;border:0;background:var(--surf-2);color:var(--ink);font-size:14.5px;font-weight:700;line-height:1.4;cursor:pointer;white-space:nowrap;transition:background .15s}
.vx-btn:hover{background:var(--line)}
.vx-btn.sm{padding:6px 14px;font-size:13.5px}
.vx-btn svg{width:18px;height:18px}
.vx-btn.ok{background:var(--red);color:#fff}
.vx-yt{display:flex;flex-direction:column;gap:2px;margin-top:40px;padding:18px 20px;border-radius:14px;background:var(--surf);box-shadow:0 0 0 1px var(--line);line-height:1.6}
.vx-yt span{color:var(--mute);font-size:14px}
.vx-yt:hover{box-shadow:0 0 0 1px var(--red)}

/* ---- shorts shelf */
.vx-shelf{margin:0 0 30px}
.vx-sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.vx-sh h2{font-size:20px;line-height:1.5;margin:0;font-weight:800;display:flex;align-items:center;gap:10px}
.vx-sh h2:before{content:"";width:6px;height:22px;border-radius:3px;background:var(--red)}
.vx-arr{display:flex;gap:8px}
.vx-a{width:38px;height:38px;border-radius:50%;border:0;background:var(--surf-2);cursor:pointer;display:grid;place-items:center}
.vx-a:hover{background:var(--line)}
.vx-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:4px;overscroll-behavior-x:contain}
.vx-rail::-webkit-scrollbar{display:none}
.vx-rail .vx-card{flex:0 0 164px;scroll-snap-align:start}
.vx-rail .vx-in h3{font-size:14.5px}

/* ---- watch */
.vx-wg{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:28px;padding-top:12px;padding-bottom:60px;align-items:start}
.vx-main{min-width:0}
.vx-crumb a{display:inline-flex;align-items:center;gap:6px;min-height:40px;color:var(--ink-2);font-size:14px;font-weight:600}
.vx-crumb svg{width:16px;height:16px}
.vx-pwrap{position:relative}
.vx-player{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--vx-r);overflow:hidden;cursor:pointer;width:100%}
.vx-player.vert{aspect-ratio:9/16;width:min(100%,400px,calc(78vh*9/16));margin-inline:auto}
.vx-player img{width:100%;height:100%;object-fit:cover;display:block}
.vx-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.vx-pb{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:var(--red-grad);display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(216,20,30,.8);transition:transform .2s}
.vx-pb svg{width:30px;height:30px;fill:#fff;stroke:none;transform:translateX(-4%)}
[dir=rtl] .vx-pb svg{transform:translateX(4%)}
.vx-player:hover .vx-pb{transform:scale(1.08)}
.vx-player.on .vx-pb,.vx-player.on img{display:none}
.vx-end{position:absolute;inset:0;border-radius:var(--vx-r);background:rgba(8,6,7,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:18px;color:#fff;z-index:3}
.vx-end[hidden]{display:none}
.vx-end small{font-size:14px;opacity:.8;line-height:1.6}
.vx-end b{font-size:clamp(16px,1.2vw + 10px,22px);line-height:1.5;max-width:30em}
.vx-end img{width:min(260px,60%);aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.vx-end .vx-ring{font-size:26px;font-weight:800;direction:ltr}
.vx-end .vx-btn{background:rgba(255,255,255,.14);color:#fff}
.vx-end .vx-btn.pri{background:var(--red)}
.vx-h1{font-size:clamp(21px,1vw + 17px,28px);line-height:1.55;font-weight:800;margin:16px 0 6px;overflow-wrap:anywhere}
.vx-m2{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0;color:var(--mute);font-size:14px;line-height:1.7}
.vx-m2 .vx-sn{padding:2px 10px;border-radius:999px;background:var(--red-soft);font-size:13.5px}
.vx-acts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.vx-acts .vx-btn[hidden]{display:none}
.vx-desc{margin-top:18px;padding:16px 18px;border-radius:14px;background:var(--surf-2);font-size:15.5px;line-height:1.85;color:var(--ink-2);overflow-wrap:anywhere}
.vx-desc p{margin:0 0 10px}
.vx-desc h3{font-size:15px;margin:12px 0 4px;color:var(--ink);line-height:1.6}
.vx-desc ul{margin:0 0 6px;padding-inline-start:20px}
.vx-desc li{margin:2px 0;line-height:1.75}
.vx-ch{list-style:none;margin:0;padding:0}
.vx-ch button{background:none;border:0;padding:3px 0;cursor:pointer;text-align:start;line-height:1.7;font-size:15px}
.vx-ch button .n{color:var(--red-ink);font-weight:700;margin-inline-end:8px}
.vx-ch button:hover{text-decoration:underline}
.vx-desc.cl{max-height:7.6em;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.vx-dm{display:block;margin-top:6px;background:none;border:0;color:var(--ink);font-weight:700;font-size:14.5px;cursor:pointer;padding:6px 2px;min-height:36px}
.vx-dm[hidden]{display:none}

/* playlist (series) */
.vx-pl{margin-top:22px;border-radius:14px;box-shadow:0 0 0 1px var(--line);background:var(--surf);overflow:hidden}
.vx-plh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--surf-2)}
.vx-plh b{display:block;font-size:16px;line-height:1.5}
.vx-plh small{color:var(--mute);font-size:13px;line-height:1.6}
.vx-plb{display:flex;gap:6px}
.vx-ib{width:40px;height:40px;border-radius:50%;background:var(--surf);box-shadow:0 0 0 1px var(--line);display:grid;place-items:center}
.vx-ib:hover{background:var(--red);color:#fff;box-shadow:none}
.vx-pll{max-height:360px;overflow:auto;padding:8px 10px;display:flex;flex-direction:column;gap:2px}

/* side column */
.vx-side{min-width:0;display:flex;flex-direction:column;gap:12px}
.vx-auto{display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.6}
.vx-auto b{font-size:17px}
.vx-sw{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2);cursor:pointer;user-select:none}
.vx-sw input{position:absolute;opacity:0;pointer-events:none}
.vx-sw i{position:relative;width:38px;height:22px;border-radius:11px;background:var(--line);transition:background .2s;flex:none}
.vx-sw i:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:inset-inline-start .2s}
.vx-sw input:checked+i{background:var(--red)}
.vx-sw input:checked+i:after{inset-inline-start:19px}
.vx-sw input:focus-visible+i{outline:2px solid var(--red);outline-offset:2px}
.vx-rh{font-size:17px;line-height:1.5;margin:10px 0 0}
.vx-rel{display:flex;flex-direction:column;gap:12px}
.vx-row a{display:flex;gap:12px;align-items:flex-start;padding:6px;margin:-6px;border-radius:12px}
.vx-row a:hover{background:var(--surf-2)}
.vx-row .vx-th{flex:0 0 172px;border-radius:10px}
.vx-row.vx-v .vx-th{flex:0 0 86px}
.vx-row .vx-in h3{font-size:14.5px;line-height:1.5}
.vx-row .vx-meta{font-size:12.5px}
.vx-row.cur a{background:var(--red-soft)}
.vx-row.cur .vx-in h3{color:var(--red-ink)}
.vx-pll .vx-row a{margin:0;padding:6px}

@media (max-width:1100px){.vx-wg{grid-template-columns:minmax(0,1fr) 340px;gap:22px}.vx-row .vx-th{flex-basis:140px}}
@media (max-width:900px){
  .vx-wg{grid-template-columns:minmax(0,1fr);gap:18px}
  .vx-player:not(.vert){margin-inline:calc(-1*var(--gut));width:calc(100% + 2*var(--gut));border-radius:0}
  .vx-end{border-radius:0}
  .vx-row .vx-th{flex-basis:150px}
}
@media (max-width:640px){
  .vx-top{position:static;box-shadow:none}
  .vx-chips{position:sticky;top:54px;z-index:40;background:var(--bg);box-shadow:0 1px 0 var(--line);padding-bottom:10px}
  .vx-bar{flex-wrap:wrap;gap:8px;padding:10px 0 2px}
  .vx-bar h1{font-size:21px}
  .vx-search{max-width:none;flex:1 1 100%;order:3;margin:0}
  .vx-chips{margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);padding-top:8px}
  .vx-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .vx-grid.vx-gv{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .vx-card .vx-th{margin-inline:calc(-1*var(--gut));border-radius:0}
  .vx-grid.vx-gv .vx-card .vx-th{margin-inline:0;border-radius:var(--vx-r)}
  .vx-rail .vx-card .vx-th{margin-inline:0;border-radius:var(--vx-r)}
  .vx-rail .vx-card{flex-basis:150px}
  .vx-arr{display:none}
  .vx-in h3{font-size:16px}
  .vx-card .vx-in{padding-inline:2px}
  .vx-h1{font-size:21px}
  .vx-acts{gap:6px}
  .vx-row .vx-th{flex-basis:138px}
  .vx-row.vx-v .vx-th{flex-basis:76px}
}
@media (prefers-reduced-motion:reduce){.vx *{transition:none!important}}
:root[data-theme=dark] .vx-chip.on{background:#fff;color:#0E0A0B}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .vx-chip.on{background:#fff;color:#0E0A0B}}
body.has-rbar .vx-body,body.has-rbar .vx-wg{padding-bottom:96px}
[dir=ltr] .vx-a svg,[dir=ltr] .vx-ib svg,[dir=ltr] .vx-crumb svg{transform:scaleX(-1)}
[dir=ltr] .vx-pb svg{transform:translateX(4%)}
