/* roulang page: index */
:root{
      --bg:#f3f7fc;
      --bg-soft:#eef4ff;
      --surface:rgba(255,255,255,.84);
      --surface-strong:#ffffff;
      --line:rgba(148,163,184,.25);
      --line-strong:rgba(148,163,184,.38);
      --text:#0f172a;
      --muted:#556174;
      --muted-2:#708096;
      --brand:#0f3b76;
      --brand-2:#0ea5b7;
      --brand-3:#f7b84b;
      --shadow:0 24px 70px rgba(15, 23, 42, .10);
      --shadow-2:0 14px 35px rgba(15, 23, 42, .12);
      --radius:26px;
      --radius-sm:18px;
      --radius-xs:14px;
      --max:1240px;
    }

    html{
      scroll-behavior:smooth;
    }

    *{
      box-sizing:border-box;
    }

    body{
      margin:0;
      font-family:Inter, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Noto Sans SC, sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 10% 0%, rgba(14,165,233,.10), transparent 32%),
        radial-gradient(circle at 88% 12%, rgba(15,59,118,.08), transparent 28%),
        linear-gradient(180deg, #fbfdff 0%, var(--bg) 40%, #eef4fb 100%);
      min-height:100vh;
      line-height:1.75;
      letter-spacing:.01em;
      overflow-x:hidden;
    }

    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(rgba(255,255,255,.18), rgba(255,255,255,0)),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.35), transparent 30%);
      opacity:.8;
      z-index:-1;
    }

    ::selection{
      background:rgba(14,165,233,.18);
      color:var(--text);
    }

    a{
      color:inherit;
      text-decoration:none;
    }

    img{
      max-width:100%;
      display:block;
    }

    button,
    input,
    select,
    textarea{
      font:inherit;
    }

    .page-shell{
      position:relative;
      isolation:isolate;
    }

    .site-wrap{
      width:min(var(--max), calc(100% - 32px));
      margin:0 auto;
    }

    .dock-shell{
      width:min(var(--max), calc(100% - 20px));
      margin:0 auto;
      border:1px solid rgba(255,255,255,.7);
      background:rgba(255,255,255,.78);
      backdrop-filter:blur(20px);
      -webkit-backdrop-filter:blur(20px);
      box-shadow:0 18px 60px rgba(15, 23, 42, .12);
      border-radius:999px;
    }

    .brand-mark{
      width:42px;
      height:42px;
      border-radius:14px;
      background:
        linear-gradient(135deg, var(--brand), #1f6ad6 65%, var(--brand-2) 100%);
      box-shadow:0 12px 28px rgba(15,59,118,.25);
      position:relative;
      flex:0 0 auto;
    }

    .brand-mark::before,
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:10px;
      border-radius:10px;
      border:2px solid rgba(255,255,255,.8);
      transform:rotate(15deg);
    }

    .brand-mark::after{
      inset:16px 11px 8px 16px;
      border-radius:8px;
      border-color:rgba(255,255,255,.95);
      transform:rotate(-15deg);
    }

    .nav-link{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.72rem 1rem;
      border-radius:999px;
      color:#334155;
      transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
      white-space:nowrap;
      font-size:.94rem;
      font-weight:650;
    }

    .nav-link:hover{
      color:var(--brand);
      background:rgba(15,59,118,.07);
      transform:translateY(-1px);
    }

    .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg, var(--brand), #1264c9);
      box-shadow:0 12px 24px rgba(15,59,118,.20);
    }

    .nav-cta,
    .btn-primary,
    .btn-secondary,
    .btn-ghost{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.55rem;
      border-radius:999px;
      font-weight:800;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
      outline:none;
      cursor:pointer;
    }

    .nav-cta{
      padding:.78rem 1.08rem;
      color:#fff;
      background:linear-gradient(135deg, var(--brand-3), #ff7b45);
      box-shadow:0 14px 28px rgba(247,184,75,.28);
    }

    .nav-cta:hover,
    .btn-primary:hover,
    .btn-secondary:hover,
    .btn-ghost:hover{
      transform:translateY(-2px);
    }

    .nav-cta:focus-visible,
    .btn-primary:focus-visible,
    .btn-secondary:focus-visible,
    .btn-ghost:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    summary:focus-visible{
      outline:3px solid rgba(14,165,233,.28);
      outline-offset:3px;
    }

    .btn-primary{
      padding:1rem 1.35rem;
      color:#fff;
      background:linear-gradient(135deg, var(--brand), #0e83d6 72%, var(--brand-2));
      box-shadow:0 18px 36px rgba(15,59,118,.22);
    }

    .btn-primary:hover{
      box-shadow:0 22px 44px rgba(15,59,118,.28);
    }

    .btn-secondary{
      padding:1rem 1.35rem;
      color:var(--brand);
      background:#fff;
      border:1px solid rgba(15,59,118,.14);
      box-shadow:0 12px 28px rgba(15,23,42,.08);
    }

    .btn-ghost{
      padding:.86rem 1.1rem;
      color:#334155;
      background:rgba(255,255,255,.68);
      border:1px solid rgba(148,163,184,.30);
    }

    .section{
      padding:74px 0;
      position:relative;
    }

    .section-tight{
      padding:44px 0;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.38rem .72rem;
      border-radius:999px;
      background:rgba(14,165,183,.10);
      color:#0f6d7e;
      border:1px solid rgba(14,165,183,.16);
      font-size:.86rem;
      font-weight:800;
    }

    .eyebrow::before{
      content:"";
      width:.5rem;
      height:.5rem;
      border-radius:999px;
      background:var(--brand-2);
      box-shadow:0 0 0 6px rgba(14,165,183,.10);
    }

    .section-title{
      margin:1rem 0 .55rem;
      font-size:clamp(1.75rem, 2.8vw, 3rem);
      line-height:1.16;
      font-weight:950;
      letter-spacing:-.04em;
      color:#0d1b2f;
    }

    .section-desc{
      max-width:780px;
      color:var(--muted);
      font-size:1.05rem;
    }

    .card{
      border:1px solid var(--line);
      background:var(--surface);
      border-radius:var(--radius);
      box-shadow:0 12px 34px rgba(15,23,42,.06);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
      overflow:hidden;
    }

    .card:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow);
      border-color:rgba(14,165,183,.22);
      background:rgba(255,255,255,.94);
    }

    .glass-card{
      background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72));
      border:1px solid rgba(255,255,255,.76);
      box-shadow:var(--shadow);
      backdrop-filter:blur(18px);
    }

    .status-dot{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      color:#0f766e;
      font-weight:800;
    }

    .status-dot::before{
      content:"";
      width:.55rem;
      height:.55rem;
      border-radius:50%;
      background:#18c78b;
      box-shadow:0 0 0 8px rgba(24,199,139,.12);
    }

    .hero-band{
      min-height:430px;
      background-image:
        linear-gradient(90deg, rgba(7,20,45,.82), rgba(15,59,118,.62) 52%, rgba(14,165,183,.40)),
        url('/assets/images/backpic/back-2.webp');
      background-size:cover;
      background-position:center;
      border-radius:0 0 42px 42px;
      position:relative;
      overflow:hidden;
    }

    .hero-band::after{
      content:"";
      position:absolute;
      inset:auto -10% -35% 45%;
      height:360px;
      background:radial-gradient(circle, rgba(247,184,75,.34), transparent 62%);
      filter:blur(4px);
    }

    .hero-topbar{
      background:rgba(255,255,255,.76);
      border-bottom:1px solid rgba(255,255,255,.55);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
    }

    .hero-kpi{
      border:1px solid rgba(255,255,255,.25);
      background:rgba(255,255,255,.12);
      border-radius:20px;
      padding:1rem;
      color:#fff;
      backdrop-filter:blur(12px);
    }

    .hero-kpi strong{
      display:block;
      font-size:1.45rem;
      line-height:1;
      letter-spacing:-.03em;
    }

    .coupon-card{
      position:relative;
      min-height:220px;
      background:
        radial-gradient(circle at 0 50%, transparent 0 14px, rgba(255,255,255,.86) 15px),
        radial-gradient(circle at 100% 50%, transparent 0 14px, rgba(255,255,255,.86) 15px);
    }

    .coupon-card::before{
      content:"";
      position:absolute;
      top:28px;
      bottom:28px;
      left:30%;
      border-left:2px dashed rgba(148,163,184,.35);
    }

    .coupon-card.featured{
      background:
        radial-gradient(circle at 0 50%, transparent 0 14px, rgba(15,59,118,.96) 15px),
        radial-gradient(circle at 100% 50%, transparent 0 14px, rgba(15,59,118,.96) 15px);
      color:#fff;
    }

    .coupon-card.featured::before{
      border-color:rgba(255,255,255,.25);
    }

    .coupon-value{
      font-size:clamp(2rem, 4vw, 3.4rem);
      line-height:1;
      font-weight:950;
      letter-spacing:-.07em;
    }

    .metric-row{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
    }

    .metric-box{
      padding:1.25rem;
      border-radius:24px;
      background:linear-gradient(180deg,#fff,rgba(255,255,255,.72));
      border:1px solid var(--line);
    }

    .metric-box b{
      display:block;
      font-size:2rem;
      letter-spacing:-.05em;
      color:var(--brand);
      line-height:1.1;
    }

    .stage{
      position:relative;
      border-radius:34px;
      background:
        radial-gradient(circle at 28% 18%, rgba(14,165,183,.18), transparent 30%),
        radial-gradient(circle at 75% 22%, rgba(247,184,75,.18), transparent 30%),
        linear-gradient(145deg, #09172f, #102a54 55%, #0d6a7d);
      overflow:hidden;
      box-shadow:var(--shadow);
    }

    .stage::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
      background-size:36px 36px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.95), transparent 95%);
    }

    .device-frame{
      border:1px solid rgba(255,255,255,.24);
      background:rgba(255,255,255,.10);
      border-radius:28px;
      box-shadow:0 30px 70px rgba(0,0,0,.25);
      backdrop-filter:blur(14px);
      position:relative;
      overflow:hidden;
    }

    .live-badge{
      display:inline-flex;
      align-items:center;
      gap:.48rem;
      padding:.45rem .72rem;
      border-radius:999px;
      background:rgba(239,68,68,.12);
      color:#b91c1c;
      border:1px solid rgba(239,68,68,.18);
      font-weight:900;
      font-size:.82rem;
    }

    .live-badge::before{
      content:"";
      width:.48rem;
      height:.48rem;
      border-radius:999px;
      background:#ef4444;
      box-shadow:0 0 0 7px rgba(239,68,68,.12);
      animation:pulse 1.5s infinite;
    }

    @keyframes pulse{
      0%,100%{transform:scale(1); opacity:1;}
      50%{transform:scale(1.22); opacity:.65;}
    }

    .compare-table{
      overflow:hidden;
      border-radius:26px;
      border:1px solid var(--line);
      background:#fff;
      box-shadow:0 16px 40px rgba(15,23,42,.08);
    }

    .compare-table table{
      width:100%;
      border-collapse:collapse;
      min-width:760px;
    }

    .compare-table th,
    .compare-table td{
      padding:1.05rem 1rem;
      border-bottom:1px solid rgba(148,163,184,.18);
      text-align:left;
      vertical-align:top;
    }

    .compare-table th{
      background:#0f3b76;
      color:#fff;
      font-weight:900;
    }

    .compare-table tr:last-child td{
      border-bottom:0;
    }

    .news-list{
      display:grid;
      gap:14px;
    }

    .news-item{
      display:grid;
      grid-template-columns:112px 1fr auto;
      gap:18px;
      align-items:center;
      padding:18px;
      border-radius:22px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.78);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    .news-item:hover{
      transform:translateX(4px);
      border-color:rgba(14,165,183,.28);
      box-shadow:0 14px 34px rgba(15,23,42,.08);
    }

    .date-pill{
      border-radius:18px;
      background:#eef6ff;
      color:#0f3b76;
      padding:.75rem;
      text-align:center;
      font-weight:900;
      line-height:1.2;
    }

    .date-pill small{
      display:block;
      color:var(--muted-2);
      font-weight:750;
      margin-top:.18rem;
    }

    details{
      border-radius:22px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.82);
      padding:0 1.1rem;
      transition:box-shadow .2s ease, border-color .2s ease;
    }

    details[open]{
      box-shadow:0 14px 34px rgba(15,23,42,.08);
      border-color:rgba(14,165,183,.25);
    }

    summary{
      cursor:pointer;
      list-style:none;
      padding:1.15rem 0;
      font-weight:900;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:1rem;
    }

    summary::-webkit-details-marker{
      display:none;
    }

    summary::after{
      content:"+";
      width:30px;
      height:30px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:#eef6ff;
      color:var(--brand);
      flex:0 0 auto;
      transition:transform .2s ease, background .2s ease;
    }

    details[open] summary::after{
      content:"−";
      transform:rotate(180deg);
      background:var(--brand);
      color:#fff;
    }

    details p{
      color:var(--muted);
      margin:0;
      padding:0 0 1.15rem;
    }

    .form-field{
      width:100%;
      border:1px solid rgba(148,163,184,.28);
      border-radius:18px;
      padding:.95rem 1rem;
      background:rgba(255,255,255,.9);
      color:var(--text);
      transition:border-color .2s ease, box-shadow .2s ease;
    }

    .form-field:focus{
      border-color:rgba(14,165,183,.55);
      box-shadow:0 0 0 5px rgba(14,165,183,.10);
    }

    .footer{
      background:#081427;
      color:#d8e2f0;
      border-radius:38px 38px 0 0;
      margin-top:34px;
      overflow:hidden;
      position:relative;
    }

    .footer::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 15% 0%, rgba(14,165,183,.16), transparent 30%),
        radial-gradient(circle at 85% 10%, rgba(247,184,75,.13), transparent 34%);
      pointer-events:none;
    }

    .footer a{
      color:#d8e2f0;
      transition:color .2s ease;
    }

    .footer a:hover{
      color:#fff;
    }

    .footer-link{
      display:inline-flex;
      padding:.35rem 0;
      color:#aebbd0;
    }

    .mobile-toggle{
      display:none;
    }

    @media (max-width: 1024px){
      .dock-shell{
        border-radius:28px;
      }

      .nav-scroll{
        overflow-x:auto;
        scrollbar-width:none;
        padding-bottom:2px;
      }

      .nav-scroll::-webkit-scrollbar{
        display:none;
      }

      .metric-row{
        grid-template-columns:repeat(2,1fr);
      }

      .news-item{
        grid-template-columns:90px 1fr;
      }

      .news-item .btn-ghost{
        grid-column:2;
        justify-self:start;
      }
    }

    @media (max-width: 768px){
      .site-wrap{
        width:min(100% - 24px, var(--max));
      }

      .section{
        padding:54px 0;
      }

      .hero-band{
        min-height:560px;
        border-radius:0 0 30px 30px;
      }

      .dock-shell{
        width:calc(100% - 20px);
      }

      .mobile-toggle{
        display:inline-flex;
      }

      .nav-actions{
        display:none;
      }

      .nav-link{
        padding:.68rem .9rem;
        font-size:.9rem;
      }

      .coupon-card::before{
        left:auto;
        top:auto;
        right:24px;
        bottom:24px;
        width:calc(100% - 48px);
        height:0;
        border-left:0;
        border-top:2px dashed rgba(148,163,184,.35);
      }

      .coupon-card.featured::before{
        border-top-color:rgba(255,255,255,.25);
      }

      .compare-table{
        overflow-x:auto;
      }
    }

    @media (max-width: 520px){
      body{
        line-height:1.68;
      }

      .brand-mark{
        width:38px;
        height:38px;
      }

      .hero-band{
        min-height:650px;
      }

      .metric-row{
        grid-template-columns:1fr;
      }

      .news-item{
        grid-template-columns:1fr;
      }

      .news-item .btn-ghost{
        grid-column:auto;
      }

      .date-pill{
        text-align:left;
      }

      .btn-primary,
      .btn-secondary,
      .btn-ghost{
        width:100%;
      }
    }

