:root{
    --pink:#FFD6E0;
    --mint:#C8F0E4;
    --taro:#E6D6F5;
    --cream:#FFF3C4;
    --sky:#D6EAF8;
    --ink:#5a4b57;
    --ink-soft:#8a7b86;
    --card:#ffffff;
    --shadow:0 10px 28px rgba(229,180,200,.28);
    --shadow-soft:0 6px 18px rgba(210,200,225,.22);
    --radius-l:24px;
    --radius-m:18px;
    --radius-s:12px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,sans-serif;
    color:var(--ink);
    background:
      radial-gradient(circle at 10% 0%, #fff3f7 0%, transparent 45%),
      radial-gradient(circle at 92% 12%, #eef9f4 0%, transparent 40%),
      linear-gradient(180deg,#fffafc 0%,#fdf7ff 100%);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  img{display:block;max-width:100%;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  .wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}
  .section{padding:56px 0;}
  .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px;flex-wrap:wrap;}
  .section-head h2{font-size:26px;letter-spacing:.5px;color:#4b3d49;}
  .section-head .sub{font-size:14px;color:var(--ink-soft);}
  .pill-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12px;background:var(--cream);color:#8a6f2f;}

  /* ===== header ===== */
  .site-header{
    position:sticky;top:0;z-index:50;
    backdrop-filter:blur(14px);
    background:rgba(255,248,251,.82);
    border-bottom:1px solid rgba(255,214,224,.7);
  }
  .nav-bar{display:flex;align-items:center;gap:18px;height:72px;}
  .brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
  .brand img{height:34px;width:auto;border-radius:10px;}
  .brand-name{font-size:19px;font-weight:700;color:#4b3d49;letter-spacing:.5px;}
  .nav-pills{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #ffe3ec;border-radius:999px;padding:5px;box-shadow:var(--shadow-soft);}
  .nav-pills a{padding:6px 16px;border-radius:999px;font-size:14px;color:#6c5a68;transition:background .25s,color .25s,transform .25s;}
  .nav-pills a:hover{background:var(--pink);color:#8a4a63;transform:translateY(-1px);}
  .nav-search{margin-left:auto;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #ffe3ec;border-radius:999px;padding:7px 16px;color:var(--ink-soft);font-size:13px;box-shadow:var(--shadow-soft);}
  .avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--taro),var(--sky));display:flex;align-items:center;justify-content:center;font-size:16px;color:#6b5a76;border:2px solid #fff;box-shadow:var(--shadow-soft);}

  /* ===== hero ===== */
  .hero{padding:34px 0 12px;}
  .hero-card{
    position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:30px;
    background:linear-gradient(120deg,#ffeef4 0%,#f4ecfb 55%,#eaf7f2 100%);
    border-radius:var(--radius-l);padding:38px;box-shadow:var(--shadow);overflow:hidden;
  }
  .hero-card::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,214,224,.55);right:-60px;top:-70px;}
  .hero-card::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(200,240,228,.6);left:-50px;bottom:-70px;}
  .hero-text{position:relative;z-index:2;}
  .hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;background:#fff;border-radius:999px;padding:5px 14px;color:#a06a80;box-shadow:var(--shadow-soft);}
  .hero-text h1{font-size:34px;line-height:1.25;margin:16px 0 12px;color:#473a45;letter-spacing:.5px;}
  .hero-text p{font-size:15px;color:#6f6070;max-width:520px;}
  .hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px;}
  .hero-tags span{font-size:12px;padding:5px 12px;border-radius:999px;background:#fff;color:#8a6f86;border:1px solid #ffe3ec;}
  .hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:999px;font-size:15px;font-weight:600;transition:transform .25s,box-shadow .25s,background .25s;}
  .btn-primary{background:linear-gradient(135deg,#ffb6ce,#f89ab8);color:#fff;box-shadow:0 10px 22px rgba(248,154,184,.45);}
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(248,154,184,.55);}
  .btn-ghost{background:#fff;color:#8a4a63;border:1px solid #ffd0de;}
  .btn-ghost:hover{transform:translateY(-3px);background:#fff6f9;}
  .hero-cover{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;}
  .hero-cover img{width:100%;max-width:300px;border-radius:var(--radius-m);box-shadow:0 18px 40px rgba(150,110,160,.3);transition:transform .4s;}
  .hero-cover img:hover{transform:scale(1.03) rotate(-1deg);}

  /* ===== recommend ===== */
  .scroll-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .sweet-card{background:var(--card);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .3s,box-shadow .3s;}
  .sweet-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
  .sweet-card img{width:100%;aspect-ratio:3/4;object-fit:cover;}
  .sweet-body{padding:14px 16px 18px;}
  .sweet-body h3{font-size:16px;margin-bottom:6px;color:#4b3d49;}
  .sweet-body p{font-size:13px;color:var(--ink-soft);margin-bottom:10px;}
  .score{display:flex;align-items:center;gap:6px;font-size:12px;color:#b0705f;}
  .score .bar{flex:1;height:7px;border-radius:99px;background:#ffeef3;overflow:hidden;}
  .score .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffc2d4,#ff9bb8);}

  /* ===== category ===== */
  .cat-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:16px;}
  .cat-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 8px;background:#fff;border-radius:var(--radius-m);box-shadow:var(--shadow-soft);transition:transform .3s,background .3s;}
  .cat-item:hover{transform:translateY(-5px);background:#fff8fb;}
  .cat-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;}
  .cat-item span{font-size:13px;color:#6c5a68;}
  .c1{background:var(--pink);} .c2{background:var(--mint);} .c3{background:var(--taro);} .c4{background:var(--cream);}
  .c5{background:var(--sky);} .c6{background:#ffe5d4;} .c7{background:#e3f0d7;} .c8{background:#f9dceb;}

  /* ===== ranking ===== */
  .rank-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start;}
  .rank-list{background:#fff;border-radius:var(--radius-l);box-shadow:var(--shadow-soft);padding:12px 20px;}
  .rank-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px dashed #f6e6ee;}
  .rank-item:last-child{border-bottom:none;}
  .rank-no{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;background:#f0c4d5;flex:0 0 auto;}
  .rank-item:nth-child(1) .rank-no{background:#ff9bb8;} .rank-item:nth-child(2) .rank-no{background:#f7b8a6;} .rank-item:nth-child(3) .rank-no{background:#b7d8e8;}
  .rank-info{flex:1;min-width:0;}
  .rank-info strong{display:block;font-size:15px;color:#4b3d49;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .rank-info small{font-size:12px;color:var(--ink-soft);}
  .rank-heat{font-size:12px;color:#c07f9a;white-space:nowrap;}
  .rank-feature{position:relative;border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow);}
  .rank-feature img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s;}
  .rank-feature:hover img{transform:scale(1.04);}
  .rank-feature .cap{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(transparent,rgba(60,40,60,.72));color:#fff;}
  .rank-feature .cap strong{font-size:19px;display:block;}
  .rank-feature .cap small{font-size:13px;opacity:.9;}

  /* ===== new grid ===== */
  .new-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
  .new-card{position:relative;border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .3s;}
  .new-card:hover{transform:translateY(-6px);}
  .new-card img{width:100%;aspect-ratio:3/4;object-fit:cover;}
  .new-badge{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#ffb0c9,#ff8fb3);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.5px;}
  .new-card .cap{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(transparent,rgba(70,50,70,.7));color:#fff;font-size:13px;}

  /* ===== progress ===== */
  .progress-wrap{background:#fff;border-radius:var(--radius-l);box-shadow:var(--shadow-soft);padding:22px;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;}
  .progress-wrap img{width:120px;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-s);}
  .progress-body h3{font-size:18px;margin-bottom:8px;}
  .progress-body p{font-size:13px;color:var(--ink-soft);margin-bottom:14px;}
  .track{height:10px;border-radius:99px;background:#f2eef6;overflow:hidden;margin-bottom:8px;}
  .track i{display:block;height:100%;width:62%;border-radius:99px;background:linear-gradient(90deg,var(--mint),var(--sky));}
  .progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-soft);margin-bottom:14px;}

  /* ===== reviews ===== */
  .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .review-card{background:#fff;border-radius:var(--radius-m);padding:20px;box-shadow:var(--shadow-soft);transition:transform .3s;}
  .review-card:hover{transform:translateY(-5px);}
  .review-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
  .review-top .dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;}
  .review-top strong{font-size:14px;}
  .review-top small{display:block;font-size:11px;color:var(--ink-soft);}
  .review-card p{font-size:14px;color:#6f6070;}
  .stars{color:#f7b8a6;font-size:13px;margin-top:12px;letter-spacing:2px;}

  /* ===== faq ===== */
  .faq-list{max-width:880px;margin:0 auto;display:grid;gap:14px;}
  .faq-item{background:#fff;border-radius:var(--radius-m);box-shadow:var(--shadow-soft);padding:18px 22px;transition:box-shadow .3s;}
  .faq-item:hover{box-shadow:var(--shadow);}
  .faq-item summary{cursor:pointer;font-size:15px;font-weight:600;color:#4b3d49;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"＋";color:#e79ab5;font-weight:700;transition:transform .3s;}
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{margin-top:12px;font-size:14px;color:#6f6070;}

  /* ===== vip banner ===== */
  .vip-banner{
    background:linear-gradient(120deg,#fde8f0,#f3e8fb 50%,#e4f6ee);
    border-radius:var(--radius-l);padding:38px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;box-shadow:var(--shadow);
  }
  .vip-banner h2{font-size:24px;color:#4b3d49;margin-bottom:10px;}
  .vip-banner p{font-size:14px;color:#6f6070;max-width:520px;}
  .vip-points{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;}
  .vip-points span{font-size:13px;background:#fff;padding:7px 14px;border-radius:999px;color:#8a6f86;box-shadow:var(--shadow-soft);}
  .vip-visual{display:flex;justify-content:center;}
  .vip-visual img{width:200px;border-radius:var(--radius-m);box-shadow:0 16px 34px rgba(160,120,170,.3);transition:transform .4s;}
  .vip-visual img:hover{transform:rotate(2deg) scale(1.03);}

  /* ===== footer ===== */
  .site-footer{border-top:1px solid #f3e4ee;padding:28px 0 34px;margin-top:20px;}
  .footer-inner{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;}
  .footer-inner p{font-size:12px;color:#a99aa6;line-height:1.6;}
  .footer-inner .time-note{font-size:12px;color:#b3a6b0;}
  .footer-inner a{color:#a99aa6;text-decoration:underline;}
  .footer-inner a:hover{color:#8a6f86;}

  /* ===== responsive ===== */
  @media (max-width:1024px){
    .hero-card{grid-template-columns:1fr;padding:30px;}
    .hero-cover{justify-content:flex-start;}
    .scroll-row{grid-template-columns:repeat(3,1fr);}
    .cat-grid{grid-template-columns:repeat(4,1fr);}
    .new-grid{grid-template-columns:repeat(3,1fr);}
    .review-grid{grid-template-columns:1fr 1fr;}
    .rank-layout{grid-template-columns:1fr;}
    .vip-banner{grid-template-columns:1fr;}
  }
  @media (max-width:768px){
    .nav-bar{height:auto;padding:12px 0;flex-wrap:wrap;gap:12px;}
    .nav-pills{order:3;width:100%;overflow-x:auto;justify-content:flex-start;}
    .nav-search{margin-left:auto;}
    .hero-text h1{font-size:26px;}
    .hero-cover img{max-width:220px;}
    .scroll-row{grid-template-columns:repeat(2,1fr);}
    .cat-grid{grid-template-columns:repeat(4,1fr);gap:12px;}
    .new-grid{grid-template-columns:repeat(2,1fr);}
    .review-grid{grid-template-columns:1fr;}
    .progress-wrap{grid-template-columns:1fr;}
    .progress-wrap img{width:100%;max-width:180px;}
    .section{padding:40px 0;}
    .section-head h2{font-size:22px;}
    .vip-banner{padding:26px;}
    .btn{padding:10px 20px;font-size:14px;}
  }