:root{
    --bg:#0e0b12;
    --bg-soft:#171021;
    --card:#1d1428;
    --line:rgba(255,255,255,.09);
    --text:#f4eef8;
    --muted:#a99cb8;
    --red:#ff3d68;
    --pink:#ff7cb0;
    --gold:#ffc85c;
    --green:#2ecc9b;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
    line-height:1.65;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 18px;}

  /* ---------- header ---------- */
  .site-header{
    position:sticky;top:0;z-index:60;
    background:rgba(14,11,18,.72);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transition:background .3s,box-shadow .3s;
  }
  .site-header.scrolled{
    background:rgba(14,11,18,.95);
    box-shadow:0 6px 24px rgba(0,0,0,.5);
  }
  .nav-row{
    display:flex;align-items:center;gap:16px;
    height:64px;
  }
  .brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
  .brand img{height:34px;width:34px;border-radius:9px;object-fit:cover;border:1px solid var(--line);}
  .brand-name{font-size:17px;font-weight:800;letter-spacing:.5px;}
  .brand-name span{color:var(--red);}
  .main-nav{
    display:flex;gap:4px;margin-left:10px;flex-wrap:nowrap;overflow:hidden;
  }
  .main-nav a{
    font-size:14px;color:var(--muted);padding:8px 10px;border-radius:8px;
    white-space:nowrap;transition:color .2s,background .2s;
  }
  .main-nav a:hover{color:#fff;background:rgba(255,255,255,.07);}
  .nav-tools{margin-left:auto;display:flex;align-items:center;gap:10px;flex:0 0 auto;}
  .search-box{
    display:flex;align-items:center;gap:6px;
    background:rgba(255,255,255,.07);
    border:1px solid var(--line);
    border-radius:999px;padding:6px 12px;
  }
  .search-box input{
    background:transparent;border:0;outline:none;color:var(--text);
    font-size:13px;width:110px;font-family:inherit;
  }
  .search-box input::placeholder{color:#8a7d97;}
  .search-box button{
    background:transparent;border:0;color:var(--pink);cursor:pointer;font-size:13px;
    font-family:inherit;padding:0;
  }
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:7px;
    font-family:inherit;font-size:14px;font-weight:700;
    padding:10px 20px;border-radius:999px;border:0;cursor:pointer;
    transition:transform .2s,box-shadow .25s,filter .2s;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{
    color:#fff;
    background:linear-gradient(120deg,var(--red),var(--pink));
    box-shadow:0 8px 22px rgba(255,61,104,.35);
  }
  .btn-primary:hover{box-shadow:0 12px 30px rgba(255,61,104,.5);}
  .btn-ghost{
    color:var(--text);background:rgba(255,255,255,.08);
    border:1px solid var(--line);
  }
  .btn-small{padding:7px 15px;font-size:13px;}
  .nav-toggle{
    display:none;background:rgba(255,255,255,.08);border:1px solid var(--line);
    color:var(--text);width:38px;height:34px;border-radius:9px;font-size:16px;cursor:pointer;
  }
  .mobile-nav{
    display:none;padding:8px 0 16px;border-top:1px solid var(--line);
  }
  .mobile-nav.open{display:block;}
  .mobile-nav a{
    display:block;padding:11px 6px;font-size:14px;color:var(--muted);
    border-bottom:1px dashed rgba(255,255,255,.06);
  }

  /* ---------- hero ---------- */
  .hero{position:relative;padding:34px 0 52px;overflow:hidden;}
  .hero::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(700px 380px at 12% 0%,rgba(255,61,104,.22),transparent 65%),
      radial-gradient(620px 400px at 88% 12%,rgba(120,60,220,.24),transparent 68%);
    pointer-events:none;
  }
  .hero-inner{position:relative;}
  .hero-head{max-width:760px;margin-bottom:26px;}
  .hero-tag{
    display:inline-block;font-size:12px;letter-spacing:1px;color:var(--gold);
    border:1px solid rgba(255,200,92,.35);background:rgba(255,200,92,.08);
    padding:4px 12px;border-radius:999px;margin-bottom:14px;
  }
  h1{
    font-size:clamp(26px,4.4vw,44px);line-height:1.28;font-weight:900;
    letter-spacing:.5px;margin-bottom:14px;
  }
  h1 em{
    font-style:normal;
    background:linear-gradient(100deg,var(--red),var(--pink),var(--gold));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero-desc{color:var(--muted);font-size:15px;max-width:640px;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
  .hero-actions .btn{padding:12px 26px;font-size:15px;}

  .slider{
    position:relative;display:grid;
    grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;
  }
  .slide{
    position:relative;border-radius:18px;overflow:hidden;
    border:1px solid var(--line);
    background:var(--card);
    box-shadow:0 18px 40px rgba(0,0,0,.45);
    transition:transform .35s,box-shadow .35s;
  }
  .slide:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 24px 56px rgba(255,61,104,.22);}
  .slide-poster{position:relative;aspect-ratio:3/4;}
  .slide-poster img{width:100%;height:100%;object-fit:cover;}
  .slide-poster::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(to top,rgba(10,7,14,.95) 8%,rgba(10,7,14,.35) 48%,transparent 78%);
  }
  .slide-info{position:absolute;left:0;right:0;bottom:0;padding:16px 16px 18px;z-index:2;}
  .slide-info h3{font-size:17px;font-weight:800;margin-bottom:6px;}
  .slide-info p{font-size:12.5px;color:#d6cbe2;margin-bottom:10px;line-height:1.5;}
  .pill{
    display:inline-block;font-size:11px;padding:2px 9px;border-radius:999px;
    background:rgba(255,61,104,.18);color:#ff9ab6;border:1px solid rgba(255,61,104,.35);
    margin-right:6px;
  }
  .pill-gold{background:rgba(255,200,92,.14);color:var(--gold);border-color:rgba(255,200,92,.35);}
  .pill-green{background:rgba(46,204,155,.14);color:var(--green);border-color:rgba(46,204,155,.35);}
  .slider-dots{
    display:flex;gap:8px;justify-content:center;margin-top:18px;
  }
  .slider-dots button{
    width:22px;height:4px;border-radius:99px;border:0;cursor:pointer;
    background:rgba(255,255,255,.18);transition:background .3s,width .3s;padding:0;
  }
  .slider-dots button.active{background:linear-gradient(90deg,var(--red),var(--pink));width:36px;}

  /* ---------- section base ---------- */
  section{padding:48px 0;}
  .sec-head{
    display:flex;align-items:flex-end;justify-content:space-between;
    gap:16px;flex-wrap:wrap;margin-bottom:26px;
  }
  .sec-head h2{font-size:clamp(20px,2.6vw,27px);font-weight:900;letter-spacing:.4px;}
  .sec-head h2 small{
    display:block;font-size:12px;font-weight:500;color:var(--muted);
    letter-spacing:1px;margin-top:6px;
  }
  .sec-link{font-size:13px;color:var(--pink);white-space:nowrap;}

  /* ---------- hot cards ---------- */
  .card-grid{
    display:grid;gap:16px;
    grid-template-columns:repeat(4,1fr);
  }
  .drama-card{
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;
  }
  .drama-card:hover{
    transform:translateY(-6px);
    border-color:rgba(255,61,104,.45);
    box-shadow:0 18px 36px rgba(255,61,104,.2);
  }
  .drama-cover{position:relative;aspect-ratio:3/4;overflow:hidden;background:#0b0810;}
  .drama-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
  .drama-card:hover .drama-cover img{transform:scale(1.06);}
  .heat-tag{
    position:absolute;left:10px;top:10px;z-index:2;
    font-size:11px;font-weight:700;padding:3px 9px;border-radius:7px;
    background:linear-gradient(120deg,var(--red),var(--pink));color:#fff;
  }
  .heat-tag.tag-new{background:linear-gradient(120deg,#2ecc9b,#12b3a0);}
  .heat-tag.tag-done{background:linear-gradient(120deg,#8a6bff,#c46bff);}
  .drama-body{padding:12px 13px 15px;}
  .drama-body h3{font-size:14.5px;font-weight:800;margin-bottom:5px;line-height:1.4;}
  .drama-body .meta{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;}
  .drama-body .meta b{color:var(--gold);font-weight:700;}
  .drama-tags{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap;}
  .drama-tags span{
    font-size:11px;color:#cbbcdb;background:rgba(255,255,255,.06);
    border:1px solid var(--line);padding:1px 8px;border-radius:6px;
  }

  /* ---------- categories ---------- */
  .cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
  .cat-card{
    border-radius:15px;padding:20px 12px;text-align:center;
    border:1px solid var(--line);background:var(--bg-soft);
    transition:transform .25s,box-shadow .25s;
    cursor:pointer;
  }
  .cat-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(0,0,0,.45);}
  .cat-icon{
    width:44px;height:44px;margin:0 auto 10px;border-radius:13px;
    display:flex;align-items:center;justify-content:center;
    font-size:19px;
  }
  .cat-card strong{display:block;font-size:14px;margin-bottom:3px;}
  .cat-card small{font-size:11.5px;color:var(--muted);}
  .c1 .cat-icon{background:rgba(255,124,176,.16);color:#ff9cc4;}
  .c2 .cat-icon{background:rgba(255,61,104,.16);color:#ff8098;}
  .c3 .cat-icon{background:rgba(138,107,255,.18);color:#b39cff;}
  .c4 .cat-icon{background:rgba(255,200,92,.16);color:var(--gold);}
  .c5 .cat-icon{background:rgba(46,204,155,.16);color:var(--green);}
  .c6 .cat-icon{background:rgba(90,180,255,.16);color:#87c6ff;}

  /* ---------- ranking ---------- */
  .rank-wrap{
    display:grid;grid-template-columns:1fr 1fr;gap:14px;
  }
  .rank-item{
    display:flex;align-items:center;gap:13px;
    background:var(--card);border:1px solid var(--line);
    border-radius:14px;padding:11px 14px;
    transition:border-color .25s,transform .25s;
  }
  .rank-item:hover{border-color:rgba(255,61,104,.4);transform:translateX(4px);}
  .rank-no{
    flex:0 0 30px;height:30px;border-radius:9px;
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:14px;background:rgba(255,255,255,.07);color:#b6a8c5;
  }
  .rank-top .rank-no{background:linear-gradient(135deg,var(--red),var(--pink));color:#fff;box-shadow:0 6px 16px rgba(255,61,104,.35);}
  .rank-pic{flex:0 0 46px;height:60px;border-radius:9px;overflow:hidden;}
  .rank-pic img{width:100%;height:100%;object-fit:cover;}
  .rank-text{flex:1;min-width:0;}
  .rank-text h3{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .rank-text p{font-size:11.5px;color:var(--muted);}
  .rank-heat{flex:0 0 auto;font-size:12.5px;font-weight:700;color:var(--gold);}
  .rank-top .rank-heat{color:#ff9ab6;}

  /* ---------- new strip ---------- */
  .strip{
    display:flex;gap:14px;overflow-x:auto;padding-bottom:14px;
    scroll-snap-type:x mandatory;
  }
  .strip::-webkit-scrollbar{height:6px;}
  .strip::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:99px;}
  .strip-card{
    flex:0 0 168px;scroll-snap-align:start;
    border-radius:14px;overflow:hidden;border:1px solid var(--line);
    background:var(--card);transition:transform .3s,box-shadow .3s;
  }
  .strip-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(0,0,0,.5);}
  .strip-pic{aspect-ratio:3/4;overflow:hidden;}
  .strip-pic img{width:100%;height:100%;object-fit:cover;}
  .strip-card span{display:block;padding:9px 11px 11px;font-size:12.5px;font-weight:700;}
  .strip-card span i{display:block;font-style:normal;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px;}

  /* ---------- VIP ---------- */
  .vip-block{
    position:relative;border-radius:20px;overflow:hidden;
    border:1px solid rgba(255,200,92,.28);
    background:linear-gradient(135deg,rgba(255,61,104,.16),rgba(40,18,60,.9) 55%,rgba(255,200,92,.12));
    padding:34px 30px;
  }
  .vip-block h2{font-size:clamp(20px,2.6vw,26px);font-weight:900;margin-bottom:8px;}
  .vip-block > p{color:#d7c9e3;font-size:14px;max-width:640px;margin-bottom:24px;}
  .vip-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
  .vip-item{
    background:rgba(10,7,14,.45);border:1px solid rgba(255,255,255,.1);
    border-radius:13px;padding:16px 14px;
  }
  .vip-item b{display:block;font-size:14px;color:var(--gold);margin-bottom:6px;}
  .vip-item span{font-size:12.5px;color:#bcadcb;line-height:1.55;}

  /* ---------- download ---------- */
  .download-block{
    display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:center;
    background:var(--bg-soft);border:1px solid var(--line);
    border-radius:20px;padding:34px 30px;
  }
  .download-block h2{font-size:clamp(20px,2.6vw,26px);font-weight:900;margin-bottom:10px;}
  .download-block p{color:var(--muted);font-size:14px;margin-bottom:20px;}
  .dl-btns{display:flex;flex-wrap:wrap;gap:12px;}
  .dl-note{font-size:12px;color:#8f81a0;margin-top:14px;line-height:1.6;}
  .phone-mock{
    justify-self:center;width:200px;border-radius:26px;padding:8px;
    background:#0b0810;border:1px solid rgba(255,255,255,.16);
    box-shadow:0 24px 50px rgba(0,0,0,.55);
  }
  .phone-mock .screen{border-radius:19px;overflow:hidden;aspect-ratio:9/17;background:#120d1a;}
  .phone-mock .screen img{width:100%;height:100%;object-fit:cover;}

  /* ---------- gallery ---------- */
  .gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
  .gallery figure{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);}
  .gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .45s;}
  .gallery figure:hover img{transform:scale(1.07);}
  .gallery figcaption{
    position:absolute;inset:auto 0 0 0;padding:22px 10px 9px;font-size:11.5px;
    color:#eee5f4;background:linear-gradient(to top,rgba(8,6,12,.92),transparent);
  }

  /* ---------- footer ---------- */
  .site-footer{
    border-top:1px solid var(--line);margin-top:36px;padding:34px 0 26px;
    background:rgba(10,7,14,.6);
  }
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;margin-bottom:26px;}
  .foot-grid h4{font-size:13px;font-weight:800;margin-bottom:11px;color:#e6daee;}
  .foot-grid a,.foot-grid p{display:block;font-size:12.5px;color:#8f82a0;margin-bottom:7px;line-height:1.6;}
  .foot-grid a:hover{color:var(--pink);}
  .foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
  .foot-brand img{height:30px;width:30px;border-radius:8px;object-fit:cover;}
  .foot-brand b{font-size:15px;}
  .foot-bottom{
    border-top:1px solid rgba(255,255,255,.06);padding-top:16px;
    font-size:11.5px;color:#7c7190;line-height:1.9;
  }
  .foot-bottom a{color:#7c7190;}
  .foot-bottom a:hover{color:var(--pink);}
  .foot-bottom time{font-size:11.5px;color:#7c7190;}

  /* ---------- copy modal ---------- */
  .copy-modal{
    position:fixed;inset:0;z-index:200;display:none;
    background:rgba(0,0,0,.66);
    align-items:center;justify-content:center;padding:20px;
  }
  .copy-modal.open{display:flex;}
  .copy-panel{
    width:100%;max-width:360px;background:#1b1227;
    border:1px solid rgba(255,255,255,.14);border-radius:18px;
    padding:24px 20px;box-shadow:0 24px 60px rgba(0,0,0,.6);
  }
  .copy-panel h3{font-size:15px;margin-bottom:12px;line-height:1.6;color:#ffb3c9;}
  .copy-field{
    display:flex;gap:8px;background:rgba(255,255,255,.07);
    border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:14px;
  }
  .copy-field input{
    flex:1;min-width:0;background:transparent;border:0;outline:none;
    color:#e8dff2;font-size:12.5px;font-family:inherit;
  }
  .copy-panel .btn{width:100%;}

  /* ---------- responsive ---------- */
  @media (max-width:1024px){
    .main-nav{display:none;}
    .nav-toggle{display:block;}
    .card-grid{grid-template-columns:repeat(3,1fr);}
    .cat-grid{grid-template-columns:repeat(3,1fr);}
    .vip-list{grid-template-columns:repeat(2,1fr);}
    .gallery{grid-template-columns:repeat(4,1fr);}
    .download-block{grid-template-columns:1fr;gap:26px;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:768px){
    .nav-row{height:58px;gap:10px;}
    .brand img{height:30px;width:30px;}
    .brand-name{font-size:15px;}
    .search-box{display:none;}
    .nav-tools .btn-login{display:none;}
    .hero{padding:24px 0 38px;}
    .slider{grid-template-columns:1fr;gap:14px;}
    .slide:not(:first-child){display:none;}
    .card-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .cat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .rank-wrap{grid-template-columns:1fr;}
    .vip-block{padding:26px 18px;}
    .vip-list{grid-template-columns:1fr;gap:10px;}
    .download-block{padding:26px 18px;}
    .gallery{grid-template-columns:repeat(3,1fr);gap:9px;}
    .strip-card{flex:0 0 138px;}
    section{padding:34px 0;}
    .foot-grid{grid-template-columns:1fr;gap:18px;}
    .hero-actions .btn{flex:1;min-width:130px;}
  }