:root{
  --mint:#10b981;
  --forest:#059669;
  --light-mint:#d1fae5;
  --bg-white:#ffffff;
  --bg-gray:#f8fafc;
  --text-main:#1e293b;
  --text-sub:#64748b;
  --shadow-soft:0 10px 30px rgba(16,185,129,0.1);
  --shadow-hover:0 18px 40px rgba(16,185,129,0.2);
  --radius-lg:24px;
  --radius-md:16px;
  --radius-full:999px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;
  color:var(--text-main);
  background:var(--bg-white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;object-fit:cover;}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;}
section{scroll-margin-top:90px;}

/* Header */
.site-header{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid #f1f5f9;
  transition:all 0.3s ease;
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:72px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--forest);}
.brand img{height:34px;width:auto;border-radius:8px;}
.nav-pill{
  display:flex;align-items:center;gap:4px;
  background:#f1f5f9;padding:6px;border-radius:var(--radius-full);
}
.nav-pill a{
  padding:8px 16px;border-radius:var(--radius-full);
  font-size:14px;color:var(--text-sub);font-weight:500;
  transition:all 0.2s ease;white-space:nowrap;
}
.nav-pill a:hover{background:var(--light-mint);color:var(--forest);}
.header-right{display:flex;align-items:center;gap:16px;}
.search-box{
  display:flex;align-items:center;gap:8px;
  background:var(--bg-gray);border:1px solid transparent;
  border-radius:var(--radius-full);padding:8px 16px;
  transition:all 0.3s ease;width:180px;
}
.search-box input{border:none;background:transparent;outline:none;font-size:14px;width:100%;color:var(--text-main);}
.search-box:focus-within{background:#fff;border-color:var(--mint);box-shadow:0 0 0 4px rgba(16,185,129,0.15);}
.btn-download-sm{
  background:var(--mint);color:#fff;padding:10px 22px;
  border-radius:var(--radius-full);font-weight:600;font-size:14px;
  box-shadow:0 4px 12px rgba(16,185,129,0.3);transition:all 0.2s;
}
.btn-download-sm:hover{background:var(--forest);transform:translateY(-2px);}

/* Hero */
.hero{
  padding:140px 0 80px;
  background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 60%);
  position:relative;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;top:-100px;right:-100px;
  width:500px;height:500px;background:radial-gradient(circle,rgba(16,185,129,0.08) 0%,transparent 70%);
  border-radius:50%;
}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2;}
.hero-text h1{
  font-size:48px;line-height:1.2;font-weight:800;
  margin-bottom:24px;letter-spacing:-0.5px;
}
.hero-text h1 span{color:var(--forest);}
.hero-text p{
  font-size:18px;color:var(--text-sub);margin-bottom:36px;max-width:480px;
}
.hero-actions{display:flex;gap:16px;}
.btn-primary{
  background:var(--mint);color:#fff;padding:16px 36px;
  border-radius:var(--radius-full);font-size:16px;font-weight:600;
  box-shadow:var(--shadow-soft);transition:all 0.3s;
}
.btn-primary:hover{background:var(--forest);transform:translateY(-3px);box-shadow:var(--shadow-hover);}
.btn-outline{
  background:transparent;color:var(--forest);border:2px solid var(--mint);
  padding:14px 34px;border-radius:var(--radius-full);font-size:16px;font-weight:600;
  transition:all 0.3s;
}
.btn-outline:hover{background:var(--light-mint);}
.hero-visual{
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-hover);transform:rotate(2deg);
  transition:transform 0.4s ease;
}
.hero-visual:hover{transform:rotate(0deg) scale(1.02);}
.hero-visual img{width:100%;height:auto;}

/* Section Common */
.section{padding:80px 0;}
.section-gray{background:var(--bg-gray);}
.section-header{text-align:center;margin-bottom:48px;}
.section-header h2{font-size:32px;font-weight:700;margin-bottom:12px;}
.section-header h2 .emoji{font-size:28px;margin-right:8px;}
.section-header p{color:var(--text-sub);font-size:16px;}

