/* roulang page: index */
:root{
      --bg: #111111;
      --bg-2: #171717;
      --paper: #f4eee7;
      --paper-2: #ece5dd;
      --paper-3: #e2d7cc;
      --text: #f7f2ea;
      --muted: #b8ada2;
      --muted-dark: #6c635b;
      --accent: #8f263a;
      --accent-2: #c7a064;
      --accent-3: #5e2a1f;
      --line: rgba(255,255,255,.10);
      --line-dark: rgba(92, 67, 48, .14);
      --shadow-lg: 0 24px 60px rgba(0,0,0,.28);
      --shadow-soft: 0 12px 28px rgba(0,0,0,.16);
      --radius-xl: 24px;
      --radius-lg: 20px;
    }
    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      background:
        radial-gradient(circle at top left, rgba(143,38,58,.18), transparent 28%),
        radial-gradient(circle at top right, rgba(199,160,100,.12), transparent 26%),
        linear-gradient(180deg, #111111 0%, #151515 50%, #101010 100%);
      color:var(--text);
      font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,sans-serif;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:linear-gradient(180deg, rgba(255,255,255,.02), transparent 14%);
      z-index:0;
    }
    a{ color:inherit; text-decoration:none; transition:all .25s ease; }
    img{ max-width:100%; display:block; }
    button,input,textarea,select{ font:inherit; }
    ::selection{ background:rgba(143,38,58,.38); color:#fff; }
    section[id]{ scroll-margin-top:96px; }
    .site-wrap{ position:relative; z-index:1; }
    .container-shell{
      width:min(1440px, calc(100% - 1.75rem));
      margin-inline:auto;
    }
    .section-pad{
      padding:clamp(3.5rem, 6vw, 6.5rem) 0;
    }
    .card-dark{
      background:linear-gradient(180deg, rgba(22,22,22,.97), rgba(14,14,14,.96));
      border:1px solid var(--line);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow-soft);
    }
    .card-paper{
      background:linear-gradient(180deg, rgba(248,243,237,.98), rgba(238,231,222,.96));
      border:1px solid rgba(121,89,68,.14);
      border-radius:var(--radius-xl);
      box-shadow:0 16px 32px rgba(19,14,9,.12);
      color:#261c14;
    }
    .badge-soft{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.42rem .75rem;
      border-radius:999px;
      border:1px solid rgba(199,160,100,.24);
      background:rgba(199,160,100,.08);
      color:#f3ddc0;
      font-size:.78rem;
      font-weight:700;
      letter-spacing:.02em;
    }
    .nav-link{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.72rem 1rem;
      border:1px solid rgba(255,255,255,.08);
      border-radius:999px;
      background:rgba(255,255,255,.02);
      color:#e9e0d7;
      font-size:.92rem;
      font-weight:650;
      white-space:nowrap;
    }
    .nav-link:hover{
      transform:translateY(-1px);
      border-color:rgba(199,160,100,.34);
      background:rgba(199,160,100,.08);
      color:#fff;
    }
    .nav-link.active{
      background:rgba(143,38,58,.18);
      border-color:rgba(143,38,58,.42);
      color:#fff;
    }
    .btn-primary{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.58rem;
      padding:.92rem 1.3rem;
      border-radius:999px;
      background:linear-gradient(135deg, #9a2940 0%, #7f1f32 55%, #c7a064 140%);
      color:#fff;
      font-weight:800;
      box-shadow:0 12px 26px rgba(143,38,58,.25);
    }
    .btn-primary:hover{
      transform:translateY(-1px);
      filter:saturate(1.05) brightness(1.03);
    }
    .btn-secondary{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.58rem;
      padding:.92rem 1.3rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.03);
      color:#f7f2ea;
      font-weight:700;
    }
    .btn-secondary:hover{
      transform:translateY(-1px);
      border-color:rgba(199,160,100,.35);
      background:rgba(255,255,255,.06);
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      font-size:.8rem;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:#a69c91;
      font-weight:800;
    }
    .section-title{
      font-size:clamp(1.55rem, 2.6vw, 2.7rem);
      line-height:1.12;
      font-weight:900;
      letter-spacing:var(--tracking-tightest);
    }
    .section-copy{
      color:#8d8277;
      font-size:1rem;
      line-height:1.85;
    }
    .paper-title{
      font-size:clamp(1.35rem, 2vw, 2rem);
      line-height:1.12;
      font-weight:900;
      color:#241914;
    }
    .stat-number{
      font-size:clamp(2rem, 4vw, 3.35rem);
      line-height:1;
      font-weight:900;
      color:#f7f2ea;
      letter-spacing:-0.04em;
    }
    .hero-panel{
      background:linear-gradient(180deg, rgba(255,250,244,.96), rgba(238,231,221,.97));
      color:#291b12;
      border:1px solid rgba(121,89,68,.14);
      border-radius:28px;
      box-shadow:0 18px 44px rgba(28,18,9,.16);
    }
    .bullet-dot{
      width:.55rem;
      height:.55rem;
      border-radius:999px;
      background:var(--accent-2);
      box-shadow:0 0 0 4px rgba(199,160,100,.16);
      flex:none;
    }
    .input-field{
      width:100%;
      border-radius:16px;
      border:1px solid rgba(121,89,68,.16);
      background:rgba(255,255,255,.74);
      color:#271c14;
      padding:.95rem 1rem;
      outline:none;
      transition:all .25s ease;
    }
    .input-field::placeholder{ color:#8b7f74; }
    .input-field:focus{
      border-color:rgba(143,38,58,.55);
      box-shadow:0 0 0 4px rgba(143,38,58,.1);
      background:#fff;
    }
    .soft-rule{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(199,160,100,.36), transparent);
    }
    .faq-panel{
      max-height:0;
      overflow:hidden;
      transition:max-height .36s ease;
    }
    .faq-panel.open{
      max-height:220px;
    }
    .reveal{
      opacity:0;
      transform:translateY(18px);
      transition:opacity .7s ease, transform .7s ease;
    }
    .reveal.visible{
      opacity:1;
      transform:none;
    }
    .scrollbar-hide::-webkit-scrollbar{ display:none; }
    .scrollbar-hide{
      -ms-overflow-style:none;
      scrollbar-width:none;
    }
    .story-bar{
      background:linear-gradient(90deg, rgba(143,38,58,.14), rgba(199,160,100,.12));
      border:1px solid rgba(199,160,100,.18);
      border-radius:20px;
    }
    .mini-label{
      font-size:.78rem;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#9a8f84;
      font-weight:800;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.42rem .68rem;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      color:#efe8df;
      font-size:.84rem;
      font-weight:650;
    }
    .chip-paper{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.42rem .68rem;
      border-radius:999px;
      background:rgba(143,38,58,.08);
      border:1px solid rgba(143,38,58,.12);
      color:#7e2336;
      font-size:.82rem;
      font-weight:700;
    }
    .hover-rise{
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
    }
    .hover-rise:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-lg);
    }
    .compare-bar{
      height:.7rem;
      border-radius:999px;
      background:rgba(0,0,0,.06);
      overflow:hidden;
    }
    .compare-fill{
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg, #8f263a 0%, #c7a064 100%);
    }
    .anchor-tag{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.55rem .8rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.09);
      background:rgba(255,255,255,.03);
      color:#ede5da;
      font-weight:650;
      font-size:.88rem;
    }
    .anchor-tag:hover{
      border-color:rgba(199,160,100,.34);
      background:rgba(199,160,100,.08);
    }
    .footer-link{
      color:#cfc4b8;
      font-size:.94rem;
    }
    .footer-link:hover{
      color:#fff;
    }
    @media (max-width: 1024px){
      .section-pad{ padding:3.6rem 0; }
    }
    @media (max-width: 640px){
      .container-shell{ width:min(100% - 1rem, 1440px); }
      .section-title{ font-size:1.6rem; }
      .paper-title{ font-size:1.28rem; }
      .btn-primary, .btn-secondary{ width:100%; }
    }

