/* TRIADIX Premium Player — isolated styles */
.player-wrap{max-width:1100px;margin:0 auto;padding:16px 20px 100px}
.video-box{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.6);margin-bottom:20px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.video-box video{width:100%;height:100%;object-fit:contain}
.brightness-layer{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:2}
.v-controls{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:10px 12px;z-index:6;opacity:1;transition:opacity .25s;pointer-events:auto}
.video-box.hide-ctrl .v-controls{opacity:0!important;pointer-events:none!important}
.v-top{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);margin:-10px -12px 0;padding:10px 12px 26px;border-radius:var(--r-lg) var(--r-lg) 0 0}
.v-title-top{flex:1;min-width:0;color:#fff;font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}
.v-top-right{display:flex;align-items:center;gap:2px}
.v-bottom{background:linear-gradient(to top,rgba(0,0,0,.8),transparent);margin:0 -12px -10px;padding:22px 12px 8px;border-radius:0 0 var(--r-lg) var(--r-lg)}
.video-box.fs-mode{--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}
.video-box.fs-mode .v-top{margin-top:0;padding-top:calc(10px + var(--safe-t))}
.video-box.fs-mode .v-bottom{margin-bottom:0;padding-bottom:calc(8px + var(--safe-b))}
.v-progress-wrap{padding:6px 4px 10px;cursor:pointer}
.v-progress{width:100%;height:4px;background:rgba(255,255,255,.18);border-radius:3px;position:relative;touch-action:none;transition:transform .15s var(--ease)}
.v-progress:hover{transform:scaleY(1.6)}
.v-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-l));border-radius:3px;position:relative;width:100%;transform:scaleX(0);transform-origin:left center;will-change:transform}
.v-thumb{position:absolute;top:50%;left:0;width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.5);transform:translate(-6px,-50%);will-change:transform;opacity:0;transition:opacity .15s}
.video-box.hide-ctrl{cursor:none!important}
.video-box.hide-ctrl *{cursor:none!important}
.v-progress-wrap:hover .v-thumb,.video-box:not(.hide-ctrl) .v-thumb{opacity:1}
.v-row{display:flex;align-items:center;justify-content:space-between}
.v-left,.v-right{display:flex;align-items:center;gap:2px}
.v-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .15s;flex-shrink:0}
.v-btn:hover{background:rgba(255,255,255,.12);color:var(--accent-l)}
.v-btn svg{width:19px;height:19px}
.v-btn.main{width:46px;height:46px;background:rgba(255,255,255,.1);margin-right:4px}
.v-btn.main svg{width:22px;height:22px}
.v-time{font-size:.75rem;color:rgba(255,255,255,.9);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0 6px}
.v-btn.ab-btn{font-size:.66rem;font-weight:800;font-family:var(--font-h);letter-spacing:.5px;background:rgba(255,255,255,.1)}
.v-btn.ab-btn.on{background:var(--accent);color:#fff}
.v-vol{width:64px;height:3px;-webkit-appearance:none;accent-color:var(--accent);background:rgba(255,255,255,.2);border-radius:2px;outline:none;cursor:pointer}
.v-vol::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;background:var(--accent);border-radius:50%;cursor:pointer}
.v-spacer{flex:1}
.desk-only{display:flex}
@media(max-width:768px){.desk-only{display:none!important}}
.gesture-layer{position:absolute;inset:0;z-index:4;touch-action:pan-y}
.seek-bubble{position:absolute;top:14%;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);backdrop-filter:blur(6px);border:1px solid rgba(139,92,246,.3);color:#fff;padding:8px 18px;border-radius:22px;font-size:.95rem;font-weight:700;z-index:8;display:none;align-items:center;gap:8px;white-space:nowrap;font-variant-numeric:tabular-nums}
.seek-bubble.show{display:flex}
.seek-bubble .sb-delta{color:var(--accent-l);font-size:.8rem}
.gpill{position:absolute;top:12%;width:72px;background:rgba(0,0,0,.8);border-radius:18px;padding:10px 0;display:none;flex-direction:column;align-items:center;gap:7px;z-index:9;border:1px solid rgba(255,255,255,.08)}
.gpill.show{display:flex}
.gpill.left{left:6%}.gpill.right{right:6%}
.gpill svg{width:18px;height:18px;color:#fff}
.gpill-track{width:4px;height:84px;background:rgba(255,255,255,.18);border-radius:2px;position:relative;overflow:hidden}
.gpill-fill{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top,var(--accent),var(--accent-l));border-radius:2px;height:50%}
.gpill-val{font-size:.68rem;color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.flash-icon{position:absolute;top:50%;transform:translateY(-50%);z-index:7;color:#fff;background:rgba(0,0,0,.55);border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.flash-icon.show{opacity:1}
.flash-icon.left{left:12%}.flash-icon.right{right:12%}
.flash-icon svg{width:26px;height:26px}
.flash-icon .f-count{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:.72rem;font-weight:700;color:#fff}
.center-flash{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);z-index:9;width:78px;height:78px;border-radius:50%;background:rgba(10,10,18,.55);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.center-flash svg{width:34px;height:34px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}
.center-flash.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.center-flash.bye{opacity:0;transform:translate(-50%,-50%) scale(1.6)}
.tap-play{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.35);z-index:5;cursor:pointer}
.tap-play.show{display:flex}
.tap-play .tp-btn{width:76px;height:76px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(139,92,246,.5);animation:tpPulse 1.6s infinite}
.tap-play .tp-btn svg{width:30px;height:30px;fill:#fff;margin-left:4px}
@keyframes tpPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.buffering{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:5;pointer-events:none}
.buffering.show{display:flex}
.buf-ring{width:52px;height:52px;border:4px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:bufSpin .8s linear infinite}
@keyframes bufSpin{to{transform:rotate(360deg)}}
.unlock-btn{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;color:#fff}
.unlock-btn.show{display:flex}
.unlock-btn svg{width:22px;height:22px}
.video-box.locked .v-controls,.video-box.locked .gesture-layer{display:none!important}
.v-settings{position:absolute;right:10px;bottom:64px;width:230px;max-height:calc(100% - 76px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:rgba(10,10,18,.96);border:1px solid rgba(139,92,246,.25);border-radius:14px;z-index:11;display:none;box-shadow:0 12px 40px rgba(0,0,0,.6);animation:ddIn .2s var(--ease)}
.v-settings.open{display:block}
.vs-hdr{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}
.vs-hdr h4{font-family:var(--font-h);font-size:.8rem;color:var(--accent)}
.vs-hdr button{color:var(--text3);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px}
.vs-hdr button:hover{background:rgba(255,255,255,.08);color:#fff}
.vs-sec{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.04)}
.vs-sec:last-child{border-bottom:none}
.vs-label{font-size:.62rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text3);margin-bottom:8px}
.vs-chips{display:flex;flex-wrap:wrap;gap:5px}
.vs-chip{padding:6px 11px;border-radius:16px;font-size:.72rem;background:rgba(255,255,255,.07);color:var(--text2);transition:all .15s}
.vs-chip:hover{background:rgba(139,92,246,.15);color:var(--text)}
.vs-chip.on{background:var(--accent);color:#fff;font-weight:600}
.vs-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}
.vs-toggle span{font-size:.76rem;color:var(--text)}
.vs-action{display:flex;align-items:center;gap:9px;width:100%;padding:8px 2px;color:var(--text);font-size:.78rem;border-radius:8px;transition:color .15s;text-align:left}
.vs-action:hover{color:var(--accent-l)}
.vs-action svg{width:16px;height:16px;flex-shrink:0;color:var(--text2)}
.auto-next{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;border:1px solid transparent;border-radius:var(--r);padding:0 18px;margin-top:0;transition:grid-template-rows .3s var(--ease),opacity .25s var(--ease),margin-top .3s var(--ease),border-color .25s var(--ease)}
.auto-next.show{grid-template-rows:1fr;opacity:1;margin-top:14px;background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(139,92,246,.02));border-color:rgba(139,92,246,.12)}
.auto-next .an-inner{min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:10px}
.auto-next.show .an-inner{padding:14px 0}
.auto-next h4{font-size:.82rem;color:var(--accent);margin-bottom:2px}
.auto-next span{font-size:.7rem;color:var(--text2)}
.an-count{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.an-thumb{width:76px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--bg3);flex-shrink:0}
.an-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.an-thumb:empty{display:none}
.soon-strip{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(10,10,18,.55);z-index:3;pointer-events:none}
.soon-strip .ss-txt{font-family:var(--font-h);font-size:.82rem;font-weight:700;letter-spacing:3px;color:#fbbf24;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.coming-player{text-align:center;padding:60px 20px;background:linear-gradient(135deg,rgba(245,158,11,.06),rgba(139,92,246,.04));border:1px solid rgba(245,158,11,.15);border-radius:var(--r-lg);margin-bottom:20px}
.coming-player h2{font-family:var(--font-h);color:#fbbf24;letter-spacing:4px;font-size:1.2rem;margin-bottom:8px}
.coming-player p{color:var(--text2);font-size:.85rem;margin-bottom:18px}
/* premium additions */
.v-tip{position:absolute;bottom:14px;transform:translateX(-50%);background:rgba(10,10,18,.9);border:1px solid rgba(139,92,246,.25);color:#fff;padding:4px 8px;border-radius:8px;font-size:.68rem;font-weight:600;white-space:nowrap;display:none;pointer-events:none;z-index:7}
.v-tip.show{display:block}
.ch-tick{position:absolute;top:50%;width:2px;height:8px;background:var(--gold);transform:translate(-1px,-50%);border-radius:1px;opacity:.9}
.mini-player{position:fixed!important;right:16px;bottom:16px;width:280px!important;aspect-ratio:16/9!important;height:auto!important;z-index:900!important;box-shadow:0 16px 40px rgba(0,0,0,.6)!important;border:1px solid rgba(139,92,246,.25)!important}
.ambient-glow{position:absolute;inset:-20px;z-index:1;filter:blur(36px) saturate(1.2);opacity:.18;pointer-events:none;transition:background .8s var(--ease)}
@media(max-width:768px){
  .v-controls{padding:8px}
  .v-top{margin:-8px -8px 0;padding:8px 8px 20px}
  .v-bottom{margin:0 -8px -8px;padding:18px 8px 6px}
  .v-title-top{font-size:.78rem}
  .v-btn{width:44px;height:44px}
  .v-btn.main{width:50px;height:50px}
  .v-settings{right:0;left:0;width:auto;bottom:0;top:38px;max-height:none;border-radius:12px 12px 0 0}
  .vs-hdr{position:sticky;top:0;z-index:2;background:rgba(10,10,18,.97);backdrop-filter:blur(8px);border-radius:12px 12px 0 0}
  .mini-player{width:160px!important;right:8px;bottom:8px}
}
