:root{
    --bg:#0d0a12;
    --bg-soft:#151020;
    --card:#1c1528;
    --card-2:#241a33;
    --line:rgba(255,255,255,.09);
    --text:#f3edf8;
    --muted:#a99cb8;
    --lime:#b6ec4a;
    --lime-deep:#7cc21e;
    --violet:#8e5cf7;
    --pink:#f25a9a;
    --gold:#f0c46a;
    --radius:16px;
  }
  *{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;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 18px;}
  .section{padding:64px 0;}
  .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap;}
  .section-head h2{font-size:clamp(22px,3.2vw,32px);letter-spacing:.5px;}
  .section-head p{color:var(--muted);font-size:14px;max-width:520px;}
  .tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:999px;background:rgba(182,236,74,.14);color:var(--lime);border:1px solid rgba(182,236,74,.3);}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:11px 22px;border-radius:999px;border:0;cursor:pointer;
    font-size:15px;font-weight:600;font-family:inherit;
    transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
  }
  .btn-primary{
    background:linear-gradient(105deg,var(--lime),#69d8b4 55%,var(--violet));
    color:#10130a;
    box-shadow:0 8px 22px rgba(124,194,30,.28);
  }
  .btn-primary:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 30px rgba(142,92,247,.42);}
  .btn-ghost{
    background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--line);
  }
  .btn-ghost:hover{background:rgba(255,255,255,.13);transform:translateY(-2px);}

  /* ---------- header ---------- */
  .site-header{
    position:sticky;top:0;z-index:60;
    background:rgba(13,10,18,.55);
    backdrop-filter:blur(10px);
    border-bottom:1px solid transparent;
    transition:background .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .site-header.scrolled{
    background:rgba(13,10,18,.95);
    border-bottom-color:var(--line);
    box-shadow:0 8px 24px rgba(0,0,0,.35);
  }
  .nav-row{display:flex;align-items:center;gap:22px;height:66px;}
  .brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .brand img{height:34px;width:34px;border-radius:9px;object-fit:cover;}
  .brand span{font-size:18px;font-weight:700;letter-spacing:.5px;}
  .nav-links{display:flex;align-items:center;gap:20px;font-size:14px;color:var(--muted);}
  .nav-links a{position:relative;padding:4px 0;transition:color .2s;}
  .nav-links a:hover{color:var(--lime);}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--lime);transition:width .25s;}
  .nav-links a:hover::after{width:100%;}
  .nav-right{margin-left:auto;display:flex;align-items:center;gap:12px;}
  .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 8px 6px 14px;
  }
  .search-box input{
    background:transparent;border:0;outline:none;color:var(--text);
    font-size:13px;width:120px;font-family:inherit;
  }
  .search-box input::placeholder{color:#7d728c;}
  .search-box button{
    background:var(--lime);color:#10130a;border:0;border-radius:999px;
    font-size:12px;padding:5px 12px;cursor:pointer;font-family:inherit;font-weight:600;
  }
  .btn-login{font-size:13px;padding:8px 18px;}

  .menu-toggle{
    display:none;background:rgba(255,255,255,.08);border:1px solid var(--line);
    color:var(--text);border-radius:10px;width:38px;height:38px;font-size:16px;cursor:pointer;
  }
  .mobile-panel{display:none;border-top:1px solid var(--line);background:rgba(13,10,18,.98);padding:14px 18px 20px;}
  .mobile-panel.open{display:block;}
  .mobile-panel a{display:block;padding:10px 4px;font-size:15px;color:var(--text);border-bottom:1px solid rgba(255,255,255,.06);}

  /* ---------- banner ---------- */
  .banner{position:relative;overflow:hidden;border-bottom:1px solid var(--line);}
  .banner::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(600px 320px at 12% 10%,rgba(142,92,247,.28),transparent 65%),
               radial-gradient(520px 300px at 88% 80%,rgba(182,236,74,.16),transparent 65%);
    pointer-events:none;
  }
  .banner-inner{position:relative;padding:56px 0 44px;}
  .banner h1{
    font-size:clamp(26px,4.4vw,46px);
    line-height:1.3;letter-spacing:.5px;max-width:760px;
  }
  .banner h1 em{font-style:normal;color:var(--lime);}
  .banner-sub{color:var(--muted);font-size:16px;max-width:620px;margin-top:16px;}
  .banner-actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}

  .carousel{position:relative;margin-top:38px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--bg-soft);}
  .slides{position:relative;height:420px;}
  .slide{
    position:absolute;inset:0;display:grid;grid-template-columns:1.15fr .85fr;gap:0;
    opacity:0;transition:opacity .6s ease;pointer-events:none;
  }
  .slide.active{opacity:1;pointer-events:auto;}
  .slide-copy{padding:38px 34px;display:flex;flex-direction:column;justify-content:center;gap:14px;background:linear-gradient(90deg,#191122 40%,rgba(25,17,34,.2));}
  .slide-copy h3{font-size:clamp(22px,3vw,34px);letter-spacing:.5px;}
  .slide-copy p{color:var(--muted);font-size:15px;max-width:400px;}
  .slide-poster{position:relative;overflow:hidden;}
  .slide-poster img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s ease;}
  .slide.active .slide-poster img{transform:scale(1.04);}
  .dots{position:absolute;left:34px;bottom:22px;display:flex;gap:9px;z-index:5;}
  .dot{width:26px;height:5px;border-radius:99px;background:rgba(255,255,255,.24);border:0;cursor:pointer;padding:0;transition:background .25s,width .25s;}
  .dot.active{background:var(--lime);width:40px;}

  /* ---------- grid cards ---------- */
  .card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .drama-card{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  }
  .drama-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 16px 38px rgba(142,92,247,.3);border-color:rgba(182,236,74,.45);}
  .poster{position:relative;aspect-ratio:3/4;overflow:hidden;background:#221a2e;}
  .poster img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s ease;}
  .drama-card:hover .poster img{transform:scale(1.06);}
  .badge{position:absolute;top:10px;left:10px;font-size:11px;padding:3px 9px;border-radius:999px;font-weight:700;background:var(--pink);color:#fff;}
  .badge.new{background:var(--violet);}
  .badge.done{background:#3a6b4a;}
  .badge.hot{background:linear-gradient(90deg,#ff7a45,#f2405c);}
  .card-body{padding:14px 14px 16px;}
  .card-body h3{font-size:16px;letter-spacing:.3px;margin-bottom:6px;}
  .card-body p{font-size:13px;color:var(--muted);min-height:38px;}
  .card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;color:#8f83a1;}
  .play{color:var(--lime);}

  /* ---------- categories ---------- */
  .cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .cat-item{
    display:flex;align-items:center;gap:14px;padding:20px 22px;border-radius:var(--radius);
    border:1px solid var(--line);transition:transform .25s, border-color .25s, background .25s;
    background:var(--bg-soft);
  }
  .cat-item:hover{transform:translateY(-4px);border-color:rgba(182,236,74,.5);background:var(--card-2);}
  .cat-no{font-size:22px;font-weight:800;color:rgba(255,255,255,.16);min-width:38px;}
  .cat-item strong{display:block;font-size:16px;}
  .cat-item small{color:var(--muted);font-size:13px;}
  .cat-lime{border-left:3px solid var(--lime);}
  .cat-violet{border-left:3px solid var(--violet);}
  .cat-pink{border-left:3px solid var(--pink);}
  .cat-gold{border-left:3px solid var(--gold);}

  /* ---------- ranking ---------- */
  .rank-wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;}
  .rank-item{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:14px;background:var(--bg-soft);border:1px solid var(--line);transition:background .2s,transform .2s;}
  .rank-item:hover{background:var(--card-2);transform:translateX(4px);}
  .rank-no{font-size:20px;font-weight:800;width:34px;text-align:center;color:#6f6482;}
  .rank-item:nth-child(1),.rank-item:nth-child(2),.rank-item:nth-child(3){background:linear-gradient(100deg,rgba(182,236,74,.12),rgba(142,92,247,.1));border-color:rgba(182,236,74,.3);}
  .rank-item:nth-child(1) .rank-no{color:var(--gold);}
  .rank-item:nth-child(2) .rank-no{color:#d1d6de;}
  .rank-item:nth-child(3) .rank-no{color:#e0a37a;}
  .rank-info{flex:1;min-width:0;}
  .rank-info strong{display:block;font-size:15px;}
  .rank-info small{color:var(--muted);font-size:12px;}
  .heat{font-size:12px;color:var(--lime);white-space:nowrap;}

  /* ---------- new arrivals scroll ---------- */
  .scroll-strip{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;}
  .scroll-strip::-webkit-scrollbar{height:6px;}
  .scroll-strip::-webkit-scrollbar-thumb{background:#3a2d4e;border-radius:99px;}
  .strip-card{flex:0 0 200px;scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .25s,box-shadow .25s;}
  .strip-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,0,0,.45);}
  .strip-card .poster{aspect-ratio:3/4;}
  .strip-card h3{font-size:14px;padding:10px 12px 4px;}
  .strip-card p{font-size:12px;color:var(--muted);padding:0 12px 14px;}

  /* ---------- vip ---------- */
  .vip-panel{
    border-radius:22px;padding:34px;border:1px solid rgba(240,196,106,.35);
    background:linear-gradient(120deg,rgba(240,196,106,.1),rgba(142,92,247,.12) 60%,rgba(182,236,74,.08));
  }
  .vip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px;}
  .vip-cell{background:rgba(13,10,18,.5);border:1px solid var(--line);border-radius:14px;padding:18px;}
  .vip-cell strong{display:block;font-size:15px;margin-bottom:6px;color:var(--gold);}
  .vip-cell small{color:var(--muted);font-size:13px;line-height:1.6;display:block;}
  .vip-cta{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .vip-cta span{font-size:13px;color:var(--muted);}

  /* ---------- download ---------- */
  .download{position:relative;overflow:hidden;}
  .download-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;}
  .download h2{font-size:clamp(22px,3vw,30px);margin-bottom:14px;}
  .download p{color:var(--muted);font-size:15px;margin-bottom:22px;}
  .dl-buttons{display:flex;gap:14px;flex-wrap:wrap;}
  .dl-btn{
    display:flex;flex-direction:column;align-items:flex-start;gap:2px;
    padding:11px 22px;border-radius:14px;border:1px solid var(--line);
    background:rgba(255,255,255,.06);transition:transform .22s,background .22s,border-color .22s;
    min-width:160px;
  }
  .dl-btn:hover{transform:translateY(-3px);background:rgba(255,255,255,.12);border-color:rgba(182,236,74,.5);}
  .dl-btn em{font-style:normal;font-size:11px;color:var(--muted);letter-spacing:.5px;}
  .dl-btn strong{font-size:15px;}
  .phone-wall{display:flex;justify-content:center;gap:16px;}
  .phone{
    width:150px;border-radius:22px;border:5px solid #2a2138;overflow:hidden;
    background:#120e19;box-shadow:0 16px 40px rgba(0,0,0,.55);
  }
  .phone img{width:100%;height:270px;object-fit:cover;object-position:top center;}
  .phone.tall{margin-top:34px;}

  .copy-mask{position:fixed;inset:0;background:rgba(5,3,9,.72);display:none;align-items:center;justify-content:center;z-index:120;padding:20px;}
  .copy-mask.show{display:flex;}
  .copy-box{width:100%;max-width:420px;background:#1b1426;border:1px solid var(--line);border-radius:18px;padding:26px;}
  .copy-box p{font-size:14px;color:#d8cfe6;margin-bottom:14px;}
  .copy-input{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#0f0b16;color:var(--lime);font-size:13px;font-family:inherit;}
  .copy-actions{display:flex;gap:10px;margin-top:16px;justify-content:flex-end;}

  /* ---------- gallery ---------- */
  .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  .gallery figure{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card);}
  .gallery img{width:100%;height:230px;object-fit:cover;object-position:top center;transition:transform .45s;}
  .gallery figure:hover img{transform:scale(1.06);}

  /* ---------- footer ---------- */
  .site-footer{border-top:1px solid var(--line);margin-top:20px;padding:40px 0 30px;background:#0a0810;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;}
  .foot-grid h4{font-size:14px;margin-bottom:12px;color:#cfc4dd;}
  .foot-grid a,.foot-grid p{display:block;font-size:13px;color:#7d728c;margin-bottom:8px;transition:color .2s;}
  .foot-grid a:hover{color:var(--lime);}
  .foot-brand{display:flex;align-items:center;gap:9px;margin-bottom:12px;}
  .foot-brand img{height:26px;width:26px;border-radius:7px;object-fit:cover;}
  .foot-brand span{font-weight:700;font-size:15px;}
  .search-words{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#6b6079;line-height:1.9;}
  .foot-bottom{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#6b6079;display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
  .foot-bottom a{color:#8b7f9c;}
  .foot-bottom a:hover{color:var(--lime);}
  .foot-bottom time{color:#5f556e;}

  @media (max-width:1024px){
    .nav-links{display:none;}
    .search-box{display:none;}
    .menu-toggle{display:block;}
    .card-grid{grid-template-columns:repeat(3,1fr);}
    .cat-grid{grid-template-columns:repeat(2,1fr);}
    .vip-grid{grid-template-columns:repeat(2,1fr);}
    .slides{height:400px;}
    .download-grid{grid-template-columns:1fr;gap:30px;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .gallery{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:768px){
    .section{padding:46px 0;}
    .card-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
    .cat-grid{grid-template-columns:1fr;}
    .rank-wrap{grid-template-columns:1fr;}
    .vip-grid{grid-template-columns:1fr;}
    .vip-panel{padding:22px;}
    .slides{height:auto;}
    .slide{position:relative;display:none;grid-template-columns:1fr;}
    .slide.active{display:grid;}
    .slide-copy{padding:24px 20px;background:linear-gradient(180deg,#191122,rgba(25,17,34,.9));}
    .slide-poster{height:300px;}
    .dots{position:static;padding:0 20px 18px;background:#191122;}
    .gallery{grid-template-columns:repeat(2,1fr);}
    .gallery img{height:190px;}
    .phone-wall{gap:12px;}
    .phone{width:130px;}
    .phone img{height:230px;}
    .foot-grid{grid-template-columns:1fr;}
    .banner-inner{padding:36px 0 30px;}
  }