:root{
    --orange-1:#ff8a3d;
    --orange-2:#ff5f2e;
    --orange-soft:#fff4ec;
    --bg:#fdfaf7;
    --card:#ffffff;
    --line:#f0e8e1;
    --ink:#2a211c;
    --ink-2:#6b5c53;
    --ink-3:#9a8b81;
    --radius-card:22px;
    --radius-box:26px;
    --radius-pill:50px;
    --shadow:0 10px 26px rgba(255,95,46,.10);
    --shadow-hover:0 18px 40px rgba(255,95,46,.20);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,-apple-system,sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(circle at 85% 8%, rgba(255,138,61,.18), transparent 38%),
      radial-gradient(circle at 8% 55%, rgba(255,95,46,.10), transparent 34%),
      radial-gradient(circle at 60% 95%, rgba(255,180,120,.14), transparent 40%);
    z-index:0;
  }
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{width:100%;max-width:1400px;margin:0 auto;padding:0 24px;position:relative;z-index:1;}
  section{scroll-margin-top:96px;position:relative;z-index:1;}

  /* ---------- top nav ---------- */
  .topbar{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .topbar-inner{
    display:flex;align-items:center;gap:18px;
    padding:12px 0;flex-wrap:wrap;
  }
  .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:.5px;}
  .brand img{height:34px;width:auto;border-radius:10px;}
  .brand span{
    background:linear-gradient(90deg,var(--orange-1),var(--orange-2));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .mainnav{display:flex;gap:6px;flex-wrap:wrap;flex:1;}
  .mainnav a{
    font-size:14px;padding:7px 12px;border-radius:20px;color:var(--ink-2);
    transition:background .25s,color .25s;
  }
  .mainnav a:hover{background:var(--orange-soft);color:var(--orange-2);}
  .topsearch{
    display:flex;align-items:center;gap:10px;
  }
  .topsearch input{
    width:190px;border:1px solid var(--line);background:#fff;
    border-radius:var(--radius-pill);padding:8px 16px;font-size:13px;color:var(--ink);
    outline:none;transition:box-shadow .25s,border-color .25s;
    font-family:inherit;
  }
  .topsearch input:focus{border-color:var(--orange-1);box-shadow:0 0 0 4px rgba(255,138,61,.18);}
  .avatar{
    width:36px;height:36px;border-radius:50%;flex:none;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:14px;font-weight:700;
    background:linear-gradient(135deg,var(--orange-1),var(--orange-2));
    box-shadow:0 6px 14px rgba(255,95,46,.30);
  }

  /* ---------- sub nav ---------- */
  .subnav{
    display:flex;gap:26px;flex-wrap:wrap;
    padding:10px 0 12px;
    font-size:13px;color:var(--ink-3);
    border-top:1px dashed var(--line);
  }
  .subnav .group{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .subnav .group b{color:var(--ink-2);font-weight:600;}
  .subnav a{
    padding:4px 12px;border-radius:16px;background:#fff;border:1px solid var(--line);
    transition:border-color .25s,color .25s,transform .25s;
  }
  .subnav a:hover{border-color:var(--orange-1);color:var(--orange-2);transform:translateY(-1px);}

  /* ---------- hero ---------- */
  .hero{
    margin-top:26px;border-radius:var(--radius-box);
    background:linear-gradient(120deg,#fff8f2 0%,#fff1e6 52%,#ffe6d5 100%);
    padding:60px 52px;display:grid;grid-template-columns:1.35fr .85fr;gap:40px;
    align-items:center;overflow:hidden;min-height:360px;
    border:1px solid #ffe4d2;
  }
  .hero h1{
    font-size:46px;line-height:1.18;margin:0 0 18px;letter-spacing:-.5px;
    background:linear-gradient(100deg,var(--orange-2),var(--orange-1));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero p.lead{margin:0 0 22px;color:var(--ink-2);font-size:16px;max-width:560px;}
  .badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
  .badges span{
    font-size:13px;padding:6px 14px;border-radius:var(--radius-pill);
    background:#fff;border:1px solid #ffe0cd;color:#b04a1c;font-weight:600;
  }
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px;align-items:center;}
  .btn-main{
    display:inline-block;padding:15px 34px;border-radius:var(--radius-pill);
    background:linear-gradient(135deg,var(--orange-1),var(--orange-2));
    color:#fff;font-weight:700;font-size:16px;
    box-shadow:0 10px 24px rgba(255,95,46,.35);
    transition:transform .25s,box-shadow .25s;
  }
  .btn-main:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(255,95,46,.42);}
  .btn-ghost{
    display:inline-block;padding:14px 28px;border-radius:var(--radius-pill);
    border:1px solid #ffd3ba;color:#b0491a;font-weight:600;font-size:15px;background:#fff;
    transition:transform .25s,border-color .25s;
  }
  .btn-ghost:hover{transform:translateY(-3px);border-color:var(--orange-1);}
  .stats{
    display:grid;grid-template-columns:1fr 1fr;gap:14px;
  }
  .stat{
    background:#fff;border-radius:var(--radius-card);padding:18px 16px;text-align:center;
    box-shadow:var(--shadow);border:1px solid #fff;
  }
  .stat b{display:block;font-size:22px;color:var(--orange-2);letter-spacing:.4px;}
  .stat small{color:var(--ink-3);font-size:12px;}

  /* ---------- generic section head ---------- */
  .sec{padding:48px 0 4px;}
  .sec-head{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    margin-bottom:22px;flex-wrap:wrap;
  }
  .sec-head h2{
    font-size:24px;margin:0;display:flex;align-items:center;gap:10px;letter-spacing:-.2px;
  }
  .sec-head .dot{
    width:8px;height:22px;border-radius:6px;
    background:linear-gradient(180deg,var(--orange-1),var(--orange-2));
    display:inline-block;
  }
  .sec-head .more{font-size:14px;color:var(--orange-2);font-weight:600;}
  .sec-head .more:hover{text-decoration:underline;}

  /* ---------- cover cards ---------- */
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .cover-card{
    background:var(--card);border-radius:var(--radius-card);overflow:hidden;
    border:1px solid var(--line);box-shadow:var(--shadow);
    transition:transform .3s,box-shadow .3s;
  }
  .cover-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
  .cover{
    position:relative;height:240px;overflow:hidden;background:linear-gradient(150deg,#ffe3d0,#ffd0b4);
  }
  .cover img{width:100%;height:100%;object-fit:cover;}
  .tag{
    position:absolute;top:12px;left:12px;
    padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;color:#fff;
    background:linear-gradient(135deg,var(--orange-1),var(--orange-2));
    box-shadow:0 4px 10px rgba(255,95,46,.35);
  }
  .cover-info{padding:14px 16px 16px;}
  .cover-info h3{font-size:17px;margin:0 0 6px;font-weight:700;}
  .cover-info .meta{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--ink-3);}
  .chip{
    font-size:11.5px;padding:3px 10px;border-radius:12px;
    background:var(--orange-soft);color:#b0491a;font-weight:600;
  }
  .chip.done{background:#f3f0ee;color:#7a6a60;}

  /* ---------- region cards ---------- */
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .text-card{
    background:#fff;border-radius:18px;padding:18px 18px 16px;border:1px solid var(--line);
    transition:transform .25s,border-color .25s,box-shadow .25s;box-shadow:0 6px 16px rgba(255,95,46,.06);
  }
  .text-card:hover{transform:translateY(-4px);border-color:var(--orange-1);box-shadow:var(--shadow-hover);}
  .text-card h4{margin:0 0 8px;font-size:15.5px;}
  .text-card .views{font-size:12.5px;color:var(--ink-3);display:flex;justify-content:space-between;align-items:center;}
  .region-icon{
    width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--orange-1),var(--orange-2));color:#fff;font-size:16px;margin-right:8px;
  }
  .region-head{display:flex;align-items:center;gap:6px;}
  .region-count{font-size:13px;color:var(--ink-3);margin-left:6px;}

  /* ---------- two column lists ---------- */
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .panel{
    background:#fff;border-radius:var(--radius-box);border:1px solid var(--line);
    padding:22px 22px 14px;box-shadow:var(--shadow);
  }
  .panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
  .panel-head h3{margin:0;font-size:19px;}
  .panel-head a{font-size:13px;color:var(--orange-2);font-weight:600;}
  .row-list{list-style:none;margin:0;padding:0;}
  .row-list li{
    display:flex;align-items:center;gap:12px;
    padding:10px 12px;border-radius:14px;font-size:14px;
    transition:transform .22s,box-shadow .22s,background .22s;
  }
  .row-list li:hover{transform:translateX(5px);background:#fffaf6;box-shadow:0 6px 16px rgba(255,95,46,.12);}
  .row-list .day{width:44px;color:var(--ink-3);font-size:13px;flex:none;}
  .row-list .rank{
    width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;
    font-size:12px;font-weight:700;color:#fff;background:#c9bcb3;flex:none;
  }
  .row-list li:nth-child(1) .rank,.row-list li:nth-child(2) .rank,.row-list li:nth-child(3) .rank{
    background:linear-gradient(135deg,var(--orange-1),var(--orange-2));
  }
  .row-list .name{flex:1;font-weight:600;}
  .row-list .num{color:var(--ink-3);font-size:12.5px;}
  .row-list .top{font-size:11px;font-weight:700;color:var(--orange-2);}

  /* ---------- features ---------- */
  .features{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .feature{
    background:#fff;border-radius:var(--radius-card);border:1px solid var(--line);
    padding:24px;display:flex;gap:16px;box-shadow:var(--shadow);
    transition:transform .3s,box-shadow .3s;
  }
  .feature:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
  .feature .ic{
    width:48px;height:48px;border-radius:16px;flex:none;
    display:flex;align-items:center;justify-content:center;font-size:22px;
    background:linear-gradient(135deg,#fff0e5,#ffdfc8);
  }
  .feature h3{margin:0 0 6px;font-size:17px;}
  .feature p{margin:0;font-size:14px;color:var(--ink-2);}

  /* ---------- faq ---------- */
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .faq{
    background:#fff;border-radius:20px;border:1px solid var(--line);padding:20px 22px;
    transition:border-color .25s,transform .25s;
  }
  .faq:hover{border-color:#ffd1b6;transform:translateY(-3px);}
  .faq h3{margin:0 0 8px;font-size:16px;color:#b0491a;}
  .faq p{margin:0;font-size:14px;color:var(--ink-2);}

  /* ---------- gallery ---------- */
  .gallery{
    display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:6px;
  }
  .gallery figure{
    margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);
    box-shadow:0 6px 16px rgba(255,95,46,.07);
    transition:transform .3s,box-shadow .3s;
  }
  .gallery figure:hover{transform:translateY(-5px) scale(1.01);box-shadow:var(--shadow-hover);}
  .gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;}
  .gallery figcaption{font-size:12px;padding:8px 10px;color:var(--ink-3);text-align:center;}

  /* ---------- footer ---------- */
  footer{
    margin-top:60px;padding:34px 0 96px;border-top:1px solid var(--line);
    font-size:12.5px;color:var(--ink-3);position:relative;z-index:1;
  }
  .foot-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:flex-start;}
  .foot-links{display:flex;gap:16px;flex-wrap:wrap;}
  .foot-links a:hover{color:var(--orange-2);}
  footer .time-line{margin-top:10px;font-size:12px;color:#b3a69d;}
  footer a.beian{color:#b3a69d;}
  footer a.beian:hover{color:var(--orange-2);}

  /* ---------- floating download ---------- */
  .float-dl{
    position:fixed;right:24px;bottom:24px;z-index:80;
    display:flex;flex-direction:column;align-items:flex-end;gap:8px;
    animation:floatIn .5s ease both;
  }
  .float-tip{
    font-size:12px;color:#fff;padding:5px 14px;border-radius:20px;
    background:rgba(42,33,28,.78);backdrop-filter:blur(6px);
  }
  .float-btn{
    display:flex;align-items:center;gap:8px;
    padding:16px 30px;border-radius:var(--radius-pill);
    background:linear-gradient(135deg,var(--orange-1),var(--orange-2));
    color:#fff;font-size:17px;font-weight:700;
    box-shadow:0 12px 28px rgba(255,95,46,.42);
    transition:transform .25s,box-shadow .25s;
    position:relative;
  }
  .float-btn::after{
    content:"";position:absolute;inset:-6px;border-radius:inherit;
    border:2px solid rgba(255,138,61,.5);
    animation:pulse 2.5s ease-out infinite;pointer-events:none;
  }
  .float-btn:hover{transform:scale(1.03);box-shadow:0 18px 38px rgba(255,95,46,.52);}
  .float-btn:active{transform:scale(.98);}
  @keyframes pulse{
    0%{transform:scale(.96);opacity:.9;}
    70%{transform:scale(1.18);opacity:0;}
    100%{transform:scale(1.18);opacity:0;}
  }
  @keyframes floatIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
  .float-btn.pulse{animation:pulse .6s ease;}

  /* ---------- responsive ---------- */
  @media (max-width:1024px){
    .hero{grid-template-columns:1fr;padding:44px 36px;min-height:auto;}
    .hero h1{font-size:38px;}
    .grid-3{grid-template-columns:repeat(2,1fr);}
    .grid-4{grid-template-columns:repeat(2,1fr);}
    .duo{grid-template-columns:1fr;}
    .features{grid-template-columns:1fr;}
    .faq-grid{grid-template-columns:1fr;}
    .gallery{grid-template-columns:repeat(4,1fr);}
  }
  @media (max-width:768px){
    .wrap{padding:0 16px;}
    .topbar-inner{padding:10px 0;gap:10px;}
    .mainnav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;}
    .mainnav a{white-space:nowrap;}
    .topsearch{flex:1;justify-content:flex-end;}
    .topsearch input{width:130px;}
    .hero{padding:34px 22px;border-radius:22px;}
    .hero h1{font-size:29px;}
    .hero p.lead{font-size:15px;}
    .stats{grid-template-columns:1fr 1fr;}
    .sec-head h2{font-size:20px;}
    .grid-3,.grid-4{grid-template-columns:1fr;}
    .gallery{grid-template-columns:repeat(2,1fr);}
    .feature{padding:18px;}
    .float-dl{right:14px;bottom:14px;}
    .float-btn{padding:13px 22px;font-size:15px;}
    footer{padding-bottom:92px;}
  }
  @media (max-width:480px){
    .grid-3,.grid-4,.stats{grid-template-columns:1fr;}
    .gallery{grid-template-columns:1fr 1fr;}
    .float-tip{display:none;}
  }