/* roulang page: category4 */
:root{
      --bg:#07111f;
      --bg-soft:#0d1b2f;
      --panel:#ffffff;
      --panel-dark:#101c2f;
      --text:#102033;
      --muted:#64748b;
      --line:rgba(15,23,42,.11);
      --primary:#f97316;
      --primary-2:#fbbe24;
      --accent:#22c55e;
      --cyan:#38bdf8;
      --purple:#8b5cf6;
      --danger:#ef4444;
      --radius:28px;
      --radius-sm:18px;
      --shadow:0 24px 80px rgba(15,23,42,.16);
      --shadow-soft:0 14px 45px rgba(15,23,42,.10);
      --dock:rgba(255,255,255,.88);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 20% 4%, rgba(249,115,22,.22), transparent 34%),
        radial-gradient(circle at 84% 18%, rgba(34,197,94,.15), transparent 32%),
        linear-gradient(180deg,#f8fafc 0%,#eef5ff 42%,#f8fafc 100%);
      line-height:1.75;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%;height:auto}
    button,input,textarea,select{font:inherit}
    ::selection{background:rgba(249,115,22,.25)}
    .site-wrap{width:min(1180px,calc(100% - 32px));margin-inline:auto}
    .dock-shell{
      width:min(1180px,calc(100% - 16px));
      margin:0 auto;
      border:1px solid rgba(255,255,255,.72);
      background:var(--dock);
      backdrop-filter:blur(22px);
      -webkit-backdrop-filter:blur(22px);
      border-radius:999px;
      box-shadow:0 20px 55px rgba(15,23,42,.14);
    }
    .brand-mark{
      width:42px;height:42px;border-radius:16px;display:inline-block;position:relative;flex:0 0 auto;
      background:conic-gradient(from 160deg,var(--primary),var(--primary-2),var(--accent),var(--cyan),var(--primary));
      box-shadow:inset 0 0 0 5px rgba(255,255,255,.58),0 12px 28px rgba(249,115,22,.28);
    }
    .brand-mark:after{
      content:"";position:absolute;inset:12px;border-radius:9px;
      background:rgba(7,17,31,.86);box-shadow:0 0 0 4px rgba(255,255,255,.22);
    }
    .nav-scroll{overflow-x:auto;scrollbar-width:none}
    .nav-scroll::-webkit-scrollbar{display:none}
    .nav-link{
      display:inline-flex;align-items:center;justify-content:center;
      min-height:42px;padding:0 15px;border-radius:999px;
      color:#475569;font-weight:800;font-size:.92rem;white-space:nowrap;
      transition:background .22s ease,color .22s ease,transform .22s ease;
    }
    .nav-link:hover{background:rgba(249,115,22,.1);color:#0f172a;transform:translateY(-1px)}
    .nav-link.active{background:#0f172a;color:#fff;box-shadow:0 10px 24px rgba(15,23,42,.18)}
    .nav-cta,.btn-primary{
      display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
      border-radius:999px;background:linear-gradient(135deg,var(--primary),#ea580c);
      color:#fff;font-weight:900;padding:13px 20px;
      box-shadow:0 14px 32px rgba(249,115,22,.32);
      transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
      white-space:nowrap;
    }
    .nav-cta:hover,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(249,115,22,.40);filter:saturate(1.08)}
    .btn-ghost,.btn-secondary{
      display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
      border-radius:999px;border:1px solid rgba(15,23,42,.10);
      background:rgba(255,255,255,.75);color:#0f172a;font-weight:900;
      padding:13px 20px;transition:background .22s ease,transform .22s ease,border-color .22s ease,box-shadow .22s ease;
      white-space:nowrap;
    }
    .btn-ghost:hover,.btn-secondary:hover{background:#fff;transform:translateY(-2px);border-color:rgba(249,115,22,.35);box-shadow:0 12px 30px rgba(15,23,42,.10)}
    .mobile-toggle{display:none}
    .hero{
      position:relative;min-height:720px;padding:150px 0 88px;overflow:hidden;
      background:
        linear-gradient(90deg,rgba(7,17,31,.94),rgba(7,17,31,.76) 48%,rgba(7,17,31,.88)),
        url('/assets/images/backpic/back-2.webp') center/cover no-repeat;
      color:#fff;
    }
    .hero:before{
      content:"";position:absolute;inset:-20% -10% auto auto;width:650px;height:650px;border-radius:999px;
      background:radial-gradient(circle,rgba(249,115,22,.34),transparent 60%);
      filter:blur(8px);
    }
    .hero:after{
      content:"";position:absolute;left:0;right:0;bottom:0;height:160px;
      background:linear-gradient(180deg,transparent,rgba(248,250,252,1));
      pointer-events:none;
    }
    .stage-line{
      position:absolute;inset:auto 0 0;height:1px;
      background:linear-gradient(90deg,transparent,rgba(251,191,36,.72),transparent);
      box-shadow:0 -80px 160px rgba(251,191,36,.28);
    }
    .eyebrow{
      display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;
      padding:8px 13px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);
      color:#fde68a;font-weight:900;font-size:.9rem;
      backdrop-filter:blur(14px);
    }
    .status-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.16)}
    .hero-title{
      font-size:clamp(2.45rem,6vw,5.6rem);line-height:.98;letter-spacing:-.065em;
      font-weight:1000;margin:22px 0 22px;max-width:820px;
    }
    .hero-sub{font-size:clamp(1.05rem,2vw,1.28rem);color:#cbd5e1;max-width:760px}
    .metric-card,.glass-card{
      border:1px solid rgba(255,255,255,.13);
      background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.06));
      box-shadow:0 24px 70px rgba(0,0,0,.28);
      backdrop-filter:blur(20px);border-radius:var(--radius);
    }
    .live-badge{
      display:inline-flex;align-items:center;gap:.42rem;border-radius:999px;
      padding:6px 11px;background:rgba(34,197,94,.13);color:#bbf7d0;border:1px solid rgba(34,197,94,.22);
      font-weight:900;font-size:.78rem;
    }
    .section{padding:86px 0}
    .section-tight{padding:62px 0}
    .section-title{font-size:clamp(1.75rem,3.3vw,3.1rem);line-height:1.08;font-weight:1000;letter-spacing:-.045em;color:#0f172a}
    .section-desc{color:#64748b;font-size:1.05rem;max-width:760px}
    .card{
      border:1px solid var(--line);background:rgba(255,255,255,.86);border-radius:var(--radius);
      box-shadow:var(--shadow-soft);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
    }
    .card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(249,115,22,.26)}
    .dark-panel{
      background:
        radial-gradient(circle at 20% 20%,rgba(249,115,22,.20),transparent 28%),
        radial-gradient(circle at 80% 18%,rgba(56,189,248,.18),transparent 30%),
        linear-gradient(135deg,#07111f,#101c2f 60%,#111827);
      color:#fff;border-radius:38px;box-shadow:0 32px 100px rgba(7,17,31,.28);
      overflow:hidden;position:relative;
    }
    .dark-panel:before{
      content:"";position:absolute;inset:0;
      background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px);
      background-size:44px 44px;mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent);
      pointer-events:none;
    }
    .badge{
      display:inline-flex;align-items:center;gap:.42rem;border-radius:999px;
      padding:7px 12px;background:rgba(249,115,22,.10);color:#c2410c;border:1px solid rgba(249,115,22,.18);
      font-weight:900;font-size:.82rem;
    }
    .badge.dark{background:rgba(255,255,255,.10);color:#fde68a;border-color:rgba(255,255,255,.14)}
    .pill{
      display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;
      background:#f1f5f9;color:#334155;font-weight:900;font-size:.8rem;
    }
    .input{
      width:100%;border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:18px;
      padding:14px 16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;
    }
    .input:focus{border-color:rgba(249,115,22,.65);box-shadow:0 0 0 4px rgba(249,115,22,.12)}
    .compare-row{
      display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;
      border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.78);border-radius:24px;padding:18px;
    }
    .score-chip{min-width:86px;text-align:center;border-radius:20px;background:#0f172a;color:#fff;font-weight:1000;padding:13px 14px}
    .faq-item{border:1px solid rgba(15,23,42,.10);border-radius:24px;background:rgba(255,255,255,.82);overflow:hidden}
    .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;font-weight:1000;color:#0f172a;text-align:left}
    .faq-a{display:none;padding:0 24px 24px;color:#64748b}
    .faq-item.open .faq-a{display:block}
    .faq-item.open .faq-icon{transform:rotate(45deg);background:var(--primary);color:#fff}
    .faq-icon{width:30px;height:30px;border-radius:999px;background:#f1f5f9;display:grid;place-items:center;transition:.2s}
    .footer{
      position:relative;background:#07111f;color:#fff;overflow:hidden;
    }
    .footer:before{
      content:"";position:absolute;inset:0;
      background:radial-gradient(circle at 20% 0%,rgba(249,115,22,.20),transparent 30%),radial-gradient(circle at 85% 30%,rgba(56,189,248,.14),transparent 32%);
    }
    .footer-link{
      display:block;width:max-content;color:#cbd5e1;font-weight:800;padding:5px 0;transition:color .2s ease,transform .2s ease;
    }
    .footer-link:hover{color:#fff;transform:translateX(4px)}
    .footer a:hover{color:#fff}
    .shine{
      position:relative;overflow:hidden;
    }
    .shine:after{
      content:"";position:absolute;top:-80%;left:-50%;width:40%;height:260%;
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
      transform:rotate(24deg);animation:shine 4.5s infinite;
    }
    @keyframes shine{0%,45%{left:-60%}70%,100%{left:120%}}
    .timeline-item{position:relative;padding-left:30px}
    .timeline-item:before{content:"";position:absolute;left:6px;top:8px;width:10px;height:10px;border-radius:999px;background:var(--primary);box-shadow:0 0 0 7px rgba(249,115,22,.12)}
    .timeline-item:after{content:"";position:absolute;left:10px;top:26px;bottom:-22px;width:2px;background:rgba(15,23,42,.08)}
    .timeline-item:last-child:after{display:none}
    @media (max-width:1024px){
      .nav-actions{display:none}
      .mobile-toggle{display:inline-flex}
      .dock-shell{border-radius:30px}
      .hero{padding-top:142px;min-height:auto}
      .compare-row{grid-template-columns:1fr}
      .score-chip{width:max-content}
    }
    @media (max-width:768px){
      .site-wrap{width:min(100% - 24px,1180px)}
      .dock-shell{width:calc(100% - 12px)}
      .dock-shell .flex{gap:.65rem}
      .brand-mark{width:38px;height:38px;border-radius:14px}
      .nav-link{padding:0 12px;font-size:.86rem}
      .hero{padding:136px 0 70px}
      .section{padding:64px 0}
      .section-tight{padding:46px 0}
      .dark-panel{border-radius:28px}
    }
    @media (max-width:520px){
      .dock-shell{border-radius:24px}
      .mobile-toggle{padding:11px 14px}
      .hero-title{letter-spacing:-.05em}
      .btn-primary,.btn-secondary{width:100%}
      .faq-q{padding:18px}
      .faq-a{padding:0 18px 18px}
    }

/* roulang page: category5 */
:root{
      --bg:#070a12;
      --panel:#0f172a;
      --panel-2:#111827;
      --card:#ffffff;
      --text:#0f172a;
      --muted:#64748b;
      --line:rgba(148,163,184,.24);
      --brand:#ff4d2e;
      --brand-2:#ffb703;
      --brand-3:#22c55e;
      --cyan:#38bdf8;
      --ink:#020617;
      --radius:24px;
      --radius-lg:34px;
      --shadow:0 24px 70px rgba(2,6,23,.16);
      --shadow-glow:0 22px 90px rgba(255,77,46,.24);
      --wrap:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 5%,rgba(255,77,46,.18),transparent 30%),
        radial-gradient(circle at 88% 14%,rgba(56,189,248,.16),transparent 28%),
        linear-gradient(180deg,#f8fafc 0%,#eef2ff 46%,#f8fafc 100%);
      line-height:1.7;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    ::selection{background:rgba(255,77,46,.22)}
    .site-wrap{width:min(var(--wrap),calc(100% - 32px));margin-inline:auto}
    .dock-shell{
      width:min(1180px,calc(100% - 16px));
      margin:0 auto;
      border:1px solid rgba(255,255,255,.65);
      background:rgba(255,255,255,.78);
      backdrop-filter:blur(22px);
      -webkit-backdrop-filter:blur(22px);
      border-radius:999px;
      box-shadow:0 18px 58px rgba(15,23,42,.14);
    }
    .brand-mark{
      width:42px;height:42px;border-radius:16px;
      display:inline-block;position:relative;flex:0 0 auto;
      background:
        radial-gradient(circle at 30% 25%,#fff7ed 0 12%,transparent 13%),
        linear-gradient(135deg,var(--brand),#ff7a18 52%,var(--brand-2));
      box-shadow:0 12px 32px rgba(255,77,46,.28),inset 0 -10px 20px rgba(0,0,0,.12);
    }
    .brand-mark:after{
      content:"";position:absolute;inset:12px 9px;
      border:2px solid rgba(255,255,255,.9);
      border-left-color:transparent;border-bottom-color:transparent;
      border-radius:50%;transform:rotate(28deg);
    }
    .nav-scroll{overflow:auto;scrollbar-width:none}
    .nav-scroll::-webkit-scrollbar{display:none}
    .nav-link{
      display:inline-flex;align-items:center;justify-content:center;
      height:42px;padding:0 16px;border-radius:999px;
      color:#475569;font-size:.92rem;font-weight:800;
      white-space:nowrap;transition:.22s ease;
    }
    .nav-link:hover{background:#fff;color:#0f172a;box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-1px)}
    .nav-link.active{background:#0f172a;color:#fff;box-shadow:0 12px 26px rgba(15,23,42,.2)}
    .nav-cta,.btn-ghost,.btn-primary,.btn-dark,.btn-light{
      display:inline-flex;align-items:center;justify-content:center;
      gap:.5rem;border-radius:999px;font-weight:900;transition:.22s ease;
      outline:none;border:0;cursor:pointer;white-space:nowrap;
    }
    .nav-cta{
      padding:12px 18px;color:#fff;
      background:linear-gradient(135deg,var(--brand),#f97316);
      box-shadow:0 14px 32px rgba(255,77,46,.25);
    }
    .btn-ghost{padding:13px 20px;background:rgba(15,23,42,.06);color:#0f172a}
    .btn-primary{padding:15px 24px;color:#fff;background:linear-gradient(135deg,var(--brand),#f97316);box-shadow:var(--shadow-glow)}
    .btn-dark{padding:15px 24px;color:#fff;background:#0f172a;box-shadow:0 18px 42px rgba(2,6,23,.22)}
    .btn-light{padding:14px 22px;color:#0f172a;background:#fff;box-shadow:0 14px 32px rgba(255,255,255,.12)}
    .nav-cta:hover,.btn-primary:hover,.btn-dark:hover,.btn-light:hover,.btn-ghost:hover{transform:translateY(-2px)}
    .nav-cta:focus-visible,.btn-primary:focus-visible,.btn-dark:focus-visible,.btn-light:focus-visible,.btn-ghost:focus-visible,.nav-link:focus-visible,input:focus-visible,textarea:focus-visible{
      outline:3px solid rgba(56,189,248,.42);outline-offset:3px;
    }
    .mobile-toggle{display:none}
    .hero{
      position:relative;
      padding:132px 0 72px;
      background:
        linear-gradient(90deg,rgba(7,10,18,.88),rgba(7,10,18,.58),rgba(7,10,18,.94)),
        url('/assets/images/backpic/back-3.webp') center/cover no-repeat;
      color:#fff;
      overflow:hidden;
    }
    .hero:before{
      content:"";position:absolute;inset:-25% -10% auto -10%;height:70%;
      background:
        radial-gradient(circle at 20% 20%,rgba(255,183,3,.45),transparent 25%),
        radial-gradient(circle at 70% 35%,rgba(255,77,46,.4),transparent 22%),
        radial-gradient(circle at 50% 0%,rgba(56,189,248,.22),transparent 32%);
      filter:blur(30px);pointer-events:none;
    }
    .hero:after{
      content:"";position:absolute;left:0;right:0;bottom:0;height:150px;
      background:linear-gradient(180deg,transparent,#f8fafc);
    }
    .stage-line{
      position:absolute;inset:auto 0 0 0;height:1px;
      background:linear-gradient(90deg,transparent,rgba(255,183,3,.9),transparent);
      box-shadow:0 -35px 80px rgba(255,183,3,.18);
    }
    .badge{
      display:inline-flex;align-items:center;gap:.45rem;
      border-radius:999px;padding:8px 12px;
      font-size:.82rem;font-weight:900;
      border:1px solid rgba(255,255,255,.18);
      background:rgba(255,255,255,.1);
      backdrop-filter:blur(12px);
    }
    .badge-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.16)}
    .coupon-wall{
      position:relative;border-radius:34px;padding:18px;
      background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
      border:1px solid rgba(255,255,255,.18);
      box-shadow:0 30px 90px rgba(0,0,0,.28);
      backdrop-filter:blur(18px);
    }
    .coupon-main{
      position:relative;overflow:hidden;border-radius:28px;
      background:
        radial-gradient(circle at 16px 50%,transparent 0 13px,rgba(255,255,255,.96) 14px),
        linear-gradient(135deg,#fff7ed,#fff 42%,#fef3c7);
      color:#0f172a;padding:28px;
      box-shadow:0 20px 56px rgba(0,0,0,.18);
    }
    .coupon-main:before,.coupon-main:after{
      content:"";position:absolute;top:50%;width:28px;height:28px;border-radius:50%;
      background:#1a1420;transform:translateY(-50%);
    }
    .coupon-main:before{left:-14px}.coupon-main:after{right:-14px}
    .coupon-small{
      border-radius:22px;padding:16px;
      background:rgba(255,255,255,.12);
      border:1px dashed rgba(255,255,255,.35);
    }
    .section{padding:74px 0}
    .section-tight{padding:54px 0}
    .eyebrow{
      display:inline-flex;align-items:center;gap:.45rem;
      padding:7px 12px;border-radius:999px;
      background:rgba(255,77,46,.1);color:#c2410c;
      font-size:.82rem;font-weight:900;
    }
    .title-xl{font-size:clamp(2.2rem,5vw,4.7rem);line-height:1.03;letter-spacing:-.055em;font-weight:1000}
    .title-lg{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.12;letter-spacing:-.045em;font-weight:1000;color:#0f172a}
    .lead{color:#64748b;font-size:1.05rem;line-height:1.9}
    .card{
      border:1px solid rgba(148,163,184,.22);
      background:rgba(255,255,255,.82);
      border-radius:var(--radius);
      box-shadow:0 18px 52px rgba(15,23,42,.08);
      transition:.24s ease;
    }
    .card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(15,23,42,.13);border-color:rgba(255,77,46,.22)}
    .dark-card{
      background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.98));
      color:#fff;border:1px solid rgba(255,255,255,.1);
      border-radius:var(--radius-lg);box-shadow:0 30px 80px rgba(2,6,23,.25);
    }
    .stat-tile{
      padding:22px;border-radius:24px;
      background:linear-gradient(180deg,#fff,rgba(255,255,255,.74));
      border:1px solid rgba(148,163,184,.22);
      box-shadow:0 16px 42px rgba(15,23,42,.07);
    }
    .status-badge{
      display:inline-flex;align-items:center;gap:7px;border-radius:999px;
      padding:6px 10px;font-size:.78rem;font-weight:900;
      background:#ecfdf5;color:#047857;
    }
    .status-badge.hot{background:#fff7ed;color:#c2410c}
    .status-badge.live{background:#eff6ff;color:#1d4ed8}
    .matrix-item{
      display:grid;grid-template-columns:auto 1fr;gap:16px;padding:20px;
      border-radius:24px;border:1px solid rgba(148,163,184,.22);
      background:#fff;transition:.24s ease;
    }
    .matrix-item:hover{transform:translateX(5px);box-shadow:0 18px 48px rgba(15,23,42,.1)}
    .icon-box{
      width:48px;height:48px;border-radius:18px;
      display:grid;place-items:center;font-weight:1000;color:#fff;
      background:linear-gradient(135deg,var(--brand),#f97316);
      box-shadow:0 14px 32px rgba(255,77,46,.22);
    }
    .compare-row{
      display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:12px;align-items:stretch;
    }
    .compare-row>div{padding:16px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.18)}
    .compare-row.head>div{background:#0f172a;color:#fff;font-weight:1000}
    .timeline-step{
      position:relative;padding-left:32px;
    }
    .timeline-step:before{
      content:"";position:absolute;left:6px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--brand);
      box-shadow:0 0 0 7px rgba(255,77,46,.12);
    }
    .timeline-step:not(:last-child):after{
      content:"";position:absolute;left:11px;top:25px;width:2px;height:calc(100% + 16px);background:rgba(148,163,184,.28);
    }
    .faq-item{
      border:1px solid rgba(148,163,184,.22);
      background:rgba(255,255,255,.86);
      border-radius:22px;overflow:hidden;
    }
    .faq-q{
      width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
      padding:20px 22px;background:transparent;border:0;color:#0f172a;
      font-weight:1000;text-align:left;cursor:pointer;
    }
    .faq-a{display:none;padding:0 22px 20px;color:#64748b}
    .faq-item.open .faq-a{display:block}
    .faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
    .form-input{
      width:100%;border:1px solid rgba(148,163,184,.28);
      background:#fff;border-radius:18px;padding:14px 16px;
      color:#0f172a;transition:.2s ease;
    }
    .form-input:focus{border-color:rgba(255,77,46,.55);box-shadow:0 0 0 4px rgba(255,77,46,.1)}
    .footer{
      position:relative;overflow:hidden;
      background:
        radial-gradient(circle at 20% 0%,rgba(255,77,46,.18),transparent 30%),
        linear-gradient(180deg,#0f172a,#020617);
    }
    .footer-link{
      display:block;width:max-content;max-width:100%;
      color:#cbd5e1;font-weight:700;padding:6px 0;transition:.2s ease;
    }
    .footer-link:hover{color:#fff;transform:translateX(4px)}
    .footer a:hover{color:#fff}
    .shine{
      position:absolute;width:300px;height:300px;border-radius:999px;
      background:radial-gradient(circle,rgba(255,183,3,.2),transparent 62%);
      filter:blur(10px);pointer-events:none;
    }
    @media (max-width:1024px){
      .nav-actions{display:none}
      .mobile-toggle{display:inline-flex}
      .dock-shell{border-radius:30px}
      .compare-row{grid-template-columns:1fr}
      .compare-row.head{display:none}
      .compare-row>div:before{display:block;font-size:.75rem;font-weight:900;color:#94a3b8;margin-bottom:4px}
      .compare-row>div:nth-child(1):before{content:"项目"}
      .compare-row>div:nth-child(2):before{content:"普通浏览"}
      .compare-row>div:nth-child(3):before{content:"会员体验"}
    }
    @media (max-width:768px){
      .hero{padding-top:118px}
      .dock-shell{width:min(100%,calc(100% - 14px))}
      .brand-mark{width:38px;height:38px;border-radius:14px}
      .nav-link{height:38px;padding:0 12px;font-size:.86rem}
      .site-wrap{width:min(100%,calc(100% - 24px))}
      .section{padding:56px 0}
      .coupon-main{padding:22px}
    }
    @media (max-width:520px){
      .dock-shell{border-radius:24px}
      .dock-shell .flex.items-center.justify-between{gap:8px}
      .mobile-toggle{padding:10px 12px;font-size:.8rem}
      .hero{padding-top:110px}
      .title-xl{font-size:2.35rem}
      .btn-primary,.btn-dark,.btn-light,.btn-ghost{width:100%}
      .coupon-small{display:none}
      .matrix-item{grid-template-columns:1fr}
    }

/* roulang page: category2 */
:root{
      --bg: #07111f;
      --bg-soft: rgba(10, 18, 32, .72);
      --panel: rgba(8, 16, 30, .82);
      --panel-2: rgba(12, 22, 40, .92);
      --line: rgba(148, 163, 184, .16);
      --line-strong: rgba(125, 211, 252, .28);
      --text: #e2e8f0;
      --muted: #94a3b8;
      --primary: #4dd7ff;
      --primary-2: #22d3ee;
      --accent: #34d399;
      --shadow: 0 24px 70px rgba(0, 0, 0, .42);
      --radius: 24px;
      --radius-lg: 30px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body{
      margin:0;
      min-height:100vh;
      color: var(--text);
      background:
        radial-gradient(circle at 12% 10%, rgba(45, 212, 191, .18), transparent 24%),
        radial-gradient(circle at 88% 18%, rgba(34, 211, 238, .14), transparent 22%),
        radial-gradient(circle at 60% 100%, rgba(52, 211, 153, .10), transparent 24%),
        linear-gradient(180deg, #06101d 0%, #08111f 44%, #050b14 100%);
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }

    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(180deg, rgba(255,255,255,.03), transparent 16%),
        radial-gradient(circle at top left, rgba(125, 211, 252, .06), transparent 35%),
        radial-gradient(circle at bottom right, rgba(34, 197, 94, .08), transparent 28%);
      z-index:-1;
    }

    a{
      color: inherit;
      text-decoration: none;
      transition: all .25s ease;
    }

    img{
      display:block;
      max-width:100%;
    }

    button, input, select, textarea{
      font: inherit;
    }

    ::selection{
      background: rgba(125, 211, 252, .92);
      color: #04101d;
    }

    ::-webkit-scrollbar{ width:10px; height:10px; }
    ::-webkit-scrollbar-thumb{
      background: linear-gradient(180deg, rgba(125,211,252,.38), rgba(52,211,153,.36));
      border-radius: 999px;
    }
    ::-webkit-scrollbar-track{ background: rgba(2, 6, 23, .45); }

    .site-wrap{
      width:min(1200px, calc(100% - 2rem));
      margin:0 auto;
    }

    .dock-shell{
      width:min(1280px, calc(100% - .5rem));
      margin:0 auto;
      border-radius: 999px;
      background: linear-gradient(180deg, rgba(9, 16, 31, .78), rgba(9, 16, 31, .64));
      border: 1px solid rgba(255,255,255,.12);
      box-shadow: 0 18px 50px rgba(0,0,0,.30);
      backdrop-filter: blur(22px);
      -webkit-backdrop-filter: blur(22px);
    }

    .brand-mark{
      width: 42px;
      height: 42px;
      border-radius: 14px;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), transparent 20%),
        linear-gradient(135deg, #7ee7ff 0%, #22d3ee 38%, #34d399 100%);
      box-shadow: 0 0 0 1px rgba(255,255,255,.20), 0 12px 28px rgba(34, 211, 238, .26);
      position: relative;
      flex: 0 0 auto;
    }
    .brand-mark::after{
      content:"";
      position:absolute;
      inset: 10px 11px 11px 10px;
      border-radius: 10px;
      border: 2px solid rgba(5, 11, 20, .44);
      transform: rotate(12deg);
    }

    .nav-scroll{
      overflow-x: auto;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }
    .nav-scroll::-webkit-scrollbar{ display:none; }

    .nav-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height: 44px;
      padding: 0 16px;
      border-radius: 999px;
      color: rgba(226, 232, 240, .82);
      font-size: .92rem;
      font-weight: 700;
      letter-spacing: .01em;
      border: 1px solid transparent;
      background: transparent;
      white-space: nowrap;
    }
    .nav-link:hover,
    .footer-link:hover{
      color: #fff;
      transform: translateY(-1px);
    }
    .nav-link:hover{
      background: rgba(255,255,255,.06);
      border-color: rgba(255,255,255,.08);
      box-shadow: 0 10px 30px rgba(0,0,0,.20);
    }
    .nav-link.active{
      color: #04101d;
      background: linear-gradient(135deg, #7ee7ff, #34d399);
      box-shadow: 0 12px 28px rgba(125, 211, 252, .22);
      border-color: transparent;
    }

    .nav-cta,
    .btn-ghost,
    .mobile-toggle{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius: 999px;
      font-weight: 800;
      letter-spacing: .01em;
      transition: all .25s ease;
      user-select:none;
      white-space: nowrap;
    }

    .nav-cta{
      padding: 12px 18px;
      color: #04101d;
      background: linear-gradient(135deg, #7ee7ff 0%, #22d3ee 42%, #34d399 100%);
      box-shadow: 0 16px 36px rgba(45, 212, 191, .22);
    }
    .nav-cta:hover{
      transform: translateY(-1px);
      filter: brightness(1.05);
      box-shadow: 0 20px 42px rgba(45, 212, 191, .28);
    }

    .btn-ghost,
    .mobile-toggle{
      padding: 12px 16px;
      color: #e2e8f0;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.10);
    }
    .btn-ghost:hover,
    .mobile-toggle:hover{
      background: rgba(255,255,255,.10);
      border-color: rgba(125,211,252,.24);
      transform: translateY(-1px);
    }

    .nav-actions{ display:flex; }
    .mobile-toggle{ display:none; }

    .hero-shell{
      position: relative;
      overflow: hidden;
      border-radius: 32px;
      border: 1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(180deg, rgba(3, 8, 16, .54), rgba(3, 8, 16, .82)),
        url('/assets/images/backpic/back-1.webp') center/cover no-repeat;
      box-shadow: var(--shadow);
    }
    .hero-shell::before{
      content:"";
      position:absolute;
      inset:-1px;
      background:
        radial-gradient(circle at 18% 20%, rgba(125, 211, 252, .18), transparent 22%),
        radial-gradient(circle at 86% 12%, rgba(34, 211, 238, .16), transparent 20%),
        radial-gradient(circle at 78% 72%, rgba(52, 211, 153, .14), transparent 20%);
      pointer-events:none;
    }
    .hero-shell::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(135deg, rgba(4, 9, 19, .86) 0%, rgba(4, 9, 19, .54) 50%, rgba(4, 9, 19, .86) 100%);
      pointer-events:none;
    }

    .chip{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.5rem .8rem;
      border-radius:999px;
      border:1px solid rgba(125,211,252,.20);
      background: rgba(255,255,255,.06);
      color: #d7f3ff;
      font-size:.8rem;
      font-weight:800;
      letter-spacing:.02em;
    }
    .chip-dot{
      width:8px;
      height:8px;
      border-radius:999px;
      background: linear-gradient(135deg, #7ee7ff, #34d399);
      box-shadow: 0 0 0 4px rgba(125,211,252,.12);
    }

    .section-title{
      font-size: clamp(1.5rem, 2.6vw, 2.35rem);
      line-height: 1.12;
      letter-spacing: -.03em;
      font-weight: 900;
      color: #f8fbff;
    }
    .section-lead{
      color: var(--muted);
      line-height: 1.8;
      font-size: 1rem;
    }

    .glass-panel{
      background: linear-gradient(180deg, rgba(12, 22, 40, .80), rgba(8, 15, 28, .92));
      border: 1px solid rgba(255,255,255,.10);
      box-shadow: 0 22px 60px rgba(0,0,0,.26);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .metric-card,
    .service-card,
    .update-card,
    .compare-card,
    .focus-card,
    .form-card,
    .faq-intro,
    .hero-card{
      border-radius: 24px;
      border: 1px solid rgba(255,255,255,.10);
      background: linear-gradient(180deg, rgba(12, 22, 40, .84), rgba(7, 13, 24, .94));
      box-shadow: 0 18px 45px rgba(0,0,0,.22);
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }

    .metric-card:hover,
    .service-card:hover,
    .update-card:hover,
    .compare-card:hover,
    .focus-card:hover,
    .form-card:hover{
      transform: translateY(-3px);
      border-color: rgba(125,211,252,.24);
      box-shadow: 0 26px 60px rgba(0,0,0,.30);
    }

    .stat-value{
      font-size: clamp(1.7rem, 3.1vw, 2.7rem);
      line-height: 1;
      font-weight: 900;
      letter-spacing: -.04em;
      color: #fff;
    }
    .stat-label{
      color: rgba(226,232,240,.86);
      font-size: .95rem;
      font-weight: 800;
    }
    .stat-desc{
      color: var(--muted);
      line-height: 1.65;
      font-size: .92rem;
    }

    .timeline{
      position: relative;
      padding-left: 18px;
    }
    .timeline::before{
      content:"";
      position:absolute;
      left: 6px;
      top: 10px;
      bottom: 10px;
      width: 1px;
      background: linear-gradient(180deg, rgba(125,211,252,.55), rgba(52,211,153,.20));
    }
    .timeline-item{
      position: relative;
      padding: 0 0 18px 14px;
    }
    .timeline-item::before{
      content:"";
      position:absolute;
      left: -2px;
      top: 8px;
      width: 12px;
      height: 12px;
      border-radius: 999px;
      background: linear-gradient(135deg, #7ee7ff, #34d399);
      box-shadow: 0 0 0 5px rgba(125,211,252,.12);
    }

    .count-box{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      padding:.6rem .9rem;
      border-radius:999px;
      border:1px solid rgba(125,211,252,.20);
      background: rgba(4, 10, 20, .58);
      color:#f8fbff;
      font-weight: 900;
      letter-spacing: .05em;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
    }
    .count-chip{
      display:inline-grid;
      place-items:center;
      min-width: 50px;
      padding: .38rem .7rem;
      border-radius: 14px;
      background: rgba(255,255,255,.08);
      color: #fff;
      font-variant-numeric: tabular-nums;
    }

    .status-live{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.4rem .72rem;
      border-radius:999px;
      background: rgba(52, 211, 153, .12);
      color: #b9ffe6;
      border: 1px solid rgba(52, 211, 153, .18);
      font-size: .82rem;
      font-weight: 800;
    }
    .pulse-dot{
      width:8px;
      height:8px;
      border-radius:999px;
      background: #34d399;
      box-shadow: 0 0 0 0 rgba(52,211,153,.55);
      animation: pulse 1.8s infinite;
    }
    @keyframes pulse{
      0%{ box-shadow: 0 0 0 0 rgba(52,211,153,.55); }
      70%{ box-shadow: 0 0 0 10px rgba(52,211,153,0); }
      100%{ box-shadow: 0 0 0 0 rgba(52,211,153,0); }
    }

    .score-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:48px;
      height:48px;
      border-radius: 16px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.10);
      color: #fff;
      font-weight: 900;
    }

    .field-label{
      display:block;
      margin-bottom: .55rem;
      color: #dbeafe;
      font-size:.92rem;
      font-weight:800;
      letter-spacing:.01em;
    }
    .field{
      width:100%;
      border-radius: 16px;
      border: 1px solid rgba(148,163,184,.20);
      background: rgba(2, 8, 20, .58);
      color: #fff;
      padding: .95rem 1rem;
      outline: none;
      transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .field::placeholder{ color: rgba(148,163,184,.72); }
    .field:focus{
      border-color: rgba(125, 211, 252, .46);
      box-shadow: 0 0 0 4px rgba(125, 211, 252, .10);
    }
    textarea.field{ min-height: 118px; resize: vertical; }

    .footer{
      position: relative;
      margin-top: 56px;
      background:
        radial-gradient(circle at 20% 0%, rgba(125,211,252,.08), transparent 28%),
        linear-gradient(180deg, rgba(6, 12, 22, .88), rgba(4, 8, 16, .98));
      border-top: 1px solid rgba(255,255,255,.08);
      overflow:hidden;
    }

    .footer-link{
      color: rgba(203, 213, 225, .86);
      padding: .22rem 0;
      display:inline-flex;
      width: fit-content;
    }

    .footer a{
      color: rgba(226, 232, 240, .82);
    }
    .footer a:hover{
      color: #fff;
    }

    details{
      border-radius: 20px;
      border: 1px solid rgba(255,255,255,.10);
      background: rgba(10, 18, 32, .82);
      padding: 1rem 1.1rem;
      box-shadow: 0 16px 36px rgba(0,0,0,.20);
      transition: all .25s ease;
    }
    details + details{ margin-top: .9rem; }
    details[open]{
      border-color: rgba(125,211,252,.28);
      box-shadow: 0 22px 46px rgba(0,0,0,.26);
    }
    summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 16px;
      font-weight: 900;
      color: #f8fbff;
      outline: none;
    }
    summary::-webkit-details-marker{ display:none; }
    summary::after{
      content:"+";
      flex: 0 0 auto;
      width: 30px;
      height: 30px;
      display:grid;
      place-items:center;
      border-radius: 999px;
      background: rgba(255,255,255,.06);
      color: #d7f3ff;
      font-size: 1.2rem;
      line-height: 1;
      border: 1px solid rgba(255,255,255,.08);
    }
    details[open] summary::after{ content:"−"; }
    details p{
      margin-top: .8rem;
      color: #cbd5e1;
      line-height: 1.8;
    }

    .bar{
      height: 12px;
      border-radius: 999px;
      background: rgba(255,255,255,.06);
      overflow:hidden;
      border: 1px solid rgba(255,255,255,.06);
    }
    .bar > span{
      display:block;
      height:100%;
      border-radius: inherit;
      background: linear-gradient(90deg, #7ee7ff, #22d3ee 55%, #34d399 100%);
      box-shadow: 0 10px 22px rgba(45, 212, 191, .22);
    }

    .section-divider{
      height:1px;
      background: linear-gradient(90deg, transparent, rgba(125,211,252,.22), rgba(52,211,153,.22), transparent);
    }

    .update-card img,
    .focus-image{
      border-radius: 20px;
    }

    @media (max-width: 1024px){
      .nav-actions{ display:none; }
      .mobile-toggle{ display:inline-flex; }
      .site-wrap{ width:min(100% - 1rem, 1200px); }
    }

    @media (max-width: 768px){
      .dock-shell{
        border-radius: 28px;
      }
      .nav-link{
        height: 40px;
        padding: 0 14px;
        font-size: .86rem;
      }
      .hero-shell{
        border-radius: 28px;
      }
      .section-title{
        letter-spacing: -.025em;
      }
    }

    @media (max-width: 520px){
      .brand-mark{ width: 38px; height: 38px; border-radius: 12px; }
      .nav-link{ padding: 0 12px; }
      .count-chip{ min-width: 44px; }
      .hero-shell{
        background-position: 58% center;
      }
    }

    .shadow-soft{ box-shadow: 0 18px 45px rgba(0,0,0,.22); }

/* roulang page: category1 */
:root{
      --bg:#07111f;
      --bg-2:#0b1629;
      --panel:rgba(12,20,36,.84);
      --panel-2:rgba(15,23,42,.76);
      --line:rgba(148,163,184,.16);
      --line-2:rgba(125,211,252,.22);
      --text:#e5eefb;
      --muted:#94a3b8;
      --brand:#4dd7ff;
      --brand-2:#f8ba4d;
      --brand-3:#8b5cf6;
      --good:#34d399;
      --warn:#f59e0b;
      --danger:#fb7185;
      --shadow:0 28px 70px rgba(4,12,24,.42);
      --radius:1.6rem;
      --container:1200px;
      --gutter:1rem;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      color:var(--text);
      background:
        radial-gradient(circle at 18% 20%, rgba(77,215,255,.16), transparent 28%),
        radial-gradient(circle at 82% 0%, rgba(248,186,77,.14), transparent 24%),
        radial-gradient(circle at 70% 78%, rgba(139,92,246,.12), transparent 24%),
        linear-gradient(180deg, #07111f 0%, #081224 100%);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x:hidden;
    }
    body::before,
    body::after{
      content:"";
      position:fixed;
      inset:auto;
      pointer-events:none;
      z-index:-1;
      filter: blur(60px);
      opacity:.9;
    }
    body::before{
      width:420px;
      height:420px;
      left:-120px;
      top:120px;
      background:radial-gradient(circle, rgba(77,215,255,.16), transparent 68%);
    }
    body::after{
      width:520px;
      height:520px;
      right:-180px;
      bottom:0;
      background:radial-gradient(circle, rgba(248,186,77,.14), transparent 68%);
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    ::selection{background:rgba(125,211,252,.35);color:#fff}
    .site-wrap{
      width:min(100%, var(--container));
      margin:0 auto;
      padding-left:var(--gutter);
      padding-right:var(--gutter);
    }
    .dock-shell{
      width:min(100%, 1220px);
      margin:0 auto;
      background:linear-gradient(180deg, rgba(10,17,32,.82), rgba(7,12,24,.74));
      border:1px solid rgba(148,163,184,.17);
      box-shadow:0 18px 60px rgba(2,8,23,.45);
      backdrop-filter:blur(18px);
      border-radius:9999px;
      overflow:hidden;
    }
    .brand-mark{
      position:relative;
      width:40px;
      height:40px;
      border-radius:9999px;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.95) 0 12%, transparent 13%),
        conic-gradient(from 220deg, #4dd7ff, #8b5cf6, #f8ba4d, #4dd7ff);
      box-shadow:0 0 0 5px rgba(77,215,255,.08), 0 16px 30px rgba(77,215,255,.18);
      flex:none;
    }
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:11px;
      border-radius:9999px;
      background:rgba(7,17,31,.92);
      border:1px solid rgba(255,255,255,.12);
    }
    .nav-scroll{
      overflow-x:auto;
      scrollbar-width:none;
      -ms-overflow-style:none;
    }
    .nav-scroll::-webkit-scrollbar{display:none}
    .nav-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.35rem;
      min-height:44px;
      padding:.72rem 1rem;
      color:#cbd5e1;
      font-size:.96rem;
      font-weight:700;
      border-radius:9999px;
      letter-spacing:.01em;
      transition:all .22s ease;
      white-space:nowrap;
      border:1px solid transparent;
    }
    .nav-link:hover,
    .nav-link:focus-visible{
      color:#fff;
      background:rgba(255,255,255,.05);
      border-color:rgba(148,163,184,.16);
      outline:none;
      transform:translateY(-1px);
    }
    .nav-link.active{
      color:#06101b;
      background:linear-gradient(135deg, rgba(125,211,252,.96), rgba(248,186,77,.94));
      box-shadow:0 14px 30px rgba(77,215,255,.14);
    }
    .nav-cta,
    .btn-ghost{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:44px;
      border-radius:9999px;
      font-weight:800;
      transition:all .22s ease;
      white-space:nowrap;
    }
    .nav-cta{
      padding:.78rem 1.08rem;
      color:#07111f;
      background:linear-gradient(135deg, rgba(125,211,252,.98), rgba(248,186,77,.95));
      box-shadow:0 18px 40px rgba(125,211,252,.16);
    }
    .nav-cta:hover,
    .nav-cta:focus-visible{
      transform:translateY(-1px);
      box-shadow:0 22px 48px rgba(125,211,252,.2);
      outline:none;
    }
    .btn-ghost{
      padding:.72rem 1rem;
      border:1px solid rgba(148,163,184,.16);
      color:#e2e8f0;
      background:rgba(255,255,255,.03);
    }
    .btn-ghost:hover,
    .btn-ghost:focus-visible{
      border-color:rgba(125,211,252,.42);
      background:rgba(125,211,252,.08);
      transform:translateY(-1px);
      outline:none;
    }
    .footer{
      position:relative;
      margin-top:2rem;
      background:
        radial-gradient(circle at 10% 0%, rgba(77,215,255,.1), transparent 24%),
        linear-gradient(180deg, rgba(6,10,18,.98), rgba(7,17,31,.98));
      border-top:1px solid rgba(255,255,255,.08);
      overflow:hidden;
    }
    .footer::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.55), transparent 90%);
      opacity:.18;
      pointer-events:none;
    }
    .footer-link{
      color:#cbd5e1;
      transition:color .22s ease, transform .22s ease;
      display:inline-flex;
      width:fit-content;
      padding:.2rem 0;
    }
    .footer-link:hover,
    .footer-link:focus-visible{
      color:#fff;
      transform:translateX(2px);
      outline:none;
    }
    .glass-panel{
      background:linear-gradient(180deg, rgba(15,23,42,.84), rgba(9,16,31,.68));
      border:1px solid rgba(148,163,184,.14);
      box-shadow:var(--shadow);
      border-radius:1.8rem;
      backdrop-filter:blur(16px);
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:.55rem;
      border-radius:9999px;
      border:1px solid rgba(125,211,252,.22);
      background:rgba(125,211,252,.08);
      color:#c5f0ff;
      padding:.38rem .8rem;
      font-size:.8rem;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .section-title{
      font-size:clamp(1.7rem, 3vw, 2.7rem);
      line-height:1.08;
      letter-spacing:-.04em;
      font-weight:900;
      color:#f8fbff;
    }
    .section-lead{
      color:#cbd5e1;
      line-height:1.85;
      font-size:1rem;
      max-width:72ch;
    }
    .hero-title{
      font-size:clamp(2.5rem, 5vw, 4.8rem);
      line-height:1.03;
      letter-spacing:-.06em;
      font-weight:950;
      text-wrap:balance;
    }
    .hero-copy{
      color:#d7e3f4;
      line-height:1.9;
      font-size:1.02rem;
      max-width:62ch;
    }
    .metric-card,
    .info-card,
    .service-card,
    .feature-card,
    .compare-card,
    .about-card{
      position:relative;
      background:linear-gradient(180deg, rgba(15,23,42,.78), rgba(8,15,28,.7));
      border:1px solid rgba(148,163,184,.14);
      border-radius:1.35rem;
      box-shadow:0 14px 34px rgba(2,8,23,.18);
      overflow:hidden;
      transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease, background .24s ease;
    }
    .metric-card:hover,
    .info-card:hover,
    .service-card:hover,
    .feature-card:hover,
    .compare-card:hover,
    .about-card:hover{
      transform:translateY(-3px);
      border-color:rgba(125,211,252,.3);
      box-shadow:0 20px 42px rgba(2,8,23,.28);
    }
    .metric-num{
      font-size:clamp(1.65rem, 2.7vw, 2.4rem);
      line-height:1;
      font-weight:950;
      letter-spacing:-.05em;
      color:#fff;
    }
    .metric-label{
      color:#94a3b8;
      font-size:.88rem;
      font-weight:700;
      letter-spacing:.02em;
    }
    .meta-badge{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      border-radius:9999px;
      padding:.35rem .7rem;
      font-size:.78rem;
      font-weight:800;
      letter-spacing:.02em;
      border:1px solid rgba(148,163,184,.15);
      color:#dbeafe;
      background:rgba(255,255,255,.04);
    }
    .pulse-dot{
      width:.55rem;
      height:.55rem;
      border-radius:9999px;
      background:linear-gradient(135deg, #4dd7ff, #f8ba4d);
      box-shadow:0 0 0 6px rgba(77,215,255,.08);
      position:relative;
    }
    .pulse-dot::after{
      content:"";
      position:absolute;
      inset:0;
      border-radius:9999px;
      background:inherit;
      animation:pulse 1.8s ease-out infinite;
      opacity:.65;
    }
    @keyframes pulse{
      0%{transform:scale(1);opacity:.7}
      100%{transform:scale(2.3);opacity:0}
    }
    .label-chip{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.42rem .78rem;
      border-radius:9999px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(148,163,184,.14);
      color:#d8e4f4;
      font-size:.82rem;
      font-weight:700;
      transition:all .2s ease;
    }
    .label-chip:hover{
      transform:translateY(-1px);
      border-color:rgba(125,211,252,.3);
      background:rgba(125,211,252,.08);
      color:#fff;
    }
    .timeline-line{
      position:absolute;
      left:18px;
      top:0;
      bottom:0;
      width:1px;
      background:linear-gradient(180deg, rgba(125,211,252,.5), rgba(248,186,77,.18), transparent);
    }
    .timeline-step{
      position:relative;
      padding-left:3rem;
    }
    .timeline-step::before{
      content:"";
      position:absolute;
      left:10px;
      top:.35rem;
      width:17px;
      height:17px;
      border-radius:9999px;
      background:linear-gradient(135deg, rgba(125,211,252,.96), rgba(248,186,77,.92));
      box-shadow:0 0 0 5px rgba(125,211,252,.08);
      border:1px solid rgba(255,255,255,.24);
    }
    .timeline-step h3,
    .service-card h3,
    .feature-card h3,
    .compare-card h3,
    .about-card h3,
    .faq-item summary,
    .feature-title{
      color:#fff;
      font-weight:900;
      letter-spacing:-.03em;
    }
    .muted{
      color:var(--muted);
      line-height:1.8;
    }
    .clamp-2,
    .clamp-3{
      display:-webkit-box;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .clamp-2{-webkit-line-clamp:2}
    .clamp-3{-webkit-line-clamp:3}
    .stat-strip{
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid rgba(148,163,184,.12);
      border-radius:1.25rem;
      overflow:hidden;
    }
    .stat-pill{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.52rem .85rem;
      border-radius:9999px;
      background:rgba(255,255,255,.04);
      color:#d8e4f4;
      border:1px solid rgba(148,163,184,.12);
      font-size:.86rem;
      font-weight:700;
      white-space:nowrap;
    }
    .score-chip{
      display:inline-flex;
      align-items:center;
      padding:.36rem .62rem;
      border-radius:9999px;
      font-size:.76rem;
      font-weight:800;
      letter-spacing:.02em;
      border:1px solid rgba(148,163,184,.16);
      color:#e2e8f0;
      background:rgba(255,255,255,.04);
    }
    .compare-bar{
      height:10px;
      border-radius:9999px;
      background:rgba(148,163,184,.12);
      overflow:hidden;
    }
    .compare-fill{
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, rgba(77,215,255,.98), rgba(248,186,77,.96));
      box-shadow:0 0 18px rgba(125,211,252,.22);
    }
    .faq-item{
      border:1px solid rgba(148,163,184,.14);
      border-radius:1.1rem;
      background:rgba(255,255,255,.03);
      overflow:hidden;
      transition:border-color .2s ease, background .2s ease;
    }
    .faq-item:hover{
      border-color:rgba(125,211,252,.28);
      background:rgba(255,255,255,.04);
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:1.05rem 1.1rem;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
      font-size:1rem;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary::after{
      content:"+";
      flex:none;
      width:1.8rem;
      height:1.8rem;
      border-radius:9999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:rgba(125,211,252,.08);
      color:#c5f0ff;
      border:1px solid rgba(125,211,252,.16);
      font-size:1.15rem;
      line-height:1;
    }
    .faq-item[open] summary::after{content:"−"}
    .faq-answer{
      padding:0 1.1rem 1.05rem;
      color:#cbd5e1;
      line-height:1.84;
    }
    .cta-panel{
      position:relative;
      overflow:hidden;
      border-radius:2rem;
      border:1px solid rgba(125,211,252,.18);
      background:
        linear-gradient(180deg, rgba(8,15,28,.78), rgba(8,15,28,.84)),
        url('/assets/images/backpic/back-3.webp') center/cover no-repeat;
      box-shadow:var(--shadow);
    }
    .cta-panel::before{
      content:"";
      position:absolute;
      inset:0;
      background:radial-gradient(circle at 15% 12%, rgba(125,211,252,.18), transparent 25%), radial-gradient(circle at 88% 20%, rgba(248,186,77,.14), transparent 20%);
      pointer-events:none;
    }
    .input-field{
      width:100%;
      border-radius:1rem;
      border:1px solid rgba(148,163,184,.18);
      background:rgba(2,8,23,.55);
      color:#f8fbff;
      padding:1rem 1rem;
      outline:none;
      transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
    }
    .input-field::placeholder{color:#64748b}
    .input-field:focus{
      border-color:rgba(125,211,252,.55);
      box-shadow:0 0 0 4px rgba(125,211,252,.1);
      background:rgba(2,8,23,.72);
    }
    .toast{
      position:fixed;
      right:1rem;
      bottom:1rem;
      z-index:100;
      max-width:min(92vw, 360px);
      padding:.9rem 1rem;
      border-radius:1rem;
      border:1px solid rgba(125,211,252,.24);
      background:rgba(6,12,23,.92);
      color:#eff8ff;
      box-shadow:0 18px 50px rgba(2,8,23,.45);
      backdrop-filter:blur(14px);
      transform:translateY(18px);
      opacity:0;
      pointer-events:none;
      transition:all .28s ease;
    }
    .toast.show{
      transform:translateY(0);
      opacity:1;
    }
    @media (max-width: 1024px){
      .hero-title{font-size:clamp(2.2rem, 7vw, 4rem)}
      .dock-shell{border-radius:1.5rem}
    }
    @media (max-width: 768px){
      .section-title{font-size:clamp(1.45rem, 6vw, 2rem)}
      .hero-copy,.section-lead{font-size:.98rem}
      .timeline-step{padding-left:2.7rem}
    }
    @media (max-width: 520px){
      .site-wrap{padding-left:.8rem;padding-right:.8rem}
      .nav-link{padding:.62rem .85rem;font-size:.9rem}
      .hero-title{font-size:clamp(1.95rem, 10vw, 2.9rem)}
      .section-kicker{font-size:.74rem;letter-spacing:.1em}
      .metric-num{font-size:1.45rem}
    }

/* roulang page: category3 */
:root{
      --bg:#07111d;
      --bg-2:#0b1628;
      --panel:rgba(10,18,33,.78);
      --panel-strong:rgba(13,23,42,.92);
      --line:rgba(148,163,184,.16);
      --line-strong:rgba(148,163,184,.24);
      --text:#eaf2ff;
      --muted:#9ab0cd;
      --brand:#49d6ff;
      --brand-2:#7c5cff;
      --accent:#f7c85e;
      --success:#30d19a;
      --danger:#ff7d7d;
      --shadow:0 24px 80px rgba(2,6,23,.42);
      --radius:24px;
      --radius-lg:30px;
    }
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(73,214,255,.14), transparent 28%),
        radial-gradient(circle at 85% 15%, rgba(124,92,255,.17), transparent 25%),
        radial-gradient(circle at bottom right, rgba(48,209,154,.12), transparent 22%),
        linear-gradient(180deg, #08111f 0%, #0a1424 50%, #07111d 100%);
      font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
      line-height:1.7;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image: linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
      background-size: 100% 36px, 36px 100%;
      mask-image: radial-gradient(circle at center, black 58%, transparent 100%);
      opacity:.34;
      z-index:0;
    }
    ::selection{background:rgba(73,214,255,.24);color:#fff}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    :focus-visible{outline:2px solid rgba(73,214,255,.95);outline-offset:3px}
    .site-wrap{width:min(1200px,calc(100% - 1.5rem));margin-inline:auto;position:relative}
    .dock-shell{
      background:linear-gradient(180deg, rgba(11,19,34,.92), rgba(8,15,28,.84));
      border:1px solid rgba(148,163,184,.18);
      box-shadow:0 18px 60px rgba(2,6,23,.42);
      backdrop-filter:blur(22px);
      -webkit-backdrop-filter:blur(22px);
      border-radius:30px;
    }
    .brand-mark{
      width:42px;height:42px;border-radius:15px;display:inline-block;position:relative;flex:none;
      background:linear-gradient(145deg, var(--brand), var(--brand-2));
      box-shadow:0 12px 28px rgba(73,214,255,.22), inset 0 1px 0 rgba(255,255,255,.25);
    }
    .brand-mark::before{
      content:"";
      position:absolute;inset:11px;
      border-radius:11px;
      border:2px solid rgba(255,255,255,.88);
      transform:rotate(8deg);
      opacity:.95;
    }
    .brand-mark::after{
      content:"";
      position:absolute;left:50%;top:50%;
      width:10px;height:10px;border-radius:999px;
      transform:translate(-50%,-50%);
      background:#fff;
      box-shadow:0 0 0 4px rgba(255,255,255,.16);
    }
    .nav-scroll{
      overflow-x:auto;
      scrollbar-width:none;
      -ms-overflow-style:none;
    }
    .nav-scroll::-webkit-scrollbar{display:none}
    .nav-link{
      display:inline-flex;align-items:center;justify-content:center;
      padding:.8rem 1rem;
      border-radius:999px;
      color:#c5d0e0;
      font-weight:800;
      font-size:.95rem;
      letter-spacing:-.01em;
      border:1px solid transparent;
      transition:all .22s ease;
      white-space:nowrap;
    }
    .nav-link:hover{
      background:rgba(148,163,184,.08);
      color:#fff;
      border-color:rgba(148,163,184,.16);
      transform:translateY(-1px);
    }
    .nav-link.active{
      background:linear-gradient(135deg, rgba(73,214,255,.17), rgba(124,92,255,.16));
      color:#fff;
      border-color:rgba(73,214,255,.3);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .nav-cta,.btn-ghost{
      display:inline-flex;align-items:center;justify-content:center;
      gap:.45rem;
      border-radius:999px;
      padding:.82rem 1.1rem;
      font-weight:800;
      letter-spacing:-.01em;
      transition:all .22s ease;
      border:1px solid transparent;
      box-shadow:none;
      white-space:nowrap;
    }
    .nav-cta{
      color:#07111d;
      background:linear-gradient(135deg, #9ce9ff, #7aa7ff);
      box-shadow:0 10px 30px rgba(73,214,255,.18);
    }
    .nav-cta:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 14px 34px rgba(73,214,255,.23)}
    .btn-ghost{
      background:rgba(148,163,184,.08);
      color:#eff6ff;
      border-color:rgba(148,163,184,.16);
    }
    .btn-ghost:hover{
      background:rgba(148,163,184,.12);
      border-color:rgba(148,163,184,.24);
      transform:translateY(-1px);
    }
    .hero-stage{
      position:relative;
      overflow:hidden;
      border-bottom:1px solid rgba(148,163,184,.10);
      background:
        linear-gradient(180deg, rgba(5,10,20,.42), rgba(5,10,20,.78)),
        url('/assets/images/backpic/back-2.webp') center/cover no-repeat;
    }
    .hero-stage::before{
      content:"";
      position:absolute;inset:0;
      background:
        radial-gradient(circle at 20% 12%, rgba(73,214,255,.28), transparent 22%),
        radial-gradient(circle at 82% 20%, rgba(124,92,255,.22), transparent 20%),
        radial-gradient(circle at 50% 100%, rgba(247,200,94,.12), transparent 30%);
      pointer-events:none;
    }
    .section-kicker{
      display:inline-flex;align-items:center;gap:.5rem;
      padding:.45rem .8rem;
      border-radius:999px;
      border:1px solid rgba(148,163,184,.18);
      background:rgba(15,23,42,.65);
      color:#c8dbf5;
      font-size:.82rem;
      font-weight:800;
      letter-spacing:.18em;
      text-transform:uppercase;
    }
    .section-title{
      font-size:clamp(1.6rem, 2.8vw, 2.6rem);
      line-height:1.12;
      letter-spacing:-.04em;
      font-weight:900;
      color:#fff;
    }
    .section-lead{
      color:var(--muted);
      max-width:72ch;
    }
    .panel{
      position:relative;
      background:linear-gradient(180deg, rgba(12,19,34,.94), rgba(10,18,32,.78));
      border:1px solid rgba(148,163,184,.16);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .panel::before{
      content:"";
      position:absolute;
      inset:auto -20% -34% 20%;
      width:180px;height:180px;border-radius:999px;
      background:radial-gradient(circle, rgba(73,214,255,.14), transparent 68%);
      pointer-events:none;
      filter:blur(4px);
    }
    .glass-card{
      position:relative;
      border:1px solid rgba(148,163,184,.16);
      background:rgba(15,23,42,.64);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      border-radius:24px;
      box-shadow:0 16px 40px rgba(2,6,23,.25);
    }
    .metric-card,.feature-card,.news-card,.quote-card,.timeline-card,.faq-item,.cta-card,.intro-card{
      border:1px solid rgba(148,163,184,.15);
      background:linear-gradient(180deg, rgba(15,23,42,.92), rgba(10,18,32,.76));
      border-radius:24px;
      box-shadow:0 14px 42px rgba(2,6,23,.22);
      transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
    }
    .metric-card:hover,.feature-card:hover,.news-card:hover,.quote-card:hover,.timeline-card:hover,.faq-item:hover,.cta-card:hover,.intro-card:hover{
      transform:translateY(-2px);
      border-color:rgba(73,214,255,.25);
      box-shadow:0 18px 52px rgba(2,6,23,.30);
    }
    .badge{
      display:inline-flex;align-items:center;gap:.4rem;
      border-radius:999px;
      padding:.38rem .72rem;
      font-size:.78rem;
      font-weight:800;
      border:1px solid rgba(148,163,184,.18);
      background:rgba(148,163,184,.08);
      color:#dbe8fb;
    }
    .badge.brand{background:rgba(73,214,255,.12);border-color:rgba(73,214,255,.24);color:#dff8ff}
    .badge.warn{background:rgba(247,200,94,.12);border-color:rgba(247,200,94,.24);color:#fff1c2}
    .badge.success{background:rgba(48,209,154,.12);border-color:rgba(48,209,154,.2);color:#c5ffea}
    .btn-primary{
      display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
      border-radius:999px;
      padding:.95rem 1.2rem;
      font-weight:900;
      color:#08111f;
      background:linear-gradient(135deg, #b2f0ff, #7db2ff);
      box-shadow:0 16px 34px rgba(73,214,255,.2);
      transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
    }
    .btn-primary:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 18px 40px rgba(73,214,255,.26)}
    .btn-secondary{
      display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
      border-radius:999px;
      padding:.95rem 1.2rem;
      font-weight:900;
      color:#eef6ff;
      background:rgba(148,163,184,.08);
      border:1px solid rgba(148,163,184,.18);
      transition:transform .22s ease,background .22s ease,border-color .22s ease;
    }
    .btn-secondary:hover{transform:translateY(-1px);background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.24)}
    .mini-list li{
      position:relative;
      padding-left:1.1rem;
      color:#dbe7f7;
    }
    .mini-list li::before{
      content:"";
      position:absolute;
      left:0;top:.8rem;
      width:.42rem;height:.42rem;border-radius:999px;
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      box-shadow:0 0 0 4px rgba(73,214,255,.10);
    }
    .image-frame{
      position:relative;
      overflow:hidden;
      border-radius:24px;
      border:1px solid rgba(148,163,184,.16);
      background:linear-gradient(180deg, rgba(12,18,31,.78), rgba(8,15,26,.92));
      box-shadow:0 22px 60px rgba(2,6,23,.34);
    }
    .image-frame img{
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .image-frame::after{
      content:"";
      position:absolute;inset:0;
      background:linear-gradient(180deg, rgba(6,10,18,.08), rgba(6,10,18,.42));
      pointer-events:none;
    }
    .footer{
      position:relative;
      overflow:hidden;
      margin-top:3.5rem;
      background:
        radial-gradient(circle at top left, rgba(73,214,255,.08), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(124,92,255,.08), transparent 22%),
        linear-gradient(180deg, rgba(8,14,25,.92), rgba(6,11,20,.98));
      border-top:1px solid rgba(148,163,184,.12);
    }
    .footer-link{
      display:inline-flex;
      width:fit-content;
      color:#aebfd8;
      transition:color .2s ease,transform .2s ease;
      padding:.18rem 0;
    }
    .footer-link:hover{color:#fff;transform:translateX(2px)}
    .footer a[href*="sitemap"], .footer a[href*="feed"]{color:#dce8ff}
    .form-control{
      width:100%;
      border-radius:18px;
      border:1px solid rgba(148,163,184,.18);
      background:rgba(7,16,31,.7);
      color:#fff;
      padding:.95rem 1rem;
      transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
    }
    .form-control::placeholder{color:#7f91af}
    .form-control:focus{
      border-color:rgba(73,214,255,.42);
      box-shadow:0 0 0 4px rgba(73,214,255,.12);
      background:rgba(7,16,31,.9);
      outline:none;
    }
    details.faq-item summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:1.15rem 1.2rem;
    }
    details.faq-item summary::-webkit-details-marker{display:none}
    details.faq-item[open]{
      border-color:rgba(73,214,255,.24);
      box-shadow:0 18px 52px rgba(2,6,23,.28);
    }
    .faq-chevron{
      width:1.9rem;height:1.9rem;border-radius:999px;
      display:grid;place-items:center;
      border:1px solid rgba(148,163,184,.16);
      background:rgba(148,163,184,.08);
      flex:none;
      transition:transform .2s ease;
    }
    details[open] .faq-chevron{transform:rotate(180deg)}
    .progress-track{
      width:100%;
      height:.72rem;
      border-radius:999px;
      background:rgba(148,163,184,.12);
      overflow:hidden;
    }
    .progress-bar{
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg, var(--brand), var(--brand-2));
      box-shadow:0 8px 16px rgba(73,214,255,.22);
    }
    .toast{
      position:fixed;
      right:1rem;
      bottom:1rem;
      z-index:60;
      width:min(360px, calc(100% - 2rem));
      border-radius:20px;
      border:1px solid rgba(48,209,154,.24);
      background:linear-gradient(180deg, rgba(6,20,16,.96), rgba(8,18,28,.94));
      box-shadow:0 18px 42px rgba(2,6,23,.4);
      transition:opacity .25s ease, transform .25s ease;
    }
    .toast.hidden-state{
      opacity:0;
      transform:translateY(12px);
      pointer-events:none;
    }
    .stage-glow{
      position:absolute;
      inset:auto 50% -12% auto;
      width:26rem;height:26rem;border-radius:999px;
      transform:translateX(44%);
      background:radial-gradient(circle, rgba(73,214,255,.24), rgba(73,214,255,.08) 35%, transparent 70%);
      filter:blur(14px);
      pointer-events:none;
    }
    .stage-glow.alt{
      inset:12% auto auto -8%;
      width:20rem;height:20rem;
      transform:none;
      background:radial-gradient(circle, rgba(124,92,255,.22), rgba(124,92,255,.08) 35%, transparent 72%);
    }
    @media (max-width: 1024px){
      .site-wrap{width:min(1200px,calc(100% - 1.1rem))}
    }
    @media (max-width: 768px){
      .dock-shell{border-radius:24px}
      .nav-link{padding:.68rem .9rem;font-size:.9rem}
      .nav-actions{display:none}
    }
    @media (max-width: 520px){
      .section-title{font-size:1.45rem}
      .btn-primary,.btn-secondary,.nav-cta,.btn-ghost{padding:.88rem 1rem;font-size:.92rem}
      .brand-mark{width:38px;height:38px;border-radius:13px}
    }
