/* roulang page: index */
:root {
      --ink:#211f2a;
      --ink-soft:#5f5a68;
      --paper:#f6f4f0;
      --panel:#fffdfa;
      --line:#dfd9d0;
      --dark:#292631;
      --coral:#eb684f;
      --coral-deep:#c94e3a;
      --lime:#c6dc72;
      --amber:#e5a84d;
      --lavender:#e8e2f0;
      --shadow:0 14px 36px rgba(40,32,38,.09);
      --radius:8px;
      --max:1220px;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75}
    a{color:inherit;text-decoration:none}
    img,svg{display:block;max-width:100%}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--max),calc(100% - 64px));margin:0 auto}
    .dock-wrap{position:fixed;top:18px;left:0;right:0;z-index:30;pointer-events:none}
    .dock{width:min(1050px,calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;background:rgba(41,38,49,.97);border:1px solid #4b4552;border-radius:999px;box-shadow:0 16px 38px rgba(30,24,31,.18);pointer-events:auto}
    .brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:15px;font-weight:800;white-space:nowrap}
    .brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:var(--coral);color:#fff;font-size:14px}
    .nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}
    .nav-link{padding:7px 13px;color:#c9c4cd;border-radius:7px;font-size:14px;transition:.2s}
    .nav-link:hover,.nav-link.active{color:#fff;background:#46404c}
    .nav-link.active{box-shadow:inset 0 -2px var(--coral)}
    .nav-cta{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;background:var(--coral);color:#fff;border-radius:7px;font-size:14px;font-weight:700;transition:.2s}
    .nav-cta:hover{background:var(--coral-deep);box-shadow:0 5px 14px rgba(235,104,79,.25)}
    .hero{padding:145px 0 64px;background:var(--dark);color:#fff;overflow:hidden}
    .hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:58px;align-items:center}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:13px;font-weight:800;letter-spacing:0}
    .eyebrow::before{content:"";width:8px;height:8px;background:var(--coral);border-radius:50%}
    h1,h2,h3{margin:0;line-height:1.25;letter-spacing:0}
    h1{margin-top:18px;font-size:clamp(38px,5vw,68px);font-weight:850;max-width:650px}
    .hero-copy{margin:22px 0 30px;color:#d7d2da;max-width:590px;font-size:17px;line-height:1.9}
    .actions{display:flex;flex-wrap:wrap;gap:12px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border:1px solid transparent;border-radius:7px;font-weight:750;transition:.2s}
    .btn-primary{background:var(--coral);color:#fff}.btn-primary:hover{background:var(--coral-deep);box-shadow:0 8px 18px rgba(235,104,79,.25)}
    .btn-secondary{border-color:#756c79;color:#fff}.btn-secondary:hover{border-color:var(--lime);color:var(--lime)}
    .btn:focus-visible,.nav-link:focus-visible,.faq-question:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
    .preview-board{position:relative;padding:15px;background:#393440;border:1px solid #57505d;border-radius:8px;box-shadow:var(--shadow)}
    .preview-top{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 13px;color:#bdb6c3;font-size:12px}
    .live-dot{display:inline-flex;align-items:center;gap:6px}.live-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime)}
    .thumb-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr;grid-template-rows:120px 120px;gap:8px}
    .thumb{position:relative;overflow:hidden;border-radius:5px;background:#655b68}
    .thumb:first-child{grid-row:span 2}
    .thumb svg{width:100%;height:100%;object-fit:cover}
    .thumb-label{position:absolute;left:9px;bottom:8px;color:#fff;font-size:12px;text-shadow:0 1px 4px #000}
    .board-foot{display:flex;gap:8px;margin-top:11px;overflow:hidden}.board-tag{padding:3px 9px;border:1px solid #686170;color:#d6d0d8;border-radius:4px;font-size:12px;white-space:nowrap}
    section{padding:88px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
    .section-head h2{font-size:34px;font-weight:850}.section-head p{max-width:530px;margin:0;color:var(--ink-soft)}
    .signal-band{background:#fffaf2;border-bottom:1px solid var(--line)}
    .signal-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}
    .signal{padding:20px 22px;border-right:1px solid var(--line)}.signal-number{color:var(--coral);font-weight:850;font-size:14px}.signal h3{font-size:18px;margin:8px 0 4px}.signal p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.65}
    .solution{background:var(--panel)}
    .solution-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}
    .index-panel,.filter-stack{border:1px solid var(--line);border-radius:var(--radius);background:#fff}
    .index-panel{padding:25px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-title h3{font-size:21px}.status{color:#668024;background:#edf5cf;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:700}
    .search-box{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#faf8f4}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.search-box input::placeholder{color:#9a939d}
    .topic-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}.topic{padding:6px 10px;border:1px solid var(--line);border-radius:5px;font-size:13px;color:var(--ink-soft);transition:.2s}.topic:hover,.topic.selected{border-color:var(--coral);color:var(--coral);background:#fff5f2}
    .index-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.index-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.index-list li:last-child{border-bottom:0}.item-main{display:flex;align-items:center;gap:12px}.mini-cover{width:68px;height:46px;object-fit:cover;border-radius:4px}.item-title{font-weight:700;font-size:14px}.item-meta{color:var(--ink-soft);font-size:12px}.arrow{color:var(--coral);font-size:20px}
    .filter-stack{padding:23px}.filter-stack h3{font-size:19px;margin-bottom:16px}.filter-item{padding:14px 0;border-top:1px solid var(--line)}.filter-item:first-of-type{border-top:0}.filter-label{display:flex;justify-content:space-between;color:var(--ink-soft);font-size:13px}.filter-value{font-weight:750;margin-top:3px}
    .metrics{background:var(--lavender)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric{padding:24px;background:var(--panel);border-left:4px solid var(--coral);border-radius:6px}.metric strong{display:block;font-size:37px;line-height:1.15}.metric span{color:var(--ink-soft);font-size:14px}.bar{height:7px;background:#ded8e2;border-radius:2px;margin-top:16px;overflow:hidden}.bar i{display:block;height:100%;background:var(--coral)}
    .feature{background:var(--paper)}.feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.feature-main,.content-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.feature-main{display:grid;grid-template-columns:.9fr 1.1fr}.feature-cover{min-height:265px;background:#5e4d58}.feature-cover svg{width:100%;height:100%;object-fit:cover}.feature-info{padding:25px}.tag{display:inline-block;padding:4px 8px;background:var(--lime);color:#3e4a18;border-radius:4px;font-size:12px;font-weight:800}.feature-info h3{font-size:25px;margin:15px 0 10px}.feature-info p{margin:0 0 20px;color:var(--ink-soft);font-size:14px}.content-list{display:grid;gap:10px}.content-row{display:flex;align-items:center;gap:14px;padding:13px}.row-cover{width:92px;height:65px;flex:0 0 auto;overflow:hidden;border-radius:4px;background:#72636d}.row-cover svg{width:100%;height:100%;object-fit:cover}.row-copy{min-width:0;flex:1}.row-copy h3{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-copy p{margin:3px 0 0;color:var(--ink-soft);font-size:12px}.row-time{color:#958e98;font-size:12px;white-space:nowrap}
    .reviews{background:var(--dark);color:#fff}.reviews .section-head p{color:#c9c4cd}.review-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.quote{font-size:25px;line-height:1.65;font-weight:700}.quote-mark{color:var(--coral);font-size:48px;line-height:.6}.review-list{display:grid;gap:12px}.review{padding:18px 20px;border:1px solid #514b58;border-radius:6px;background:#332f39}.review p{margin:0;color:#d8d2da;font-size:14px}.review strong{display:block;margin-top:9px;color:var(--lime);font-size:13px}
    .faq{background:var(--panel)}.faq-list{max-width:850px;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 2px;border:0;background:none;text-align:left;font-weight:800;color:var(--ink)}.faq-icon{font-size:23px;color:var(--coral);transition:.25s}.faq-answer{max-height:0;overflow:hidden;color:var(--ink-soft);transition:max-height .3s ease}.faq-answer p{margin:0 0 20px;padding-right:45px}.faq-item.open .faq-answer{max-height:160px}.faq-item.open .faq-icon{transform:rotate(45deg)}
    .cta{padding:54px 0;background:#eee8dc}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:32px}.cta p{margin:9px 0 0;color:var(--ink-soft)}
    footer{padding:48px 0 26px;background:var(--dark);color:#d8d2da}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px;padding-bottom:35px;border-bottom:1px solid #514b58}.footer-brand{color:#fff;font-weight:850;font-size:18px}.footer-copy{max-width:320px;margin:12px 0 0;color:#aaa2ad;font-size:14px}.footer-title{margin:0 0 11px;color:#fff;font-size:14px}.footer-links{display:grid;gap:7px;color:#aaa2ad;font-size:14px}.footer-links a:hover{color:var(--lime)}.copyright{display:flex;justify-content:space-between;gap:15px;padding-top:22px;color:#918996;font-size:12px}
    @media(max-width:1024px){.hero-grid{gap:30px}.signal-grid{grid-template-columns:repeat(2,1fr)}.signal:nth-child(-n+2){border-bottom:1px solid var(--line)}.solution-grid,.feature-grid,.review-layout{grid-template-columns:1fr}}
    @media(max-width:768px){.container{width:min(var(--max),calc(100% - 40px))}.dock-wrap{top:10px}.dock{width:calc(100% - 24px);padding:8px 9px 8px 12px}.brand{font-size:13px}.nav-links{overflow:auto;white-space:nowrap;scrollbar-width:none}.nav-link{padding:6px 9px;font-size:12px}.nav-cta{padding:8px 10px;font-size:12px}.hero{padding:112px 0 48px}.hero-grid{grid-template-columns:1fr}.hero-copy{font-size:15px}.thumb-grid{grid-template-rows:100px 100px}.section-head{display:block}.section-head h2{font-size:29px;margin-bottom:12px}section{padding:62px 0}.feature-main{grid-template-columns:1fr}.feature-cover{min-height:190px}.cta-inner{display:block}.cta .actions{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}.copyright{display:block}.copyright span{display:block;margin-top:6px}}
    @media(max-width:520px){.container{width:calc(100% - 32px)}.brand-mark{width:27px;height:27px}.brand-text{max-width:106px;overflow:hidden;text-overflow:ellipsis}.nav-links{margin-left:2px}.nav-cta{display:none}.signal-grid,.metric-grid{grid-template-columns:1fr}.signal:nth-child(3){border-bottom:1px solid var(--line)}.signal{padding:17px}.preview-board{padding:9px}.thumb-grid{gap:5px;grid-template-rows:82px 82px}.feature-info{padding:19px}.feature-info h3{font-size:21px}.row-cover{width:76px;height:55px}.row-time{display:none}.footer-grid{grid-template-columns:1fr}.quote{font-size:21px}}

/* roulang page: category2 */
:root{
      --ink:#211f2a;
      --ink-soft:#5f5a68;
      --paper:#f6f4f0;
      --panel:#fffdfa;
      --line:#dfd9d0;
      --dark:#292631;
      --coral:#eb684f;
      --coral-deep:#c94e3a;
      --lime:#c6dc72;
      --amber:#e5a84d;
      --lavender:#e8e2f0;
      --success:#8aa84b;
      --shadow:0 14px 36px rgba(40,32,38,.09);
      --radius:8px;
      --max:1220px;
    }
    html{scroll-behavior:smooth}
    *{box-sizing:border-box}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75}
    a{color:inherit;text-decoration:none}
    img,svg{display:block;max-width:100%}
    button,input,select{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--max),calc(100% - 64px));margin:0 auto}
    .dock-wrap{position:absolute;z-index:10;top:24px;left:0;width:100%;padding:0 24px}
    .dock{width:min(1040px,100%);margin:auto;display:flex;align-items:center;gap:22px;padding:10px 12px 10px 16px;background:var(--dark);border:1px solid #4b4551;border-radius:12px;box-shadow:0 16px 35px rgba(26,22,29,.22)}
    .brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:15px;font-weight:800;white-space:nowrap}
    .brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:var(--coral);color:#fff;font-size:14px}
    .nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}
    .nav-link{padding:7px 13px;color:#c9c4cd;border-radius:7px;font-size:14px;transition:.2s}
    .nav-link:hover,.nav-link.active{color:#fff;background:#46404c}
    .nav-link.active{box-shadow:inset 0 -2px var(--coral)}
    .nav-cta{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;background:var(--coral);color:#fff;border-radius:7px;font-size:14px;font-weight:700;transition:.2s}
    .nav-cta:hover{background:var(--coral-deep);box-shadow:0 5px 14px rgba(235,104,79,.25)}
    .nav-link:focus-visible,.nav-cta:focus-visible,.brand:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,.faq-question:focus-visible,.icon-button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
    .page-hero{padding:150px 0 70px;background:var(--dark);color:#fff}
    .page-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:end}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:13px;font-weight:800}
    .eyebrow:before{content:"";width:8px;height:8px;background:var(--coral);border-radius:50%}
    h1,h2,h3,p{margin-top:0}
    h1{margin:20px 0 18px;font-size:clamp(38px,5vw,66px);line-height:1.18;letter-spacing:0;font-weight:850}
    .hero-copy{max-width:590px;margin:0;color:#d7d2da;font-size:17px;line-height:1.9}
    .hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border:1px solid transparent;border-radius:7px;font-weight:750;transition:.2s}
    .btn-primary{background:var(--coral);color:#fff}
    .btn-primary:hover{background:var(--coral-deep);box-shadow:0 8px 18px rgba(235,104,79,.25)}
    .btn-secondary{border-color:#756c79;color:#fff}
    .btn-secondary:hover{border-color:var(--lime);color:var(--lime)}
    .status-board{border:1px solid #57505c;border-radius:8px;padding:22px;background:#312d37}
    .board-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:#d8d2da;font-size:13px}
    .live-dot{display:inline-flex;align-items:center;gap:7px;color:var(--lime)}
    .live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime)}
    .update-track{display:grid;gap:14px}
    .track-row{display:grid;grid-template-columns:92px 1fr 44px;gap:12px;align-items:center;color:#bbb4c0;font-size:12px}
    .track-bar{height:8px;background:#504955;border-radius:4px;overflow:hidden}
    .track-bar span{display:block;height:100%;background:var(--coral);border-radius:4px}
    .track-row:nth-child(2) .track-bar span{background:var(--lime)}
    .track-row:nth-child(3) .track-bar span{background:var(--amber)}
    .track-row b{font-weight:700;color:#fff;text-align:right}
    section{padding:84px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
    .section-head h2{margin:10px 0 0;font-size:34px;line-height:1.3;font-weight:850}
    .section-head p{max-width:520px;margin:0;color:var(--ink-soft)}
    .tool-strip{display:flex;align-items:center;gap:12px;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin-bottom:30px}
    .search-box{display:flex;align-items:center;gap:10px;flex:1;min-width:180px;padding:10px 13px;border:1px solid var(--line);border-radius:6px;background:#faf8f4}
    .search-box:focus-within{border-color:var(--coral);box-shadow:0 0 0 3px rgba(235,104,79,.12)}
    .search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}
    .search-box input::placeholder{color:#9a939d}
    select{min-height:43px;padding:8px 35px 8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);outline:0}
    select:hover{border-color:var(--coral)}
    .filter-tag{padding:8px 12px;border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);font-size:13px;white-space:nowrap;transition:.2s}
    .filter-tag:hover,.filter-tag.active{border-color:var(--coral);color:var(--coral-deep);background:#fff2ed}
    .update-layout{display:grid;grid-template-columns:270px 1fr;gap:34px;align-items:start}
    .side-index{padding:22px;background:#eee8dc;border-top:3px solid var(--coral)}
    .side-index h3{margin-bottom:16px;font-size:19px}
    .side-index ul{list-style:none;padding:0;margin:0}
    .side-index li{border-top:1px solid #d8d0c4}
    .side-index a{display:flex;justify-content:space-between;gap:10px;padding:12px 0;color:var(--ink-soft);font-size:14px;transition:.2s}
    .side-index a:hover,.side-index a.active{color:var(--coral-deep);padding-left:5px}
    .side-index small{color:#9b9187}
    .content-list{display:grid;gap:12px}
    .content-row{display:flex;align-items:center;gap:17px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:7px;transition:.2s}
    .content-row:hover{border-color:#c9b9ad;box-shadow:0 8px 20px rgba(40,32,38,.07);transform:translateY(-2px)}
    .row-cover{position:relative;width:142px;height:92px;flex:0 0 auto;overflow:hidden;border-radius:5px;background:#655462}
    .row-cover svg{width:100%;height:100%}
    .cover-label{position:absolute;left:8px;bottom:7px;padding:2px 6px;background:rgba(33,31,42,.82);color:#fff;font-size:11px;border-radius:3px}
    .row-copy{min-width:0;flex:1}
    .tag{display:inline-block;padding:3px 8px;background:var(--lime);color:#3e4a18;border-radius:4px;font-size:12px;font-weight:800}
    .row-copy h3{margin:8px 0 3px;font-size:17px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .row-copy p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.6}
    .row-time{align-self:flex-start;color:#958e98;font-size:12px;white-space:nowrap;padding-top:4px}
    .icon-button{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line);border-radius:5px;color:var(--coral);background:transparent;font-size:19px;transition:.2s}
    .icon-button:hover{background:var(--coral);color:#fff;border-color:var(--coral)}
    .load-more{display:flex;justify-content:center;margin-top:28px}
    .btn-outline{border:1px solid #b9afa5;color:var(--ink);background:transparent}
    .btn-outline:hover{border-color:var(--coral);color:var(--coral-deep);background:#fff8f4}
    .signal-band{background:var(--lavender)}
    .signal-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #cfc7d7}
    .signal-item{padding:8px 22px 8px;border-right:1px solid #cfc7d7}
    .signal-number{font-size:29px;font-weight:850;line-height:1.2}
    .signal-item p{margin:7px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.6}
    .faq-list{max-width:860px;border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 2px;border:0;background:none;text-align:left;font-weight:800;color:var(--ink)}
    .faq-icon{font-size:23px;color:var(--coral);transition:.25s}
    .faq-answer{max-height:0;overflow:hidden;color:var(--ink-soft);transition:max-height .3s ease}
    .faq-answer p{margin:0 0 20px;padding-right:45px}
    .faq-item.open .faq-answer{max-height:150px}
    .faq-item.open .faq-icon{transform:rotate(45deg)}
    .cta{padding:54px 0;background:#eee8dc}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
    .cta h2{margin:0;font-size:32px;line-height:1.35}
    .cta p{margin:9px 0 0;color:var(--ink-soft)}
    footer{padding:48px 0 26px;background:var(--dark);color:#d8d2da}
    .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px;padding-bottom:35px;border-bottom:1px solid #514b58}
    .footer-brand{color:#fff;font-size:20px;font-weight:850}
    .footer-copy{max-width:340px;margin:12px 0 0;color:#aaa3ae;font-size:13px;line-height:1.8}
    .footer-title{margin:0 0 13px;color:#fff;font-size:14px}
    .footer-links{display:grid;gap:8px}
    .footer-links a{color:#aaa3ae;font-size:13px;transition:.2s}
    .footer-links a:hover{color:var(--lime)}
    .copyright{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:#8f8793;font-size:12px;flex-wrap:wrap}
    @media (max-width:900px){
      .container{width:min(var(--max),calc(100% - 40px))}
      .page-hero-grid,.update-layout{grid-template-columns:1fr}
      .page-hero{padding-top:130px}
      .side-index{display:none}
      .signal-grid{grid-template-columns:repeat(2,1fr);gap:20px;border:0}
      .signal-item{border-right:0;border-left:1px solid #cfc7d7;padding-left:18px}
    }
    @media (max-width:640px){
      .container{width:calc(100% - 32px)}
      .dock-wrap{top:12px;padding:0 12px}
      .dock{gap:8px;padding:8px 9px 8px 11px;overflow:hidden}
      .brand-text{max-width:92px;overflow:hidden;text-overflow:ellipsis}
      .nav-links{overflow-x:auto;flex:1;scrollbar-width:none}
      .nav-links::-webkit-scrollbar{display:none}
      .nav-link{padding:7px 9px;font-size:12px;white-space:nowrap}
      .nav-cta{padding:9px 10px;font-size:12px;white-space:nowrap}
      .page-hero{padding:112px 0 52px}
      h1{font-size:40px}
      section{padding:62px 0}
      .section-head{display:block;margin-bottom:24px}
      .section-head h2{font-size:28px;margin-bottom:10px}
      .tool-strip{align-items:stretch;flex-direction:column}
      .tool-strip select,.filter-tag{width:100%}
      .content-row{align-items:flex-start;flex-wrap:wrap}
      .row-cover{width:112px;height:76px}
      .row-copy{width:calc(100% - 130px)}
      .row-copy h3{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
      .row-time{order:3;margin-left:129px;margin-top:-20px}
      .icon-button{margin-left:auto}
      .signal-grid{grid-template-columns:1fr 1fr;gap:16px}
      .signal-item{padding:0 10px}
      .signal-number{font-size:24px}
      .cta-inner{display:block}
      .cta .btn{margin-top:22px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:25px}
      .footer-grid>div:first-child{grid-column:1/-1}
      .copyright{display:block}
      .copyright span{display:block;margin-top:5px}
    }

/* roulang page: category1 */
:root{
      --ink:#211f2a;--ink-soft:#5f5a68;--paper:#f6f4f0;--panel:#fffdfa;--line:#dfd9d0;
      --dark:#292631;--coral:#eb684f;--coral-deep:#c94e3a;--lime:#c6dc72;--amber:#e5a84d;
      --lavender:#e8e2f0;--shadow:0 14px 36px rgba(40,32,38,.09);--radius:8px;--max:1220px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75}
    a{color:inherit;text-decoration:none}
    img,svg{display:block;max-width:100%}
    button,input,select{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--max),calc(100% - 64px));margin:0 auto}
    .dock-wrap{position:absolute;z-index:10;top:22px;left:0;right:0}
    .dock{width:min(1080px,calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:22px;padding:9px 11px 9px 16px;border:1px solid #4d4755;border-radius:10px;background:var(--dark);box-shadow:0 12px 30px rgba(24,20,29,.2)}
    .brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:15px;font-weight:800;white-space:nowrap}
    .brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:var(--coral);color:#fff;font-size:14px}
    .nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}
    .nav-link{padding:7px 13px;color:#c9c4cd;border-radius:7px;font-size:14px;transition:.2s}
    .nav-link:hover,.nav-link.active{color:#fff;background:#46404c}
    .nav-link.active{box-shadow:inset 0 -2px var(--coral)}
    .nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:7px;font-weight:750;transition:.2s}
    .nav-cta{padding:9px 15px;background:var(--coral);color:#fff;font-size:14px}
    .nav-cta:hover,.btn-primary:hover{background:var(--coral-deep);box-shadow:0 8px 18px rgba(235,104,79,.25)}
    .hero{padding:150px 0 74px;background:var(--dark);color:#fff}
    .hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:13px;font-weight:800}
    .eyebrow:before{content:"";width:8px;height:8px;background:var(--coral);border-radius:50%}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(38px,5vw,64px);line-height:1.18;letter-spacing:0;font-weight:850}
    .hero-copy{max-width:570px;margin:22px 0 30px;color:#d7d2da;font-size:17px;line-height:1.9}
    .btn{padding:10px 18px;border:1px solid transparent}
    .btn-primary{background:var(--coral);color:#fff}
    .btn-secondary{border-color:#756c79;color:#fff}
    .btn-secondary:hover{border-color:var(--lime);color:var(--lime)}
    .btn:focus-visible,.nav-link:focus-visible,.faq-question:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
    .preview-board{padding:15px;border:1px solid #514b58;border-radius:8px;background:#332e39}
    .board-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:#bbb4c2;font-size:12px}
    .board-status{color:var(--lime)}
    .thumb-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr;grid-template-rows:122px 122px;gap:8px}
    .thumb{position:relative;overflow:hidden;border-radius:5px;background:#70535a}
    .thumb svg{width:100%;height:100%;object-fit:cover}
    .thumb:first-child{grid-row:span 2}
    .thumb-label{position:absolute;left:9px;bottom:8px;padding:3px 8px;border-radius:4px;background:rgba(33,31,42,.78);color:#fff;font-size:11px}
    section{padding:86px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}
    .section-head h2{margin:8px 0 0;font-size:34px;line-height:1.3;font-weight:850}
    .section-head p{max-width:540px;margin:0;color:var(--ink-soft)}
    .tool-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
    .panel{padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
    .panel-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}
    .panel-title h3{margin:0;font-size:21px}
    .search-box{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#faf8f4}
    .search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}
    .search-box input::placeholder{color:#9a939d}
    .topic-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}
    .tag{display:inline-block;padding:4px 9px;background:var(--lime);color:#3e4a18;border-radius:4px;font-size:12px;font-weight:800}
    .tag-muted{background:var(--lavender);color:#5d5268}
    .index-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
    .index-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
    .item-main{display:flex;align-items:center;gap:12px;min-width:0}
    .item-dot{width:9px;height:9px;flex:0 0 auto;border-radius:2px;background:var(--coral)}
    .item-title{font-weight:700;font-size:14px}
    .item-meta{color:var(--ink-soft);font-size:12px}
    .arrow{color:var(--coral);font-size:20px}
    .filter-item{padding:15px 0;border-top:1px solid var(--line)}
    .filter-item:first-of-type{border-top:0}
    .filter-label{display:block;margin-bottom:7px;color:var(--ink-soft);font-size:13px;font-weight:700}
    select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#faf8f4;color:var(--ink)}
    .signal-band{background:#eee8dc}
    .signal-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}
    .signal{padding:8px 25px;border-right:1px solid var(--line)}
    .signal-number{display:block;color:var(--coral-deep);font-size:30px;font-weight:850;line-height:1.2}
    .signal strong{display:block;margin:9px 0 4px;font-size:16px}
    .signal p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.65}
    .content-section{background:var(--paper)}
    .feature-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
    .feature-main{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
    .cover{min-height:290px;background:#5e4d58}
    .cover svg{width:100%;height:100%;object-fit:cover}
    .feature-info{padding:27px}
    .feature-info h3{margin:15px 0 10px;font-size:25px;line-height:1.4}
    .feature-info p{margin-bottom:20px;color:var(--ink-soft);font-size:14px}
    .content-list{display:grid;gap:10px}
    .content-row{display:flex;align-items:center;gap:14px;padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:.2s}
    .content-row:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#c6bbb0}
    .row-cover{width:92px;height:65px;flex:0 0 auto;overflow:hidden;border-radius:4px;background:#72636d}
    .row-cover svg{width:100%;height:100%;object-fit:cover}
    .row-copy{min-width:0;flex:1}
    .row-copy h3{margin:5px 0 0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .row-copy p{margin:3px 0 0;color:var(--ink-soft);font-size:12px}
    .row-time{color:#958e98;font-size:12px;white-space:nowrap}
    .faq{background:var(--panel)}
    .faq-list{max-width:860px;border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 2px;border:0;background:none;text-align:left;font-weight:800;color:var(--ink)}
    .faq-icon{color:var(--coral);font-size:23px;transition:.25s}
    .faq-answer{max-height:0;overflow:hidden;color:var(--ink-soft);transition:max-height .3s ease}
    .faq-answer p{margin:0;padding:0 45px 20px 2px}
    .faq-item.open .faq-answer{max-height:180px}
    .faq-item.open .faq-icon{transform:rotate(45deg)}
    .cta{padding:54px 0;background:#eee8dc}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
    .cta h2{margin:0;font-size:32px;line-height:1.35}
    .cta p{margin:9px 0 0;color:var(--ink-soft)}
    footer{padding:48px 0 26px;background:var(--dark);color:#d8d2da}
    .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px;padding-bottom:35px;border-bottom:1px solid #514b58}
    .footer-brand{color:#fff;font-size:18px;font-weight:850}
    .footer-copy{max-width:320px;margin:12px 0 0;color:#aaa3b0;font-size:13px}
    .footer-title{margin:0 0 12px;color:#fff;font-size:14px}
    .footer-links{display:grid;gap:7px;color:#aaa3b0;font-size:13px}
    .footer-links a:hover{color:var(--lime)}
    .copyright{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:#8f8895;font-size:12px}
    @media(max-width:1024px){.hero-grid,.tool-layout,.feature-layout{grid-template-columns:1fr}.hero{padding-top:135px}.signal-grid{grid-template-columns:repeat(2,1fr);gap:26px}.signal{border-right:0}.feature-main{max-width:900px}}
    @media(max-width:768px){.container{width:min(var(--max),calc(100% - 40px))}.dock{width:calc(100% - 32px);gap:10px;padding-left:12px}.nav-links{overflow-x:auto;scrollbar-width:none}.nav-link{padding:7px 9px;white-space:nowrap}.nav-cta{padding:9px 11px;white-space:nowrap}.brand-text{display:none}.hero{padding:126px 0 58px}.hero-copy{font-size:16px}.thumb-grid{grid-template-rows:100px 100px}.section-head{display:block}.section-head p{margin-top:12px}.feature-main{grid-template-columns:1fr}.cover{min-height:210px}.cta-inner{display:block}.cta .btn{margin-top:22px}}
    @media(max-width:520px){h1{font-size:39px}.container{width:calc(100% - 32px)}section{padding:64px 0}.dock-wrap{top:12px}.dock{width:calc(100% - 20px)}.nav-links{display:none}.nav-cta{margin-left:auto}.thumb-grid{grid-template-columns:1fr 1fr;grid-template-rows:116px 116px}.thumb:first-child{grid-row:span 1}.thumb:first-child{grid-column:span 2}.signal-grid{grid-template-columns:1fr 1fr;gap:18px}.signal{padding:0 12px}.signal-grid{border-left:0}.content-row{align-items:flex-start}.row-time{display:none}.row-cover{width:82px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:span 2}.copyright{display:block}.copyright span{display:block;margin-top:4px}}
