:root{
    --orange:#ff6a1a;
    --orange-deep:#e85400;
    --orange-soft:#fff2e9;
    --ink:#24201d;
    --sub:#6e6660;
    --line:#f0e6de;
    --card:#ffffff;
    --bg:#fffaf6;
    --green:#2fae62;
    --purple:#8a5cf6;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.65;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  h1,h2,h3,h4{margin:0;line-height:1.35;}
  p{margin:0;}
  ul{margin:0;padding:0;list-style:none;}
  .wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 18px;}

  /* ---------- header ---------- */
  .site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex;align-items:center;gap:16px;
    padding:10px 0;flex-wrap:wrap;
  }
  .brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:19px;color:var(--orange);}
  .brand img{height:32px;width:auto;border-radius:8px;}
  .nav-menu{display:none;gap:22px;font-size:15px;color:var(--sub);}
  .nav-menu a:hover{color:var(--orange);}
  .header-search{
    display:none;flex:1;min-width:150px;max-width:260px;position:relative;
  }
  .header-search input{
    width:100%;border:1px solid var(--line);background:#fff;border-radius:999px;
    padding:8px 14px;font-size:14px;color:var(--ink);outline:none;
  }
  .header-search input:focus{border-color:var(--orange);}
  .header-cta{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
  .btn-main{
    display:inline-block;background:var(--orange);color:#fff;font-weight:700;
    padding:9px 20px;border-radius:999px;font-size:15px;border:none;cursor:pointer;
    transition:transform .18s ease,background .18s ease;
  }
  .btn-main:hover{background:var(--orange-deep);transform:translateY(-1px);}
  .btn-ghost{
    display:inline-block;border:1.5px solid var(--orange);color:var(--orange);font-weight:700;
    padding:9px 20px;border-radius:999px;font-size:15px;background:#fff;
  }
  .tip-small{font-size:11px;color:var(--orange-deep);}

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    padding:38px 0 48px;
    background:
      radial-gradient(680px 340px at 85% 10%, #ffe2ce 0%, rgba(255,226,206,0) 70%),
      radial-gradient(520px 300px at 5% 60%, #ffeadd 0%, rgba(255,234,221,0) 70%);
  }
  .hero-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center;}
  .hero h1{font-size:30px;letter-spacing:-.5px;}
  .hero h1 em{font-style:normal;color:var(--orange);}
  .hero-lead{margin-top:14px;font-size:15px;color:var(--sub);max-width:34em;}
  .hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
  .badge{
    display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);
    border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink);
    box-shadow:0 2px 8px rgba(200,120,60,.06);
  }
  .badge span{color:var(--orange);}
  .hero-qr{
    margin-top:22px;display:flex;gap:14px;align-items:center;background:#fff;
    border:1px solid var(--line);border-radius:14px;padding:12px 16px;max-width:330px;
  }
  .qr-box{
    width:62px;height:62px;flex:0 0 62px;border-radius:8px;
    background:repeating-conic-gradient(#24201d 0% 25%, #fff 0% 50%) 0 0/12px 12px;
    border:1px solid var(--line);
  }
  .hero-qr strong{display:block;font-size:14px;}
  .hero-qr small{color:var(--sub);font-size:12px;}
  .trust{margin-top:14px;font-size:12px;color:var(--sub);}
  .stat-bar{
    display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px;
    border-top:1px dashed var(--line);padding-top:18px;
  }
  .stat-bar div{text-align:center;}
  .stat-bar b{display:block;font-size:19px;color:var(--orange-deep);}
  .stat-bar small{font-size:12px;color:var(--sub);}

  .phone-stage{position:relative;display:flex;justify-content:center;gap:16px;}
  .phone{
    width:210px;border-radius:26px;background:#241d18;padding:9px;
    box-shadow:0 20px 40px rgba(180,90,30,.22);
  }
  .phone-screen{
    border-radius:19px;overflow:hidden;background:#fff;height:380px;position:relative;
  }
  .scroll-track{animation:scrollUp 22s linear infinite;}
  .scroll-track img{width:100%;height:auto;display:block;}
  @keyframes scrollUp{
    0%{transform:translateY(0);}
    100%{transform:translateY(-50%);}
  }
  .phone.second{display:none;}
  .float-bubble{
    position:absolute;background:#fff;border:1px solid var(--line);border-radius:999px;
    padding:6px 12px;font-size:12px;font-weight:600;box-shadow:0 6px 16px rgba(200,110,50,.14);
    color:var(--orange-deep);white-space:nowrap;
  }
  .bubble-a{top:12px;left:-4px;animation:floatY 4s ease-in-out infinite;}
  .bubble-b{bottom:26px;right:-6px;animation:floatY 5s ease-in-out infinite reverse;}
  @keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

  /* ---------- section base ---------- */
  .section{padding:46px 0;}
  .section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:22px;}
  .section-head h2{font-size:23px;}
  .section-head p{font-size:14px;color:var(--sub);}
  .sec-tag{
    display:inline-block;font-size:12px;font-weight:700;color:var(--orange-deep);
    background:var(--orange-soft);border-radius:999px;padding:3px 11px;
  }

  /* ---------- hot strip ---------- */
  .hscroll{
    display:flex;gap:14px;overflow-x:auto;padding:6px 2px 16px;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  }
  .hscroll::-webkit-scrollbar{height:6px;}
  .hscroll::-webkit-scrollbar-thumb{background:#f3cdb4;border-radius:9px;}
  .cover-card{
    flex:0 0 150px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);
    border-radius:14px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;
  }
  .cover-card:hover{transform:translateY(-6px);box-shadow:0 14px 26px rgba(190,110,50,.18);}
  .cover-wrap{position:relative;aspect-ratio:2/3;overflow:hidden;background:#f6ece5;}
  .cover-wrap img{width:100%;height:100%;object-fit:cover;}
  .corner{
    position:absolute;top:0;left:0;font-size:11px;font-weight:700;color:#fff;
    padding:3px 9px;border-bottom-right-radius:10px;
  }
  .corner.exclusive{background:var(--orange);}
  .corner.free{background:var(--green);}
  .corner.limit{background:var(--purple);}
  .cover-body{padding:9px 10px 12px;}
  .cover-body h3{font-size:14px;font-weight:700;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .cover-body .author{font-size:11.5px;color:var(--sub);margin-top:2px;}
  .tag-row{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap;}
  .tag{font-size:11px;color:var(--orange-deep);background:var(--orange-soft);border-radius:5px;padding:1px 7px;}
  .tag.neutral{color:#5b5450;background:#f5f0ec;}
  .heat{font-size:11.5px;color:var(--sub);margin-top:6px;}
  .state{font-size:11px;color:var(--green);margin-top:4px;}

  /* ---------- weekly ---------- */
  .week-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;}
  .week-tabs button{
    flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;
    padding:7px 16px;font-size:13.5px;color:var(--sub);cursor:pointer;font-family:inherit;
  }
  .week-tabs button.active{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700;}
  .week-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px;
  }
  .mini-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
  .mini-card .cover-wrap{border-radius:0;}
  .mini-card .cover-body{padding:8px 9px 11px;}
  .mini-card h4{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .new-flag{
    display:inline-block;font-size:10px;font-weight:800;color:#fff;background:var(--orange);
    border-radius:4px;padding:1px 6px;margin-left:5px;vertical-align:2px;
  }
  .mini-card small{display:block;font-size:11px;color:var(--sub);margin-top:3px;}

  /* ---------- ranking ---------- */
  .rank-grid{display:grid;grid-template-columns:1fr;gap:22px;}
  .rank-col{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;}
  .rank-col h3{font-size:16px;margin-bottom:12px;display:flex;align-items:center;gap:7px;}
  .rank-col h3 span{font-size:11px;color:var(--sub);font-weight:400;}
  .rank-top{
    background:var(--orange-soft);border-radius:12px;padding:11px;display:flex;gap:11px;margin-bottom:12px;
  }
  .rank-top img{width:58px;flex:0 0 58px;aspect-ratio:2/3;object-fit:cover;border-radius:8px;}
  .rank-top b{display:block;font-size:13.5px;}
  .rank-top em{font-style:normal;font-size:11.5px;color:var(--sub);display:block;margin-top:2px;}
  .rank-top p{font-size:12px;color:#5b5450;margin-top:5px;line-height:1.5;}
  .rank-list li{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13px;}
  .rank-list li:last-child{border-bottom:none;}
  .num{
    flex:0 0 20px;height:20px;border-radius:5px;font-size:11.5px;font-weight:800;color:#fff;
    display:flex;align-items:center;justify-content:center;background:#c9c1ba;
  }
  .num.n1{background:#ffb300;}
  .num.n2{background:#b8bcc4;}
  .num.n3{background:#cf9a68;}
  .rank-list .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .rank-list .au{font-size:11px;color:var(--sub);flex:0 0 auto;}
  .up{font-size:10.5px;color:var(--orange-deep);background:#ffeada;border-radius:4px;padding:1px 5px;}

  /* ---------- genre ---------- */
  .genre-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  .genre-card{
    background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:14px 6px;
    text-align:center;transition:border-color .18s ease,transform .18s ease;
  }
  .genre-card:hover{border-color:var(--orange);transform:translateY(-3px);}
  .genre-card i{font-style:normal;font-size:21px;display:block;}
  .genre-card b{display:block;font-size:13px;margin-top:5px;}
  .genre-card small{font-size:10.5px;color:var(--sub);}

  /* ---------- finish / free ---------- */
  .tabs-line{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
  .tab-btn{
    border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 18px;
    font-size:14px;font-family:inherit;cursor:pointer;color:var(--sub);
  }
  .tab-btn.active{background:var(--orange);color:#fff;border-color:var(--orange);font-weight:700;}
  .collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .panel[hidden]{display:none;}

  /* ---------- reading experience ---------- */
  .reading-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:center;}
  .reading-grid h2{font-size:23px;}
  .reading-grid .lead{color:var(--sub);font-size:14.5px;margin-top:10px;}
  .feature-list{margin-top:20px;display:grid;gap:14px;}
  .feature-list li{
    background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;
    display:flex;gap:12px;align-items:flex-start;
  }
  .feature-list i{font-style:normal;font-size:20px;line-height:1.2;}
  .feature-list b{display:block;font-size:14.5px;}
  .feature-list p{font-size:13px;color:var(--sub);margin-top:3px;}
  .phone-tall{width:216px;margin:0 auto;}
  .phone-tall .phone-screen{height:420px;}
  .screens-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;}
  .screens-wall img{width:100%;border-radius:10px;border:1px solid var(--line);aspect-ratio:2/3;object-fit:cover;}

  /* ---------- author ---------- */
  .author{
    background:#f7f4f1;border-radius:20px;padding:28px 20px;
    display:grid;grid-template-columns:1fr;gap:26px;align-items:center;
  }
  .author h2{font-size:22px;}
  .author p.lead{font-size:14px;color:var(--sub);margin-top:8px;}
  .perk{margin-top:16px;display:grid;gap:10px;}
  .perk li{font-size:14px;display:flex;gap:9px;align-items:flex-start;}
  .perk li::before{content:"✓";color:var(--orange);font-weight:900;}
  .author-btns{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap;}
  .avatar-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
  .avatar-wall img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 12px rgba(140,100,70,.14);}

  /* ---------- final cta ---------- */
  .final-cta{
    background:linear-gradient(135deg,#ff8a3d 0%,#ff6a1a 55%,#ef5300 100%);
    color:#fff;border-radius:22px;padding:34px 22px;
    display:grid;grid-template-columns:1fr;gap:26px;align-items:center;
  }
  .final-cta h2{font-size:26px;color:#fff;}
  .final-cta p{margin-top:10px;font-size:14.5px;color:rgba(255,255,255,.92);}
  .final-cta .btn-white{
    display:inline-block;background:#fff;color:var(--orange-deep);font-weight:800;
    padding:11px 24px;border-radius:999px;font-size:15px;margin-top:18px;
  }
  .cta-qr{
    background:#fff;border-radius:16px;padding:16px;text-align:center;color:var(--ink);
    max-width:250px;
  }
  .cta-qr .qr-box{width:110px;height:110px;flex:none;margin:0 auto 10px;}
  .cta-qr b{display:block;font-size:14px;color:var(--orange-deep);}
  .cta-qr small{font-size:12px;color:var(--sub);}

  /* ---------- reviews ---------- */
  .review-grid{display:grid;grid-template-columns:1fr;gap:16px;}
  .review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;}
  .review-head{display:flex;align-items:center;gap:11px;}
  .review-head img{width:44px;height:44px;border-radius:50%;object-fit:cover;}
  .review-head b{display:block;font-size:14px;}
  .stars{color:#ffb300;font-size:12.5px;letter-spacing:1px;}
  .review-card p{font-size:13.5px;color:#4a443f;margin-top:11px;line-height:1.7;}

  /* ---------- footer ---------- */
  .site-footer{
    margin-top:52px;background:#2b2724;color:#b7aea6;font-size:12.5px;padding:34px 0 20px;
  }
  .footer-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
  .footer-cols h3{font-size:13px;color:#efe7e1;margin-bottom:10px;font-weight:700;}
  .footer-cols li{margin-bottom:7px;}
  .footer-cols a:hover{color:var(--orange);}
  .footer-social{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin-top:6px;}
  .footer-social span{border:1px solid #4a433f;border-radius:999px;padding:3px 11px;}
  .footer-meta{
    margin-top:26px;border-top:1px solid #423b37;padding-top:16px;
    font-size:11.5px;color:#8f877f;line-height:1.9;
  }
  .footer-meta a{color:#a89f96;text-decoration:underline;}
  .footer-meta a:hover{color:var(--orange);}
  .update-line{font-size:11px;color:#7d756e;margin-top:6px;}

  /* ---------- floating download bar ---------- */
  .float-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--orange);color:#fff;
    display:flex;align-items:center;gap:10px;padding:10px 14px;
    box-shadow:0 -4px 16px rgba(160,70,10,.22);
    transform:translateY(110%);transition:transform .25s ease;
  }
  .float-bar.show{transform:translateY(0);}
  .float-bar p{font-size:13px;flex:1;line-height:1.4;}
  .float-bar a{
    background:#fff;color:var(--orange-deep);font-weight:800;font-size:13px;
    padding:8px 16px;border-radius:999px;white-space:nowrap;
  }
  .float-bar button{
    background:none;border:none;color:#fff;font-size:18px;line-height:1;cursor:pointer;padding:4px;
  }

  /* ---------- responsive ---------- */
  @media (min-width:768px){
    .header-inner{flex-wrap:nowrap;padding:12px 0;}
    .nav-menu{display:flex;}
    .header-search{display:block;}
    .hero h1{font-size:40px;}
    .hero-grid{grid-template-columns:1.1fr .9fr;gap:36px;}
    .phone{width:232px;}
    .phone-screen{height:430px;}
    .phone.second{display:block;}
    .week-grid{grid-template-columns:repeat(4,1fr);}
    .rank-grid{grid-template-columns:repeat(3,1fr);}
    .genre-grid{grid-template-columns:repeat(6,1fr);}
    .collection-grid{grid-template-columns:repeat(3,1fr);}
    .reading-grid{grid-template-columns:1fr 1fr;gap:40px;}
    .author{grid-template-columns:1.2fr .8fr;padding:38px 32px;}
    .final-cta{grid-template-columns:1.3fr .7fr;padding:44px 40px;}
    .review-grid{grid-template-columns:repeat(3,1fr);}
    .footer-cols{grid-template-columns:repeat(4,1fr);}
    .screens-wall{grid-template-columns:repeat(6,1fr);}
  }
  @media (min-width:1024px){
    .hero h1{font-size:46px;}
    .cover-card{flex:0 0 168px;}
    .collection-grid{grid-template-columns:repeat(4,1fr);}
    .week-grid{grid-template-columns:repeat(7,1fr);}
    .phone{width:246px;}
    .phone-screen{height:470px;}
  }