@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');:root{color-scheme:dark;--bg:#090a11;--surface:#141622;--line:#292a38;--text:#f6f4fb;--muted:#999aaa;--pink:#ff5e9c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.nav{height:78px;display:flex;align-items:center;gap:42px;padding:0 max(5%,calc((100vw - 1300px)/2));border-bottom:1px solid #ffffff0d;position:relative;z-index:2}.logo{font-family:Outfit,sans-serif;font-weight:800;letter-spacing:1px;font-size:21px}.spark{color:var(--pink);font-size:29px;vertical-align:middle}.nav nav{display:flex;gap:25px;color:#bbb}.navhint{margin-left:auto;color:#858696;font-size:12px}.hero{min-height:510px;padding:94px max(5%,calc((100vw - 1300px)/2));position:relative;overflow:hidden;background:radial-gradient(ellipse at 84% 50%,#512346 0%,transparent 45%),radial-gradient(ellipse at 60% 100%,#232039 0%,transparent 48%)}.hero>*:not(.hero-orb){position:relative;z-index:1}.eyebrow,small{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--pink)}h1,h2{font-family:Outfit,sans-serif}h1{font-size:clamp(48px,7vw,94px);line-height:1.02;letter-spacing:-3px;margin:20px 0}h1 em{font-style:normal;color:#ff79b1}.hero p{color:#b7b3c1;font-size:18px;margin-bottom:30px}.cta{border:0;display:inline-flex;gap:25px;align-items:center;justify-content:center;background:linear-gradient(120deg,#ff4c91,#ff84a4);padding:16px 24px;color:#180b14;border-radius:12px;font-weight:800;cursor:pointer}.hero-orb{position:absolute;right:12%;top:9%;width:280px;height:380px;border-radius:46% 54% 54% 46%;transform:rotate(25deg);background:linear-gradient(135deg,#ff99bd88,#c02c8080,#271c43);filter:blur(1px);box-shadow:0 0 110px #ed43904d;opacity:.85}.stats{padding:22px 5%;display:flex;align-items:center;gap:30px;justify-content:center;background:#11121c;border-block:1px solid #242331;font-size:13px;color:#bbb}.stats b{color:white}.dot{display:inline-block;width:8px;height:8px;background:#65d9a4;border-radius:50%;margin-right:8px;box-shadow:0 0 10px #65d9a4}.sep{height:20px;border-left:1px solid #454050}.catalog,.detail,.dashboard{max-width:1360px;margin:auto;padding:65px 5%}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.sectionhead h2{font-size:34px;margin:10px 0}.sectionhead h2 span{color:var(--pink)}.muted,.genre{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.poster{aspect-ratio:2/3;border-radius:13px;background:linear-gradient(135deg,#37293c,#1c1a2c);position:relative;overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.drama-card:hover img{transform:scale(1.04)}.playmark{position:absolute;bottom:12px;right:12px;background:#ff4c91e8;padding:10px;border-radius:50%;font-size:11px}.placeholder{display:grid;place-items:center;height:100%;font-size:60px;color:#ff71a0}.cardtitle{font-weight:700;margin-top:11px}.genre{font-size:12px;margin-top:5px}.empty{padding:45px;background:var(--surface);border-radius:14px;color:var(--muted);text-align:center}footer{padding:35px 5%;text-align:center;border-top:1px solid var(--line);color:#747586;font-size:12px}.back{color:#e5a6c2;font-size:14px}.detailgrid{display:grid;grid-template-columns:1fr 290px;gap:34px;margin-top:24px}.player{background:#08080b;aspect-ratio:16/9;border-radius:16px;overflow:hidden;display:grid;place-items:center}.player video{width:100%;height:100%;object-fit:contain}.detail h1{font-size:40px;letter-spacing:-1px}.synopsis{line-height:1.8;color:#c8c7d2}.episodes{max-height:600px;overflow:auto}.episode{display:block;padding:15px;border:1px solid var(--line);margin-bottom:9px;border-radius:10px}.episode span{color:var(--pink);margin-right:10px}.episode.active{border-color:var(--pink);background:#ff5e9c18}.login{max-width:430px;margin:80px auto 140px;padding:30px}.login h1{font-size:38px;letter-spacing:-1px}.login form,.panel form{display:grid;gap:17px;margin-top:25px}label{display:grid;gap:8px;font-size:13px;color:#bbb}input,textarea{width:100%;background:#10111c;border:1px solid #333444;color:white;padding:13px;border-radius:9px;font:inherit}.error{color:#ff869e}.dashhead{display:flex;justify-content:space-between;align-items:center}.dashhead h1{font-size:45px;letter-spacing:-1px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metrics>div,.panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:23px}.metrics strong{display:block;font:700 35px Outfit;margin-top:9px}.admincols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.panel h2{margin-top:0}.libraryitem{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.libraryitem p{margin:4px 0;font-size:12px}.libraryitem a{color:var(--pink)}.tiny{font-size:11px;line-height:1.5}.json{white-space:pre-wrap;word-break:break-word;max-height:350px;overflow:auto;background:#080912;padding:12px;border-radius:9px;font-size:11px}hr{border:0;border-top:1px solid var(--line);margin:28px 0}@media(max-width:900px){.cards{grid-template-columns:repeat(3,1fr)}.detailgrid,.admincols{grid-template-columns:1fr}.hero-orb{right:-90px;opacity:.4}}@media(max-width:600px){.nav{height:68px;padding:0 5%;gap:20px}.navhint{display:none}.nav nav{margin-left:auto;gap:12px;font-size:12px}.hero{min-height:450px;padding-top:90px}.hero-orb{width:200px;height:260px;top:40px}.hero h1{letter-spacing:-2px}.hero p{max-width:260px;font-size:15px}.cards{grid-template-columns:repeat(2,1fr);gap:14px}.sectionhead .muted{display:none}.sectionhead h2{font-size:27px}.catalog,.detail,.dashboard{padding:45px 5%}.stats{gap:13px;font-size:11px}.dashhead h1{font-size:30px}.metrics{gap:7px}.metrics>div{padding:12px}.metrics strong{font-size:24px}}