/* roulang page: category1 */
:root{
      --bg:#141312;
      --bg-deep:#0f0f0f;
      --paper:#f3eee6;
      --paper-soft:#ebe3d7;
      --card:#201d1b;
      --card-2:#2a2522;
      --text:#f8f2e8;
      --muted:#b9afa3;
      --muted-2:#82776d;
      --line:rgba(255,255,255,.10);
      --line-warm:rgba(199,160,100,.26);
      --red:#8f263a;
      --red-dark:#6f1c2c;
      --copper:#c7a064;
      --copper-2:#e0c18a;
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:16px;
      --shadow-soft:0 20px 60px rgba(0,0,0,.22);
      --shadow-card:0 14px 34px rgba(0,0,0,.18);
      --container:1280px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      background:
        radial-gradient(circle at 12% 4%, rgba(143,38,58,.28), transparent 34%),
        radial-gradient(circle at 88% 14%, rgba(199,160,100,.16), transparent 30%),
        linear-gradient(180deg, #171513 0%, #11100f 42%, #171513 100%);
      color:var(--text);
      font-family:'PingFang SC','HarmonyOS Sans','Microsoft YaHei',system-ui,sans-serif;
      line-height:1.75;
      text-rendering:geometricPrecision;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    ::selection{background:rgba(199,160,100,.38);color:#fff}
    .container-shell{
      width:min(var(--container), calc(100% - 40px));
      margin-inline:auto;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(15,15,15,.94);
      box-shadow:0 12px 34px rgba(0,0,0,.18);
    }
    .header-inner{
      min-height:78px;
      display:flex;
      align-items:center;
      gap:22px;
    }
    .brand-mark{
      display:grid;
      width:46px;
      height:46px;
      place-items:center;
      border-radius:18px;
      background:linear-gradient(135deg,#8f263a 0%,#7d1f33 48%,#c7a064 100%);
      box-shadow:0 14px 34px rgba(143,38,58,.22);
      flex:0 0 auto;
    }
    .shadow-glow{box-shadow:0 14px 36px rgba(143,38,58,.26), inset 0 1px 0 rgba(255,255,255,.22)}
    .nav-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:38px;
      padding:0 15px;
      border:1px solid transparent;
      border-radius:999px;
      color:#cfc6bc;
      font-size:14px;
      font-weight:800;
      letter-spacing:.01em;
      transition:color .22s ease, background .22s ease, border-color .22s ease, transform .22s ease;
      white-space:nowrap;
    }
    .nav-link:hover{
      color:#fff;
      background:rgba(255,255,255,.06);
      border-color:rgba(199,160,100,.22);
      transform:translateY(-1px);
    }
    .nav-link.active{
      color:#fff;
      background:rgba(143,38,58,.72);
      border-color:rgba(199,160,100,.32);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:46px;
      padding:0 20px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:900;
      letter-spacing:.02em;
      transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
    }
    .btn-primary{
      background:linear-gradient(135deg,var(--copper) 0%, #dfbd7d 46%, #9b6937 100%);
      color:#21160f;
      box-shadow:0 16px 30px rgba(199,160,100,.18);
    }
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(199,160,100,.25);filter:saturate(1.06)}
    .btn-secondary{
      color:#f7efe4;
      border-color:rgba(255,255,255,.16);
      background:rgba(255,255,255,.05);
    }
    .btn-secondary:hover{transform:translateY(-2px);border-color:rgba(199,160,100,.38);background:rgba(255,255,255,.08)}
    .btn-ghost{
      color:#d7cfc6;
      border-color:rgba(255,255,255,.12);
      background:transparent;
    }
    .btn-ghost:hover{color:#fff;border-color:rgba(199,160,100,.35);background:rgba(199,160,100,.08)}
    .mobile-panel{
      display:none;
      border-top:1px solid var(--line);
      background:#121110;
    }
    .mobile-panel.open{display:block}
    .section{padding:86px 0}
    .section-tight{padding:54px 0}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border:1px solid rgba(199,160,100,.28);
      border-radius:999px;
      background:rgba(199,160,100,.08);
      color:#e6c98f;
      font-size:12px;
      font-weight:900;
      letter-spacing:.16em;
    }
    .hero{
      position:relative;
      padding:82px 0 64px;
      overflow:hidden;
    }
    .hero:before{
      content:"";
      position:absolute;
      inset:auto -8% -36% 48%;
      height:420px;
      background:radial-gradient(circle, rgba(143,38,58,.25), transparent 64%);
      pointer-events:none;
    }
    .hero-title{
      font-size:clamp(38px, 6vw, 78px);
      line-height:1.05;
      font-weight:950;
      letter-spacing:-.06em;
    }
    .hero-title .accent{color:#dfbd7d}
    .hero-sub{
      max-width:720px;
      color:#c7bdb2;
      font-size:17px;
      line-height:1.9;
    }
    .panel{
      border:1px solid var(--line);
      border-radius:var(--radius-xl);
      background:linear-gradient(180deg, rgba(42,37,34,.92), rgba(25,23,21,.96));
      box-shadow:var(--shadow-soft);
    }
    .paper-panel{
      border:1px solid rgba(62,49,39,.14);
      border-radius:var(--radius-xl);
      background:linear-gradient(180deg, #f6f0e7 0%, #ebe1d4 100%);
      color:#201b18;
      box-shadow:0 18px 44px rgba(0,0,0,.16);
    }
    .stat-card{
      border:1px solid rgba(255,255,255,.10);
      border-radius:22px;
      background:rgba(255,255,255,.045);
      padding:22px;
      transition:transform .24s ease, border-color .24s ease, background .24s ease;
    }
    .stat-card:hover{transform:translateY(-4px);border-color:rgba(199,160,100,.36);background:rgba(255,255,255,.07)}
    .stat-num{
      font-size:34px;
      line-height:1;
      font-weight:950;
      color:#e2bd79;
      letter-spacing:-.04em;
    }
    .filter-bar{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      padding:14px;
      border:1px solid rgba(255,255,255,.10);
      border-radius:24px;
      background:rgba(255,255,255,.045);
    }
    .filter-chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:38px;
      padding:0 14px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(15,15,15,.42);
      color:#d9cfc4;
      font-size:13px;
      font-weight:800;
      transition:all .22s ease;
    }
    .filter-chip:hover,.filter-chip.active{
      color:#fff;
      border-color:rgba(199,160,100,.38);
      background:rgba(143,38,58,.48);
      transform:translateY(-1px);
    }
    .content-card{
      position:relative;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.10);
      border-radius:24px;
      background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035));
      box-shadow:var(--shadow-card);
      transition:transform .24s ease, border-color .24s ease, background .24s ease;
    }
    .content-card:hover{
      transform:translateY(-5px);
      border-color:rgba(199,160,100,.34);
      background:linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045));
    }
    .content-card.featured{
      grid-column:span 2;
      min-height:370px;
    }
    .cover-art{
      min-height:150px;
      background:
        linear-gradient(135deg, rgba(143,38,58,.82), rgba(32,29,27,.4)),
        radial-gradient(circle at 78% 24%, rgba(224,193,138,.45), transparent 34%),
        linear-gradient(140deg,#2a2522,#151312);
      border-bottom:1px solid rgba(255,255,255,.10);
    }
    .cover-art.tall{min-height:190px}
    .tag{
      display:inline-flex;
      align-items:center;
      border:1px solid rgba(199,160,100,.28);
      border-radius:999px;
      padding:5px 10px;
      color:#e4c78d;
      background:rgba(199,160,100,.08);
      font-size:12px;
      font-weight:900;
    }
    .mini-tag{
      display:inline-flex;
      align-items:center;
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.10);
      color:#cfc5b9;
      background:rgba(255,255,255,.04);
      font-size:12px;
      font-weight:800;
    }
    .side-card{
      border:1px solid rgba(255,255,255,.10);
      border-radius:24px;
      background:rgba(255,255,255,.045);
      padding:22px;
    }
    .guide-item{
      display:flex;
      gap:14px;
      padding:15px 0;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .guide-item:last-child{border-bottom:0}
    .step-dot{
      display:grid;
      place-items:center;
      width:34px;
      height:34px;
      border-radius:13px;
      background:rgba(143,38,58,.55);
      border:1px solid rgba(199,160,100,.26);
      color:#f0d29a;
      font-weight:950;
      flex:0 0 auto;
    }
    .soft-rule{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(199,160,100,.28), rgba(255,255,255,.08), transparent);
    }
    .progress-line{
      height:8px;
      border-radius:999px;
      overflow:hidden;
      background:rgba(255,255,255,.08);
    }
    .progress-line span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,#8f263a,#c7a064);
    }
    .faq-item{
      border:1px solid rgba(255,255,255,.10);
      border-radius:20px;
      background:rgba(255,255,255,.045);
      overflow:hidden;
      transition:border-color .22s ease, background .22s ease;
    }
    .faq-item:hover{border-color:rgba(199,160,100,.3);background:rgba(255,255,255,.06)}
    .faq-q{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:21px 22px;
      color:#fff;
      font-weight:950;
      text-align:left;
    }
    .faq-a{
      max-height:0;
      overflow:hidden;
      color:#c8beb2;
      transition:max-height .28s ease;
    }
    .faq-a-inner{padding:0 22px 22px}
    .faq-item.open .faq-a{max-height:220px}
    .faq-icon{transition:transform .22s ease;color:#c7a064}
    .faq-item.open .faq-icon{transform:rotate(45deg)}
    .cta-box{
      border:1px solid rgba(199,160,100,.24);
      border-radius:32px;
      background:
        radial-gradient(circle at 10% 20%, rgba(143,38,58,.34), transparent 32%),
        linear-gradient(135deg, rgba(43,38,34,.96), rgba(17,16,15,.98));
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .form-input{
      width:100%;
      height:52px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:16px;
      background:rgba(255,255,255,.06);
      color:#fff;
      padding:0 16px;
      outline:none;
      transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
    }
    .form-input::placeholder{color:#8f857b}
    .form-input:focus{
      border-color:rgba(199,160,100,.58);
      box-shadow:0 0 0 4px rgba(199,160,100,.12);
      background:rgba(255,255,255,.08);
    }
    .footer-link{
      color:#a99f94;
      font-size:14px;
      transition:color .22s ease, transform .22s ease;
    }
    .footer-link:hover{color:#e2bd79;transform:translateX(3px)}
    .reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease, transform .55s ease}
    .reveal.show{opacity:1;transform:none}
    @media (max-width:1024px){
      .container-shell{width:min(100% - 32px, 920px)}
      .header-inner{min-height:70px}
      .content-card.featured{grid-column:span 1}
      .section{padding:68px 0}
    }
    @media (max-width:768px){
      .container-shell{width:min(100% - 24px, 680px)}
      .hero{padding:54px 0 42px}
      .hero-title{letter-spacing:-.045em}
      .panel,.paper-panel,.cta-box{border-radius:24px}
      .filter-bar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:12px}
      .filter-chip{flex:0 0 auto}
      .btn{width:100%}
      .section{padding:58px 0}
    }
    @media (max-width:520px){
      .brand-copy{max-width:220px}
      .brand-copy strong{font-size:13px}
      .brand-copy span{font-size:10px}
      .hero-sub{font-size:15px}
      .stat-num{font-size:28px}
      .faq-q{padding:18px}
      .faq-a-inner{padding:0 18px 18px}
    }

/* roulang page: category3 */
:root{
      --bg:#151312;
      --bg-deep:#0f0f0f;
      --paper:#f4efe7;
      --paper-soft:#ebe2d6;
      --card:#1d1a18;
      --card-2:#24201d;
      --wine:#8f263a;
      --wine-deep:#6f1d2f;
      --copper:#c7a064;
      --copper-soft:#e0c58f;
      --text:#f8f1e8;
      --muted:#b9aea2;
      --muted-2:#81766c;
      --line:rgba(255,255,255,.10);
      --line-warm:rgba(199,160,100,.24);
      --shadow:0 20px 60px rgba(0,0,0,.28);
      --shadow-soft:0 14px 34px rgba(0,0,0,.18);
      --radius:24px;
      --radius-lg:32px;
      --ease:cubic-bezier(.22,.61,.36,1);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 8%, rgba(143,38,58,.26), transparent 34%),
        radial-gradient(circle at 88% 12%, rgba(199,160,100,.13), transparent 30%),
        linear-gradient(180deg,#171413 0%,#11100f 48%,#151312 100%);
      font-family:'PingFang SC','HarmonyOS Sans SC','Microsoft YaHei',sans-serif;
      line-height:1.7;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img,svg{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    ::selection{background:rgba(199,160,100,.35);color:#fff}
    .container-shell{
      width:min(100% - 32px, 1280px);
      margin-inline:auto;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(15,15,15,.94);
      backdrop-filter:saturate(140%) blur(10px);
    }
    .nav-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:40px;
      padding:0 14px;
      border:1px solid transparent;
      border-radius:999px;
      color:#c9beb2;
      font-size:14px;
      font-weight:700;
      letter-spacing:.01em;
      transition:all .22s var(--ease);
      white-space:nowrap;
    }
    .nav-link:hover{
      color:#fff;
      border-color:rgba(199,160,100,.24);
      background:rgba(255,255,255,.05);
      transform:translateY(-1px);
    }
    .nav-link.active{
      color:#fff;
      border-color:rgba(199,160,100,.38);
      background:linear-gradient(180deg,rgba(143,38,58,.54),rgba(111,29,47,.36));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .mobile-link{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:14px 16px;
      border-radius:18px;
      color:#d6cbc0;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      font-weight:800;
    }
    .mobile-link.active{
      color:#fff;
      background:rgba(143,38,58,.42);
      border-color:rgba(199,160,100,.30);
    }
    .btn-primary,.btn-secondary,.btn-dark{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:46px;
      padding:0 20px;
      border-radius:999px;
      font-weight:900;
      transition:all .24s var(--ease);
      border:1px solid transparent;
      white-space:nowrap;
    }
    .btn-primary{
      color:#1b120d;
      background:linear-gradient(135deg,var(--copper),#ead39e 55%,#b88345);
      box-shadow:0 14px 34px rgba(199,160,100,.22);
    }
    .btn-primary:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 18px 40px rgba(199,160,100,.30)}
    .btn-secondary{
      color:#f4ede4;
      border-color:rgba(255,255,255,.12);
      background:rgba(255,255,255,.055);
    }
    .btn-secondary:hover{border-color:rgba(199,160,100,.34);background:rgba(255,255,255,.09);transform:translateY(-2px)}
    .btn-dark{
      color:#fff;
      background:linear-gradient(135deg,#8f263a,#641a2b);
      border-color:rgba(255,255,255,.12);
    }
    .btn-dark:hover{background:linear-gradient(135deg,#9c2a40,#721d31);transform:translateY(-2px)}
    .shadow-glow{box-shadow:0 18px 42px rgba(143,38,58,.30), inset 0 1px 0 rgba(255,255,255,.16)}
    .soft-rule{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      border:1px solid rgba(199,160,100,.28);
      background:rgba(199,160,100,.08);
      color:#e8d2a4;
      border-radius:999px;
      padding:7px 12px;
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
    }
    .eyebrow:before{
      content:"";
      width:7px;height:7px;border-radius:99px;background:var(--copper);
      box-shadow:0 0 0 4px rgba(199,160,100,.14);
    }
    .hero-banner{
      position:relative;
      overflow:hidden;
      border-radius:36px;
      border:1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(115deg,rgba(143,38,58,.74),rgba(25,22,20,.84) 42%,rgba(199,160,100,.16)),
        radial-gradient(circle at 78% 20%, rgba(199,160,100,.34), transparent 32%),
        linear-gradient(180deg,#251f1d,#151312);
      box-shadow:var(--shadow);
    }
    .hero-banner:after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),
        linear-gradient(180deg,rgba(255,255,255,.045) 1px,transparent 1px);
      background-size:54px 54px;
      mask-image:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.65),rgba(0,0,0,.1));
    }
    .visual-panel{
      position:relative;
      border:1px solid rgba(255,255,255,.13);
      background:rgba(15,15,15,.50);
      border-radius:30px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
      overflow:hidden;
    }
    .visual-strip{
      height:10px;
      border-radius:999px;
      background:rgba(255,255,255,.10);
      overflow:hidden;
    }
    .visual-strip span{
      display:block;height:100%;
      border-radius:999px;
      background:linear-gradient(90deg,var(--wine),var(--copper));
    }
    .section{padding:88px 0}
    .section-tight{padding:64px 0}
    .section-title{
      font-size:clamp(28px,4vw,48px);
      line-height:1.12;
      letter-spacing:-.04em;
      font-weight:950;
    }
    .section-desc{color:#c6bbb0;font-size:16px;line-height:1.9}
    .card{
      border:1px solid rgba(255,255,255,.10);
      background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035));
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
      transition:transform .24s var(--ease),border-color .24s var(--ease),background .24s var(--ease),box-shadow .24s var(--ease);
    }
    .card:hover{
      transform:translateY(-4px);
      border-color:rgba(199,160,100,.30);
      background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));
      box-shadow:0 20px 48px rgba(0,0,0,.26);
    }
    .paper-card{
      color:#211b17;
      background:linear-gradient(180deg,#f7f0e7,#ebe1d4);
      border:1px solid rgba(60,42,32,.10);
      border-radius:var(--radius);
      box-shadow:0 18px 42px rgba(0,0,0,.16);
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 11px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.055);
      color:#dacfc3;
      font-size:12px;
      font-weight:800;
      transition:all .2s var(--ease);
    }
    .tag:hover{border-color:rgba(199,160,100,.32);color:#fff;transform:translateY(-1px)}
    .tag.light{
      color:#5a4b40;
      border-color:rgba(90,75,64,.16);
      background:rgba(255,255,255,.45);
    }
    .metric{
      border-radius:22px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.055);
      padding:18px;
    }
    .metric strong{
      display:block;
      color:#f6d99f;
      font-size:30px;
      line-height:1;
      letter-spacing:-.04em;
      font-weight:950;
    }
    .feature-wall{
      display:grid;
      grid-template-columns:1.25fr .85fr .85fr;
      gap:18px;
    }
    .feature-card{
      min-height:230px;
      position:relative;
      overflow:hidden;
      padding:26px;
    }
    .feature-card.large{grid-row:span 2;min-height:480px}
    .feature-card:after{
      content:"";
      position:absolute;
      width:170px;height:170px;border-radius:999px;
      right:-52px;bottom:-60px;
      background:radial-gradient(circle,rgba(199,160,100,.22),transparent 70%);
      pointer-events:none;
    }
    .dark-band{
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 18% 20%, rgba(143,38,58,.28), transparent 30%),
        linear-gradient(180deg,#0f0f0f,#191513);
      border-block:1px solid rgba(255,255,255,.09);
    }
    .reason-item{
      display:flex;
      gap:16px;
      padding:22px;
      border-radius:24px;
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.09);
      transition:all .22s var(--ease);
    }
    .reason-item:hover{transform:translateY(-3px);border-color:rgba(199,160,100,.26);background:rgba(255,255,255,.065)}
    .num-badge{
      flex:0 0 auto;
      width:42px;height:42px;border-radius:16px;
      display:grid;place-items:center;
      color:#1b120d;
      background:linear-gradient(135deg,var(--copper),#ead39e);
      font-weight:950;
    }
    .recommend-row{
      display:grid;
      grid-template-columns:140px 1fr auto;
      gap:22px;
      align-items:center;
      padding:22px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.045);
      transition:all .22s var(--ease);
    }
    .recommend-row:hover{transform:translateX(4px);border-color:rgba(199,160,100,.28);background:rgba(255,255,255,.07)}
    .cover{
      aspect-ratio:3/4;
      border-radius:20px;
      overflow:hidden;
      background:
        linear-gradient(145deg,rgba(143,38,58,.95),rgba(40,31,27,.92)),
        radial-gradient(circle at 30% 22%,rgba(255,255,255,.30),transparent 24%);
      position:relative;
      border:1px solid rgba(255,255,255,.14);
    }
    .cover:before{
      content:"";
      position:absolute;
      inset:16px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.18);
      background:linear-gradient(180deg,rgba(255,255,255,.08),transparent);
    }
    .cover:after{
      content:"中文字幕";
      position:absolute;
      left:16px;right:16px;bottom:18px;
      color:#fff;
      font-weight:950;
      letter-spacing:.12em;
      font-size:12px;
      text-align:center;
    }
    .cloud{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .faq-item{
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.045);
      border-radius:22px;
      overflow:hidden;
    }
    .faq-btn{
      width:100%;
      padding:20px 22px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      text-align:left;
      color:#fff;
      font-weight:950;
    }
    .faq-icon{
      width:28px;height:28px;border-radius:999px;
      display:grid;place-items:center;
      flex:0 0 auto;
      background:rgba(199,160,100,.14);
      color:#e7c887;
      transition:transform .22s var(--ease);
    }
    .faq-item.open .faq-icon{transform:rotate(45deg)}
    .faq-panel{
      max-height:0;
      overflow:hidden;
      transition:max-height .28s var(--ease);
    }
    .faq-panel-inner{
      padding:0 22px 22px;
      color:#c8bdb1;
      font-size:14px;
      line-height:1.9;
    }
    .form-input{
      width:100%;
      min-height:52px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.055);
      color:#fff;
      padding:0 16px;
      outline:none;
      transition:all .22s var(--ease);
    }
    .form-input::placeholder{color:#8f857b}
    .form-input:focus{
      border-color:rgba(199,160,100,.55);
      box-shadow:0 0 0 4px rgba(199,160,100,.12);
      background:rgba(255,255,255,.075);
    }
    .footer-link{
      color:#a99f94;
      font-size:14px;
      transition:all .2s var(--ease);
    }
    .footer-link:hover{color:#f2d59c;transform:translateX(2px)}
    .reveal{
      opacity:0;
      transform:translateY(18px);
      transition:opacity .55s var(--ease),transform .55s var(--ease);
    }
    .reveal.in{opacity:1;transform:none}
    @media (max-width:1024px){
      .feature-wall{grid-template-columns:1fr 1fr}
      .feature-card.large{grid-column:span 2;min-height:360px}
      .recommend-row{grid-template-columns:110px 1fr}
      .recommend-row .row-action{grid-column:2}
      .section{padding:72px 0}
    }
    @media (max-width:768px){
      .container-shell{width:min(100% - 24px, 1280px)}
      .hero-banner{border-radius:28px}
      .feature-wall{grid-template-columns:1fr}
      .feature-card.large{grid-column:auto;min-height:340px}
      .recommend-row{grid-template-columns:86px 1fr;gap:16px;padding:16px}
      .cover{border-radius:16px}
      .section{padding:58px 0}
      .section-tight{padding:48px 0}
    }
    @media (max-width:520px){
      .btn-primary,.btn-secondary,.btn-dark{width:100%;min-height:50px}
      .recommend-row{grid-template-columns:1fr}
      .recommend-row .cover{width:112px}
      .recommend-row .row-action{grid-column:auto}
      .metric strong{font-size:26px}
      .faq-btn{padding:18px}
    }

/* roulang page: category2 */
:root{
      --bg:#0b0b0c;
      --bg-soft:#111112;
      --panel:#131314;
      --panel-soft:#171718;
      --sand:#f3eadc;
      --text:#f6f1e8;
      --muted:#a39a8f;
      --line:rgba(255,255,255,.09);
      --line-strong:rgba(255,255,255,.15);
      --wine:#8f263a;
      --wine-deep:#741c2e;
      --copper:#c7a064;
      --copper-soft:#d9b67f;
      --graphite:#18181b;
      --radius:24px;
      --radius-lg:30px;
      --shadow:0 18px 48px rgba(0,0,0,.3);
      --shadow-soft:0 8px 22px rgba(0,0,0,.16);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      background:
        radial-gradient(1200px 700px at 10% -10%, rgba(143,38,58,.20), transparent 45%),
        radial-gradient(800px 500px at 100% 0%, rgba(199,160,100,.10), transparent 40%),
        linear-gradient(180deg, #0b0b0c 0%, #0d0d0e 45%, #101011 100%);
      font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei',system-ui,sans-serif;
      line-height:1.7;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(to bottom, rgba(255,255,255,.02), transparent 14%),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.04), transparent 35%);
      opacity:.6;
      z-index:-1;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    ::selection{background:rgba(143,38,58,.35);color:#fff}

    .container-shell{
      width:min(100%, 1400px);
      margin-inline:auto;
      padding-inline:1rem;
    }
    @media (min-width:640px){
      .container-shell{padding-inline:1.5rem}
    }
    @media (min-width:1280px){
      .container-shell{padding-inline:2rem}
    }

    .nav-link{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.02);
      color:#f5efe7;
      padding:.7rem 1rem;
      border-radius:999px;
      font-size:.92rem;
      line-height:1;
      letter-spacing:.01em;
      transition:all .22s ease;
      box-shadow:0 1px 0 rgba(255,255,255,.02) inset;
      white-space:nowrap;
    }
    .nav-link:hover{
      border-color:rgba(199,160,100,.35);
      background:rgba(199,160,100,.08);
      transform:translateY(-1px);
    }
    .nav-link.active,
    .nav-link[aria-current="page"]{
      border-color:rgba(199,160,100,.52);
      background:linear-gradient(135deg, rgba(143,38,58,.28), rgba(199,160,100,.12));
      color:#fff;
      box-shadow:0 10px 30px rgba(143,38,58,.12);
    }
    .nav-link:focus-visible,
    .btn-primary:focus-visible,
    .btn-secondary:focus-visible,
    .footer-link:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible,
    summary:focus-visible{
      outline:none;
      box-shadow:0 0 0 3px rgba(199,160,100,.22), 0 0 0 1px rgba(199,160,100,.45) inset;
      border-color:rgba(199,160,100,.6);
    }

    .btn-primary,
    .btn-secondary{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.55rem;
      min-height:46px;
      padding:.78rem 1.2rem;
      border-radius:999px;
      border:1px solid transparent;
      transition:all .22s ease;
      font-weight:700;
      letter-spacing:.01em;
      white-space:nowrap;
    }
    .btn-primary{
      color:#fff;
      background:linear-gradient(135deg, var(--wine) 0%, var(--wine-deep) 68%, #a8642f 100%);
      box-shadow:0 16px 30px rgba(143,38,58,.2);
    }
    .btn-primary:hover{
      transform:translateY(-1px);
      filter:saturate(1.04);
      box-shadow:0 18px 34px rgba(143,38,58,.26);
    }
    .btn-secondary{
      color:#f7f0e7;
      border-color:rgba(255,255,255,.11);
      background:rgba(255,255,255,.03);
    }
    .btn-secondary:hover{
      transform:translateY(-1px);
      border-color:rgba(199,160,100,.4);
      background:rgba(199,160,100,.08);
    }

    .card-panel{
      background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);
    }
    .card-strong{
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border:1px solid var(--line-strong);
      border-radius:28px;
      box-shadow:var(--shadow);
    }
    .mini-badge,.chip{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.42rem .78rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(255,255,255,.03);
      color:#e9dfd3;
      font-size:.78rem;
      letter-spacing:.08em;
      text-transform:none;
      white-space:nowrap;
    }
    .chip-accent{
      border-color:rgba(199,160,100,.28);
      background:rgba(199,160,100,.08);
      color:#f4ddba;
    }

    .metric-card{
      border:1px solid rgba(255,255,255,.08);
      border-radius:22px;
      background:rgba(255,255,255,.03);
      padding:1rem 1.1rem;
      transition:all .22s ease;
    }
    .metric-card:hover{
      transform:translateY(-2px);
      border-color:rgba(199,160,100,.28);
      background:rgba(255,255,255,.05);
    }
    .metric-value{
      font-size:clamp(1.6rem, 2.2vw, 2.4rem);
      line-height:1;
      font-weight:900;
      letter-spacing:-.04em;
      color:#fff;
    }

    .soft-rule{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), rgba(199,160,100,.25), rgba(255,255,255,.12), transparent);
    }

    .footer-link{
      color:#cfc5b8;
      transition:all .2s ease;
      display:inline-flex;
      align-items:center;
      gap:.4rem;
    }
    .footer-link:hover{
      color:#fff;
      transform:translateX(2px);
    }

    .section-head{
      display:flex;
      flex-direction:column;
      gap:.7rem;
      margin-bottom:1.25rem;
    }
    .section-kicker{
      color:#f1d8b1;
      letter-spacing:.18em;
      text-transform:uppercase;
      font-size:.74rem;
      font-weight:800;
    }
    .section-title{
      font-size:clamp(1.7rem, 3vw, 3rem);
      line-height:1.08;
      font-weight:900;
      letter-spacing:-.045em;
      color:#fff;
    }
    .section-desc{
      color:#b4aba0;
      max-width:64ch;
      font-size:.98rem;
    }

    .input-field{
      width:100%;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.03);
      color:#fff;
      padding:.92rem 1rem;
      transition:all .2s ease;
    }
    .input-field::placeholder{color:#7f776d}
    .input-field:hover{
      border-color:rgba(199,160,100,.24);
      background:rgba(255,255,255,.045);
    }

    details.accordion{
      border:1px solid rgba(255,255,255,.08);
      border-radius:22px;
      background:rgba(255,255,255,.03);
      overflow:hidden;
      transition:all .2s ease;
    }
    details.accordion[open]{
      border-color:rgba(199,160,100,.24);
      background:rgba(255,255,255,.04);
    }
    details.accordion summary{
      list-style:none;
      cursor:pointer;
      padding:1rem 1.1rem;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      color:#fff;
      font-weight:700;
    }
    details.accordion summary::-webkit-details-marker{display:none}
    details.accordion .faq-body{
      padding:0 1.1rem 1.1rem 1.1rem;
      color:#b8afa4;
    }
    .faq-icon{
      width:1.9rem;
      height:1.9rem;
      border-radius:999px;
      display:grid;
      place-items:center;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.03);
      color:#e5d3b0;
      transition:transform .2s ease, background .2s ease, border-color .2s ease;
      flex:none;
    }
    details[open] .faq-icon{
      transform:rotate(45deg);
      border-color:rgba(199,160,100,.3);
      background:rgba(199,160,100,.08);
    }

    .compare-row{
      display:grid;
      grid-template-columns:1.1fr .9fr .9fr .8fr;
      gap:1rem;
      align-items:center;
      padding:1rem 1.1rem;
      border-bottom:1px solid rgba(255,255,255,.07);
    }
    .compare-row:last-child{border-bottom:none}
    .compare-key{
      color:#efe7db;
      font-weight:700;
    }
    .compare-chip{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.3rem .65rem;
      border-radius:999px;
      font-size:.78rem;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.03);
      color:#d8cec2;
    }

    @media (max-width: 1024px){
      .compare-row{
        grid-template-columns:1fr 1fr;
        gap:.75rem .9rem;
      }
    }
    @media (max-width: 640px){
      .compare-row{
        grid-template-columns:1fr;
      }
      .section-title{
        letter-spacing:-.035em;
      }
    }
