*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,"Segoe UI",Arial,"PingFang SC","Microsoft YaHei",sans-serif;background:#0f0f14;color:#f1f1f4}
a{color:inherit;text-decoration:none}
.nav{display:flex;align-items:center;gap:24px;padding:14px 40px;border-bottom:1px solid #22222c;position:sticky;top:0;background:#0f0f14f2;z-index:10;backdrop-filter:blur(6px)}
.logo{font-weight:800;font-size:22px;white-space:nowrap}.logo img{height:34px;display:block}.logo .dot{color:var(--primary)}
.links{display:flex;gap:18px;font-size:14px;overflow-x:auto}.links a{opacity:.75;white-space:nowrap}.links a.on,.links a:hover{opacity:1;color:#fff}
.search{margin-left:auto}.search input{background:#1e1e26;border:1px solid #2a2a35;color:#fff;border-radius:999px;padding:9px 16px;width:280px;font-size:14px;outline:none}
.search input:focus{border-color:var(--primary)}
.lang{position:relative;font-size:14px;cursor:pointer}.lang .cur{padding:8px 10px;border-radius:8px;background:#1e1e26;display:block;white-space:nowrap}
.lang .menu{display:none;position:absolute;right:0;top:110%;background:#1e1e26;border:1px solid #2a2a35;border-radius:10px;padding:6px;min-width:180px}
.lang:hover .menu,.lang:focus-within .menu{display:block}.lang .menu a{display:block;padding:8px 10px;border-radius:6px}.lang .menu a:hover,.lang .menu a.on{background:#2a2a35}
main{min-height:70vh}
.hero{margin:22px 40px;min-height:340px;border-radius:16px;background-size:cover;background-position:center right;padding:44px;display:flex;flex-direction:column;justify-content:flex-end}
.hero .meta{opacity:.8;font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}
.hero h1{font-size:40px;margin-bottom:10px;max-width:640px}.hero p{max-width:520px;opacity:.85;margin-bottom:18px;line-height:1.5}
.btn{display:inline-block;padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;border:none;cursor:pointer;color:#fff;background:#2a2a35;font-family:inherit}
.btn.primary{background:var(--primary)}.btn.ghost{background:transparent;border:1px solid #33333f;font-weight:500;opacity:.8}
.hero .btn{align-self:flex-start}
.sec{padding:0 40px;margin-top:26px}.sec h2{font-size:19px;margin-bottom:14px}.sec .big{font-size:26px;margin-top:24px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.card .thumb{aspect-ratio:16/9;border-radius:10px;overflow:hidden;position:relative;background:linear-gradient(135deg,#2a2a35,#1a1a22)}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.card:hover .thumb img{transform:scale(1.05)}
.card .dur{position:absolute;right:8px;bottom:8px;background:#000c;font-size:12px;padding:2px 6px;border-radius:4px}
.card .t{font-weight:600;font-size:14px;margin-top:8px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .m{font-size:12px;opacity:.6;margin-top:3px}
.empty{padding:60px 40px;opacity:.6}
.watch{display:grid;grid-template-columns:1fr 340px;gap:28px;padding:24px 40px}
.player{width:100%;aspect-ratio:16/9;background:#000;border-radius:12px}
.watch h1{font-size:22px;margin:14px 0 6px}.watch .m{font-size:13px;opacity:.75}
.chip{background:#2a2a35;padding:3px 10px;border-radius:999px;margin-right:6px}
.desc{margin:14px 0;line-height:1.6;opacity:.85;white-space:pre-line}
details summary{list-style:none;display:inline-block}details summary::-webkit-details-marker{display:none}
.report-form{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-width:480px}
.report-form textarea{background:#1e1e26;color:#fff;border:1px solid #2a2a35;border-radius:8px;padding:10px;min-height:80px;font-family:inherit}
.report-form .btn{align-self:flex-start}
.notice{background:#16341f;color:#a7f3c0;padding:10px 14px;border-radius:8px;display:inline-block;font-size:14px}
.related h3{font-size:16px;margin-bottom:12px}.related{display:flex;flex-direction:column;gap:16px}
.foot{padding:30px 40px;margin-top:40px;border-top:1px solid #22222c;font-size:13px;opacity:.6}
@media (max-width:900px){
  .nav{flex-wrap:wrap;padding:12px 16px;gap:12px}.links{order:3;width:100%}.search input{width:160px}
  .hero{margin:14px 16px;padding:24px;min-height:260px}.hero h1{font-size:28px}
  .sec,.watch{padding-left:16px;padding-right:16px}.watch{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,1fr);gap:12px}
}
.btn.sm{padding:7px 14px;font-size:13px;white-space:nowrap}
.acct .menu{min-width:140px}.linkbtn{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:8px 10px;width:100%;text-align:left;border-radius:6px}.linkbtn:hover{background:#2a2a35}
.flashbar{margin:16px 40px 0;padding:10px 14px;border-radius:8px;font-size:14px;background:#16341f;color:#a7f3c0}.flashbar.error{background:#3a1717;color:#fecaca}
.auth .flashbar{margin:0 0 12px}
.k{opacity:.6;font-size:13px}
.comments{margin-top:28px;border-top:1px solid #22222c;padding-top:20px}.comments h2{font-size:18px;margin-bottom:14px}.comments .cnt{opacity:.5;font-weight:500}
.cform{display:grid;grid-template-columns:36px 1fr;gap:10px;margin-bottom:18px}.cform textarea{background:#1e1e26;color:#fff;border:1px solid #2a2a35;border-radius:8px;padding:10px;min-height:70px;font-family:inherit;resize:vertical}
.cform .btn{grid-column:2;justify-self:end}
.av{width:36px;height:36px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.login-cta{background:#1a1a22;border:1px solid #2a2a35;border-radius:10px;padding:14px 16px;margin-bottom:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px}
.cmt{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #1c1c24}.cmt .who{font-size:13px;margin-bottom:4px}.cmt p{font-size:14px;line-height:1.5;white-space:pre-line;word-break:break-word;opacity:.9}
.auth{display:flex;justify-content:center;padding:50px 16px}.auth-card{width:100%;max-width:400px;background:#17171f;border:1px solid #24242e;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:14px}
.auth-card h1{font-size:22px;margin-bottom:4px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;opacity:.9}
.auth-card input{background:#1e1e26;border:1px solid #2a2a35;color:#fff;border-radius:8px;padding:11px 12px;font-size:15px;font-family:inherit;outline:none}.auth-card input:focus{border-color:var(--primary)}
.auth-card small{opacity:.55}.auth-card .btn{padding:12px}.auth-card .alt{font-size:13px;opacity:.75;text-align:center}.auth-card .alt a{color:var(--primary);font-weight:600}
@media (max-width:900px){.flashbar{margin:12px 16px 0}}

/* live */
.ldot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff2d55;margin-right:5px;vertical-align:middle;animation:lpulse 1.4s infinite}
@keyframes lpulse{0%{box-shadow:0 0 0 0 #ff2d5599}70%{box-shadow:0 0 0 7px #ff2d5500}100%{box-shadow:0 0 0 0 #ff2d5500}}
.livelink{font-weight:700}
.lbadge{position:absolute;left:8px;top:8px;background:#ff2d55;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.5px}
.lcard .lph{display:flex;align-items:center;justify-content:center;height:100%;font-size:38px;opacity:.5}
.livepage{grid-template-columns:1fr 360px}
.lplayer{position:relative;border-radius:12px;overflow:hidden;background:#000}
.lplayer .player{display:block;width:100%;aspect-ratio:16/9;background:#000}
.lplayer .lbadges{position:absolute;left:12px;top:12px;display:flex;gap:8px;align-items:center;pointer-events:none}
.lplayer .lbadges .lbadge{position:static}
.vcount{background:#000a;color:#fff;font-size:12px;padding:3px 9px;border-radius:4px}
.player.offline{display:flex;align-items:center;justify-content:center;text-align:center;background:#111 center/cover no-repeat;position:relative}
.player.offline::before{content:"";position:absolute;inset:0;background:#000b}
.player.offline>div{position:relative;padding:20px}.player.offline h2{font-size:22px;margin-bottom:12px}
.unmute{position:absolute;right:12px;top:12px;background:#000b;color:#fff;border:1px solid #fff5;border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer}
.recon{position:absolute;left:50%;bottom:60px;transform:translateX(-50%);background:#000c;padding:6px 14px;border-radius:6px;font-size:13px;display:none}.recon.on{display:block}
.giftlayer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.fly{position:absolute;bottom:12%;display:flex;flex-direction:column;align-items:center;animation:gfly 2.8s ease-out forwards}
.fly .gemo{font-size:44px;line-height:1}.fly .gimg{width:56px;height:56px;object-fit:contain}
.fly small{background:#000a;color:#fff;font-size:12px;padding:2px 8px;border-radius:999px;margin-top:4px;white-space:nowrap}
@keyframes gfly{0%{transform:translateY(30px) scale(.5);opacity:0}15%{transform:translateY(0) scale(1.15);opacity:1}80%{opacity:1}100%{transform:translateY(-220px) scale(1);opacity:0}}
.fly.big{left:50%;top:50%;bottom:auto;animation:gbig 3.6s ease-out forwards}
.fly.big .gemo{font-size:110px}.fly.big .gimg{width:140px;height:140px}.fly.big small{font-size:15px;padding:4px 12px}
@keyframes gbig{0%{transform:translate(-50%,-50%) scale(.2) rotate(-20deg);opacity:0}20%{transform:translate(-50%,-50%) scale(1.25) rotate(5deg);opacity:1}35%{transform:translate(-50%,-50%) scale(1) rotate(0)}85%{opacity:1}100%{transform:translate(-50%,-70%) scale(1.1);opacity:0}}
.giftbar{margin-top:14px;background:#17171f;border:1px solid #26262f;border-radius:12px;padding:12px 14px}
.giftbar b small{font-weight:400;opacity:.6}
.gifts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.gifts button{display:flex;flex-direction:column;align-items:center;gap:3px;background:#22222c;border:1px solid #30303b;color:#fff;border-radius:10px;padding:8px 10px;min-width:70px;cursor:pointer;font:inherit;font-size:11px;transition:transform .15s}
.gifts button:hover{transform:translateY(-2px);border-color:var(--primary)}.gifts button:disabled{opacity:.5}
.gifts .gemo{font-size:26px;line-height:1}.gifts .gimg{width:30px;height:30px;object-fit:contain}
.chatbox{display:flex;flex-direction:column;background:#141419;border:1px solid #23232c;border-radius:12px;padding:14px;height:calc(100vh - 120px);min-height:460px;position:sticky;top:80px}
.chatbox h3{font-size:15px;margin-bottom:8px}
.topbox{border-bottom:1px solid #26262f;padding-bottom:10px;margin-bottom:10px}
.topbox ol{padding-left:20px;font-size:13px;line-height:1.7}.topbox li b{color:#ffd166}
.chat{flex:1;overflow-y:auto;font-size:13.5px;line-height:1.45;padding-right:4px}
.chat .msg{padding:4px 0;word-wrap:break-word}.chat .msg b{color:#8ab4ff;margin-right:2px}
.chat .msg.gift{background:linear-gradient(90deg,#ff2d5522,transparent);border-radius:6px;padding:4px 6px}
.chat .msg .gemo{font-size:16px}.chat .msg .gimg{width:18px;height:18px;vertical-align:middle}
.cempty{text-align:center;opacity:.25;font-size:40px;margin-top:40px}
.chatform{display:flex;gap:6px;margin-top:10px}
.chatform input{flex:1;background:#0f0f14;border:1px solid #2b2b36;color:#fff;border-radius:8px;padding:10px 12px;font:inherit;font-size:14px}
.chatbox .cta{margin-top:10px;font-size:13px;background:#1e1e27;border-radius:8px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ltoast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(20px);background:#222;border:1px solid #444;color:#fff;padding:10px 18px;border-radius:8px;font-size:14px;opacity:0;transition:.25s;pointer-events:none;z-index:99}
.ltoast.on{opacity:1;transform:translateX(-50%)}
/* ads */
.adslot{position:relative;margin:18px 40px;padding:18px 10px 10px;border:1px dashed #33333f;border-radius:10px;text-align:center;overflow:hidden}
.watch .adslot,.chatbox .adslot{margin:14px 0 0}
.adbanner{display:block}.adbanner img{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:8px;margin:0 auto}
.adl{position:absolute;left:8px;top:4px;font-size:10px;letter-spacing:.5px;opacity:.5;text-transform:uppercase}
.pwrap{position:relative}
.preroll{position:absolute;inset:0;background:#000;border-radius:12px;overflow:hidden;z-index:2}
.preroll video{width:100%;height:100%;object-fit:contain;cursor:pointer}
.preroll .adl{left:12px;top:10px;background:#ffd166;color:#000;opacity:1;padding:2px 6px;border-radius:3px;font-weight:700}
.preroll .adskip{position:absolute;right:0;bottom:40px;background:#000c;color:#fff;border:1px solid #fff4;border-right:none;padding:10px 18px;font:inherit;font-size:14px;cursor:pointer}
.preroll .adskip:disabled{cursor:default;opacity:.8}
.preroll .advisit{position:absolute;left:12px;bottom:40px;background:var(--primary);color:#fff;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:600}
.preroll .adunmute{position:absolute;right:12px;top:10px;background:#000a;border:none;color:#fff;font-size:18px;border-radius:50%;width:36px;height:36px;cursor:pointer}
@media (max-width:900px){.livepage{grid-template-columns:1fr}.chatbox{position:static;height:480px}.adslot{margin:14px 16px}}

.logo .tagline{display:block;line-height:1.2;white-space:nowrap;font-size:11px;font-weight:500;opacity:.6;margin-top:2px;max-width:260px;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){.logo .tagline{display:none}}
@media (max-width:600px){
  .nav{padding:10px 14px;gap:10px 8px}.logo img{height:28px}
  .nav .lang{order:1;margin-left:auto}.nav>.btn,.nav .acct{order:2}
  .search{order:3;width:100%;margin-left:0}.search input{width:100%}
  .links{order:4;display:flex;gap:18px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding-bottom:2px}.links::-webkit-scrollbar{display:none}
  .hero{margin:12px 14px;padding:20px;min-height:220px}.hero h1{font-size:24px}.hero p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .sec,.watch{padding-left:14px;padding-right:14px}.watch h1{font-size:19px}
  .chatbox{height:420px}
}
@media (max-width:600px){
  .unmute{top:auto;bottom:52px;right:10px;padding:6px 12px;font-size:12px}
  .lplayer .lbadges{left:8px;top:8px;gap:6px}.vcount{font-size:11px;padding:2px 7px}
  .gifts{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.gifts::-webkit-scrollbar{display:none}
  .gifts button{flex:0 0 auto;min-width:62px;padding:6px 8px}
  .giftbar{padding:10px 12px}.livepage>*,.giftbar{min-width:0}
}
.auth-card textarea{background:#1e1e26;border:1px solid #2a2a35;color:#fff;border-radius:8px;padding:11px 12px;font-size:14px;font-family:inherit;outline:none;resize:vertical}
.auth-card .agree{flex-direction:row;align-items:flex-start;gap:10px;line-height:1.45}.auth-card .agree input{margin-top:3px}
.chead{display:flex;gap:18px;align-items:center;margin-top:24px}.cav{width:72px;height:72px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;flex:0 0 auto}
.chead .m{opacity:.6;font-size:13px;margin-top:4px}.cbio{opacity:.8;margin-top:8px;max-width:640px;line-height:1.5;white-space:pre-line}
.acct .menu a{display:block;padding:8px 10px;border-radius:6px;white-space:nowrap}.acct .menu a:hover{background:#2a2a35}
.studio{padding:0 40px 40px;max-width:1200px}.studio h1{font-size:24px;margin:24px 0 6px}.studio .sub{opacity:.65;font-size:14px;margin-bottom:18px}
.spanel{background:#17171f;border:1px solid #24242e;border-radius:14px;padding:18px;margin-bottom:18px}.spanel h2{font-size:17px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.spanel h2 .btn{margin-left:auto}
.srow{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #24242e}.srow:first-of-type{border-top:none}
.srow img,.srow .ph{width:128px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#22222c;flex:0 0 auto}
.srow .info{flex:1;min-width:0}.srow .info b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow .k{opacity:.6;font-size:12px;margin-top:3px}
.srow .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.srow form{display:inline}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}
.tag.ok{background:#16341f;color:#86efac}.tag.wait{background:#3a2f12;color:#fcd34d}.tag.no{background:#3a1717;color:#fca5a5}.tag.live{background:#ff2d55;color:#fff}.tag.off{background:#2a2a35;color:#bbb}
.reason{background:#3a1717;color:#fecaca;font-size:12px;padding:6px 10px;border-radius:6px;margin-top:6px}
.sform{display:grid;grid-template-columns:1fr 340px;gap:18px}.sform label{display:flex;flex-direction:column;gap:6px;font-size:13px;margin-bottom:12px;opacity:.95}
.sform input:not([type=checkbox]):not([type=file]),.sform textarea,.sform select{background:#1e1e26;border:1px solid #2a2a35;color:#fff;border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit;outline:none;width:100%}
.sform textarea{resize:vertical;min-height:80px}.sform .lh{font-size:12px;font-weight:700;opacity:.7;margin:10px 0 6px}
.sform .check{flex-direction:row;align-items:center;gap:8px}.btn.danger{background:#7f1d1d}.btn.full{width:100%;text-align:center;margin-top:8px}
.progress{height:26px;background:#22222c;border-radius:8px;position:relative;overflow:hidden;margin:10px 0}.progress div{height:100%;width:0;background:var(--primary);transition:width .2s}.progress span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.obsbox{background:#111118;border:1px solid #2a2a35;border-radius:10px;padding:14px;margin-top:12px}.obsbox .copy{display:flex;gap:8px}.obsbox input{flex:1;min-width:0}
@media (max-width:900px){.studio{padding:0 14px 30px}.sform{grid-template-columns:1fr}.srow{flex-wrap:wrap}.srow img,.srow .ph{width:110px}.srow .acts{width:100%;justify-content:flex-start}}
@media (max-width:600px){.acct .cur{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}}