.live-strip{display:flex;align-items:center;gap:18px;margin:0 auto;max-width:1200px;padding:12px 24px;background:#17121e;border:1px solid #49304b;border-radius:14px;overflow:hidden}.live-label{white-space:nowrap;font-size:11px;letter-spacing:2px;color:#ff76bb;font-weight:800}.live-strip marquee{color:#e7c9e5;font-size:13px}#r2form input[type=file]{max-width:100%}

/* v2.1: keep original VIVID visual identity, fit Video.js and floating controls */
.player{position:relative;display:block;aspect-ratio:16/9;min-height:0;overflow:hidden;background:#000}
.player .video-js{width:100%!important;height:100%!important;position:absolute;inset:0;background:#000}
.player .video-js .vjs-tech{width:100%!important;height:100%!important;object-fit:contain}
.player .video-js .vjs-big-play-button{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important}
.player .vivid-actions{z-index:40}
.player .vivid-next-overlay{z-index:55}
.vivid-providers{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 22px}.vivid-providers span{background:#ff5e9c18;border:1px solid #ff5e9c55;border-radius:20px;padding:8px 12px;font-size:12px}
@media(max-width:650px){.player{aspect-ratio:9/16;max-height:85svh}}

.player .video-js.vivid-preview-ready:not(.vivid-started) .vjs-tech{filter:blur(7px) brightness(.36);transform:scale(1.04)}
.player .video-js.vivid-started .vjs-tech{filter:none;transform:none}

/* VIVID 2.2 centered detail layout */
.detail{max-width:1280px;margin:0 auto;padding:44px 24px 65px}
.detailgrid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:start;margin-top:24px}
.detailgrid>div{min-width:0}
.detailgrid aside{min-width:0}
.detail .player{width:100%;height:auto;aspect-ratio:16/9;margin:0 auto;position:relative;overflow:hidden}
.detail .player:has(.video-js.vivid-portrait){aspect-ratio:9/16;max-width:440px}
.detail .player:has(.video-js.vivid-portrait) .video-js{width:100%!important;height:100%!important}
.detail .episodes{max-height:540px}
.detail .vivid-comments{width:100%;max-width:none;margin:34px 0 0;box-sizing:border-box}
.detail .vivid-comments .vivid-comment-form{max-width:100%}
@media(max-width:800px){.detailgrid{grid-template-columns:minmax(0,1fr)}.detailgrid aside{width:100%}.detail .episodes{max-height:260px}.detail{padding:26px 16px 48px}}

.vivid-analytics{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0 25px}.vivid-analytics td,.vivid-analytics th{padding:10px;border-bottom:1px solid #343341;text-align:left}.vivid-analytics th{color:#ff89ba}
/* VIVID DRAMA - Episode Grid */

.detailgrid aside .episodes {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px !important;
    max-height: 420px !important;
    overflow-y: auto !important;
    align-content: start;
    padding: 4px !important;
}

.detailgrid aside .episodes .episode {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 8px 4px !important;
    margin: 0 !important;
    border-radius: 9px !important;
    font-size: 12px !important;
    text-align: center !important;
    white-space: nowrap;
}

.detailgrid aside .episodes .episode span {
    display: none !important;
}

.detailgrid aside .episodes .episode.active {
    background: #12313a !important;
    border-color: #00d9f5 !important;
    color: #ffffff !important;
}

/* Mobile */
@media (max-width: 768px) {
    .detailgrid aside .episodes {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        max-height: 340px !important;
    }
}
/* VIVID - Center Play Button */

#player.video-js .vjs-big-play-button,
.video-js .vjs-big-play-button {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 5 !important;
}

/* Keep the video inside its player */

#player.video-js .vjs-tech {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}