:root{
    --blue:#1e90ff;
    --blue-dark:#0b6fd1;
    --blue-soft:#eaf4ff;
    --ink:#101418;
    --ink-2:#3d4752;
    --ink-3:#6b7785;
    --line:#e6ecf2;
    --bg:#ffffff;
    --bg-gray:#f7f9fc;
    --radius:14px;
    --shadow:0 2px 10px rgba(16,24,40,.05);
    --shadow-hover:0 8px 24px rgba(16,24,40,.09);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
  body{
    font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.7;
    font-size:15px;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 20px;}
  .grid-bg{
    background-color:var(--bg);
    background-image:
      linear-gradient(to right,rgba(30,144,255,.05) 1px,transparent 1px),
      linear-gradient(to bottom,rgba(30,144,255,.05) 1px,transparent 1px);
    background-size:56px 56px;
  }
  section{padding:72px 0;}
  .sec-head{max-width:720px;margin-bottom:36px;}
  .kicker{
    display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;
    color:var(--blue);background:var(--blue-soft);border-radius:999px;
    padding:5px 12px;margin-bottom:14px;text-transform:uppercase;
  }
  h1,h2,h3{line-height:1.3;letter-spacing:-.01em;}
  h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;color:var(--ink);margin-bottom:12px;}
  h3{font-size:17px;font-weight:700;margin-bottom:6px;}
  .sub{color:var(--ink-3);font-size:15px;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    border-radius:10px;font-weight:700;font-size:15px;padding:13px 24px;
    border:1px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;
    font-family:inherit;
  }
  .btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(30,144,255,.28);}
  .btn-primary:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,144,255,.34);}
  .btn-ghost{background:#fff;color:var(--ink);border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);}
  .btn svg{width:17px;height:17px;}

  /* ============ header ============ */
  .site-header{
    position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px;}
  .brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .brand img{height:32px;width:auto;border-radius:8px;}
  .brand-name{font-size:17px;font-weight:800;letter-spacing:.01em;white-space:nowrap;}
  .nav-links{display:flex;align-items:center;gap:22px;flex:1;justify-content:center;}
  .nav-links a{font-size:14px;color:var(--ink-2);font-weight:500;white-space:nowrap;transition:color .16s;}
  .nav-links a:hover{color:var(--blue);}
  .nav-cta{flex-shrink:0;}
  .nav-cta .btn{padding:9px 18px;font-size:14px;border-radius:9px;}
  .menu-toggle{
    display:none;background:none;border:1px solid var(--line);border-radius:9px;
    padding:8px 10px;cursor:pointer;
  }
  .menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);margin:3px 0;border-radius:2px;}

  /* ============ hero ============ */
  .hero{padding:64px 0 56px;overflow:hidden;}
  .hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
  .hero h1{font-size:clamp(30px,4.4vw,50px);font-weight:900;line-height:1.18;margin-bottom:18px;}
  .hero h1 em{font-style:normal;color:var(--blue);}
  .hero-lead{font-size:16px;color:var(--ink-2);max-width:520px;margin-bottom:26px;}
  .hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;}
  .badge{
    font-size:13px;font-weight:600;color:var(--ink-2);background:#fff;
    border:1px solid var(--line);border-radius:999px;padding:6px 14px;
    display:inline-flex;align-items:center;gap:6px;
  }
  .badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;}
  .hero-visual{position:relative;min-height:380px;}
  .phone-hero{
    position:relative;width:250px;margin:0 auto;border-radius:30px;
    background:#fff;border:1px solid var(--line);box-shadow:0 20px 50px rgba(16,40,80,.14);
    padding:10px;z-index:2;
  }
  .phone-hero img{border-radius:22px;width:100%;}
  .float-card{
    position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;
    box-shadow:var(--shadow-hover);padding:10px;width:120px;
  }
  .float-card img{border-radius:8px;width:100%;margin-bottom:6px;}
  .float-card p{font-size:11px;color:var(--ink-2);line-height:1.4;font-weight:600;}
  .fc-1{top:6%;left:0;transform:rotate(-6deg);}
  .fc-2{bottom:2%;right:0;transform:rotate(5deg);}
  .fc-3{top:44%;right:-6px;width:98px;transform:rotate(-3deg);}
  .hero-glow{
    position:absolute;inset:auto;width:320px;height:320px;border-radius:50%;
    background:radial-gradient(circle,rgba(30,144,255,.16),transparent 70%);
    top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;
  }

  /* marquee strip */
  .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-gray);overflow:hidden;padding:14px 0;}
  .marquee-track{display:flex;gap:40px;width:max-content;animation:scrollx 28s linear infinite;}
  .marquee-track span{font-size:13px;color:var(--ink-3);white-space:nowrap;font-weight:600;}
  .marquee-track span b{color:var(--blue);}
  @keyframes scrollx{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ============ features ============ */
  .feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .f-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:24px 20px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;
  }
  .f-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#d3e6fb;}
  .f-icon{
    width:40px;height:40px;border-radius:11px;background:var(--blue-soft);color:var(--blue);
    display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  }
  .f-icon svg{width:20px;height:20px;}
  .f-card p{font-size:13.5px;color:var(--ink-3);}
  .feature-note{color:var(--ink-3);font-size:13px;margin-top:22px;}

  /* ============ highlights z ============ */
  .zrow{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:56px;}
  .zrow:last-child{margin-bottom:0;}
  .zrow.reverse .z-media{order:2;}
  .z-num{font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.14em;margin-bottom:10px;}
  .zrow h3{font-size:22px;margin-bottom:10px;}
  .zrow p{color:var(--ink-2);font-size:14.5px;}
  .z-media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;}
  .z-media img{width:100%;height:300px;object-fit:cover;}
  .z-points{margin-top:16px;display:flex;flex-direction:column;gap:8px;}
  .z-points li{list-style:none;font-size:13.5px;color:var(--ink-2);padding-left:20px;position:relative;}
  .z-points li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--blue);opacity:.5;}

  /* ============ tags ============ */
  .tag-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;}
  .tag{
    background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 18px;
    font-size:14px;font-weight:600;color:var(--ink-2);transition:.18s;cursor:default;
  }
  .tag:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft);}
  .tag.hot{background:var(--blue);color:#fff;border-color:var(--blue);}

  /* ============ rank ============ */
  .rank-list{display:flex;flex-direction:column;gap:12px;}
  .rank-item{
    display:grid;grid-template-columns:52px 76px 1fr auto;gap:18px;align-items:center;
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:14px 20px;box-shadow:var(--shadow);transition:.2s;
  }
  .rank-item:hover{transform:translateX(4px);border-color:#cfe4fb;}
  .rank-no{font-size:22px;font-weight:900;color:var(--blue);text-align:center;}
  .rank-item:nth-child(n+4) .rank-no{color:#b8c4d2;}
  .rank-item img{width:76px;height:76px;object-fit:cover;border-radius:10px;}
  .rank-info strong{display:block;font-size:15px;margin-bottom:3px;}
  .rank-info span{font-size:12.5px;color:var(--ink-3);}
  .rank-heat{font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-soft);border-radius:8px;padding:5px 10px;white-space:nowrap;}

  /* ============ screenshots ============ */
  .shots{background:var(--bg-gray);}
  .shot-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .shot-item{
    border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;
    box-shadow:var(--shadow);transition:.22s;
  }
  .shot-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
  .shot-item img{width:100%;height:auto;display:block;}
  .shot-cap{padding:10px 14px;font-size:13px;color:var(--ink-3);border-top:1px solid var(--line);}

  /* ============ reviews ============ */
  .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .rev-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;
  }
  .rev-top{display:flex;align-items:center;gap:12px;}
  .rev-top img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid var(--line);}
  .rev-name{font-size:14px;font-weight:700;}
  .rev-star{font-size:12px;color:var(--blue);letter-spacing:2px;}
  .rev-card p{font-size:13.5px;color:var(--ink-2);}

  /* ============ privacy ============ */
  .privacy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
  .priv-card{
    display:flex;gap:16px;background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);
  }
  .priv-card .f-icon{margin-bottom:0;flex-shrink:0;}

  /* ============ faq ============ */
  .faq-list{display:flex;flex-direction:column;gap:12px;max-width:860px;}
  .faq-item{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:var(--shadow);}
  .faq-q{
    width:100%;text-align:left;background:none;border:none;font-family:inherit;
    font-size:15px;font-weight:700;color:var(--ink);padding:18px 22px;
    display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;
  }
  .faq-q i{font-style:normal;color:var(--blue);font-size:20px;line-height:1;flex-shrink:0;transition:transform .2s;}
  .faq-item.open .faq-q i{transform:rotate(45deg);}
  .faq-a{
    max-height:0;overflow:hidden;transition:max-height .28s ease;
    padding:0 22px;color:var(--ink-2);font-size:14px;
  }
  .faq-item.open .faq-a{max-height:260px;padding:0 22px 20px;}

  /* ============ download ============ */
  .download{background:var(--bg-gray);border-top:1px solid var(--line);}
  .dl-grid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start;}
  .steps{margin-top:26px;display:flex;flex-direction:column;gap:16px;}
  .step{display:flex;gap:16px;}
  .step-no{
    width:32px;height:32px;flex-shrink:0;border-radius:9px;background:var(--blue);
    color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;
  }
  .step h3{font-size:15px;margin-bottom:3px;}
  .step p{font-size:13.5px;color:var(--ink-3);}
  .dl-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
  .dl-card{
    background:#fff;border:1px solid var(--line);border-radius:18px;
    padding:26px;box-shadow:var(--shadow);text-align:center;
  }
  .dl-card img{width:100%;max-width:220px;margin:0 auto 16px;border-radius:10px;}
  .dl-card p{font-size:13px;color:var(--ink-3);}

  /* ============ footer ============ */
  .site-footer{background:#fff;border-top:1px solid var(--line);padding:56px 0 28px;}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px;}
  .foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
  .foot-brand img{height:30px;width:auto;border-radius:7px;}
  .foot-brand strong{font-size:16px;}
  .foot-desc{font-size:13.5px;color:var(--ink-3);max-width:300px;}
  .foot-col h4{font-size:14px;font-weight:700;margin-bottom:14px;}
  .foot-col a,.foot-col span{display:block;font-size:13.5px;color:var(--ink-3);margin-bottom:9px;}
  .foot-col a:hover{color:var(--blue);}
  .foot-bottom{
    border-top:1px solid var(--line);padding-top:22px;display:flex;
    flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;
  }
  .foot-bottom p{font-size:12.5px;color:var(--ink-3);}
  .foot-bottom time{font-size:12.5px;color:#9aa6b3;}

  /* ============ modal ============ */
  .modal-mask{
    position:fixed;inset:0;background:rgba(16,24,40,.5);z-index:200;
    display:none;align-items:center;justify-content:center;padding:20px;
  }
  .modal-mask.show{display:flex;}
  .modal-box{
    background:#fff;border-radius:16px;padding:28px 24px;width:100%;max-width:420px;
    box-shadow:0 24px 60px rgba(0,0,0,.22);text-align:center;
  }
  .modal-box h3{font-size:16px;line-height:1.55;margin-bottom:16px;}
  .modal-link{
    background:var(--bg-gray);border:1px solid var(--line);border-radius:9px;
    padding:12px;font-size:13px;color:var(--ink-2);word-break:break-all;margin-bottom:16px;
  }
  .modal-actions{display:flex;gap:10px;}
  .modal-actions .btn{flex:1;}
  .copy-tip{font-size:12px;color:var(--blue);margin-top:10px;height:16px;}

  /* ============ responsive ============ */
  @media (max-width:1024px){
    .hero-inner{grid-template-columns:1fr;gap:36px;}
    .hero-visual{min-height:340px;}
    .feature-grid{grid-template-columns:repeat(2,1fr);}
    .shot-wall{grid-template-columns:repeat(2,1fr);}
    .review-grid{grid-template-columns:repeat(2,1fr);}
    .dl-grid{grid-template-columns:1fr;}
    .dl-card{max-width:420px;margin:0 auto;}
    .foot-grid{grid-template-columns:1fr 1fr;gap:28px;}
    .nav-links{display:none;}
    .menu-toggle{display:block;}
    .nav-links.open{
      display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;
      background:#fff;border-bottom:1px solid var(--line);padding:16px 20px;gap:4px;
      box-shadow:0 12px 24px rgba(16,24,40,.08);
    }
    .nav-links.open a{padding:10px 0;border-bottom:1px solid var(--line);width:100%;}
    .nav-links.open a:last-child{border-bottom:none;}
  }
  @media (max-width:768px){
    section{padding:52px 0;}
    .hero{padding:44px 0 40px;}
    .feature-grid{grid-template-columns:1fr;}
    .zrow{grid-template-columns:1fr;gap:24px;margin-bottom:44px;}
    .zrow.reverse .z-media{order:0;}
    .z-media img{height:230px;}
    .shot-wall{grid-template-columns:1fr;max-width:340px;margin:0 auto;}
    .review-grid{grid-template-columns:1fr;}
    .privacy-grid{grid-template-columns:1fr;}
    .rank-item{grid-template-columns:38px 58px 1fr;gap:12px;padding:12px 14px;}
    .rank-item img{width:58px;height:58px;}
    .rank-heat{grid-column:2 / -1;justify-self:start;font-size:11px;}
    .rank-no{font-size:18px;}
    .foot-grid{grid-template-columns:1fr;gap:24px;}
    .hero-actions .btn{width:100%;}
    .dl-actions .btn{width:100%;}
    .float-card{width:96px;}
    .fc-1{left:-4px;}
    .fc-2{right:-4px;}
    .fc-3{display:none;}
    .nav-cta .btn{padding:8px 12px;font-size:13px;}
    .brand-name{font-size:15px;}
    .brand img{height:28px;}
  }