/* Ranking */
.ranking-list{max-width:900px;margin:0 auto;}
.rank-item{
  display:flex;align-items:center;gap:24px;
  background:#fff;padding:20px 24px;border-radius:var(--radius-md);
  margin-bottom:16px;box-shadow:var(--shadow-soft);
  transition:all 0.3s ease;cursor:pointer;
}
.rank-item:hover{transform:translateX(8px);box-shadow:var(--shadow-hover);}
.rank-num{
  font-size:36px;font-weight:800;font-style:italic;width:50px;text-align:center;
}
.rank-1 .rank-num{color:#fbbf24;}
.rank-2 .rank-num{color:#94a3b8;}
.rank-3 .rank-num{color:#d97706;}
.rank-cover{
  width:60px;height:80px;border-radius:12px;overflow:hidden;flex-shrink:0;
  background:linear-gradient(135deg,var(--light-mint),var(--mint));
}
.rank-info{flex:1;}
.rank-info h3{font-size:18px;margin-bottom:4px;font-weight:600;}
.rank-info p{font-size:13px;color:var(--text-sub);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.rank-view{
  font-size:14px;font-weight:600;color:var(--forest);
  background:var(--light-mint);padding:6px 14px;border-radius:var(--radius-full);
  white-space:nowrap;
}

/* Grid Cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{
  background:#fff;border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-soft);transition:all 0.3s ease;
  cursor:pointer;display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);}
.card-img-wrap{position:relative;overflow:hidden;width:100%;}
.card-horizontal .card-img-wrap{padding-top:66%;}
.card-vertical .card-img-wrap{padding-top:130%;}
.card-img-wrap img{
  position:absolute;top:0;left:0;width:100%;height:100%;
  object-fit:cover;transition:transform 0.4s ease;
}
.card:hover .card-img-wrap img{transform:scale(1.05);}
.card-badge{
  position:absolute;top:12px;right:12px;
  background:var(--mint);color:#fff;font-size:12px;font-weight:600;
  padding:4px 12px;border-radius:var(--radius-full);
  box-shadow:0 2px 8px rgba(16,185,129,0.4);z-index:2;
}
.card-body{padding:16px 18px 20px;flex:1;}
.card-body h3{font-size:16px;font-weight:600;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.card-body p{
  font-size:13px;color:var(--text-sub);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* Reviews / QA */
.qa-wrap{display:grid;grid-template-columns:1fr;gap:20px;max-width:900px;margin:0 auto;}
.qa-item{
  background:#fff;padding:24px;border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);border-left:6px solid var(--mint);
  transition:all 0.3s ease;
}
.qa-item:hover{transform:translateX(8px);box-shadow:var(--shadow-hover);}
.qa-item.guide{border-left-color:var(--forest);}
.qa-item.review{border-left-color:#34d399;}
.qa-tag{display:inline-block;font-size:12px;font-weight:700;padding:4px 12px;border-radius:var(--radius-full);margin-bottom:12px;}
.review .qa-tag{background:#d1fae5;color:#047857;}
.guide .qa-tag{background:#a7f3d0;color:#065f46;}
.qa-item h3{font-size:17px;font-weight:600;margin-bottom:10px;line-height:1.4;}
.qa-item p{font-size:14px;color:var(--text-sub);line-height:1.6;}
.qa-list{list-style:none;margin-top:8px;}
.qa-list li{font-size:14px;color:var(--text-sub);position:relative;padding-left:20px;margin-bottom:6px;}
.qa-list li::before{content:"•";position:absolute;left:6px;color:var(--mint);font-weight:700;}

/* Features */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.feature-box{
  background:#fff;padding:36px 28px;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);text-align:center;
  transition:all 0.3s ease;border:1px solid #f1f5f9;
}
.feature-box:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--light-mint);}
.feature-icon{
  width:64px;height:64px;margin:0 auto 20px;
  background:var(--light-mint);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:28px;
}
.feature-box h3{font-size:18px;font-weight:600;margin-bottom:12px;}
.feature-box p{font-size:14px;color:var(--text-sub);line-height:1.6;}

/* Download */
.download-section{padding:60px 0 100px;}
.download-banner{
  background:linear-gradient(135deg,var(--mint) 0%,var(--forest) 100%);
  border-radius:32px;padding:48px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;
  box-shadow:0 20px 40px rgba(5,150,105,0.25);
  position:relative;overflow:hidden;color:#fff;
}
.download-banner::before{
  content:"";position:absolute;right:-50px;top:-50px;
  width:300px;height:300px;background:rgba(255,255,255,0.1);border-radius:50%;
}
.download-text{position:relative;z-index:2;flex:1;}
.download-text h2{font-size:32px;font-weight:700;margin-bottom:12px;}
.download-text p{font-size:16px;opacity:0.9;line-height:1.6;}
.download-btns{display:flex;gap:16px;position:relative;z-index:2;flex-wrap:wrap;}
.btn-white{
  background:#fff;color:var(--forest);padding:16px 32px;
  border-radius:var(--radius-full);font-size:16px;font-weight:700;
  display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);
  transition:all 0.3s;
}
.btn-white:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,0.15);}

/* Footer */
.site-footer{
  background:var(--bg-gray);padding:40px 0 32px;
  border-top:1px solid #e2e8f0;text-align:center;
}
.footer-text{font-size:13px;color:#94a3b8;margin-bottom:8px;line-height:1.6;}
.footer-beian a{color:#94a3b8;font-size:13px;transition:color 0.2s;}
.footer-beian a:hover{color:var(--forest);}
.footer-time{font-size:12px;color:#cbd5e1;margin-top:8px;}

/* Floating Widget */
.floating-widget{
  position:fixed;right:24px;bottom:24px;z-index:99;
  display:flex;flex-direction:column;align-items:flex-end;gap:12px;
}
.float-panel{
  background:#fff;padding:10px;border-radius:var(--radius-md);
  box-shadow:0 10px 30px rgba(0,0,0,0.15);
  display:flex;flex-direction:column;gap:6px;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all 0.3s ease;
}
.floating-widget:hover .float-panel{opacity:1;visibility:visible;transform:translateY(0);}
.float-panel a{
  display:flex;align-items:center;gap:8px;padding:8px 16px;
  border-radius:8px;font-size:13px;color:var(--text-main);
  transition:background 0.2s;white-space:nowrap;
}
.float-panel a:hover{background:var(--bg-gray);}
.float-btn{
  width:64px;height:64px;border-radius:50%;
  background:var(--mint);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:24px;box-shadow:0 8px 24px rgba(16,185,129,0.4);
  cursor:pointer;animation:breathe 3s ease-in-out infinite;
  position:relative;
}
.float-btn::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:2px solid var(--mint);opacity:0.4;animation:ping 2s ease-out infinite;
}
@keyframes breathe{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-6px) scale(1.05);}}
@keyframes ping{0%{transform:scale(1);opacity:0.4;}100%{transform:scale(1.4);opacity:0;}}

/* Responsive */
@media (max-width:1024px){
  .hero-text h1{font-size:40px;}
  .nav-pill{display:none;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .features-grid{grid-template-columns:repeat(2,1fr);}
  .download-banner{flex-direction:column;text-align:center;}
  .download-btns{justify-content:center;}
}
@media (max-width:768px){
  .header-inner{height:64px;}
  .brand{font-size:18px;}
  .brand img{height:28px;}
  .search-box{width:40px;padding:8px;justify-content:center;}
  .search-box input{display:none;}
  .btn-download-sm{display:none;}
  .hero{padding:110px 0 60px;}
  .hero-inner{grid-template-columns:1fr;gap:40px;text-align:center;}
  .hero-text h1{font-size:32px;}
  .hero-text p{margin:0 auto 28px;}
  .hero-actions{justify-content:center;}
  .hero-visual{transform:none;max-width:400px;margin:0 auto;}
  .section{padding:60px 0;}
  .section-header h2{font-size:26px;}
  .grid-3{grid-template-columns:1fr;gap:20px;}
  .features-grid{grid-template-columns:1fr;}
  .card-vertical .card-img-wrap{padding-top:100%;}
  .rank-item{padding:16px;gap:16px;}
  .rank-num{font-size:28px;width:36px;}
  .rank-cover{width:48px;height:64px;}
  .rank-view{font-size:12px;padding:4px 10px;}
  .download-banner{padding:32px 24px;border-radius:24px;}
  .download-text h2{font-size:24px;}
  .btn-white{width:100%;justify-content:center;}
  .floating-widget{right:16px;bottom:16px;}
  .float-btn{width:56px;height:56px;}
  .float-panel{display:none;}
}