/* roulang page: index */
:root{
      --plum:#241522;
      --plum-2:#321b2d;
      --berry:#6d2853;
      --berry-dark:#4e1d3e;
      --coral:#e58a5b;
      --amber:#f2b36d;
      --cream:#faf7f3;
      --sand:#f3eee9;
      --ink:#29202a;
      --muted:#786c75;
      --line:#e8ddd8;
      --shadow:0 16px 40px rgba(57,25,45,.11);
      --radius:20px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}
    a{text-decoration:none;color:inherit}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:50;background:rgba(250,247,243,.96);border-bottom:1px solid var(--line);transition:.25s}
    .nav-wrap{height:76px;display:flex;align-items:center;gap:26px}
    .brand{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--berry-dark);white-space:nowrap}
    .brand-mark{width:35px;height:35px;border-radius:12px;background:var(--berry);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 7px 16px rgba(109,40,83,.25)}
    .brand small{display:block;font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:600}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-link{padding:9px 14px;border-radius:10px;color:#675a64;font-size:14px;transition:.2s}
    .nav-link:hover,.nav-link.active{background:#f0e5e8;color:var(--berry-dark);font-weight:700}
    .location{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;color:#655661;font-size:13px;background:#fff}
    .location:hover{border-color:var(--coral);color:var(--berry-dark)}
    .search{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 11px;width:155px}
    .search input{border:0;outline:0;width:100%;padding:8px 5px;font-size:13px;background:transparent}
    .menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;color:var(--berry)}
    .hero{background:var(--plum);color:#fff;position:relative;overflow:hidden;padding:76px 0 58px}
    .hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(229,138,91,.14);filter:blur(25px);right:-110px;top:-210px}
    .hero:after{content:"";position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 75%)}
    .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;gap:70px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--amber);font-size:13px;font-weight:700;letter-spacing:.08em}
    .eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
    h1{font-size:clamp(40px,5.5vw,64px);line-height:1.15;letter-spacing:-.04em;margin:18px 0 20px;font-weight:800}
    .hero-copy{font-size:17px;line-height:1.9;color:#e5d9e1;max-width:600px}
    .hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:800;border:1px solid transparent;transition:.22s}
    .btn-primary{background:var(--coral);color:#2e1726;box-shadow:0 10px 22px rgba(229,138,91,.2)}
    .btn-primary:hover{background:#f2a16e;transform:translateY(-2px);box-shadow:0 14px 28px rgba(229,138,91,.3)}
    .btn-ghost{border-color:#755568;color:#fff;background:transparent}
    .btn-ghost:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}
    .btn-light{background:#fff;color:var(--berry-dark)}
    .btn-light:hover{background:#fff1e8;transform:translateY(-2px)}
    .btn:focus-visible,.nav-link:focus-visible,.location:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
    .hero-note{display:flex;gap:24px;margin-top:34px;color:#cdbbc8;font-size:12px;flex-wrap:wrap}
    .hero-note span:before{content:"✓";color:var(--amber);margin-right:6px;font-weight:800}
    .preview{background:#fbf4ee;color:var(--ink);border-radius:24px;padding:16px;box-shadow:0 22px 55px rgba(12,5,15,.3);transform:rotate(1.2deg)}
    .preview-top{display:flex;align-items:center;justify-content:space-between;padding:5px 5px 14px;color:var(--muted);font-size:12px}
    .status-dot{display:inline-flex;align-items:center;gap:6px;color:#63815d}
    .status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#7fbb71}
    .cover{height:195px;border-radius:16px;background:linear-gradient(135deg,#8c3c65,#3b1e3a 65%,#e58a5b);position:relative;overflow:hidden;padding:20px;display:flex;flex-direction:column;justify-content:end;color:#fff}
    .cover:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.28);border-radius:50%;right:-30px;top:-45px}
    .cover-label{position:relative;z-index:1;font-size:11px;color:#f5c79e}
    .cover h3{position:relative;z-index:1;margin:4px 0 0;font-size:24px}
    .preview-tags{display:flex;gap:7px;flex-wrap:wrap;margin:15px 2px}
    .tag{display:inline-flex;padding:5px 9px;border-radius:8px;background:#f1e5e5;color:var(--berry-dark);font-size:11px;font-weight:700}
    .tag.warm{background:#fff0e4;color:#b45c38}
    .progress-line{height:6px;background:#eadfdc;border-radius:10px;overflow:hidden;margin-top:13px}
    .progress-line i{display:block;height:100%;width:68%;background:var(--coral);border-radius:10px}
    .section{padding:94px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
    .section-kicker{color:var(--berry);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
    h2{font-size:clamp(28px,3.5vw,40px);line-height:1.25;margin:8px 0 0;letter-spacing:-.03em}
    .section-intro{color:var(--muted);max-width:540px;font-size:15px;margin:0}
    .feature-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}
    .feature{padding:28px;border-radius:var(--radius);min-height:185px;border:1px solid var(--line);transition:.25s}
    .feature:hover,.content-card:hover,.topic:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
    .feature.dark{background:var(--berry-dark);color:#fff;border-color:var(--berry-dark)}
    .feature.soft{background:#f0e5e8}
    .feature.outline{background:#fff}
    .number{font-size:12px;font-weight:800;color:var(--coral);letter-spacing:.12em}
    .feature h3{font-size:20px;margin:22px 0 7px}
    .feature p{font-size:13px;color:var(--muted);margin:0}
    .feature.dark p{color:#dccbd6}
    .browse-stage{background:var(--sand);padding:34px;border-radius:26px;border:1px solid var(--line)}
    .stage-bar{display:flex;gap:8px;overflow:auto;padding-bottom:24px}
    .filter{white-space:nowrap;border:1px solid #ddcfca;background:#fff;color:#735f69;border-radius:9px;padding:8px 13px;font-size:12px}
    .filter.active,.filter:hover{background:var(--berry);color:#fff;border-color:var(--berry)}
    .stage-grid{display:grid;grid-template-columns:180px 1fr 190px;gap:25px}
    .index-list{border-right:1px solid var(--line);padding-right:20px}
    .index-list h4,.summary h4{font-size:13px;margin:0 0 13px;color:var(--berry-dark)}
    .index-list a{display:block;padding:9px 0;color:var(--muted);font-size:13px;border-bottom:1px dashed #ddcfca}
    .index-list a:first-of-type{color:var(--berry);font-weight:800}
    .stage-items{display:grid;grid-template-columns:1.15fr .85fr;gap:13px}
    .mini-item{background:#fff;border-radius:14px;padding:15px;border:1px solid #e9ddda;min-height:122px}
    .mini-item.featured{grid-row:span 2;background:linear-gradient(145deg,#6d2853,#452039);color:#fff;display:flex;flex-direction:column;justify-content:end}
    .mini-item h4{font-size:16px;margin:10px 0 3px}.mini-item p{font-size:12px;color:var(--muted);margin:0}.featured p{color:#e4d1dc}
    .summary{border-left:1px solid var(--line);padding-left:20px}
    .summary-row{padding:11px 0;border-bottom:1px solid #e1d5d0;font-size:12px;color:var(--muted)}
    .summary-row strong{display:block;color:var(--ink);font-size:15px}
    .stage-actions{margin-top:25px;display:flex;gap:10px}
    .topics{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:17px}
    .topic{min-height:190px;border-radius:18px;padding:25px;position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);transition:.25s}
    .topic.large{background:#f2dfd9;grid-row:span 2;min-height:270px}
    .topic h3{font-size:20px;margin:12px 0 7px}.topic p{font-size:13px;color:var(--muted);max-width:290px}
    .topic mark{background:transparent;color:var(--coral);font-size:12px;font-weight:800}
    .topic-art{position:absolute;right:-30px;bottom:-45px;width:170px;height:170px;border:1px solid rgba(109,40,83,.25);border-radius:50%}
    .topic-art:after{content:"";position:absolute;inset:22px;border:1px solid rgba(109,40,83,.2);border-radius:50%}
    .content-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}
    .content-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px;transition:.25s}
    .content-card h3{font-size:18px;margin:8px 0}.content-card p{font-size:13px;color:var(--muted);margin:0}
    .content-list{display:grid;gap:12px}
    .list-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}
    .list-row:last-child{border-bottom:0}.list-row strong{font-size:14px}.list-row small{color:var(--muted);font-size:12px}
    .rank-panel{background:var(--plum);color:#fff;border-radius:18px;padding:25px}.rank-panel h3{margin:0 0 15px}
    .rank{display:flex;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #54364e}.rank:last-child{border:0}.rank-no{font-size:25px;color:var(--amber);font-weight:800}.rank p{margin:0;font-size:14px}.rank small{color:#cdbbc8}
    .faq-wrap{max-width:820px;margin:0 auto}
    details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}
    summary{cursor:pointer;font-weight:800;display:flex;justify-content:space-between;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"＋";color:var(--coral);font-size:21px}details[open] summary:after{content:"－"}details p{color:var(--muted);font-size:14px;margin:13px 30px 0 0}
    .cta-section{background:#eadbdc;padding:58px 0}.cta-box{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta-box h2{color:var(--berry-dark)}.cta-box p{color:var(--muted);margin:8px 0 0}
    .site-footer{background:var(--plum);color:#e8dbe3;padding:48px 0 105px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px}.footer-title{font-size:14px;color:#fff;font-weight:800;margin-bottom:15px}.footer-link{display:block;color:#c4b2bd;font-size:13px;margin:8px 0}.footer-link:hover{color:var(--amber)}.footer-note{color:#a994a3;font-size:12px;max-width:300px;margin-top:15px}.copyright{border-top:1px solid #51354a;margin-top:35px;padding-top:20px;color:#9e8998;font-size:12px}
    .fixed-cta{position:fixed;z-index:45;bottom:18px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 32px));background:var(--berry-dark);color:#fff;border:1px solid #8b5375;border-radius:16px;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 16px 35px rgba(34,15,29,.28)}
    .fixed-cta p{margin:0;font-size:13px}.fixed-actions{display:flex;gap:9px}.fixed-actions .btn{padding:9px 14px;font-size:12px}
    @media(max-width:1024px){.nav-links{gap:0}.search{width:130px}.hero-grid{gap:35px}.stage-grid{grid-template-columns:155px 1fr}.summary{display:none}.topics{grid-template-columns:1fr 1fr}}
    @media(max-width:768px){.container{width:min(100% - 28px,600px)}.nav-wrap{height:66px}.brand{font-size:13px}.brand small{display:none}.nav-links{display:none;position:absolute;top:66px;left:0;right:0;background:var(--cream);padding:12px 14px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-link{padding:12px}.search,.location{margin-top:5px}.menu-btn{display:block;margin-left:auto}.hero{padding:55px 0 45px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero-copy{font-size:15px}.preview{transform:none}.section{padding:62px 0}.section-head{display:block}.section-intro{margin-top:12px}.feature-strip,.topics,.content-layout{grid-template-columns:1fr}.feature{min-height:0}.topic.large{min-height:220px}.stage-grid{grid-template-columns:1fr}.index-list{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px;display:flex;gap:18px;overflow:auto}.index-list h4{display:none}.index-list a{white-space:nowrap;border:0}.cta-box{display:block}.cta-box .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}.fixed-cta{bottom:0;width:100%;border-radius:14px 14px 0 0;padding:11px 12px}.fixed-cta p{font-size:12px}.fixed-actions .btn-ghost{display:none}}
    @media(max-width:520px){h1{font-size:38px}.hero-actions .btn{width:100%}.stage-items{grid-template-columns:1fr}.mini-item.featured{grid-row:auto;min-height:160px}.footer-grid{grid-template-columns:1fr}.fixed-cta p{max-width:145px}.fixed-actions .btn{padding:9px 11px}}
    @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category1 */
:root{
 --plum:#241522;--plum-2:#321b2d;--berry:#6d2853;--berry-dark:#4e1d3e;
 --coral:#e58a5b;--amber:#f2b36d;--cream:#faf7f3;--sand:#f3eee9;
 --ink:#29202a;--muted:#786c75;--line:#e8ddd8;
 --shadow:0 16px 40px rgba(57,25,45,.11);--radius:20px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
button{cursor:pointer}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,247,243,.97);border-bottom:1px solid var(--line);transition:.25s}
.nav-wrap{height:76px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--berry-dark);white-space:nowrap}
.brand-mark{width:35px;height:35px;border-radius:12px;background:var(--berry);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 7px 16px rgba(109,40,83,.25)}
.brand small{display:block;font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:600}
.nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
.nav-link{padding:9px 14px;border-radius:10px;color:#675a64;font-size:14px;transition:.2s}
.nav-link:hover,.nav-link.active{background:#f0e5e8;color:var(--berry-dark);font-weight:700}
.location{padding:9px 12px;border-radius:10px;color:#675a64;font-size:13px;cursor:pointer;white-space:nowrap;transition:.2s}
.location:hover{background:#f0e5e8;color:var(--berry-dark)}
.search{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 11px;width:155px}
.search input{border:0;outline:0;width:100%;padding:8px 5px;font-size:13px;background:transparent}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;color:var(--berry)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:800;border:1px solid transparent;transition:.22s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--coral);color:#2e1726;box-shadow:0 10px 22px rgba(229,138,91,.2)}
.btn-primary:hover{background:#f2a16e;box-shadow:0 14px 28px rgba(229,138,91,.3)}
.btn-light{background:#fff;color:var(--berry-dark)}
.btn-light:hover{background:#fff1e8}
.btn-ghost{border-color:#846174;color:#fff;background:transparent}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber)}
.btn:focus-visible,.nav-link:focus-visible,.location:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.hero{background:var(--plum);color:#fff;position:relative;overflow:hidden;padding:72px 0 64px}
.hero:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;background:rgba(229,138,91,.14);filter:blur(28px);right:-130px;top:-230px}
.hero:after{content:"";position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .9fr;gap:72px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--amber);font-size:13px;font-weight:700;letter-spacing:.08em}
.eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
.hero h1{font-size:clamp(38px,5vw,60px);line-height:1.15;letter-spacing:-.04em;margin:18px 0}
.hero-copy{font-size:16px;line-height:1.9;color:#e5d9e1;max-width:570px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:29px}
.hero-note{display:flex;gap:22px;margin-top:30px;color:#cdbbc8;font-size:12px;flex-wrap:wrap}
.hero-note span:before{content:"✓";color:var(--amber);margin-right:6px;font-weight:800}
.preview-panel{background:#f8f0ed;color:var(--ink);border-radius:24px;padding:19px;box-shadow:0 22px 48px rgba(0,0,0,.18);transform:rotate(1deg)}
.preview-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #eadbd7;font-size:12px;color:var(--muted)}
.preview-cover{height:178px;border-radius:16px;margin:17px 0;background:linear-gradient(135deg,#8e3a67,#4e1d3e 55%,#e58a5b);position:relative;overflow:hidden}
.preview-cover:after{content:"精选内容";position:absolute;left:18px;bottom:15px;color:#fff;font-size:22px;font-weight:800;letter-spacing:.05em}
.preview-cover span{position:absolute;right:15px;top:14px;background:rgba(255,255,255,.2);padding:5px 9px;border-radius:8px;font-size:11px;color:#fff}
.preview-tags{display:flex;gap:7px;flex-wrap:wrap;margin:15px 2px}
.tag{display:inline-flex;padding:5px 9px;border-radius:8px;background:#f1e5e5;color:var(--berry-dark);font-size:11px;font-weight:700}
.tag.warm{background:#fff0e4;color:#b45c38}
.preview-line{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding-top:12px}
.section{padding:86px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}
.section-kicker{color:var(--berry);font-size:12px;font-weight:800;letter-spacing:.14em}
.section h2{font-size:clamp(27px,3vw,36px);line-height:1.25;margin:8px 0}
.section-intro{color:var(--muted);max-width:560px;font-size:15px;margin:0}
.feature-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}
.feature{padding:28px;border-radius:var(--radius);min-height:185px;border:1px solid var(--line);transition:.25s}
.feature:hover,.content-card:hover,.rank-item:hover,.topic:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.feature.dark{background:var(--berry-dark);color:#fff;border-color:var(--berry-dark)}
.feature.soft{background:#f0e5e8}
.feature.outline{background:#fff}
.feature-index{font-size:12px;color:var(--coral);font-weight:800}
.feature h3{font-size:20px;margin:22px 0 7px}
.feature p{font-size:13px;color:var(--muted);margin:0}
.feature.dark p{color:#dccbd6}
.browse-stage{background:var(--sand);padding:32px;border-radius:26px;border:1px solid var(--line)}
.stage-bar{display:flex;gap:8px;overflow:auto;padding-bottom:24px}
.stage-bar span{white-space:nowrap;padding:8px 14px;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--muted)}
.stage-bar span.active{background:var(--berry);border-color:var(--berry);color:#fff}
.stage-grid{display:grid;grid-template-columns:180px 1fr 190px;gap:25px}
.index-list{border-right:1px solid var(--line);padding-right:20px}
.index-list h4,.summary h4{font-size:13px;margin:0 0 13px;color:var(--berry-dark)}
.index-list a{display:block;padding:9px 0;color:var(--muted);font-size:13px;border-bottom:1px dashed #ddcfca}
.index-list a:hover,.index-list a:first-of-type{color:var(--berry);font-weight:800}
.stage-items{display:grid;grid-template-columns:1.15fr .85fr;gap:13px}
.mini-item{background:#fff;border-radius:14px;padding:15px;border:1px solid #e9ddda;min-height:122px}
.mini-item.featured{grid-row:span 2;background:linear-gradient(145deg,#6d2853,#452039);color:#fff;display:flex;flex-direction:column;justify-content:end}
.mini-item h4{font-size:16px;margin:10px 0 3px}
.mini-item p{font-size:12px;color:var(--muted);margin:0}
.mini-item.featured p{color:#e4d1dc}
.summary-row{padding:11px 0;border-bottom:1px solid #e1d5d0;font-size:12px;color:var(--muted)}
.summary-row strong{display:block;color:var(--ink);font-size:15px}
.stage-actions{margin-top:25px;display:flex;gap:10px}
.filter-bar{display:flex;gap:12px;flex-wrap:wrap;padding:16px;background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:22px}
.filter-bar input{flex:1;min-width:180px;border:1px solid var(--line);border-radius:10px;padding:10px 13px;outline:0;background:#fcfaf8;font-size:13px}
.filter-chip{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 14px;font-size:13px;color:var(--muted);transition:.2s}
.filter-chip:hover,.filter-chip.selected{background:#f0e5e8;color:var(--berry-dark);border-color:#d8b9c7;font-weight:700}
.content-layout{display:grid;grid-template-columns:1fr 2.2fr;gap:22px}
.content-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;transition:.25s}
.content-card h3{font-size:18px;margin:8px 0}
.content-card p{font-size:13px;color:var(--muted);margin:0}
.content-list{display:grid;gap:12px}
.list-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}
.list-row:last-child{border-bottom:0}
.thumb{width:92px;height:68px;border-radius:11px;flex:none;background:linear-gradient(135deg,#d89578,#6d2853)}
.row-meta{font-size:11px;color:var(--muted)}
.row-title{font-size:15px;font-weight:800;color:var(--berry-dark)}
.row-btn{color:var(--berry);font-size:12px;font-weight:800;white-space:nowrap}
.badge{display:inline-block;padding:4px 8px;border-radius:7px;background:#fff0e4;color:#a75b3b;font-size:11px;font-weight:700}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.faq-list{display:grid;gap:10px}
details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 19px}
summary{cursor:pointer;color:var(--berry-dark);font-size:15px;font-weight:800}
details p{color:var(--muted);font-size:13px;margin:12px 0 0}
.cta{background:var(--berry-dark);color:#fff;padding:50px 0;margin-bottom:86px}
.cta-wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}
.cta h2{font-size:30px;margin:0 0 8px}
.cta p{color:#dbcbd5;margin:0;font-size:14px}
.site-footer{background:var(--plum);color:#fff;padding:55px 0 25px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}
.footer-note{color:#bdaab7;font-size:13px;max-width:280px;margin-top:19px}
.footer-title{font-size:13px;font-weight:800;color:var(--amber);margin-bottom:13px}
.footer-link{display:block;color:#cdbbc8;font-size:13px;margin:8px 0;transition:.2s}
.footer-link:hover{color:#fff;padding-left:3px}
.copyright{border-top:1px solid #493342;margin-top:34px;padding-top:20px;color:#a990a0;font-size:12px}
.fixed-cta{position:fixed;z-index:40;left:50%;bottom:18px;transform:translateX(-50%);width:min(920px,calc(100% - 32px));background:var(--plum-2);border:1px solid #604254;border-radius:16px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 15px 35px rgba(36,21,34,.28);color:#fff}
.fixed-cta p{margin:0;font-size:13px}.fixed-cta strong{color:var(--amber)}
.fixed-actions{display:flex;gap:8px;flex:none}.fixed-actions .btn{padding:9px 14px;font-size:12px}
.empty-state{padding:23px;border:1px dashed #d9c6c0;border-radius:14px;color:var(--muted);text-align:center;font-size:13px}
@media(max-width:1024px){.nav-wrap{gap:12px}.nav-links{gap:0}.location{font-size:12px}.hero-grid{gap:40px}.stage-grid{grid-template-columns:150px 1fr}.summary{display:none}.content-layout{grid-template-columns:1fr 1.8fr}}
@media(max-width:768px){.container{width:min(100% - 30px,620px)}.nav-wrap{height:68px}.brand{font-size:13px}.brand small{font-size:8px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:12px 15px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-link,.location{padding:12px}.menu-btn{display:block;margin-left:auto}.search{display:none}.hero{padding:55px 0}.hero-grid{grid-template-columns:1fr;gap:34px}.preview-panel{transform:none}.section{padding:60px 0}.section-head{display:block}.section-intro{margin-top:12px}.feature-strip{grid-template-columns:1fr}.feature{min-height:0}.stage-grid{grid-template-columns:1fr}.index-list{border-right:0;border-bottom:1px solid var(--line);padding:0 0 14px;display:flex;gap:20px;overflow:auto}.index-list h4{display:none}.index-list a{white-space:nowrap;border:0}.stage-items{grid-template-columns:1fr 1fr}.content-layout{grid-template-columns:1fr}.faq{grid-template-columns:1fr;gap:25px}.cta-wrap{display:block}.cta .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr 1fr}.fixed-cta{bottom:10px}.fixed-cta p{font-size:11px}.fixed-actions .btn-ghost{display:none}}
@media(max-width:520px){.hero h1{font-size:38px}.hero-copy{font-size:14px}.stage-items{grid-template-columns:1fr}.fixed-cta{padding:10px}.fixed-actions .btn{padding:9px 10px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.copyright{font-size:11px}.list-row{align-items:flex-start}.thumb{width:76px;height:58px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category2 */
:root{
 --plum:#241522;--plum-2:#321b2d;--berry:#6d2853;--berry-dark:#4e1d3e;
 --coral:#e58a5b;--amber:#f2b36d;--cream:#faf7f3;--sand:#f3eee9;
 --ink:#29202a;--muted:#786c75;--line:#e8ddd8;--shadow:0 16px 40px rgba(57,25,45,.11);
 --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7;padding-bottom:90px}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
button{cursor:pointer}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,247,243,.96);border-bottom:1px solid var(--line);transition:.25s}
.nav-wrap{height:76px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--berry-dark);white-space:nowrap}
.brand-mark{width:35px;height:35px;border-radius:12px;background:var(--berry);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 7px 16px rgba(109,40,83,.25)}
.brand small{display:block;font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:600}
.nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
.nav-link{padding:9px 14px;border-radius:10px;color:#675a64;font-size:14px;transition:.2s}
.nav-link:hover,.nav-link.active{background:#f0e5e8;color:var(--berry-dark);font-weight:700}
.location{font-size:13px;color:var(--berry-dark);padding:8px 10px;border-left:1px solid var(--line);white-space:nowrap;cursor:pointer}
.search{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 11px;width:155px}
.search input{border:0;outline:0;width:100%;padding:8px 5px;font-size:13px;background:transparent}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;color:var(--berry)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:800;border:1px solid transparent;transition:.22s}
.btn-primary{background:var(--coral);color:#2e1726;box-shadow:0 10px 22px rgba(229,138,91,.2)}
.btn-primary:hover{background:#f2a16e;transform:translateY(-2px);box-shadow:0 14px 28px rgba(229,138,91,.3)}
.btn-ghost{border-color:#815f75;color:#fff;background:transparent}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--berry-dark)}
.btn-light:hover{background:#fff1e8;transform:translateY(-2px)}
.btn:focus-visible,.nav-link:focus-visible,.location:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.hero{position:relative;overflow:hidden;padding:72px 0 64px;background:var(--plum);color:#fff}
.hero:before{content:"";position:absolute;width:540px;height:540px;right:-130px;top:-240px;border-radius:50%;background:rgba(229,138,91,.15);filter:blur(18px)}
.hero:after{content:"";position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000,transparent 82%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.breadcrumb{display:flex;gap:8px;align-items:center;color:#cdbbc8;font-size:13px;margin-bottom:20px}
.breadcrumb strong{color:var(--amber)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--amber);font-size:12px;font-weight:800;letter-spacing:.12em}
.eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
h1{font-size:clamp(38px,4.4vw,58px);line-height:1.16;letter-spacing:-.04em;margin:15px 0 18px;font-weight:800}
.hero-copy{max-width:570px;color:#e6d9e1;font-size:16px;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-note{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;color:#cdbbc8;font-size:12px}
.hero-note span:before{content:"✓";color:var(--amber);margin-right:6px;font-weight:800}
.heat-panel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:21px;backdrop-filter:blur(4px)}
.panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:13px;font-size:13px}
.status{display:inline-flex;align-items:center;gap:6px;color:var(--amber);font-size:11px;font-weight:800}
.status i{display:block;width:7px;height:7px;background:var(--coral);border-radius:50%}
.stack-card{position:relative;border-radius:17px;padding:18px;margin-top:13px;overflow:hidden;background:linear-gradient(130deg,#7a315e,#4a213e);min-height:142px}
.stack-card:after{content:"";position:absolute;width:140px;height:140px;border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-36px;bottom:-70px}
.stack-card h3{position:relative;z-index:1;font-size:20px;margin:20px 0 3px}
.stack-card p{position:relative;z-index:1;font-size:12px;color:#ead9e3;margin:0}
.mini-rank{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:11px}
.mini-rank div{border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:12px;color:#ddd0d9;font-size:11px}
.mini-rank b{display:block;font-size:17px;color:#fff;margin-top:3px}
.section{padding:92px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}
.section-kicker{font-size:12px;letter-spacing:.14em;color:var(--berry);font-weight:800}
.section-head h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.03em;line-height:1.25;margin:7px 0 0}
.section-intro{max-width:460px;color:var(--muted);font-size:14px;margin:0}
.topic-nav{display:flex;gap:10px;overflow:auto;padding:5px 2px 16px;scrollbar-width:thin}
.topic-pill{flex:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-size:13px;color:var(--muted);transition:.2s}
.topic-pill:hover,.topic-pill.active{background:var(--berry);border-color:var(--berry);color:#fff}
.feature-flow{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.wide-feature{position:relative;overflow:hidden;min-height:306px;padding:32px;border-radius:24px;background:linear-gradient(145deg,#6d2853,#301b2c);color:#fff;border:1px solid #633c55}
.wide-feature:after{content:"";position:absolute;right:-65px;bottom:-88px;width:300px;height:300px;border:35px solid rgba(242,179,109,.13);border-radius:50%}
.index-number{color:var(--amber);font-size:13px;font-weight:800;letter-spacing:.13em}
.wide-feature h3{position:relative;z-index:1;font-size:29px;line-height:1.25;margin:45px 0 10px}
.wide-feature p{position:relative;z-index:1;color:#e3d3dd;font-size:14px;max-width:390px;margin:0}
.feature-meta{position:relative;z-index:1;display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}
.tag{display:inline-flex;align-items:center;border-radius:8px;padding:5px 9px;background:#f1e5e8;color:var(--berry-dark);font-weight:700;font-size:11px}
.tag.dark{background:rgba(255,255,255,.13);color:#fff}
.tag.warm{background:#fff0e4;color:#ac5939}
.feature-side{display:grid;gap:18px}
.side-entry{background:#fff;border:1px solid var(--line);border-radius:20px;padding:23px;transition:.25s}
.side-entry:hover,.rank-row:hover,.timeline-card:hover,.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d6bdc6}
.side-entry h3{font-size:18px;margin:16px 0 5px}
.side-entry p{font-size:13px;color:var(--muted);margin:0}
.side-entry .entry-line{display:flex;justify-content:space-between;color:var(--berry);font-size:12px;font-weight:800;margin-top:18px}
.rank-wrap{background:var(--sand);border:1px solid var(--line);border-radius:26px;padding:12px 28px}
.rank-row{display:grid;grid-template-columns:68px 120px 1fr auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #e1d5d0;transition:.23s}
.rank-row:last-child{border-bottom:0}
.rank-no{font-size:31px;line-height:1;font-weight:800;color:#b99ca9;letter-spacing:-.08em}
.rank-row:first-child .rank-no{color:var(--berry)}
.thumb{height:74px;border-radius:14px;position:relative;overflow:hidden;background:linear-gradient(135deg,#b96765,#6e3159)}
.thumb.two{background:linear-gradient(135deg,#df966a,#85405c)}
.thumb.three{background:linear-gradient(135deg,#4c2d47,#a24f70)}
.thumb:before,.thumb:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.33);border-radius:50%}
.thumb:before{width:92px;height:92px;right:-31px;top:-31px}
.thumb:after{width:39px;height:39px;left:13px;bottom:10px}
.rank-content h3{font-size:17px;margin:0 0 7px}
.rank-content p{font-size:12px;color:var(--muted);margin:5px 0 0}
.rank-action{font-size:13px;font-weight:800;color:var(--berry);white-space:nowrap}
.rank-action:hover{color:#b45c38}
.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.timeline-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:23px;transition:.25s}
.timeline-time{font-size:12px;color:#b35d3f;font-weight:800;letter-spacing:.08em}
.timeline-card h3{font-size:18px;margin:16px 0 7px}
.timeline-card p{font-size:13px;color:var(--muted);margin:0}
.timeline-card a{display:inline-block;margin-top:16px;font-size:13px;color:var(--berry);font-weight:800}
.region-band{padding:32px;border-radius:24px;background:#f0e5e8;border:1px solid #e4d1d7;display:flex;align-items:center;justify-content:space-between;gap:28px}
.region-band h2{font-size:25px;margin:0 0 5px}
.region-band p{margin:0;color:#765f6c;font-size:14px}
.region-options{display:flex;gap:10px;flex-wrap:wrap}
.region-options button{background:#fff;border:1px solid #ddc9d1;color:var(--berry-dark);padding:9px 13px;border-radius:10px;font-size:13px;transition:.2s}
.region-options button:hover,.region-options button.active{background:var(--berry);border-color:var(--berry);color:#fff}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.related-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;transition:.25s}
.related-card h3{font-size:20px;margin:15px 0 7px}
.related-card p{margin:0;color:var(--muted);font-size:13px}
.related-card .btn{margin-top:19px;padding:10px 15px}
.faq-shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:start}
.faq-shell h2{font-size:34px;line-height:1.3;margin:7px 0}
.faq-shell p{color:var(--muted);font-size:14px}
details{border-top:1px solid var(--line);padding:3px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:17px 30px 17px 0;font-size:16px;font-weight:800;position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:4px;top:13px;color:var(--berry);font-size:22px;font-weight:400}
details[open] summary:after{content:"−"}
.answer{padding:0 24px 17px 0;color:var(--muted);font-size:14px}
.site-footer{background:var(--plum);color:#fff;padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px}
.footer-note{font-size:13px;color:#bdaab7;max-width:310px;margin-top:17px}
.footer-title{font-size:13px;color:var(--amber);font-weight:800;margin-bottom:13px}
.footer-link{display:block;color:#cdbbc8;font-size:13px;margin:8px 0;transition:.2s}
.footer-link:hover{color:#fff;transform:translateX(2px)}
.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:20px;color:#aa96a3;font-size:12px}
.fixed-cta{position:fixed;z-index:60;left:50%;bottom:16px;transform:translateX(-50%);width:min(900px,calc(100% - 36px));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 14px 13px 20px;background:rgba(50,27,45,.97);border:1px solid rgba(255,255,255,.16);border-radius:17px;color:#fff;box-shadow:0 15px 40px rgba(31,17,28,.3)}
.fixed-cta strong{font-size:14px}.fixed-cta span{font-size:12px;color:#cfbbc7;margin-left:9px}
.fixed-actions{display:flex;gap:9px;flex:none}.fixed-actions .btn{padding:9px 14px;font-size:13px}
@media(max-width:1024px){
 .nav-wrap{gap:14px}.nav-link{padding:8px 9px}.location{display:none}.hero-grid{gap:30px}
 .feature-flow{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}
 .rank-row{grid-template-columns:55px 95px 1fr auto}
}
@media(max-width:768px){
 body{padding-bottom:108px}.container{width:min(100% - 30px,1180px)}.nav-wrap{height:68px}
 .search{display:none!important}.menu-btn{display:block;margin-left:auto}.nav-links{display:none;position:absolute;top:68px;left:15px;right:15px;margin:0;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;align-items:stretch;flex-direction:column}
 .nav-links.open{display:flex}.nav-link{padding:11px 13px}.location{display:block;border-left:0;border-top:1px solid var(--line);margin-top:4px;padding-top:13px}
 .hero{padding:53px 0}.hero-grid{grid-template-columns:1fr}.heat-panel{max-width:580px}.section{padding:62px 0}.section-head{display:block;margin-bottom:25px}.section-intro{margin-top:13px}
 .rank-wrap{padding:7px 18px}.rank-row{grid-template-columns:45px 78px 1fr;gap:13px}.rank-action{display:none}.thumb{height:62px}.rank-no{font-size:25px}
 .timeline{grid-template-columns:1fr}.faq-shell{grid-template-columns:1fr;gap:16px}.related-grid{grid-template-columns:1fr}.region-band{display:block}.region-options{margin-top:20px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.fixed-cta{bottom:10px}.fixed-cta span{display:none}
}
@media(max-width:520px){
 h1{font-size:36px}.hero-copy{font-size:15px}.hero-actions,.fixed-actions{width:100%}.hero-actions .btn{flex:1}
 .mini-rank{grid-template-columns:1fr 1fr}.wide-feature{padding:25px;min-height:280px}.wide-feature h3{font-size:25px}
 .rank-row{grid-template-columns:38px 63px 1fr;gap:10px}.rank-content h3{font-size:15px}.rank-content p{font-size:11px}.thumb{height:56px}
 .footer-grid{grid-template-columns:1fr}.fixed-cta{padding:10px 11px 10px 14px}.fixed-cta strong{font-size:12px}.fixed-actions .btn-ghost{display:none}.fixed-actions .btn{padding:10px 13px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
