:root{
    --bg:#10130f;
    --bg-soft:#181d16;
    --card:#1f261c;
    --line:rgba(170,214,120,.16);
    --green:#a8d670;
    --green-deep:#6faa3a;
    --text:#eef3e6;
    --muted:#9aa792;
    --radius:18px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .wrap{width:min(1180px,92vw);margin:0 auto;}

  /* ---------- header ---------- */
  .site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(16,19,15,.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex;align-items:center;gap:16px;
    padding:12px 0;
  }
  .brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
  .brand img{height:34px;width:34px;border-radius:9px;object-fit:cover;}
  .brand span{font-size:18px;font-weight:700;letter-spacing:.5px;white-space:nowrap;}
  .nav{display:flex;gap:4px;overflow-x:auto;flex:1 1 auto;scrollbar-width:none;}
  .nav::-webkit-scrollbar{display:none;}
  .nav a{
    flex:0 0 auto;font-size:14px;color:var(--muted);
    padding:6px 10px;border-radius:999px;transition:.2s;
    white-space:nowrap;
  }
  .nav a:hover{color:var(--green);background:rgba(168,214,112,.1);}
  .header-dl{
    flex:0 0 auto;font-size:14px;font-weight:600;
    background:linear-gradient(135deg,var(--green),var(--green-deep));
    color:#11160c;padding:9px 18px;border-radius:999px;
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    padding:64px 0 40px;
    background:
      radial-gradient(900px 420px at 15% -10%,rgba(168,214,112,.18),transparent 65%),
      radial-gradient(700px 380px at 90% 0%,rgba(111,170,58,.14),transparent 60%);
    overflow:hidden;
  }
  .hero-text{max-width:640px;position:relative;z-index:2;}
  .eyebrow{
    display:inline-block;font-size:13px;color:var(--green);
    border:1px solid var(--line);border-radius:999px;
    padding:5px 14px;margin-bottom:18px;
  }
  h1{
    font-size:clamp(28px,4.4vw,46px);
    line-height:1.28;letter-spacing:.5px;
    margin-bottom:16px;font-weight:800;
  }
  h1 em{font-style:normal;color:var(--green);}
  .hero p.lead{color:var(--muted);font-size:16px;max-width:540px;margin-bottom:26px;}
  .cta-row{display:flex;flex-wrap:wrap;gap:12px;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 26px;border-radius:999px;
    font-size:15px;font-weight:600;transition:.22s;
    border:1px solid transparent;cursor:pointer;
  }
  .btn-primary{
    background:linear-gradient(135deg,var(--green),var(--green-deep));
    color:#11160c;
  }
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-ghost{
    border-color:var(--line);color:var(--text);
    background:rgba(255,255,255,.03);
  }
  .btn-ghost:hover{border-color:var(--green);color:var(--green);}
  .btn small{font-weight:400;opacity:.75;}

  /* 曲线倾斜卡片 */
  .curve-cards{
    margin-top:46px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
    align-items:end;
  }
  .curve-card{
    border-radius:14px;overflow:hidden;
    background:var(--card);border:1px solid var(--line);
    box-shadow:0 18px 40px rgba(0,0,0,.45);
    transition:transform .3s ease;
  }
  .curve-card img{width:100%;aspect-ratio:3/4;object-fit:cover;}
  .curve-card:nth-child(1){transform:rotate(-6deg) translateY(18px);}
  .curve-card:nth-child(2){transform:rotate(-3deg) translateY(4px);}
  .curve-card:nth-child(3){transform:rotate(0deg) translateY(-10px);}
  .curve-card:nth-child(4){transform:rotate(3deg) translateY(4px);}
  .curve-card:nth-child(5){transform:rotate(6deg) translateY(18px);}
  .curve-card:hover{transform:rotate(0) translateY(-16px) scale(1.04);z-index:3;}

  /* ---------- section 通用 ---------- */
  section{padding:64px 0;}
  .sec-head{margin-bottom:34px;}
  .sec-head h2{
    font-size:clamp(22px,3vw,30px);font-weight:800;
    margin-bottom:10px;letter-spacing:.4px;
  }
  .sec-head p{color:var(--muted);font-size:15px;max-width:640px;}
  .tag{color:var(--green);font-size:13px;letter-spacing:2px;display:block;margin-bottom:8px;}

  /* 原创短剧 / 分类横滑 */
  .rail{
    display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;
    scrollbar-width:thin;scrollbar-color:var(--green-deep) transparent;
  }
  .rail::-webkit-scrollbar{height:6px;}
  .rail::-webkit-scrollbar-thumb{background:var(--green-deep);border-radius:99px;}
  .rail-card{
    flex:0 0 190px;border-radius:var(--radius);overflow:hidden;
    background:var(--card);border:1px solid var(--line);
    transition:.25s;
  }
  .rail-card:hover{transform:translateY(-6px);border-color:rgba(168,214,112,.45);}
  .rail-card img{width:100%;aspect-ratio:3/4;object-fit:cover;}
  .rail-card .cap{padding:12px 14px;}
  .rail-card .cap strong{display:block;font-size:15px;margin-bottom:4px;}
  .rail-card .cap span{font-size:12px;color:var(--muted);}

  /* 分类四个 */
  .type-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  }
  .type-card{
    background:var(--card);border:1px solid var(--line);
    border-radius:var(--radius);padding:22px 20px;transition:.25s;
  }
  .type-card:hover{border-color:rgba(168,214,112,.45);transform:translateY(-4px);}
  .type-card h3{font-size:17px;margin-bottom:8px;color:var(--green);}
  .type-card p{font-size:14px;color:var(--muted);}

  /* 今日更新 + 日历 */
  .update-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;}
  .update-list{display:flex;flex-direction:column;gap:14px;}
  .update-item{
    display:flex;gap:14px;align-items:center;
    background:var(--card);border:1px solid var(--line);
    border-radius:14px;padding:12px;transition:.22s;
  }
  .update-item:hover{border-color:rgba(168,214,112,.45);}
  .update-item img{
    width:64px;height:86px;object-fit:cover;border-radius:9px;flex:0 0 auto;
  }
  .update-item .info{min-width:0;}
  .update-item h3{font-size:15px;margin-bottom:4px;}
  .update-item p{font-size:13px;color:var(--muted);}
  .badge{
    display:inline-block;font-size:11px;color:#11160c;
    background:var(--green);border-radius:5px;padding:1px 7px;margin-left:6px;
    vertical-align:middle;
  }
  .cal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
  .cal h3{font-size:16px;margin-bottom:14px;}
  .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:12px;}
  .cal-grid .dow{color:var(--muted);padding:4px 0;}
  .cal-grid .day{
    padding:9px 0;border-radius:9px;background:rgba(255,255,255,.03);color:var(--muted);
  }
  .cal-grid .day.on{background:rgba(168,214,112,.18);color:var(--green);font-weight:600;}

  /* AI 短剧流程 */
  .flow{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:step;
  }
  .flow-item{
    background:var(--card);border:1px solid var(--line);
    border-radius:var(--radius);padding:22px 18px;position:relative;
  }
  .flow-item::before{
    counter-increment:step;content:"0" counter(step);
    font-size:28px;font-weight:800;color:rgba(168,214,112,.28);
    display:block;margin-bottom:8px;
  }
  .flow-item h3{font-size:16px;margin-bottom:6px;}
  .flow-item p{font-size:13.5px;color:var(--muted);}

  /* 排行榜 */
  .rank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .rank-row{
    display:flex;gap:14px;align-items:center;
    background:var(--card);border:1px solid var(--line);
    border-radius:14px;padding:12px;
  }
  .rank-no{
    flex:0 0 34px;height:34px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:15px;background:rgba(168,214,112,.13);color:var(--green);
  }
  .rank-row img{width:52px;height:70px;object-fit:cover;border-radius:8px;flex:0 0 auto;}
  .rank-row .r-info{min-width:0;}
  .rank-row h3{font-size:15px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .rank-row p{font-size:12.5px;color:var(--muted);}

  /* 展示墙 */
  .wall{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .wall figure{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);}
  .wall img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
  .wall figure:hover img{transform:scale(1.05);}

  /* 证书展示 */
  .cert-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .cert{
    background:var(--card);border:1px solid var(--line);
    border-radius:var(--radius);padding:22px;text-align:center;
  }
  .cert .ico{
    width:52px;height:52px;margin:0 auto 12px;border-radius:50%;
    background:rgba(168,214,112,.14);color:var(--green);
    display:flex;align-items:center;justify-content:center;
    font-size:20px;font-weight:800;
  }
  .cert h3{font-size:16px;margin-bottom:6px;}
  .cert p{font-size:13.5px;color:var(--muted);}

  /* 教程 */
  .tuto{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;}
  .tuto-list{display:flex;flex-direction:column;gap:16px;}
  .tuto-item{display:flex;gap:14px;}
  .tuto-item .n{
    flex:0 0 32px;height:32px;border-radius:50%;
    background:linear-gradient(135deg,var(--green),var(--green-deep));
    color:#11160c;font-weight:800;display:flex;align-items:center;justify-content:center;
  }
  .tuto-item h3{font-size:15.5px;margin-bottom:3px;}
  .tuto-item p{font-size:14px;color:var(--muted);}
  .tuto-pic{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);}
  .tuto-pic img{width:100%;object-fit:cover;}

  /* FAQ */
  .faq-list{display:flex;flex-direction:column;gap:12px;max-width:820px;}
  .faq-item{
    background:var(--card);border:1px solid var(--line);
    border-radius:14px;padding:18px 20px;
  }
  .faq-item h3{font-size:15.5px;margin-bottom:6px;color:var(--green);}
  .faq-item p{font-size:14px;color:var(--muted);}

  /* 下载区 */
  .download{
    background:linear-gradient(135deg,rgba(168,214,112,.14),rgba(111,170,58,.05));
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    text-align:center;
  }
  .download h2{font-size:clamp(22px,3vw,30px);margin-bottom:10px;}
  .download p{color:var(--muted);max-width:560px;margin:0 auto 26px;}
  .download .cta-row{justify-content:center;}

  /* modal */
  .modal{
    position:fixed;inset:0;z-index:100;
    background:rgba(0,0,0,.7);
    display:none;align-items:center;justify-content:center;
    padding:20px;
  }
  .modal.open{display:flex;}
  .modal-box{
    background:var(--bg-soft);border:1px solid var(--line);
    border-radius:18px;padding:26px 22px;max-width:420px;width:100%;
  }
  .modal-box p{font-size:14.5px;margin-bottom:14px;color:var(--text);}
  .modal-box input{
    width:100%;padding:12px 14px;border-radius:10px;
    border:1px solid var(--line);background:#0c0f0a;color:var(--text);
    font-size:14px;margin-bottom:14px;
  }
  .modal-close{
    width:100%;padding:11px;border-radius:10px;border:none;
    background:var(--green);color:#11160c;font-weight:700;font-size:14px;cursor:pointer;
  }

  /* footer */
  .site-footer{
    padding:36px 0 44px;border-top:1px solid var(--line);
    font-size:12.5px;color:#7d8877;line-height:2;
  }
  .site-footer .foot-inner{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;}
  .site-footer a{color:#7d8877;}
  .site-footer a:hover{color:var(--green);}
  .search-words{margin-top:14px;font-size:12px;color:#5f6a5a;}
  .search-words span{margin-right:12px;}

  /* ---------- 响应式 ---------- */
  @media (max-width:1024px){
    .nav{display:none;}
    .type-grid{grid-template-columns:repeat(2,1fr);}
    .flow{grid-template-columns:repeat(2,1fr);}
    .wall{grid-template-columns:repeat(2,1fr);}
    .cert-row{grid-template-columns:repeat(2,1fr);}
    .curve-cards{grid-template-columns:repeat(3,1fr);}
    .curve-card:nth-child(n+4){display:none;}
  }
  @media (max-width:768px){
    .hero{padding:44px 0 26px;}
    section{padding:48px 0;}
    .update-grid{grid-template-columns:1fr;}
    .rank-grid{grid-template-columns:1fr;}
    .tuto{grid-template-columns:1fr;}
    .wall{grid-template-columns:repeat(2,1fr);gap:10px;}
    .cert-row{grid-template-columns:1fr;}
    .curve-cards{grid-template-columns:repeat(3,1fr);gap:8px;}
    .curve-card:nth-child(n+4){display:none;}
    .rail-card{flex:0 0 150px;}
    .header-dl{font-size:13px;padding:8px 14px;}
    .header-inner{gap:10px;}
    .brand span{font-size:16px;}
    .brand img{height:28px;width:28px;}
  }
  @media (max-width:480px){
    .type-grid{grid-template-columns:1fr;}
    .flow{grid-template-columns:1fr;}
    .curve-card:nth-child(n+3){display:none;}
  }