/* roulang page: index */
:root{
            --bg:#171419;
            --bg-soft:#211b22;
            --panel:#292229;
            --panel-light:#f5f1f0;
            --panel-warm:#fffaf7;
            --primary:#6d304d;
            --primary-deep:#4b2037;
            --coral:#d27a68;
            --amber:#d7a46a;
            --success:#78a88f;
            --text:#f6efed;
            --ink:#271e23;
            --muted:#b9aeb3;
            --muted-dark:#766a70;
            --line:rgba(255,255,255,.13);
            --line-dark:#e2d9d6;
            --radius:18px;
            --radius-sm:10px;
            --shadow:0 18px 50px rgba(22,10,17,.18);
            --container:1180px;
            --space:clamp(64px,8vw,112px);
        }
        *,*:before,*:after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;line-height:1.7;font-size:15px}
        a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
        a:hover{color:#ffd5c7}
        img{max-width:100%;display:block}
        button,input,select,textarea{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
        .site-header{position:sticky;top:0;z-index:20;background:rgba(23,20,25,.97);border-bottom:1px solid var(--line)}
        .nav-row{min-height:76px;display:flex;align-items:center;gap:28px}
        .brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
        .brand-mark{width:32px;height:32px;border-radius:9px;background:var(--coral);display:grid;place-items:center;color:#2e1721;font-weight:900}
        .main-menu{display:flex;align-items:center;gap:5px;margin:0 auto}
        .main-menu a{padding:10px 14px;border-radius:8px;color:var(--muted);font-size:14px}
        .main-menu a:hover,.main-menu a.active{background:rgba(210,122,104,.13);color:#fff}
        .main-menu a.active{box-shadow:inset 0 -2px var(--coral)}
        .location-link{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:9px 13px;border-radius:999px;color:#ead9d5;font-size:13px}
        .location-link:hover{border-color:var(--coral);transform:translateY(-1px)}
        .pin{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(215,164,106,.13)}
        .menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:#fff;border-radius:8px;padding:8px 11px}
        .hero{background:var(--panel-light);color:var(--ink);border-bottom:1px solid #ded2d0}
        .hero-inner{min-height:390px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:70px;padding:62px 0}
        .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--primary)}
        .eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
        h1,h2,h3,p{margin-top:0}
        h1{font-size:clamp(34px,5vw,64px);line-height:1.13;letter-spacing:-.06em;margin:17px 0 20px;color:var(--primary-deep)}
        h2{font-size:clamp(26px,3vw,38px);line-height:1.25;letter-spacing:-.04em;margin:12px 0;color:inherit}
        h3{font-size:18px;line-height:1.35;margin:0 0 8px}
        .hero-copy{max-width:700px;color:#64585d;font-size:17px}
        .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
        .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border-radius:9px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.2s}
        .button.primary{background:var(--primary);color:#fff}
        .button.primary:hover{background:var(--primary-deep);transform:translateY(-2px);box-shadow:0 8px 18px rgba(109,48,77,.25)}
        .button.secondary{background:transparent;color:var(--primary);border-color:#bba9aa}
        .button.secondary:hover{border-color:var(--primary);background:#fff}
        .hero-panel{border:1px solid #decfcd;background:#fffaf8;border-radius:var(--radius);padding:23px;box-shadow:var(--shadow);position:relative}
        .hero-panel:after{content:"";position:absolute;right:20px;top:20px;width:54px;height:54px;border:1px solid #e7c9c2;border-radius:50%}
        .panel-label{font-size:12px;color:var(--muted-dark);letter-spacing:.08em}
        .panel-title{font-size:24px;font-weight:800;color:var(--primary-deep);margin:10px 0 20px}
        .route{display:flex;align-items:center;gap:10px;color:#75666c;font-size:13px;padding:11px 0;border-top:1px solid #eee2df}
        .route strong{margin-left:auto;color:var(--primary)}
        .section{padding:var(--space) 0}
        .section.light{background:var(--panel-light);color:var(--ink)}
        .section.warm{background:var(--panel-warm);color:var(--ink)}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
        .section-head p{max-width:560px;color:var(--muted);margin:0}
        .light .section-head p,.warm .section-head p{color:var(--muted-dark)}
        .metrics{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);overflow:hidden;border-radius:14px}
        .metric{background:var(--bg-soft);padding:24px 22px;min-height:135px}
        .metric:first-child{background:var(--primary)}
        .metric-label{color:var(--muted);font-size:13px}
        .metric:first-child .metric-label{color:#efd8d5}
        .metric-value{font-size:32px;line-height:1.2;font-weight:800;margin:12px 0 5px;color:#fff}
        .trend{font-size:12px;color:var(--success)}
        .metric:first-child .trend{color:#ffd4a9}
        .microbar{height:4px;background:#46343e;border-radius:10px;margin-top:15px;overflow:hidden}
        .microbar i{display:block;height:100%;background:var(--coral);width:76%;border-radius:inherit}
        .matrix-wrap{display:grid;grid-template-columns:250px 1fr;gap:36px}
        .filter-index{border-right:1px solid var(--line);padding-right:25px}
        .filter-index h3{color:#f6efed;font-size:15px}
        .filter-index a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}
        .filter-index a:hover,.filter-index a.active{color:#ffd0c5}
        .filter-index a.active:after{content:"→";color:var(--coral)}
        .entry-list{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
        .entry{border:1px solid var(--line);border-radius:var(--radius-sm);padding:21px;background:#241d24;transition:.2s}
        .entry:hover{border-color:var(--coral);transform:translateY(-3px);background:#2b222a}
        .entry-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}
        .badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:rgba(210,122,104,.14);color:#eaa79a;font-size:11px}
        .status{font-size:11px;color:#91c0a6}
        .entry p{font-size:13px;color:var(--muted);margin-bottom:14px}
        .entry-meta{font-size:12px;color:#8d7d83;display:flex;justify-content:space-between}
        .entry-meta a{color:#efb0a2;font-weight:700}
        .topic-strip{display:flex;gap:10px;overflow:auto;padding-bottom:4px;margin-top:30px}
        .topic-strip a{white-space:nowrap;border:1px solid var(--line);padding:8px 14px;border-radius:999px;color:var(--muted);font-size:13px}
        .topic-strip a:hover{border-color:var(--coral);color:#fff}
        .compare{display:grid;grid-template-columns:1fr 70px 1fr;align-items:stretch;gap:16px}
        .compare-panel{padding:30px;border-radius:var(--radius);border:1px solid var(--line-dark);background:#eee6e3}
        .compare-panel.after{background:var(--primary);color:#fff;border-color:var(--primary)}
        .compare-panel h3{color:var(--primary-deep)}
        .compare-panel.after h3{color:#fff}
        .compare-panel p{color:var(--muted-dark);font-size:14px}
        .compare-panel.after p{color:#ead7d7}
        .compare-list{list-style:none;padding:0;margin:20px 0 0}
        .compare-list li{padding:10px 0;border-top:1px solid rgba(91,55,65,.14);font-size:14px}
        .after .compare-list li{border-color:rgba(255,255,255,.17)}
        .compare-symbol{align-self:center;justify-self:center;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:#fff;font-size:22px}
        .faq{max-width:850px;margin:auto}
        .accordion{background:transparent;margin:0}
        .accordion-item{border-bottom:1px solid var(--line)}
        .accordion-title{color:#f5e7e4;padding:21px 42px 21px 0;font-size:16px;font-weight:700}
        .accordion-title:hover{color:#ffcbbf;background:transparent}
        .accordion-content{background:transparent;color:var(--muted);border:0;padding:0 45px 22px 0;font-size:14px}
        .cta{background:var(--primary-deep);color:#fff}
        .form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
        .steps{list-style:none;padding:0;margin:30px 0 0}
        .steps li{display:flex;gap:14px;padding:13px 0;border-top:1px solid var(--line);color:#d7c4c6}
        .step-no{color:var(--coral);font-weight:800}
        .form-box{background:#fffaf8;color:var(--ink);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}
        label{font-size:13px;font-weight:700;color:#594b51;margin-bottom:6px}
        input,select,textarea{border:1px solid #d8cbca;border-radius:8px;background:#fff;padding:11px 13px;color:var(--ink);box-shadow:none!important}
        input:focus,select:focus,textarea:focus{border-color:var(--coral);outline:3px solid rgba(210,122,104,.18)}
        textarea{min-height:92px;resize:vertical}
        .form-note{font-size:12px;color:#88787b;margin:13px 0 0}
        .form-error{display:none;color:#a7434e;font-size:12px;margin-top:6px}
        .form-message{display:none;background:#e5f0e9;color:#31654c;padding:11px;border-radius:8px;margin-top:15px;font-size:13px}
        .site-footer{background:#120f13;padding:55px 0 22px;color:var(--muted)}
        .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}
        .footer-brand{color:#fff;font-weight:800;font-size:16px;margin-bottom:13px}
        .footer-title{font-size:13px;color:#eee0dd;font-weight:700;margin-bottom:13px}
        .footer-links{list-style:none;padding:0;margin:0}
        .footer-links li{margin:8px 0;font-size:13px}
        .footer-links a:hover{color:#ffc9bc}
        .age-note{font-size:12px;line-height:1.8;color:#8e8085;max-width:270px}
        .copyright{border-top:1px solid var(--line);margin-top:40px;padding-top:18px;font-size:12px;color:#776b70;display:flex;justify-content:space-between;gap:15px}
        .copyright a{color:#b69da5}
        :focus-visible{outline:3px solid #f2b19f;outline-offset:3px}
        .top-link{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;z-index:8}
        @media(max-width:900px){
            .main-menu{gap:0}.main-menu a{padding:9px 8px;font-size:13px}
            .hero-inner{grid-template-columns:1fr;gap:30px}.hero-panel{max-width:570px}
            .metrics{grid-template-columns:repeat(2,1fr)}.metric:first-child{grid-column:span 2}
            .matrix-wrap{grid-template-columns:1fr}.filter-index{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px;display:flex;gap:20px;overflow:auto}.filter-index h3{display:none}.filter-index a{min-width:max-content;border:0;padding:7px 0}
            .form-layout{gap:35px}.footer-grid{grid-template-columns:repeat(2,1fr)}
        }
        @media(max-width:620px){
            .container{width:min(100% - 28px,var(--container))}.nav-row{min-height:66px;gap:10px}.brand{font-size:13px}.brand-mark{width:28px;height:28px}.menu-toggle{display:block;margin-left:auto}.main-menu{display:none;position:absolute;left:14px;right:14px;top:65px;background:#211b22;border:1px solid var(--line);border-radius:12px;padding:8px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.main-menu.is-open{display:flex}.main-menu a{display:block;padding:12px}.location-link{font-size:0;padding:10px;width:35px;justify-content:center}.location-link .pin{margin:0}
            h1{font-size:36px}.hero-inner{padding:48px 0}.hero-copy{font-size:15px}.section{padding:62px 0}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:12px}
            .metrics{display:flex;overflow:auto}.metric{min-width:155px}.metric:first-child{min-width:210px}.entry-list{grid-template-columns:1fr}.compare{grid-template-columns:1fr;gap:10px}.compare-symbol{transform:rotate(90deg)}.form-layout{grid-template-columns:1fr}.form-box{padding:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.copyright{display:block}.copyright span{display:block;margin-top:8px}
        }

/* roulang page: category1 */
:root{
 --bg:#171419;--bg-soft:#211b22;--panel:#292229;--panel-light:#f5f1f0;--panel-warm:#fffaf7;
 --primary:#6d304d;--primary-deep:#4b2037;--coral:#d27a68;--amber:#d7a46a;--success:#78a88f;
 --text:#f6efed;--ink:#271e23;--muted:#b9aeb3;--muted-dark:#766a70;--line:rgba(255,255,255,.13);
 --line-dark:#e2d9d6;--radius:18px;--radius-sm:10px;--shadow:0 18px 50px rgba(22,10,17,.18);
 --container:1180px;--space:clamp(64px,8vw,112px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;line-height:1.7;font-size:15px}
a{color:inherit;text-decoration:none;transition:color .2s,background .2s,border-color .2s,transform .2s}
a:hover{color:#ffd5c7}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(34px,5vw,64px);line-height:1.12;letter-spacing:-.05em;margin:13px 0 20px;color:var(--primary-deep)}
h2{font-size:clamp(26px,3vw,40px);line-height:1.2;letter-spacing:-.035em;margin-bottom:12px}
h3{font-size:19px;line-height:1.35;margin-bottom:9px}
.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(23,20,25,.98);border-bottom:1px solid var(--line)}
.nav-row{min-height:76px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--coral);display:grid;place-items:center;color:#2e1721;font-weight:900}
.main-menu{display:flex;align-items:center;gap:5px;margin:0 auto}
.main-menu a{padding:10px 14px;border-radius:8px;color:var(--muted);font-size:14px}
.main-menu a:hover,.main-menu a.active{background:rgba(210,122,104,.13);color:#fff}
.main-menu a.active{box-shadow:inset 0 -2px var(--coral)}
.location{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:#eadbd8;font-size:13px}
.location-dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(215,164,106,.13)}
.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:#fff;border-radius:8px;padding:8px 11px}
.hero{background:var(--panel-light);color:var(--ink);border-bottom:1px solid #ded2d0}
.hero-inner{min-height:430px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;padding:65px 0}
.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--primary)}
.eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
.hero-copy{max-width:680px;color:#64585d;font-size:17px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border-radius:9px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.2s}
.button.primary{background:var(--primary);color:#fff}
.button.primary:hover{background:var(--primary-deep);transform:translateY(-2px);box-shadow:0 8px 18px rgba(109,48,77,.25)}
.button.secondary{background:transparent;color:var(--primary);border-color:#bba9aa}
.button.secondary:hover{border-color:var(--primary);background:#fff}
.hero-panel{border:1px solid #decfcd;background:#fffaf8;border-radius:var(--radius);padding:25px;box-shadow:var(--shadow);position:relative}
.hero-panel:after{content:"";position:absolute;right:20px;top:20px;width:54px;height:54px;border:1px solid #e7c9c2;border-radius:50%}
.panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eadedb;padding-bottom:16px}
.panel-title{font-size:23px;font-weight:800;color:var(--primary-deep);margin:10px 0 20px}
.status{font-size:11px;color:#46745c;background:#e5f0e9;padding:5px 9px;border-radius:999px}
.region-bars{display:grid;gap:17px;margin-top:22px}
.region-line{display:grid;grid-template-columns:72px 1fr 42px;align-items:center;gap:12px;color:#64585d;font-size:13px}
.bar{height:7px;background:#eadedb;border-radius:10px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--coral);border-radius:10px}
.hero-note{margin:21px 0 0;color:#88787b;font-size:12px}
.section{padding:var(--space) 0}
.section.light{background:var(--panel-light);color:var(--ink)}
.section.warm{background:var(--panel-warm);color:var(--ink)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.section-head p{max-width:570px;color:var(--muted)}
.light .section-head p,.warm .section-head p{color:var(--muted-dark)}
.breadcrumb{padding:23px 0 0;color:var(--muted);font-size:13px}
.breadcrumb a{color:#e6aaa0}
.filter-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:34px}
.filter-bar{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.filter-label{display:block;color:#d7c7ca;font-size:12px;margin-bottom:6px}
select{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#211b22;color:#fff;padding:10px 12px;min-height:44px}
select:focus,input:focus,textarea:focus{border-color:var(--coral);outline:3px solid rgba(210,122,104,.2)}
.filter-button{min-height:44px;border:0;border-radius:8px;background:var(--coral);color:#321a24;padding:0 17px;font-weight:800}
.filter-button:hover{background:#e09280}
.region-layout{display:grid;grid-template-columns:255px 1fr;gap:45px}
.filter-index{position:sticky;top:102px;align-self:start}
.filter-index h3{color:#fff;margin-bottom:17px}
.filter-index a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.filter-index a:hover,.filter-index a.active{color:#ffd0c5}
.filter-index a.active:after{content:"→";color:var(--coral)}
.index-note{border-left:2px solid var(--coral);padding:4px 0 4px 15px;color:var(--muted);font-size:13px;margin-top:27px}
.entry-list{display:grid;gap:16px}
.entry-card{display:grid;grid-template-columns:155px 1fr auto;gap:22px;align-items:center;background:#292229;border:1px solid var(--line);border-radius:var(--radius);padding:17px;transition:.2s}
.entry-card:hover{border-color:rgba(210,122,104,.6);transform:translateY(-3px);box-shadow:var(--shadow)}
.cover{height:112px;border-radius:12px;background:linear-gradient(135deg,#4b2037 0%,#8d5360 46%,#d27a68 100%);position:relative;overflow:hidden}
.cover:before{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.28);border-radius:9px}
.cover:after{content:"区域索引";position:absolute;left:14px;bottom:12px;color:#fff;font-size:11px;letter-spacing:.12em}
.entry-card p{color:var(--muted);font-size:13px;margin-bottom:10px}
.badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}
.badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:rgba(210,122,104,.14);color:#eaa79a;font-size:11px}
.entry-meta{font-size:12px;color:#8d7d83;display:flex;gap:16px;flex-wrap:wrap}
.entry-meta a{color:#efb0a2;font-weight:700}
.entry-action{white-space:nowrap;color:#efb0a2;font-weight:700;font-size:13px}
.info-panel{margin-top:34px;background:#f0e8e5;border:1px solid var(--line-dark);border-radius:var(--radius);padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:25px;color:var(--ink)}
.info-panel p{color:var(--muted-dark);margin-bottom:0;font-size:14px}
.empty-state{display:none;text-align:center;padding:35px;border:1px dashed #6f5961;border-radius:var(--radius);color:var(--muted)}
.faq{max-width:850px;margin:auto}
.accordion{background:transparent}
.accordion-item{border-bottom:1px solid var(--line);background:transparent}
.accordion-title{color:#f5e7e4;padding:21px 42px 21px 0;font-size:16px;font-weight:700;background:transparent}
.accordion-title:hover{color:#ffcbbf;background:transparent}
.accordion-content{background:transparent;color:var(--muted);padding:0 20px 20px 0;border:0;font-size:14px}
.cta{background:var(--primary-deep);color:#fff}
.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.form-box{background:#fffaf8;color:var(--ink);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}
.form-box label{font-size:13px;font-weight:700;color:var(--ink)}
input,textarea{width:100%;border:1px solid #d8cbca;border-radius:8px;background:#fff;padding:11px 13px;color:var(--ink);box-shadow:none!important}
textarea{min-height:92px;resize:vertical}
.form-note{font-size:12px;color:#88787b;margin:13px 0 0}
.form-error{display:none;color:#a7434e;font-size:12px;margin-top:6px}
.form-message{display:none;background:#e5f0e9;color:#31654c;padding:11px;border-radius:8px;margin-top:15px;font-size:13px}
.step-list{list-style:none;padding:0;margin:25px 0 0}
.step-list li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14);color:var(--muted)}
.step-no{width:25px;height:25px;border:1px solid var(--coral);border-radius:50%;display:grid;place-items:center;color:#ffc2b4;font-size:12px;flex:none}
.site-footer{background:#120f13;padding:55px 0 22px;color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}
.footer-brand{color:#fff;font-weight:800;font-size:16px;margin-bottom:13px}
.age-note{font-size:12px;color:#8d7d83;max-width:270px}
.footer-title{font-size:13px;color:#eee0dd;font-weight:700;margin-bottom:13px}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:8px}
.footer-links a{font-size:13px;color:#9e9297}
.footer-links a:hover{color:#ffd0c5}
.copyright{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:38px;padding-top:18px;font-size:12px;color:#766b70}
.copyright a{color:#d9aaa0}
@media(max-width:900px){
 .hero-inner{grid-template-columns:1fr;gap:30px}.filter-bar{grid-template-columns:repeat(2,1fr)}
 .region-layout{grid-template-columns:1fr}.filter-index{position:static;display:flex;gap:14px;overflow:auto;padding-bottom:7px}.filter-index h3,.index-note{display:none}.filter-index a{min-width:120px}
 .form-layout{grid-template-columns:1fr;gap:35px}.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
 .container{width:min(var(--container),calc(100% - 28px))}.nav-row{min-height:66px}.brand{font-size:14px}.brand-mark{width:29px;height:29px}
 .main-menu{display:none;position:absolute;left:14px;right:14px;top:70px;background:#211b22;border:1px solid var(--line);padding:8px;flex-direction:column;align-items:stretch;margin:0;border-radius:12px;box-shadow:var(--shadow)}
 .main-menu.is-open{display:flex}.main-menu a{padding:12px}.location{margin-left:auto;font-size:12px}.menu-toggle{display:block}
 .hero-inner{padding:48px 0}.hero-copy{font-size:15px}h1{font-size:38px}.section{padding:62px 0}.section-head{display:block;margin-bottom:25px}
 .filter-bar{grid-template-columns:1fr;gap:10px}.entry-card{grid-template-columns:88px 1fr;gap:14px}.cover{height:92px}.entry-action{grid-column:2}
 .info-panel{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.copyright{display:block}.copyright a{display:block;margin-top:8px}
}

/* roulang page: category2 */
:root{
      --bg:#171419;--bg-soft:#211b22;--panel:#292229;--panel-light:#f5f1f0;
      --panel-warm:#fffaf7;--primary:#6d304d;--primary-deep:#4b2037;
      --coral:#d27a68;--amber:#d7a46a;--success:#78a88f;--text:#f6efed;
      --ink:#271e23;--muted:#b9aeb3;--muted-dark:#766a70;
      --line:rgba(255,255,255,.13);--line-dark:#e2d9d6;--radius:18px;
      --radius-sm:10px;--shadow:0 18px 50px rgba(22,10,17,.18);
      --container:1180px;--space:clamp(64px,8vw,112px)
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;line-height:1.7;font-size:15px}
    a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
    a:hover{color:#ffd5c7}img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(23,20,25,.97);border-bottom:1px solid var(--line)}
    .nav-row{min-height:76px;display:flex;align-items:center;gap:28px}
    .brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
    .brand-mark{width:32px;height:32px;border-radius:9px;background:var(--coral);display:grid;place-items:center;color:#2e1721;font-weight:900}
    .main-menu{display:flex;align-items:center;gap:5px;margin:0 auto}
    .main-menu a{padding:10px 14px;border-radius:8px;color:var(--muted);font-size:14px}
    .main-menu a:hover,.main-menu a.active{background:rgba(210,122,104,.13);color:#fff}
    .main-menu a.active{box-shadow:inset 0 -2px var(--coral)}
    .location-link{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;color:#ead8d4;padding:9px 13px;font-size:13px}
    .location-link:hover{border-color:var(--coral);color:#fff}
    .location-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(210,122,104,.15)}
    .menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:#fff;border-radius:8px;padding:8px 11px}
    .hero{background:var(--panel-light);color:var(--ink);border-bottom:1px solid #ded2d0}
    .hero-inner{min-height:390px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:70px;padding:62px 0}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--primary)}
    .eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
    h1{font-size:clamp(34px,5vw,62px);line-height:1.14;letter-spacing:-.055em;margin:15px 0 20px;color:var(--primary-deep)}
    h2{font-size:clamp(26px,3vw,40px);line-height:1.25;letter-spacing:-.04em;margin:8px 0 12px}
    h3{line-height:1.35;margin:0 0 8px}
    .hero-copy{max-width:680px;color:#64585d;font-size:17px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
    .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border-radius:9px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.2s}
    .button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-deep);transform:translateY(-2px);box-shadow:0 8px 18px rgba(109,48,77,.25)}
    .button.secondary{background:transparent;color:var(--primary);border-color:#bba9aa}.button.secondary:hover{border-color:var(--primary);background:#fff}
    .button:focus,.main-menu a:focus,.location-link:focus,input:focus,select:focus,textarea:focus{outline:3px solid rgba(210,122,104,.35);outline-offset:2px}
    .directory-panel{background:#fffaf8;border:1px solid #decfcd;border-radius:var(--radius);padding:25px;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .directory-panel:before{content:"";position:absolute;right:-38px;top:-38px;width:150px;height:150px;border:1px solid #e6c4be;border-radius:50%}
    .panel-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted-dark);font-size:12px;border-bottom:1px solid #eadfdb;padding-bottom:15px}
    .status{display:inline-flex;align-items:center;gap:7px;color:#40735d;font-weight:700}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success)}
    .panel-title{font-size:24px;font-weight:800;color:var(--primary-deep);margin:19px 0}
    .mini-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid #eadfdb;color:#66585e}
    .mini-row strong{color:var(--primary-deep)}.mini-tag{color:var(--coral);font-size:12px}
    .section{padding:var(--space) 0}.section.light{background:var(--panel-light);color:var(--ink)}.section.warm{background:var(--panel-warm);color:var(--ink)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
    .section-head p{max-width:590px;color:var(--muted);margin:0}.light .section-head p,.warm .section-head p{color:var(--muted-dark)}
    .directory-layout{display:grid;grid-template-columns:250px 1fr;gap:45px}
    .side-index{position:sticky;top:105px;align-self:start;border-right:1px solid var(--line-dark);padding-right:24px}
    .side-index .index-label{font-size:12px;color:var(--muted-dark);font-weight:800;margin-bottom:10px}
    .side-index a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line-dark);color:#75686d}
    .side-index a:hover,.side-index a.active{color:var(--primary);font-weight:700}.side-index a.active:after{content:"→";color:var(--coral)}
    .topic-strip{display:flex;gap:9px;overflow:auto;padding:2px 0 18px;scrollbar-width:thin}
    .topic-strip a{white-space:nowrap;border:1px solid var(--line-dark);padding:8px 14px;border-radius:999px;color:#75686d;font-size:13px}
    .topic-strip a:hover,.topic-strip a.active{border-color:var(--coral);color:var(--primary);background:#fff5f1}
    .directory-groups{display:grid;gap:17px}
    .group-row{display:grid;grid-template-columns:145px 1fr auto;gap:20px;align-items:center;background:#fffaf8;border:1px solid var(--line-dark);border-radius:14px;padding:19px 21px;transition:.2s}
    .group-row:hover{transform:translateX(4px);box-shadow:0 10px 28px rgba(75,32,55,.08);border-color:#d6aaa1}
    .group-no{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--coral);font-size:13px}
    .group-row h3{color:var(--primary-deep);font-size:18px}.group-row p{margin:0;color:#766a70;font-size:13px}
    .group-labels{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:rgba(210,122,104,.14);color:#a55350;font-size:11px}
    .small-link{color:var(--primary);font-size:13px;font-weight:700;white-space:nowrap}.small-link:hover{color:var(--coral)}
    .compare-section{background:var(--bg-soft);padding:var(--space) 0}
    .compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compare-box{padding:29px;border-radius:var(--radius);border:1px solid var(--line);background:#2b252c}.compare-box.after{background:var(--primary);border-color:#8d5368}
    .compare-box h3{font-size:20px;color:#fff}.compare-box p{color:var(--muted);margin:5px 0 12px}.after p{color:#f0d9d4}
    .compare-list{list-style:none;padding:0;margin:20px 0 0}.compare-list li{padding:11px 0;border-top:1px solid var(--line);font-size:14px;color:#ded0d3}.after .compare-list li{border-color:rgba(255,255,255,.17);color:#fff3ef}
    .compare-list li:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--coral);margin:0 10px 2px 0}.after .compare-list li:before{background:var(--amber)}
    .ranking{display:grid;grid-template-columns:.76fr 1.24fr;gap:55px;align-items:start}.rank-note{border-left:3px solid var(--coral);padding-left:20px;color:var(--muted)}
    .rank-list{display:grid;gap:10px}.rank-item{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:center;padding:16px 19px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
    .rank-number{font-size:22px;font-weight:800;color:var(--coral)}.rank-item strong{display:block;color:#fff}.rank-item span{font-size:12px;color:var(--muted)}.rank-mark{font-size:12px;color:var(--amber)}
    .faq{max-width:850px;margin:auto}.accordion{background:transparent;border:0}.accordion-item{border-bottom:1px solid var(--line)}.accordion-title{color:#f5e7e4;padding:21px 42px 21px 0;font-size:16px;font-weight:700;background:transparent}.accordion-title:hover{color:#ffcbbf;background:transparent}.accordion-content{background:transparent;border:0;color:var(--muted);padding:0 42px 20px 0}
    .cta{background:var(--primary-deep);color:#fff}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.step-list{list-style:none;padding:0;margin:25px 0}.step-list li{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#e5d4d6}.step-list b{color:var(--coral)}
    .form-box{background:#fffaf8;color:var(--ink);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}label{font-weight:700;color:#4e3d44;font-size:13px}input,select,textarea{border:1px solid #d8cbca;border-radius:8px;background:#fff;padding:11px 13px;color:var(--ink);box-shadow:none!important}textarea{min-height:92px;resize:vertical}.form-note{font-size:12px;color:#88787b;margin:13px 0 0}.form-error{display:none;color:#a7434e;font-size:12px;margin-top:6px}.form-message{display:none;background:#e5f0e9;color:#31654c;padding:11px;border-radius:8px;margin-top:15px;font-size:13px}
    .site-footer{background:#120f13;padding:55px 0 22px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.footer-brand{color:#fff;font-weight:800;font-size:16px;margin-bottom:13px}.age-note{font-size:12px;max-width:285px;color:#96898d}.footer-title{font-size:13px;color:#eee0dd;font-weight:700;margin-bottom:13px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:8px 0}.footer-links a{font-size:13px;color:var(--muted)}.footer-links a:hover{color:#ffd5c7}.copyright{border-top:1px solid var(--line);margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#82757b}.copyright a{color:#c99a91}
    .empty-state{margin-top:18px;border:1px dashed #cbb8b5;border-radius:12px;padding:17px;color:#8c7d81;background:#fff}.empty-state strong{color:var(--primary)}
    @media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:30px}.directory-layout{grid-template-columns:1fr;gap:25px}.side-index{position:static;border-right:0;border-bottom:1px solid var(--line-dark);padding:0 0 15px;display:flex;gap:20px;overflow:auto}.side-index .index-label{display:none}.side-index a{white-space:nowrap;border:1px solid var(--line-dark);border-radius:999px;padding:7px 13px}.side-index a.active:after{display:none}.ranking{grid-template-columns:1fr;gap:30px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:680px){.container{width:min(var(--container),calc(100% - 28px))}.nav-row{min-height:68px;gap:12px}.brand{font-size:14px}.brand-mark{width:29px;height:29px}.menu-toggle{display:block;margin-left:auto}.main-menu{display:none;position:absolute;left:14px;right:14px;top:68px;padding:10px;background:#211b22;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-menu.is-open{display:flex}.main-menu a{padding:12px 14px}.location-link{font-size:0;padding:10px}.location-link .location-dot{margin:0}.hero-inner{padding:48px 0}.hero-copy{font-size:15px}h1{font-size:36px}.section{padding:62px 0}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:10px}.group-row{grid-template-columns:1fr;gap:8px}.group-row .small-link{justify-self:start}.compare-grid{grid-template-columns:1fr}.rank-item{grid-template-columns:38px 1fr}.rank-mark{display:none}.form-layout{grid-template-columns:1fr;gap:28px}.form-box{padding:21px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.copyright{display:block}.copyright a{display:block;margin-top:9px}}
    @media(max-width:420px){.footer-grid{grid-template-columns:1fr}.hero-actions .button{width:100%}}
