/* roulang page: index */
:root{
      --ink:#100d14;--panel:#17121b;--panel-2:#211722;--wine:#2b1825;
      --pink:#f044a7;--coral:#ff7a59;--lime:#c7f36b;--amber:#ffb067;
      --text:#f7edf4;--muted:#b9a9b8;--line:rgba(235,194,221,.16);
      --radius:18px;--shadow:0 18px 55px rgba(0,0,0,.32);--ease:220ms ease;
    }
    *,*:before,*:after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--ink);color:var(--text);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75;overflow-x:hidden}
    a{color:inherit;text-decoration:none;transition:color var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
    img{max-width:100%;display:block}
    button,input,select{font:inherit}
    button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
    .container{max-width:1240px}
    .site-header{position:sticky;top:0;z-index:1000;background:rgba(16,13,20,.96);border-bottom:1px solid rgba(240,68,167,.42);box-shadow:0 8px 26px rgba(0,0,0,.22)}
    .navbar{min-height:78px}
    .brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.02em;line-height:1.15}
    .brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--pink),var(--coral));position:relative;box-shadow:0 0 22px rgba(240,68,167,.34)}
    .brand-mark:after{content:"";position:absolute;width:10px;height:10px;border:2px solid #fff;border-radius:50%;left:12px;top:11px}
    .brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em;margin-top:3px}
    .nav-link{color:var(--muted)!important;font-size:14px;margin:0 8px;padding:10px 5px!important;position:relative}
    .nav-link:hover,.nav-link.active{color:#fff!important}
    .nav-link.active:after{content:"";position:absolute;height:2px;left:4px;right:4px;bottom:0;background:var(--pink);box-shadow:0 0 13px var(--pink)}
    .nav-cta,.btn-main{background:var(--pink);color:#190e16;border:0;font-weight:800;border-radius:11px;padding:12px 19px;box-shadow:0 8px 24px rgba(240,68,167,.22)}
    .nav-cta:hover,.btn-main:hover{background:#ff69ba;color:#180d15;transform:translateY(-2px);box-shadow:0 12px 29px rgba(240,68,167,.36)}
    .btn-sub{border:1px solid rgba(255,176,103,.5);color:var(--text);border-radius:11px;padding:11px 18px;background:transparent}
    .btn-sub:hover{border-color:var(--coral);color:var(--coral);transform:translateY(-2px)}
    .navbar-toggler{border:1px solid var(--line);padding:8px}.navbar-toggler-icon{filter:invert(1)}
    .hero{padding:62px 0 48px;position:relative}
    .hero:before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(65,17,48,.55),transparent 55%),repeating-linear-gradient(90deg,transparent 0 79px,rgba(240,68,167,.035) 80px);pointer-events:none}
    .eyebrow,.section-kicker{font-size:12px;color:var(--coral);letter-spacing:.18em;text-transform:uppercase;font-weight:800}
    h1,h2,h3{font-weight:800;letter-spacing:-.035em;line-height:1.2;margin:0}
    h1{font-size:clamp(38px,5.8vw,70px);max-width:760px}
    h1 em{font-style:normal;color:var(--pink);text-shadow:0 0 24px rgba(240,68,167,.25)}
    .hero-copy{color:var(--muted);font-size:17px;max-width:690px;margin:22px 0 28px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .signal-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .signal-panel:before{content:"";position:absolute;top:0;left:0;width:42%;height:3px;background:var(--coral)}
    .signal-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:17px}
    .signal-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px dashed var(--line);gap:12px}
    .signal-row:last-child{border-bottom:0}.signal-row strong{font-size:15px}.signal-row span{font-size:12px;color:var(--muted)}
    .pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);margin-right:7px}
    .section{padding:82px 0}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:28px}
    .section-head p{color:var(--muted);max-width:560px;margin:0;font-size:15px}
    .section-title{font-size:clamp(28px,4vw,43px);margin-top:8px}
    .dashboard{display:grid;grid-template-columns:1.3fr .7fr .7fr .7fr;gap:14px}
    .metric{background:var(--panel);border:1px solid var(--line);padding:21px;border-radius:15px;min-height:142px;position:relative}
    .metric.primary{background:linear-gradient(135deg,#291727,#17121b);border-color:rgba(240,68,167,.5)}
    .metric-label{color:var(--muted);font-size:13px}.metric-number{font-size:34px;font-weight:800;margin:9px 0 3px;line-height:1}
    .metric-note{font-size:12px;color:var(--lime)}.trend{height:25px;margin-top:15px;background:linear-gradient(155deg,transparent 45%,var(--pink) 47% 50%,transparent 52%),linear-gradient(25deg,transparent 42%,rgba(255,122,89,.6) 44% 47%,transparent 49%);opacity:.7}
    .matrix{display:grid;grid-template-columns:1.1fr .8fr .8fr;grid-template-rows:auto auto;gap:16px}
    .entry{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-height:190px;position:relative;overflow:hidden}
    .entry.wide{grid-row:span 2;min-height:398px;background:linear-gradient(145deg,#2b1725,#18121b)}
    .entry:hover,.metric:hover,.compare-card:hover,.quote:hover{border-color:rgba(240,68,167,.65);transform:translateY(-3px);box-shadow:0 15px 35px rgba(0,0,0,.26)}
    .entry-num{color:var(--coral);font-size:12px;letter-spacing:.15em}.entry h3{font-size:22px;margin:18px 0 10px}.entry p{color:var(--muted);font-size:14px;margin-bottom:23px}.entry-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;border:1px solid var(--line);font-size:11px;color:var(--muted)}.badge.hot{color:var(--coral);border-color:rgba(255,122,89,.45)}.badge.ok{color:var(--lime);border-color:rgba(199,243,107,.35)}
    .compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compare-card{border:1px solid var(--line);border-radius:var(--radius);padding:27px;background:#151118;transition:var(--ease)}.compare-card.new{background:linear-gradient(135deg,#251727,#17121b);border-color:rgba(240,68,167,.55)}.compare-card h3{font-size:21px;margin:13px 0 18px}.compare-card ul{list-style:none;padding:0;margin:0}.compare-card li{padding:11px 0;border-bottom:1px dashed var(--line);color:var(--muted);font-size:14px}.compare-card li:last-child{border:0}.compare-card li:before{content:"—";color:var(--coral);margin-right:10px}.new li:before{content:"✓";color:var(--lime)}
    .content-strip{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.news-list,.quote{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px 24px}.news-item{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.news-item:last-child{border:0}.news-item h3{font-size:16px}.news-item p{color:var(--muted);font-size:13px;margin:4px 0 0}.date{color:var(--coral);white-space:nowrap;font-size:12px}.quote{padding:28px;background:linear-gradient(145deg,#231623,#17121b)}.quote blockquote{font-size:21px;line-height:1.55;margin:14px 0 25px}.quote cite{color:var(--muted);font-size:13px;font-style:normal}
    .accordion-item{background:var(--panel);border:1px solid var(--line)!important;margin-bottom:10px;border-radius:13px!important;overflow:hidden}.accordion-button{background:var(--panel);color:var(--text);font-weight:700;padding:19px 21px}.accordion-button:not(.collapsed){background:#291727;color:var(--pink);box-shadow:none}.accordion-button:after{filter:invert(1) sepia(1) saturate(4)}.accordion-body{color:var(--muted);font-size:14px;background:#1b141d;padding:0 21px 21px}
    .cta-box{background:linear-gradient(110deg,#2d1828,#211722);border:1px solid rgba(240,68,167,.42);border-radius:22px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-box p{color:var(--muted);max-width:620px;margin:12px 0 0}.form-row{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.form-control,.form-select{background:#120e15;border:1px solid var(--line);color:var(--text);min-height:46px;border-radius:10px;padding:10px 13px}.form-control::placeholder{color:#766878}.form-control:focus,.form-select:focus{background:#120e15;color:var(--text);border-color:var(--pink);box-shadow:0 0 0 3px rgba(240,68,167,.14)}
    footer{border-top:1px solid var(--line);padding:46px 0 22px;background:#0d0b11}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}.footer-title{font-weight:800;margin-bottom:13px}.footer-copy,.footer-links a{color:var(--muted);font-size:13px}.footer-links{display:flex;flex-direction:column;gap:7px}.footer-links a:hover{color:var(--coral)}.copyright{border-top:1px solid var(--line);margin-top:35px;padding-top:18px;color:#887789;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:991px){.dashboard{grid-template-columns:1fr 1fr}.matrix{grid-template-columns:1fr 1fr}.entry.wide{grid-row:auto;grid-column:span 2}.content-strip{grid-template-columns:1fr}.cta-box{display:block}.form-row{justify-content:flex-start;margin-top:24px}}
    @media(max-width:575px){.navbar{min-height:68px}.brand{font-size:14px}.brand-mark{width:29px;height:29px}.brand small{font-size:8px}.hero{padding:42px 0 25px}h1{font-size:38px}.hero-copy{font-size:15px}.section{padding:58px 0}.section-head{display:block}.section-head p{margin-top:13px}.dashboard{display:flex;overflow-x:auto;padding-bottom:8px}.metric{min-width:190px}.matrix{display:block}.entry,.entry.wide{min-height:0;margin-bottom:14px}.compare{grid-template-columns:1fr}.news-list{padding:8px 17px}.news-item{display:block}.date{display:block;margin-top:6px}.cta-box{padding:26px 20px}.form-row>*{width:100%}.footer-grid{grid-template-columns:1fr;gap:23px}.copyright{display:block}.copyright span{display:block;margin-top:7px}}

/* roulang page: category1 */
:root{
 --ink:#100d14;--panel:#17121b;--panel-2:#211722;--wine:#2b1825;
 --pink:#f044a7;--coral:#ff7a59;--lime:#c7f36b;--amber:#ffb067;
 --text:#f7edf4;--muted:#b9a9b8;--line:rgba(235,194,221,.16);
 --radius:18px;--shadow:0 18px 55px rgba(0,0,0,.32);--ease:220ms ease;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none;transition:color var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
img{max-width:100%;display:block}
button,input,select{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.container{max-width:1240px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(16,13,20,.97);border-bottom:1px solid rgba(240,68,167,.42);box-shadow:0 8px 26px rgba(0,0,0,.22)}
.navbar{min-height:74px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.02em;line-height:1.15}
.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--pink),var(--coral));position:relative;box-shadow:0 0 22px rgba(240,68,167,.34);flex:none}
.brand-mark:after{content:"";position:absolute;width:10px;height:10px;border:2px solid #fff;border-radius:50%;left:12px;top:11px}
.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em;margin-top:3px}
.nav-link{color:var(--muted)!important;font-size:14px;margin:0 8px;padding:10px 5px!important;position:relative}
.nav-link:hover,.nav-link.active{color:#fff!important}
.nav-link.active:after{content:"";position:absolute;height:2px;left:4px;right:4px;bottom:0;background:var(--pink);box-shadow:0 0 13px var(--pink)}
.nav-cta,.btn-main{background:var(--pink);color:#190e16;border:0;font-weight:800;border-radius:11px;padding:12px 19px;box-shadow:0 8px 24px rgba(240,68,167,.22)}
.nav-cta:hover,.btn-main:hover{background:#ff69ba;color:#180d15;transform:translateY(-2px);box-shadow:0 12px 29px rgba(240,68,167,.36)}
.btn-sub{display:inline-block;border:1px solid rgba(255,176,103,.5);color:var(--text);border-radius:11px;padding:11px 18px;background:transparent}
.btn-sub:hover{border-color:var(--coral);color:var(--coral);transform:translateY(-2px)}
.navbar-toggler{border:1px solid var(--line);padding:8px}
.navbar-toggler-icon{filter:invert(1)}
.page-hero{padding:72px 0 48px;position:relative;background:linear-gradient(112deg,rgba(65,17,48,.62),transparent 65%),repeating-linear-gradient(90deg,transparent 0 79px,rgba(240,68,167,.035) 80px)}
.eyebrow,.section-kicker{font-size:12px;color:var(--coral);letter-spacing:.18em;font-weight:800}
.breadcrumb{--bs-breadcrumb-divider-color:var(--muted);margin:0 0 24px;font-size:13px}
.breadcrumb-item,.breadcrumb-item a{color:var(--muted)}
.breadcrumb-item.active{color:var(--pink)}
h1{font-size:clamp(34px,5vw,60px);line-height:1.14;letter-spacing:-.04em;margin:12px 0 18px;font-weight:800}
h1 em{font-style:normal;color:var(--pink);text-shadow:0 0 20px rgba(240,68,167,.22)}
.lead{color:var(--muted);font-size:17px;max-width:720px;margin:0}
.section{padding:76px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.section-title{font-size:clamp(28px,4vw,42px);line-height:1.2;margin:8px 0 0}
.section-head p{color:var(--muted);max-width:570px;margin:0;font-size:15px}
.status-bar{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.status-chip{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 17px;color:var(--muted);font-size:13px}
.status-chip strong{color:var(--text);font-size:18px;margin-right:7px}
.status-chip.ok strong{color:var(--lime)}
.filter-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:26px}
.filter-panel label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.form-control,.form-select{background:#120e15;border:1px solid var(--line);color:var(--text);min-height:46px;border-radius:10px;padding:10px 13px}
.form-control::placeholder{color:#766878}
.form-control:focus,.form-select:focus{background:#120e15;color:var(--text);border-color:var(--pink);box-shadow:0 0 0 3px rgba(240,68,167,.14)}
.form-select option{background:#17121b}
.index-card,.feature-card,.side-panel,.timeline-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:var(--ease)}
.index-card:hover,.feature-card:hover,.timeline-item:hover{border-color:rgba(240,68,167,.65);transform:translateY(-3px);box-shadow:0 15px 35px rgba(0,0,0,.26)}
.feature-card{padding:0;overflow:hidden;height:100%}
.cover{height:190px;position:relative;background:
 linear-gradient(135deg,rgba(240,68,167,.3),transparent 52%),
 repeating-linear-gradient(135deg,rgba(255,122,89,.12) 0 2px,transparent 2px 13px),#251727}
.cover:after{content:"索引 / 近期更新";position:absolute;left:20px;bottom:18px;color:#fff;font-size:13px;letter-spacing:.1em}
.feature-body{padding:22px}
.feature-body h3{font-size:21px;margin:10px 0 8px}
.feature-body p,.index-meta{color:var(--muted);font-size:14px}
.badges{display:flex;gap:7px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;border:1px solid var(--line);font-size:11px;color:var(--muted)}
.badge.hot{color:var(--coral);border-color:rgba(255,122,89,.45)}
.badge.ok{color:var(--lime);border-color:rgba(199,243,107,.35)}
.index-list{display:flex;flex-direction:column;gap:10px}
.index-card{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:18px;padding:18px 21px}
.index-number{font-size:25px;color:var(--pink);font-weight:800;font-variant-numeric:tabular-nums}
.index-card h3{font-size:16px;margin:0 0 5px}
.index-meta{margin:0}
.index-action{color:var(--coral);font-size:13px;white-space:nowrap}
.side-panel{padding:22px;margin-bottom:20px}
.side-panel h3{font-size:18px;margin:0 0 16px}
.side-list{list-style:none;padding:0;margin:0}
.side-list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:14px}
.side-list li:last-child{border-bottom:0}
.side-list span{color:var(--muted);font-size:12px}
.tag-cloud{display:flex;gap:8px;flex-wrap:wrap}
.tag-cloud a{border:1px solid var(--line);padding:6px 10px;border-radius:9px;color:var(--muted);font-size:12px}
.tag-cloud a:hover{border-color:var(--pink);color:var(--pink)}
.timeline{border-left:1px solid rgba(240,68,167,.4);padding-left:25px}
.timeline-item{padding:20px 22px;margin-bottom:14px;position:relative}
.timeline-item:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--coral);left:-30px;top:27px;box-shadow:0 0 13px var(--coral)}
.timeline-item h3{font-size:17px;margin:8px 0 4px}
.timeline-item p{color:var(--muted);font-size:14px;margin:0}
.accordion-item{background:var(--panel);border:1px solid var(--line)!important;margin-bottom:10px;border-radius:13px!important;overflow:hidden}
.accordion-button{background:var(--panel);color:var(--text);font-weight:700;padding:19px 21px}
.accordion-button:not(.collapsed){background:#291727;color:var(--pink);box-shadow:none}
.accordion-button:after{filter:invert(1) sepia(1) saturate(4)}
.accordion-body{color:var(--muted);font-size:14px;background:#1b141d;padding:0 21px 21px}
.cta-box{background:linear-gradient(110deg,#2d1828,#211722);border:1px solid rgba(240,68,167,.42);border-radius:22px;padding:36px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.cta-box h2{margin:0;font-size:clamp(25px,3vw,36px)}
.cta-box p{color:var(--muted);max-width:650px;margin:10px 0 0}
footer{border-top:1px solid var(--line);padding:46px 0 22px;background:#0d0b11}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}
.footer-title{font-weight:800;margin-bottom:13px}
.footer-copy,.footer-links a{color:var(--muted);font-size:13px}
.footer-links{display:flex;flex-direction:column;gap:7px}
.footer-links a:hover{color:var(--coral)}
.copyright{border-top:1px solid var(--line);margin-top:35px;padding-top:18px;color:#887789;font-size:12px;display:flex;justify-content:space-between;gap:15px}
@media(max-width:991px){.navbar-collapse{background:#17121b;border-top:1px solid var(--line);padding:12px 8px}.nav-link{margin:2px 0}.nav-cta{display:inline-block;margin-left:0!important}.page-hero{padding-top:52px}.section{padding:60px 0}}
@media(max-width:767px){.section-head{display:block}.section-head p{margin-top:15px}.index-card{grid-template-columns:42px 1fr}.index-action{grid-column:2}.cta-box{display:block;padding:27px}.footer-grid{grid-template-columns:1fr;gap:25px}.copyright{display:block}.copyright span{display:block;margin-top:6px}.status-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.status-chip{min-width:170px}}
@media(max-width:520px){.container{padding-left:18px;padding-right:18px}h1{font-size:35px}.page-hero{padding:42px 0 34px}.section{padding:48px 0}.index-card{gap:12px;padding:16px}.index-number{font-size:21px}.cover{height:160px}.filter-panel{padding:14px}.hero-actions a{width:100%;text-align:center}}
