/* roulang page: index */
:root{
  --ink:#282331;
  --muted:#716b7d;
  --soft:#f7f4fa;
  --panel:#fff;
  --line:#e8e1ee;
  --purple:#7548c7;
  --purple-deep:#4d2d87;
  --pink:#c94e83;
  --coral:#ed805f;
  --green:#55ad8a;
  --shadow:0 18px 45px rgba(74,43,112,.10);
  --shadow-sm:0 8px 22px rgba(67,38,98,.08);
  --radius:20px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--soft);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - 40px));margin:auto}
.site-header{background:#fff;border-bottom:1px solid rgba(111,74,150,.12);position:sticky;top:0;z-index:20}
.navbar{height:76px;display:flex;align-items:center;gap:26px}
.logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
.logo-mark{width:38px;height:38px;border-radius:12px;background:var(--purple);display:grid;place-items:center;color:#fff;position:relative;box-shadow:5px 6px 0 #e7d9f5}
.logo-mark:before{content:"";width:17px;height:12px;border:2px solid #fff;border-radius:5px}
.logo-mark:after{content:"• •";position:absolute;font-size:12px;letter-spacing:3px;top:7px;left:10px;color:#fff}
.logo-text{font-size:16px;color:var(--purple-deep)}
.nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
.nav-links a{padding:9px 12px;border-radius:10px;font-size:14px;color:#60586c;transition:.2s}
.nav-links a:hover,.nav-links a.active{color:var(--purple);background:#f2eafb}
.nav-links a.download-nav{background:var(--purple);color:#fff;padding:10px 17px;margin-left:7px;box-shadow:0 7px 16px rgba(117,72,199,.22)}
.nav-links a.download-nav:hover{background:var(--purple-deep);transform:translateY(-1px)}
.menu-toggle{display:none;border:0;background:#f1eafa;color:var(--purple);width:42px;height:42px;border-radius:11px}
.hero{padding:78px 0 62px;overflow:hidden;background:linear-gradient(135deg,#fbf9fd 0%,#f4edfb 58%,#fff5f0 100%)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:13px;font-weight:700;letter-spacing:.5px}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);display:inline-block}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(34px,4.2vw,58px);line-height:1.18;letter-spacing:-2px;margin:18px 0 22px;max-width:680px}
h1 em{font-style:normal;color:var(--purple)}
.hero-copy{font-size:17px;color:var(--muted);max-width:620px;margin-bottom:30px}
.actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 21px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn:focus,.nav-links a:focus,.faq-question:focus{outline:3px solid #cdb7ec;outline-offset:2px}
.btn-primary{background:var(--purple);color:#fff}
.btn-primary:hover{background:var(--purple-deep)}
.btn-light{background:#fff;color:var(--purple);border-color:#ddd0eb}
.btn-coral{background:var(--coral);color:#fff}
.hero-note{font-size:12px;color:#8a8193;margin:15px 0 0}
.hero-visual{min-height:360px;position:relative;display:grid;place-items:center}
.window-card{background:#fff;border:1px solid #e5d9ee;border-radius:24px;width:min(430px,100%);padding:18px;box-shadow:var(--shadow);transform:rotate(2deg);position:relative;z-index:2}
.window-top{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:2px 0 14px}
.window-top b{width:8px;height:8px;border-radius:50%;background:#ed806c}
.window-top b:nth-child(2){background:#e5b85d}.window-top b:nth-child(3){background:#69b18b}
.screen{margin-top:18px;background:#211936;border-radius:16px;padding:24px;color:#fff;min-height:220px;position:relative;overflow:hidden}
.screen:after{content:"";position:absolute;width:180px;height:180px;border:28px solid rgba(197,113,226,.18);border-radius:50%;right:-34px;top:-45px}
.screen-label{font-size:12px;color:#d8c8ee}
.screen h3{font-size:25px;margin:10px 0 22px}
.screen-row{display:flex;gap:10px}.screen-chip{background:#392657;border-radius:10px;padding:10px 12px;font-size:12px;flex:1}
.screen-chip strong{display:block;color:#ffad83;font-size:18px}
.float-tag{position:absolute;right:0;top:35px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 17px;box-shadow:var(--shadow-sm);font-size:13px;color:var(--muted);z-index:3}
.float-tag strong{display:block;color:var(--purple);font-size:19px}
.float-tag.bottom{left:5px;right:auto;top:auto;bottom:33px}
.section{padding:82px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
.section-head h2{font-size:31px;line-height:1.25;letter-spacing:-1px;margin-bottom:8px}
.section-head p{color:var(--muted);margin:0;max-width:580px}
.kicker{color:var(--coral);font-size:12px;font-weight:800;letter-spacing:1px}
.entry-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.entry{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:27px;min-height:170px;position:relative;transition:.2s}
.entry:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#cbb3e7}
.entry.large{background:var(--purple-deep);color:#fff;grid-row:span 2;min-height:360px;display:flex;flex-direction:column;justify-content:end;overflow:hidden}
.entry.large:before{content:"";position:absolute;width:260px;height:260px;border:42px solid rgba(255,255,255,.08);border-radius:50%;right:-70px;top:-55px}
.entry small{color:var(--coral);font-weight:800;font-size:13px}.entry.large small{color:#ffb18b}
.entry h3{font-size:21px;margin:12px 0 8px}.entry p{color:var(--muted);font-size:14px;margin-bottom:18px}.entry.large p{color:#ddd0ed}
.arrow{color:var(--purple);font-weight:700;font-size:13px}.entry.large .arrow{color:#fff}
.download-section{background:#251a38;color:#fff}
.download-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:62px;align-items:center}
.download-copy h2{font-size:35px;line-height:1.25;margin:10px 0 16px}
.download-copy p{color:#d7cbe2;max-width:500px}
.device-stage{height:350px;display:grid;place-items:center;position:relative}
.device{width:190px;height:330px;background:#14101e;border:7px solid #5d4a74;border-radius:30px;padding:10px;box-shadow:18px 20px 0 rgba(0,0,0,.15);transform:rotate(-7deg)}
.device-screen{height:100%;border-radius:19px;background:linear-gradient(145deg,#6b3db0,#d45b83);padding:24px 14px;color:#fff;display:flex;flex-direction:column;justify-content:end}
.device-screen b{font-size:21px}.device-screen span{font-size:11px;color:#f5dceb}
.download-info{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:25px 0}
.info-box{border:1px solid #514167;border-radius:12px;padding:11px 13px;color:#cfc0db;font-size:12px}.info-box strong{display:block;color:#fff;font-size:14px;margin-top:3px}
.qr-box{position:absolute;right:10%;top:28px;width:105px;height:105px;background:#fff;border-radius:12px;padding:9px;color:#38214f;text-align:center;font-size:11px}.qr-pattern{height:65px;background:repeating-linear-gradient(45deg,#33223e 0 4px,#fff 4px 8px);margin-bottom:5px}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.step{padding:25px 20px 10px;border-right:1px solid var(--line);position:relative}.step:last-child{border:0}
.step-num{width:31px;height:31px;border-radius:50%;background:#f0e6fa;color:var(--purple);display:grid;place-items:center;font-weight:800;margin-bottom:15px}
.step h3{font-size:17px;margin-bottom:6px}.step p{font-size:13px;color:var(--muted);margin:0}
.news-layout{display:grid;grid-template-columns:1fr 300px;gap:28px}
.news-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px 25px}
.news-item{display:grid;grid-template-columns:86px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.news-item:last-child{border:0}.news-date{font-size:12px;color:var(--purple);font-weight:700}.news-item h3{font-size:17px;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-item p{font-size:13px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{display:inline-block;padding:3px 9px;background:#f3eafb;color:var(--purple);border-radius:20px;font-size:11px;margin-bottom:7px}
.news-link{font-size:13px;color:var(--purple);font-weight:700;white-space:nowrap}
.side-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px}
.side-panel h3{font-size:20px;margin-bottom:15px}.guide-list{list-style:none;margin:0;padding:0}.guide-list li{border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.guide-list li:last-child{border:0}.guide-list a:hover{color:var(--purple)}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.faq-intro p{color:var(--muted)}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#fff;padding:18px 20px;text-align:left;font-weight:700;color:var(--ink)}
.faq-question span{color:var(--purple);font-size:21px}.faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
.cta{padding:52px 0;background:#efe5f8}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:28px;margin:0 0 6px}.cta p{color:var(--muted);margin:0}
.site-footer{background:#211831;color:#ded3e7;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:36px}.footer-logo{color:#fff;font-size:17px}.footer-text{color:#a99bb7;font-size:13px;max-width:350px;margin-top:14px}.footer-title{font-weight:700;color:#fff;margin-bottom:13px}.footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:#b9a9c8}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #3b2d4d;padding-top:18px;color:#9e8daa;font-size:12px;display:flex;justify-content:space-between;gap:15px}
.empty-state{padding:38px 10px;text-align:center;color:var(--muted)}
@media(max-width:1024px){.nav-links a{padding:8px 7px;font-size:13px}.hero-grid{gap:35px}.container{width:min(var(--container),calc(100% - 32px))}}
@media(max-width:768px){
 .navbar{height:68px}.menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:12px 20px 18px;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{display:block}.nav-links a.download-nav{margin:5px 0 0;text-align:center}
 .hero{padding:55px 0 45px}.hero-grid,.download-layout,.faq-grid,.news-layout{grid-template-columns:1fr}.hero-visual{min-height:330px}.entry-grid{grid-template-columns:1fr}.entry.large{grid-row:auto;min-height:260px}.process{grid-template-columns:repeat(2,1fr)}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}.news-item{grid-template-columns:70px 1fr}.news-link{grid-column:2}.section{padding:60px 0}.section-head{display:block}.section-head p{margin-top:10px}.download-layout{gap:20px}.device-stage{order:-1}.qr-box{right:4%}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:520px){
 .container{width:calc(100% - 28px)}.logo-text{font-size:13px;white-space:normal;line-height:1.25;max-width:180px}.logo-mark{width:34px;height:34px}.hero h1{font-size:34px;letter-spacing:-1.2px}.hero-copy{font-size:15px}.actions .btn{width:100%}.window-card{transform:none}.float-tag{right:-3px;top:13px}.float-tag.bottom{left:-4px;bottom:15px}.section-head h2,.download-copy h2{font-size:27px}.process{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)!important;padding:20px 5px}.step:last-child{border-bottom:0!important}.news-list{padding:5px 16px}.news-item{gap:11px;padding:18px 0}.news-item h3{font-size:15px}.news-item p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.download-info{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
}

/* roulang page: article */
:root{
      --ink:#282331;
      --muted:#716b7d;
      --soft:#f7f4fa;
      --panel:#fff;
      --line:#e8e1ee;
      --purple:#7548c7;
      --purple-deep:#4d2d87;
      --pink:#c94e83;
      --coral:#ed805f;
      --green:#55ad8a;
      --shadow:0 18px 45px rgba(74,43,112,.10);
      --shadow-sm:0 8px 22px rgba(67,38,98,.08);
      --radius:20px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--soft);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:auto}
    .site-header{background:#fff;border-bottom:1px solid rgba(111,74,150,.12);position:sticky;top:0;z-index:20}
    .navbar{height:76px;display:flex;align-items:center;gap:24px}
    .logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
    .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--purple);display:grid;place-items:center;color:#fff;position:relative;box-shadow:5px 6px 0 #e7d9f5;flex:none}
    .logo-mark:before{content:"";width:17px;height:12px;border:2px solid #fff;border-radius:5px}
    .logo-mark:after{content:"• •";position:absolute;font-size:12px;letter-spacing:3px;top:7px;left:10px;color:#fff}
    .logo-text{font-size:16px;color:var(--purple-deep)}
    .nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}
    .nav-links a{padding:9px 10px;border-radius:10px;font-size:13px;color:#60586c;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--purple);background:#f2eafb}
    .nav-links a.download-nav{background:var(--purple);color:#fff;padding:10px 17px;margin-left:6px;box-shadow:0 7px 16px rgba(117,72,199,.22)}
    .nav-links a.download-nav:hover{background:var(--purple-deep);transform:translateY(-1px)}
    .menu-toggle{display:none;border:0;background:#f1eafa;color:var(--purple);width:42px;height:42px;border-radius:11px}
    .page-hero{padding:62px 0 50px;background:linear-gradient(135deg,#fbf9fd 0%,#f4edfb 58%,#fff5f0 100%);border-bottom:1px solid #eee5f5}
    .breadcrumb{display:flex;gap:9px;align-items:center;color:#8a8193;font-size:13px;margin-bottom:22px}
    .breadcrumb a{color:var(--purple)}
    .breadcrumb .slash{color:#b7adbf}
    .article-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}
    .badge{display:inline-block;padding:4px 11px;background:#f3eafb;color:var(--purple);border-radius:20px;font-size:12px;font-weight:700}
    h1{font-size:clamp(32px,4vw,52px);line-height:1.25;letter-spacing:-1.5px;max-width:900px;margin:0 0 19px;color:var(--ink)}
    .article-layout{display:grid;grid-template-columns:minmax(0,820px) 270px;gap:55px;align-items:start;padding:62px 0 78px}
    .article-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:clamp(25px,4vw,54px)}
    .article-content{font-size:16px;color:#484151;line-height:2}
    .article-content h2{font-size:28px;line-height:1.35;color:var(--ink);margin:38px 0 15px;padding-left:15px;border-left:4px solid var(--purple)}
    .article-content h3{font-size:21px;line-height:1.45;color:var(--purple-deep);margin:30px 0 10px}
    .article-content p{margin:0 0 20px}
    .article-content ul,.article-content ol{padding-left:25px;margin:12px 0 24px}
    .article-content li{padding:4px 0}
    .article-content blockquote{margin:26px 0;padding:18px 22px;background:#f7f1fb;border-left:4px solid var(--coral);border-radius:0 12px 12px 0;color:#62566e}
    .article-content table{width:100%;border-collapse:collapse;margin:25px 0;font-size:14px}
    .article-content th,.article-content td{border:1px solid var(--line);padding:11px 13px;text-align:left}
    .article-content th{background:#f5eff9;color:var(--purple-deep)}
    .article-content img{border-radius:14px;margin:25px auto;box-shadow:var(--shadow-sm)}
    .article-content a{color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:3px}
    .article-side{position:sticky;top:100px}
    .side-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:16px}
    .side-title{font-weight:800;font-size:16px;margin-bottom:12px}
    .side-links{list-style:none;padding:0;margin:0}
    .side-links li{border-bottom:1px solid var(--line);padding:10px 0;font-size:14px;color:var(--muted)}
    .side-links li:last-child{border-bottom:0}
    .side-links a:hover{color:var(--purple)}
    .side-note{font-size:13px;color:var(--muted);margin:0}
    .article-empty{text-align:center;padding:70px 20px}
    .empty-icon{width:62px;height:62px;border-radius:18px;background:#f1eafa;color:var(--purple);display:grid;place-items:center;font-size:28px;margin:0 auto 18px}
    .article-empty h2{font-size:25px;margin:0 0 10px}
    .article-empty p{color:var(--muted);margin:0 0 23px}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 21px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
    .btn:focus,.nav-links a:focus,.menu-toggle:focus{outline:3px solid #cdb7ec;outline-offset:2px}
    .btn-primary{background:var(--purple);color:#fff}
    .btn-primary:hover{background:var(--purple-deep)}
    .btn-light{background:#fff;color:var(--purple);border-color:#ddd0eb}
    .article-bottom{border-top:1px solid var(--line);margin-top:44px;padding-top:26px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
    .article-bottom a{color:var(--purple);font-weight:700;font-size:14px}
    .related{padding:0 0 82px}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}
    .section-head h2{font-size:29px;line-height:1.3;margin:0}
    .section-head p{color:var(--muted);margin:0}
    .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
    .related-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;transition:.22s}
    .related-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#d4c0eb}
    .related-card h3{font-size:17px;line-height:1.5;margin:8px 0 13px}
    .related-card p{font-size:13px;color:var(--muted);margin:0}
    .cta{padding:52px 0;background:#efe5f8}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta h2{font-size:28px;margin:0 0 6px}
    .cta p{color:var(--muted);margin:0}
    .site-footer{background:#211831;color:#ded3e7;padding:48px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:36px}
    .footer-logo{color:#fff;font-size:17px}
    .footer-text{color:#a99bb7;font-size:13px;max-width:350px;margin-top:14px}
    .footer-title{font-weight:700;color:#fff;margin-bottom:13px}
    .footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:#b9a9c8}
    .footer-links a:hover{color:#fff}
    .footer-bottom{border-top:1px solid #3b2d4d;padding-top:18px;color:#9e8daa;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:1024px){
      .nav-links{gap:0}.nav-links a{padding-left:7px;padding-right:7px}
      .article-layout{grid-template-columns:minmax(0,1fr) 230px;gap:28px}
    }
    @media(max-width:768px){
      .container{width:min(var(--container),calc(100% - 30px))}
      .navbar{height:68px}.menu-toggle{display:block;margin-left:auto}
      .nav-links{display:none;position:absolute;left:15px;right:15px;top:76px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
      .nav-links.open{display:flex}.nav-links a{padding:12px 14px}.nav-links a.download-nav{margin:5px 0 0;text-align:center}
      .page-hero{padding:42px 0 35px}
      .article-layout{display:block;padding:35px 0 55px}.article-side{position:static;margin-top:22px}
      .related-grid{grid-template-columns:1fr}.related{padding-bottom:55px}
      .cta-inner{display:block}.cta .btn{margin-top:20px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}
      .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
    }
    @media(max-width:520px){
      h1{font-size:31px}.article-card{padding:23px 19px}.article-content{font-size:15px;line-height:1.9}
      .article-content h2{font-size:23px}.article-content h3{font-size:19px}
      .article-content table{display:block;overflow-x:auto;white-space:nowrap}
      .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}
      .logo-text{font-size:14px}
    }

/* roulang page: category1 */
:root{
      --ink:#282331;--muted:#716b7d;--soft:#f7f4fa;--panel:#fff;--line:#e8e1ee;
      --purple:#7548c7;--purple-deep:#4d2d87;--pink:#c94e83;--coral:#ed805f;
      --green:#55ad8a;--shadow:0 18px 45px rgba(74,43,112,.10);--shadow-sm:0 8px 22px rgba(67,38,98,.08);
      --radius:20px;--container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--soft);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
    button,input{font:inherit}button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:auto}
    .site-header{background:#fff;border-bottom:1px solid rgba(111,74,150,.12);position:sticky;top:0;z-index:20}
    .navbar{height:76px;display:flex;align-items:center;gap:26px}
    .logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
    .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--purple);display:grid;place-items:center;color:#fff;position:relative;box-shadow:5px 6px 0 #e7d9f5}
    .logo-mark:before{content:"";width:17px;height:12px;border:2px solid #fff;border-radius:5px}
    .logo-mark:after{content:"• •";position:absolute;font-size:12px;letter-spacing:3px;top:7px;left:10px;color:#fff}
    .logo-text{font-size:16px;color:var(--purple-deep)}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-links a{padding:8px 7px;border-radius:10px;font-size:13px;color:#60586c;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--purple);background:#f2eafb}
    .nav-links a.download-nav{background:var(--purple);color:#fff;padding:10px 17px;margin-left:7px;box-shadow:0 7px 16px rgba(117,72,199,.22)}
    .nav-links a.download-nav:hover{background:var(--purple-deep);transform:translateY(-1px)}
    .menu-toggle{display:none;border:0;background:#f1eafa;color:var(--purple);width:42px;height:42px;border-radius:11px}
    .hero{padding:70px 0 64px;background:linear-gradient(135deg,#fbf9fd,#f4edfb 58%,#fff5f0);overflow:hidden}
    .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:13px;font-weight:700}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);display:inline-block}
    h1{font-size:clamp(34px,4.2vw,58px);line-height:1.18;letter-spacing:-2px;margin:16px 0 19px}
    .hero-copy{font-size:17px;color:var(--muted);max-width:610px;margin-bottom:28px}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 21px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
    .btn:focus,.nav-links a:focus,.faq-question:focus{outline:3px solid #cdb7ec;outline-offset:2px}
    .btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-deep)}
    .btn-light{background:#fff;color:var(--purple);border-color:#ddd0eb}
    .hero-note{font-size:12px;color:#8a8193;margin:14px 0 0}
    .play-board{background:#fff;border:1px solid #e5d9ee;border-radius:25px;padding:20px;box-shadow:var(--shadow);transform:rotate(1.5deg)}
    .board-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}
    .window-dots{display:flex;gap:6px}.window-dots i{width:9px;height:9px;border-radius:50%;background:#efb18f}
    .board-label{font-size:12px;color:var(--muted)}
    .screen{height:188px;border-radius:17px;background:#38234f;position:relative;overflow:hidden;padding:22px;color:#fff}
    .screen:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:25px 25px}
    .screen-content{position:relative;z-index:1}.screen-kicker{color:#ffb18e;font-size:12px}.screen h3{margin:9px 0;font-size:25px}.screen p{font-size:12px;color:#d9cbe4}
    .board-footer{display:flex;justify-content:space-between;align-items:center;padding-top:17px;font-size:13px;color:var(--muted)}
    .status{color:var(--green);font-weight:700}.section{padding:78px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
    .section-head h2{font-size:31px;line-height:1.25;letter-spacing:-1px;margin:0 0 8px}
    .section-head p{color:var(--muted);margin:0;max-width:600px}
    .intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
    .panel,.step-card,.faq-item,.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
    .panel{padding:30px}.panel h3{margin:0 0 10px;font-size:22px}.panel p{color:var(--muted);margin:0 0 18px}
    .feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 0;padding:0;list-style:none}
    .feature-list li{background:#faf7fc;border-radius:13px;padding:13px 14px;font-size:14px}
    .feature-list strong{display:block;color:var(--purple);font-size:12px;margin-bottom:3px}
    .side-note{padding:28px;background:#251a38;color:#fff;border-radius:var(--radius);position:relative;overflow:hidden}
    .side-note:after{content:"";position:absolute;width:150px;height:150px;border:26px solid rgba(255,255,255,.08);border-radius:50%;right:-50px;bottom:-55px}
    .side-note h3{font-size:23px;margin:0 0 12px}.side-note p{color:#d8cce3;font-size:14px}.side-note .badge{background:#493163;color:#ffd2bd}
    .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .step-card{padding:24px 20px;position:relative}.step-number{color:var(--coral);font-weight:800;font-size:13px;letter-spacing:1px}
    .step-card h3{font-size:18px;margin:13px 0 7px}.step-card p{font-size:14px;color:var(--muted);margin:0}
    .step-card:not(:last-child):after{content:"→";position:absolute;right:-17px;top:45%;color:var(--purple);font-size:20px;font-weight:700;z-index:2}
    .notice{margin-top:23px;padding:17px 20px;background:#fff8f3;border-left:4px solid var(--coral);border-radius:10px;color:#6e5960;font-size:14px}
    .download-band{background:#251a38;color:#fff}.download-grid{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:center}
    .download-band h2{font-size:32px;margin:0 0 12px}.download-band p{color:#d7cbe1;max-width:610px}
    .download-actions{display:flex;gap:12px;margin-top:22px}.device-box{border:1px solid #59446d;border-radius:22px;padding:24px;background:#302044;text-align:center}
    .device-box .device-icon{width:86px;height:145px;border:5px solid #cdb3e7;border-radius:17px;margin:0 auto 17px;position:relative}
    .device-box .device-icon:after{content:"";position:absolute;width:28px;height:4px;border-radius:4px;background:#cdb3e7;bottom:8px;left:24px}
    .device-box strong{display:block;font-size:18px}.device-box span{color:#bfaecb;font-size:13px}
    .content-index{display:grid;grid-template-columns:1fr 1fr;gap:15px}.info-card{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:.2s}
    .info-card:hover{transform:translateY(-3px);border-color:#cdb7e7;box-shadow:var(--shadow)}.info-card h3{font-size:17px;margin:0 0 4px}.info-card p{color:var(--muted);font-size:13px;margin:0}.arrow{color:var(--purple);font-weight:700;white-space:nowrap}
    .faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.faq-intro p{color:var(--muted)}.faq-item{margin-bottom:10px;overflow:hidden;box-shadow:none}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#fff;padding:18px 20px;text-align:left;font-weight:700;color:var(--ink)}
    .faq-question span{color:var(--purple);font-size:21px}.faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
    .cta{padding:52px 0;background:#efe5f8}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:28px;margin:0 0 6px}.cta p{color:var(--muted);margin:0}
    .site-footer{background:#211831;color:#ded3e7;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:36px}
    .footer-logo{color:#fff;font-size:17px}.footer-text{color:#a99bb7;font-size:13px;max-width:350px;margin-top:14px}.footer-title{font-weight:700;color:#fff;margin-bottom:13px}
    .footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:#b9a9c8}.footer-links a:hover{color:#fff}
    .footer-bottom{border-top:1px solid #3b2d4d;padding-top:18px;color:#9e8daa;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:1024px){.nav-links{gap:0}.nav-links a{padding:8px 5px;font-size:12px}.hero-grid{gap:35px}.section{padding:65px 0}}
    @media(max-width:768px){.container{width:min(100% - 30px,var(--container))}.navbar{height:68px}.menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;left:15px;right:15px;top:75px;background:#fff;padding:12px;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:11px 13px;font-size:14px}.nav-links a.download-nav{margin:5px 0 0;text-align:center}.hero{padding:53px 0 48px}.hero-grid,.intro-grid,.download-grid,.faq-grid{grid-template-columns:1fr;gap:28px}.hero-copy{font-size:15px}.play-board{transform:none}.steps{grid-template-columns:1fr 1fr}.step-card:not(:last-child):after{display:none}.content-index{grid-template-columns:1fr}.section-head{display:block}.section-head h2{font-size:27px}.section-head p{margin-top:10px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
    @media(max-width:480px){.container{width:calc(100% - 24px)}.logo{font-size:14px;gap:8px}.logo-mark{width:34px;height:34px}.hero h1{font-size:35px;letter-spacing:-1px}.hero .btn{width:100%;margin-bottom:9px}.feature-list,.steps{grid-template-columns:1fr}.panel{padding:23px 18px}.download-actions{display:block}.download-actions .btn{width:100%;margin-bottom:10px}.device-box{padding:20px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}

/* roulang page: category2 */
:root{
      --ink:#282331;
      --muted:#716b7d;
      --soft:#f7f4fa;
      --panel:#fff;
      --line:#e8e1ee;
      --purple:#7548c7;
      --purple-deep:#4d2d87;
      --pink:#c94e83;
      --coral:#ed805f;
      --green:#55ad8a;
      --shadow:0 18px 45px rgba(74,43,112,.10);
      --shadow-sm:0 8px 22px rgba(67,38,98,.08);
      --radius:20px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--soft);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:auto}
    .site-header{background:#fff;border-bottom:1px solid rgba(111,74,150,.12);position:sticky;top:0;z-index:20}
    .navbar{height:76px;display:flex;align-items:center;gap:26px}
    .logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
    .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--purple);display:grid;place-items:center;color:#fff;position:relative;box-shadow:5px 6px 0 #e7d9f5}
    .logo-mark:before{content:"";width:17px;height:12px;border:2px solid #fff;border-radius:5px}
    .logo-mark:after{content:"• •";position:absolute;font-size:12px;letter-spacing:3px;top:7px;left:10px;color:#fff}
    .logo-text{font-size:16px;color:var(--purple-deep)}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-links a{padding:8px 7px;border-radius:10px;font-size:13px;color:#60586c;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--purple);background:#f2eafb}
    .nav-links a.download-nav{background:var(--purple);color:#fff;padding:10px 17px;margin-left:7px;box-shadow:0 7px 16px rgba(117,72,199,.22)}
    .nav-links a.download-nav:hover{background:var(--purple-deep);transform:translateY(-1px)}
    .menu-toggle{display:none;border:0;background:#f1eafa;color:var(--purple);width:42px;height:42px;border-radius:11px}
    .hero{padding:76px 0 62px;background:linear-gradient(135deg,#fbf9fd 0%,#f4edfb 58%,#fff5f0 100%)}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:13px;font-weight:700;letter-spacing:.5px}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);display:inline-block}
    h1{font-size:clamp(38px,5vw,62px);line-height:1.16;letter-spacing:-2px;margin:16px 0 20px;max-width:650px}
    h1 em{color:var(--purple);font-style:normal}
    .hero-copy{font-size:17px;color:var(--muted);max-width:620px;margin-bottom:30px}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 21px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
    .btn:focus,.nav-links a:focus,.faq-question:focus{outline:3px solid #cdb7ec;outline-offset:2px}
    .btn-primary{background:var(--purple);color:#fff}
    .btn-primary:hover{background:var(--purple-deep)}
    .btn-light{background:#fff;color:var(--purple);border-color:#ddd0eb}
    .btn-coral{background:var(--coral);color:#fff}
    .hero-note{font-size:12px;color:#8a8193;margin:15px 0 0}
    .download-preview{background:#251a38;border-radius:28px;padding:25px;color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .download-preview:before,.download-preview:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}
    .download-preview:before{width:300px;height:300px;right:-120px;top:-100px}
    .download-preview:after{width:190px;height:190px;left:-100px;bottom:-100px}
    .preview-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
    .preview-top small{color:#b9a9c8}
    .status{background:#dff4e9;color:#31775d;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700}
    .device-wrap{height:275px;display:grid;place-items:center;position:relative;z-index:1}
    .phone{width:150px;height:250px;border:7px solid #ede7f5;border-radius:25px;background:#f8f3ff;box-shadow:12px 15px 0 rgba(0,0,0,.18);padding:25px 12px 12px;position:relative;color:var(--ink)}
    .phone:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:42px;height:5px;border-radius:5px;background:#d2c6df}
    .phone-screen{height:100%;border-radius:14px;background:linear-gradient(160deg,#6f43be,#d06591);padding:13px;color:#fff}
    .phone-screen strong{font-size:14px;display:block;margin-bottom:22px}
    .phone-line{height:8px;border-radius:8px;background:rgba(255,255,255,.45);margin:9px 0}
    .phone-button{height:30px;border-radius:9px;background:#ffae81;margin-top:22px}
    .preview-info{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:relative;z-index:1}
    .info-chip{border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.06)}
    .info-chip span{display:block;color:#aa9bb9;font-size:11px}
    .info-chip b{font-size:13px;color:#fff}
    .section{padding:78px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
    .section-head h2{font-size:31px;line-height:1.25;letter-spacing:-1px;margin:0 0 8px}
    .section-head p{color:var(--muted);margin:0;max-width:580px}
    .download-panel{display:grid;grid-template-columns:1fr .8fr;gap:45px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow-sm)}
    .download-panel h2{font-size:29px;margin:0 0 12px}
    .download-panel p{color:var(--muted);margin:0 0 22px}
    .tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 25px}
    .tag{border-radius:20px;padding:5px 11px;font-size:12px;background:#f3eafb;color:var(--purple)}
    .tag.green{background:#e8f6ef;color:#3b8a6d}
    .tag.coral{background:#fff0eb;color:#bc5d43}
    .qr-area{display:flex;align-items:center;gap:20px;background:#faf8fc;border:1px dashed #cfc0dc;border-radius:16px;padding:18px}
    .qr-box{width:105px;height:105px;border:7px solid #fff;background:repeating-linear-gradient(45deg,#3b2b4c 0 4px,#fff 4px 8px);box-shadow:0 0 0 1px #ddd2e4;flex:none}
    .qr-area strong{display:block;font-size:14px;margin-bottom:5px}
    .qr-area p{font-size:12px;margin:0;color:var(--muted)}
    .feature-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:20px}
    .feature-card{border-radius:var(--radius);padding:30px;min-height:255px}
    .feature-card.main{background:var(--purple);color:#fff}
    .feature-card.main p{color:#e8ddf3}
    .feature-card.alt{background:#fff;border:1px solid var(--line)}
    .feature-card h3{font-size:22px;margin:14px 0 8px}
    .feature-card p{color:var(--muted);font-size:14px}
    .number{font-size:13px;font-weight:800;color:var(--coral)}
    .step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
    .step{padding:25px 22px;border-right:1px solid var(--line);position:relative}
    .step:last-child{border:0}
    .step-no{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f2eafb;color:var(--purple);font-weight:800;margin-bottom:18px}
    .step h3{font-size:16px;margin:0 0 7px}
    .step p{font-size:13px;color:var(--muted);margin:0}
    .tips{margin-top:24px;border-left:4px solid var(--coral);background:#fff5f0;border-radius:0 13px 13px 0;padding:15px 18px;color:#795548;font-size:13px}
    .faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:65px}
    .faq-intro p{color:var(--muted)}
    .faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#fff;padding:18px 20px;text-align:left;font-weight:700;color:var(--ink)}
    .faq-question span{color:var(--purple);font-size:21px}
    .faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
    .cta{padding:52px 0;background:#efe5f8}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta h2{font-size:28px;margin:0 0 6px}
    .cta p{color:var(--muted);margin:0}
    .site-footer{background:#211831;color:#ded3e7;padding:48px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:36px}
    .footer-logo{color:#fff;font-size:17px}
    .footer-text{color:#a99bb7;font-size:13px;max-width:350px;margin-top:14px}
    .footer-title{font-weight:700;color:#fff;margin-bottom:13px}
    .footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:#b9a9c8}
    .footer-links a:hover{color:#fff}
    .footer-bottom{border-top:1px solid #3b2d4d;padding-top:18px;color:#9e8daa;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:1024px){
      .nav-links{gap:0}
      .nav-links a{padding-left:6px;padding-right:6px;font-size:12px}
      .hero-grid{gap:35px}
    }
    @media(max-width:768px){
      .container{width:min(var(--container),calc(100% - 30px))}
      .navbar{height:68px}
      .logo{font-size:14px}
      .logo-mark{width:34px;height:34px}
      .menu-toggle{display:block;margin-left:auto}
      .nav-links{display:none;position:absolute;top:68px;left:15px;right:15px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px;box-shadow:var(--shadow)}
      .nav-links.open{display:flex;flex-direction:column;align-items:stretch}
      .nav-links a,.nav-links a.download-nav{display:block;margin:0;padding:12px 14px;text-align:left}
      .hero{padding:55px 0 45px}
      .hero-grid,.download-panel,.feature-layout,.faq-grid{grid-template-columns:1fr}
      h1{font-size:42px}
      .step-grid{grid-template-columns:1fr 1fr}
      .step:nth-child(2){border-right:0}
      .step:nth-child(-n+2){border-bottom:1px solid var(--line)}
      .cta-inner{align-items:flex-start;flex-direction:column}
      .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
      .footer-grid>div:first-child{grid-column:1/-1}
      .footer-bottom{flex-direction:column}
    }
    @media(max-width:520px){
      .section{padding:58px 0}
      .section-head{display:block}
      .section-head h2{font-size:26px}
      h1{font-size:35px;letter-spacing:-1px}
      .hero-copy{font-size:15px}
      .hero .btn{width:100%;margin-bottom:10px}
      .download-panel{padding:22px}
      .download-panel h2{font-size:25px}
      .qr-area{align-items:flex-start;flex-direction:column}
      .step-grid{grid-template-columns:1fr}
      .step{border-right:0;border-bottom:1px solid var(--line)!important}
      .step:last-child{border-bottom:0!important}
      .feature-card{min-height:0;padding:24px}
      .footer-grid{grid-template-columns:1fr}
      .footer-grid>div:first-child{grid-column:auto}
    }

/* roulang page: category3 */
:root{
      --ink:#282331;
      --muted:#716b7d;
      --soft:#f7f4fa;
      --panel:#fff;
      --line:#e8e1ee;
      --purple:#7548c7;
      --purple-deep:#4d2d87;
      --pink:#c94e83;
      --coral:#ed805f;
      --green:#55ad8a;
      --shadow:0 18px 45px rgba(74,43,112,.10);
      --shadow-sm:0 8px 22px rgba(67,38,98,.08);
      --radius:20px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--soft);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:auto}
    .site-header{background:#fff;border-bottom:1px solid rgba(111,74,150,.12);position:sticky;top:0;z-index:20}
    .navbar{height:76px;display:flex;align-items:center;gap:26px}
    .logo{display:flex;align-items:center;gap:11px;font-weight:800;white-space:nowrap}
    .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--purple);display:grid;place-items:center;color:#fff;position:relative;box-shadow:5px 6px 0 #e7d9f5}
    .logo-mark:before{content:"";width:17px;height:12px;border:2px solid #fff;border-radius:5px}
    .logo-mark:after{content:"• •";position:absolute;font-size:12px;letter-spacing:3px;top:7px;left:10px;color:#fff}
    .logo-text{font-size:16px;color:var(--purple-deep)}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-links a{padding:8px 7px;border-radius:10px;font-size:13px;color:#60586c;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--purple);background:#f2eafb}
    .nav-links a.download-nav{background:var(--purple);color:#fff;padding:10px 17px;margin-left:7px;box-shadow:0 7px 16px rgba(117,72,199,.22)}
    .nav-links a.download-nav:hover{background:var(--purple-deep);transform:translateY(-1px)}
    .menu-toggle{display:none;border:0;background:#f1eafa;color:var(--purple);width:42px;height:42px;border-radius:11px}
    .hero{padding:70px 0 64px;background:linear-gradient(135deg,#fbf9fd 0%,#f4edfb 60%,#fff5f0 100%);border-bottom:1px solid #eee5f2}
    .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:13px;font-weight:700;letter-spacing:.4px}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);display:inline-block}
    h1{font-size:clamp(38px,5vw,62px);line-height:1.18;letter-spacing:-1px;margin:16px 0 20px;max-width:700px}
    .hero-copy{font-size:17px;color:var(--muted);max-width:650px;margin:0 0 28px}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 21px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
    .btn:focus,.nav-links a:focus,.faq-question:focus{outline:3px solid #cdb7ec;outline-offset:2px}
    .btn-primary{background:var(--purple);color:#fff}
    .btn-primary:hover{background:var(--purple-deep)}
    .btn-light{background:#fff;color:var(--purple);border-color:#ddd0eb}
    .btn-coral{background:var(--coral);color:#fff}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .hero-note{font-size:12px;color:#8a8193;margin:15px 0 0}
    .guide-window{background:#fff;border:1px solid #e5d9ee;border-radius:24px;padding:18px;box-shadow:var(--shadow);transform:rotate(1.5deg)}
    .window-bar{display:flex;gap:6px;padding:3px 0 17px;border-bottom:1px solid var(--line)}
    .window-bar span{width:8px;height:8px;border-radius:50%;background:#ed805f}
    .window-bar span:nth-child(2){background:#e1bd6c}.window-bar span:nth-child(3){background:#65b695}
    .screen-main{background:#392657;border-radius:16px;padding:23px;margin-top:17px;color:#fff}
    .screen-main small{color:#cbb9d9}.screen-main h3{margin:7px 0 22px;font-size:24px}
    .screen-line{height:11px;background:#5b4178;border-radius:8px;margin:12px 0}
    .screen-line.short{width:62%;background:#e89578}
    .screen-pills{display:flex;gap:8px;margin-top:20px}.screen-pills span{background:#fff1eb;color:#a85559;border-radius:8px;padding:6px 10px;font-size:11px}
    .section{padding:78px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
    .section-head h2{font-size:31px;line-height:1.25;letter-spacing:-1px;margin:0 0 8px}
    .section-head p{color:var(--muted);margin:0;max-width:610px}
    .guide-layout{display:grid;grid-template-columns:270px 1fr;gap:28px;align-items:start}
    .toc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;position:sticky;top:100px}
    .toc-title{font-weight:800;margin-bottom:12px}.toc a{display:block;border-left:3px solid transparent;padding:9px 12px;color:var(--muted);font-size:14px}
    .toc a:hover,.toc a.active{border-color:var(--purple);background:#f5effb;color:var(--purple)}
    .step-list{display:grid;gap:14px}
    .step{display:grid;grid-template-columns:58px 1fr auto;gap:19px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;transition:.2s}
    .step:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#d7c4e9}
    .step-no{width:42px;height:42px;border-radius:13px;background:#f1eafa;color:var(--purple);display:grid;place-items:center;font-weight:800}
    .step h3{font-size:18px;margin:0 0 4px}.step p{font-size:14px;color:var(--muted);margin:0}
    .step-arrow{font-size:22px;color:var(--purple)}
    .feature-band{background:#251a38;color:#fff}
    .feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
    .feature-band h2{font-size:32px;line-height:1.3;margin:0 0 15px}.feature-band p{color:#cbbdd4}
    .info-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}
    .info-point{border:1px solid #4b385e;border-radius:13px;padding:13px 15px;color:#dfd2e7;font-size:14px}.info-point strong{display:block;color:#ffae8b;font-size:12px;margin-bottom:3px}
    .download-panel{background:#fff;border-radius:20px;padding:27px;box-shadow:var(--shadow-sm);color:var(--ink)}
    .download-panel h3{margin:0 0 6px;font-size:23px}.download-panel p{color:var(--muted);font-size:14px;margin:0 0 20px}
    .status-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:21px}.badge{display:inline-block;padding:4px 10px;background:#f3eafb;color:var(--purple);border-radius:20px;font-size:11px}.badge.green{background:#e5f5ee;color:#368765}
    .notice{background:#fff7f2;border-left:3px solid var(--coral);padding:11px 13px;color:#80685f;font-size:13px;margin-top:16px}
    .reading-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
    .article-card,.check-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px}
    .article-card h3,.check-card h3{font-size:21px;margin:0 0 11px}.article-card p,.check-card p{color:var(--muted);font-size:14px}
    .guide-list{list-style:none;margin:15px 0 0;padding:0}.guide-list li{border-bottom:1px solid var(--line);padding:13px 0;font-size:14px;display:flex;justify-content:space-between;gap:15px}.guide-list li:last-child{border:0}.guide-list a:hover{color:var(--purple)}
    .faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.faq-intro p{color:var(--muted)}
    .faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#fff;padding:18px 20px;text-align:left;font-weight:700;color:var(--ink)}.faq-question span{color:var(--purple);font-size:21px}.faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
    .cta{padding:52px 0;background:#efe5f8}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:28px;margin:0 0 6px}.cta p{color:var(--muted);margin:0}
    .site-footer{background:#211831;color:#ded3e7;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:36px}.footer-logo{color:#fff;font-size:17px}.footer-text{color:#a99bb7;font-size:13px;max-width:350px;margin-top:14px}.footer-title{font-weight:700;color:#fff;margin-bottom:13px}.footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:#b9a9c8}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #3b2d4d;padding-top:18px;color:#9e8daa;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:1024px){.nav-links{gap:0}.nav-links a{padding-left:6px;padding-right:6px}.hero-grid{gap:35px}.guide-layout{grid-template-columns:230px 1fr}}
    @media(max-width:768px){.navbar{height:68px}.menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px 18px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow-sm)}.nav-links.open{display:flex}.nav-links a,.nav-links a.download-nav{margin:0;padding:11px 13px}.hero{padding:54px 0 45px}.hero-grid,.feature-grid,.reading-grid,.faq-grid{grid-template-columns:1fr}.hero-visual{order:2}.section{padding:58px 0}.guide-layout{grid-template-columns:1fr}.toc{position:static}.info-points{margin-bottom:20px}.faq-grid{gap:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}}
    @media(max-width:520px){.container{width:min(100% - 28px,var(--container))}h1{font-size:38px}.hero-copy{font-size:15px}.hero-actions .btn{width:100%}.section-head{display:block}.section-head h2{font-size:27px}.step{grid-template-columns:44px 1fr;padding:17px}.step-arrow{display:none}.step-no{width:38px;height:38px}.info-points{grid-template-columns:1fr}.download-panel{padding:21px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{font-size:11px}}

/* roulang page: category4 */
:root{
      --ink:#282331;
      --muted:#716b7d;
      --soft:#f7f4fa;
      --panel:#fff;
      --line:#e8e1ee;
      --purple:#7548c7;
      --purple-deep:#4d2d87;
      --pink:#c94e83;
      --coral:#ed805f;
      --green:#55ad8a;
      --shadow:0 18px 45px rgba(74,43,112,.10);
      --shadow-sm:0 8px 22px rgba(67,38,98,.08);
      --radius:20px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--soft);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:auto}
    .site-header{background:#fff;border-bottom:1px solid rgba(111,74,150,.12);position:sticky;top:0;z-index:20}
    .navbar{height:76px;display:flex;align-items:center;gap:26px}
    .logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
    .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--purple);display:grid;place-items:center;color:#fff;position:relative;box-shadow:5px 6px 0 #e7d9f5}
    .logo-mark:before{content:"";width:17px;height:12px;border:2px solid #fff;border-radius:5px}
    .logo-mark:after{content:"• •";position:absolute;font-size:12px;letter-spacing:3px;top:7px;left:10px;color:#fff}
    .logo-text{font-size:16px;color:var(--purple-deep)}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-links a{padding:8px 7px;border-radius:10px;font-size:13px;color:#60586c;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--purple);background:#f2eafb}
    .nav-links a.download-nav{background:var(--purple);color:#fff;padding:10px 17px;margin-left:7px;box-shadow:0 7px 16px rgba(117,72,199,.22)}
    .nav-links a.download-nav:hover{background:var(--purple-deep);transform:translateY(-1px)}
    .menu-toggle{display:none;border:0;background:#f1eafa;color:var(--purple);width:42px;height:42px;border-radius:11px}
    .hero{padding:74px 0 66px;background:linear-gradient(135deg,#fbf9fd 0%,#f4edfb 58%,#fff5f0 100%);overflow:hidden}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:13px;font-weight:700;letter-spacing:.5px}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);display:inline-block}
    h1{font-size:clamp(38px,5vw,62px);line-height:1.15;letter-spacing:-2px;margin:17px 0 20px;max-width:700px}
    .hero-copy{font-size:17px;color:var(--muted);max-width:650px;margin:0 0 28px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 21px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
    .btn:focus,.nav-links a:focus,.faq-question:focus,input:focus{outline:3px solid #cdb7ec;outline-offset:2px}
    .btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-deep)}
    .btn-light{background:#fff;color:var(--purple);border-color:#ddd0eb}
    .hero-panel{background:#fff;border:1px solid #e5d9ee;border-radius:24px;padding:25px;box-shadow:var(--shadow);position:relative}
    .panel-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}
    .panel-title{font-weight:800;font-size:18px}.status{font-size:12px;color:var(--green);background:#e9f6f0;padding:5px 10px;border-radius:20px}
    .signal-list{display:grid;gap:13px}
    .signal{display:flex;gap:13px;align-items:flex-start;padding:13px;background:#faf8fc;border-radius:14px}
    .signal-icon{width:34px;height:34px;border-radius:10px;background:#eee5fa;color:var(--purple);display:grid;place-items:center;font-weight:800;flex:none}
    .signal strong{display:block;font-size:14px}.signal span{display:block;color:var(--muted);font-size:12px}
    .section{padding:78px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
    .section-head h2{font-size:31px;line-height:1.25;letter-spacing:-1px;margin:0 0 8px}
    .section-head p{color:var(--muted);margin:0;max-width:580px}
    .news-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:start}
    .news-board{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px 28px;box-shadow:var(--shadow-sm)}
    .news-item{display:grid;grid-template-columns:92px 1fr auto;gap:22px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}
    .news-item:last-child{border:0}
    .news-date{font-size:12px;color:var(--muted);line-height:1.35}.news-date strong{display:block;color:var(--purple);font-size:21px}
    .badge{display:inline-block;padding:3px 9px;background:#f3eafb;color:var(--purple);border-radius:20px;font-size:11px;margin-bottom:6px}
    .badge.coral{background:#fff0eb;color:#c85d42}.badge.green{background:#e9f6f0;color:#39856b}
    .news-item h3{font-size:17px;margin:0 0 5px;line-height:1.45}.news-item p{font-size:13px;color:var(--muted);margin:0}
    .read-link{font-size:13px;color:var(--purple);font-weight:700;white-space:nowrap}.read-link:hover{color:var(--purple-deep)}
    .topic-card{background:#251a38;color:#fff;border-radius:var(--radius);padding:28px;position:sticky;top:100px;overflow:hidden}
    .topic-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-55px;bottom:-55px}
    .topic-card h3{font-size:23px;margin:0 0 10px}.topic-card p{color:#cfc0db;font-size:14px;margin:0 0 22px}
    .topic-links{display:grid;gap:10px}.topic-links a{padding:11px 13px;border:1px solid #4b3b5f;border-radius:11px;color:#eee7f5;font-size:13px;transition:.2s;position:relative;z-index:1}
    .topic-links a:hover{background:#392657;border-color:#7550a5;transform:translateX(3px)}
    .empty-news{padding:42px 20px;text-align:center;color:var(--muted);font-size:14px}
    .empty-news strong{display:block;color:var(--ink);font-size:17px;margin-bottom:6px}
    .feature-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
    .feature{padding:30px 28px;border-right:1px solid var(--line)}
    .feature:last-child{border-right:0}
    .feature-number{font-size:13px;color:var(--coral);font-weight:800;margin-bottom:10px}
    .feature h3{font-size:18px;margin:0 0 7px}.feature p{font-size:13px;color:var(--muted);margin:0}
    .faq-section{background:#f0e9f6}
    .faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:65px}
    .faq-intro p{color:var(--muted)}
    .faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#fff;padding:18px 20px;text-align:left;font-weight:700;color:var(--ink)}
    .faq-question span{color:var(--purple);font-size:21px}
    .faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
    .cta{padding:52px 0;background:#efe5f8}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta h2{font-size:28px;margin:0 0 6px}.cta p{color:var(--muted);margin:0}
    .site-footer{background:#211831;color:#ded3e7;padding:48px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:36px}
    .footer-logo{color:#fff;font-size:17px}.footer-text{color:#a99bb7;font-size:13px;max-width:350px;margin-top:14px}
    .footer-title{font-weight:700;color:#fff;margin-bottom:13px}.footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:#b9a9c8}
    .footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #3b2d4d;padding-top:18px;color:#9e8daa;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:1024px){.nav-links{gap:1px}.nav-links a{padding-left:6px;padding-right:6px}.hero-grid{gap:35px}.news-layout{grid-template-columns:1fr}.topic-card{position:static}}
    @media(max-width:768px){
      .container{width:min(var(--container),calc(100% - 30px))}.navbar{height:68px;gap:12px}.logo{font-size:13px}.logo-mark{width:34px;height:34px}
      .menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;left:15px;right:15px;top:76px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
      .nav-links.open{display:flex}.nav-links a{padding:11px 13px}.nav-links a.download-nav{margin:5px 0 0;text-align:center}
      .hero{padding:54px 0 48px}.hero-grid{grid-template-columns:1fr}.hero-panel{max-width:560px}
      .section{padding:58px 0}.section-head{display:block}.section-head h2{font-size:27px}.section-head p{margin-top:10px}
      .feature-grid{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)}.feature:last-child{border-bottom:0}
      .faq-grid{grid-template-columns:1fr;gap:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}
      .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
    }
    @media(max-width:520px){
      h1{font-size:35px;letter-spacing:-1px}.hero-copy{font-size:15px}.hero-actions .btn{width:100%}
      .news-board{padding:5px 17px}.news-item{grid-template-columns:1fr auto;gap:8px 15px;padding:19px 0}.news-date{grid-column:1/-1;display:flex;gap:8px;align-items:center}.news-date strong{font-size:17px}
      .news-item h3{font-size:15px}.news-item p{font-size:12px}.read-link{font-size:12px}.topic-card{padding:23px}
      .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}
    }

/* roulang page: category5 */
:root{
      --ink:#282331;--muted:#716b7d;--soft:#f7f4fa;--panel:#fff;--line:#e8e1ee;
      --purple:#7548c7;--purple-deep:#4d2d87;--pink:#c94e83;--coral:#ed805f;
      --green:#55ad8a;--shadow:0 18px 45px rgba(74,43,112,.10);
      --shadow-sm:0 8px 22px rgba(67,38,98,.08);--radius:20px;--container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--soft);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:auto}
    .site-header{background:#fff;border-bottom:1px solid rgba(111,74,150,.12);position:sticky;top:0;z-index:20}
    .navbar{height:76px;display:flex;align-items:center;gap:26px}
    .logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
    .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--purple);display:grid;place-items:center;color:#fff;position:relative;box-shadow:5px 6px 0 #e7d9f5}
    .logo-mark:before{content:"";width:17px;height:12px;border:2px solid #fff;border-radius:5px}
    .logo-mark:after{content:"• •";position:absolute;font-size:12px;letter-spacing:3px;top:7px;left:10px;color:#fff}
    .logo-text{font-size:16px;color:var(--purple-deep)}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-links a{padding:8px 7px;border-radius:10px;font-size:13px;color:#60586c;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--purple);background:#f2eafb}
    .nav-links a.download-nav{background:var(--purple);color:#fff;padding:10px 17px;margin-left:7px;box-shadow:0 7px 16px rgba(117,72,199,.22)}
    .nav-links a.download-nav:hover{background:var(--purple-deep);transform:translateY(-1px)}
    .menu-toggle{display:none;border:0;background:#f1eafa;color:var(--purple);width:42px;height:42px;border-radius:11px}
    .page-hero{padding:72px 0 62px;background:linear-gradient(135deg,#fbf9fd,#f4edfb 58%,#fff5f0)}
    .crumbs{font-size:13px;color:var(--muted);margin-bottom:25px}
    .crumbs a{color:var(--purple)}
    .hero-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:13px;font-weight:700}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);display:inline-block}
    h1{font-size:clamp(35px,5vw,58px);line-height:1.18;letter-spacing:-2px;margin:14px 0 20px}
    .lead{font-size:17px;color:var(--muted);max-width:650px}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 21px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
    .btn:focus,.nav-links a:focus,.faq-question:focus{outline:3px solid #cdb7ec;outline-offset:2px}
    .btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-deep)}
    .btn-light{background:#fff;color:var(--purple);border-color:#ddd0eb}
    .hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
    .hero-note{font-size:12px;color:#8a8193;margin-top:15px}
    .install-art{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow);position:relative}
    .art-window{border-radius:17px;background:#342249;padding:18px;color:#fff}
    .art-top{display:flex;gap:7px;margin-bottom:24px}.art-top i{width:8px;height:8px;border-radius:50%;background:#ed805f}
    .art-line{height:11px;background:#8064aa;border-radius:8px;margin:13px 0}.art-line.short{width:58%}
    .progress{height:9px;border-radius:10px;background:#5a4279;overflow:hidden;margin:25px 0 10px}
    .progress b{display:block;width:72%;height:100%;background:var(--coral);border-radius:inherit}
    .art-label{display:flex;justify-content:space-between;font-size:12px;color:#d9cce7}
    .section{padding:78px 0}.section.alt{background:#fff}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
    .section-head h2{font-size:31px;line-height:1.25;letter-spacing:-1px;margin:0 0 8px}
    .section-head p{color:var(--muted);margin:0;max-width:600px}
    .step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
    .step{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px;min-height:190px;transition:.22s}
    .step:hover,.info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
    .step-num{width:35px;height:35px;border-radius:11px;background:#f2eafb;color:var(--purple);display:grid;place-items:center;font-weight:800;margin-bottom:18px}
    .step h3,.info-card h3{font-size:18px;margin:0 0 8px}.step p,.info-card p{font-size:14px;color:var(--muted);margin:0}
    .info-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}
    .info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.22s}
    .info-card.purple{background:#2b1d3e;color:#fff;border-color:#2b1d3e}.info-card.purple p{color:#d6c9e0}
    .tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tag{padding:5px 11px;border-radius:20px;background:#f3eafb;color:var(--purple);font-size:12px}.purple .tag{background:#4b3763;color:#ffe1d5}
    .check-list{list-style:none;padding:0;margin:20px 0}.check-list li{position:relative;padding:9px 0 9px 25px;border-bottom:1px solid var(--line);font-size:14px}.purple .check-list li{border-color:#4b3763}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
    .note{padding:18px 20px;border-left:4px solid var(--coral);background:#fff5f0;border-radius:0 12px 12px 0;color:#68565d;font-size:14px}
    .faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.faq-intro p{color:var(--muted)}
    .faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#fff;padding:18px 20px;text-align:left;font-weight:700;color:var(--ink)}
    .faq-question span{color:var(--purple);font-size:21px}.faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
    .cta{padding:52px 0;background:#efe5f8}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:28px;margin:0 0 6px}.cta p{color:var(--muted);margin:0}
    .site-footer{background:#211831;color:#ded3e7;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:36px}
    .footer-logo{color:#fff;font-size:17px}.footer-text{color:#a99bb7;font-size:13px;max-width:350px;margin-top:14px}.footer-title{font-weight:700;color:#fff;margin-bottom:13px}.footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:#b9a9c8}.footer-links a:hover{color:#fff}
    .footer-bottom{border-top:1px solid #3b2d4d;padding-top:18px;color:#9e8daa;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:1024px){.nav-links{gap:0}.nav-links a{padding-left:5px;padding-right:5px}.hero-layout{gap:35px}.step-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:768px){.container{width:min(100% - 30px,var(--container))}.navbar{height:68px}.menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 15px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow-sm)}.nav-links.open{display:flex}.nav-links a.download-nav{margin:5px 0 0;text-align:center}.hero-layout,.info-layout,.faq-grid{grid-template-columns:1fr}.page-hero{padding:42px 0 48px}.section{padding:58px 0}.faq-grid{gap:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}}
    @media(max-width:520px){h1{font-size:35px;letter-spacing:-1px}.lead{font-size:15px}.hero-actions .btn{width:100%}.step-grid{grid-template-columns:1fr}.section-head{display:block}.section-head h2{font-size:27px}.section-head p{margin-top:10px}.install-art{padding:15px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{font-size:11px}}

/* roulang page: category6 */
:root{
      --ink:#282331;--muted:#716b7d;--soft:#f7f4fa;--panel:#fff;--line:#e8e1ee;
      --purple:#7548c7;--purple-deep:#4d2d87;--pink:#c94e83;--coral:#ed805f;--green:#55ad8a;
      --shadow:0 18px 45px rgba(74,43,112,.10);--shadow-sm:0 8px 22px rgba(67,38,98,.08);
      --radius:20px;--container:1180px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--soft);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:auto}
    .site-header{background:#fff;border-bottom:1px solid rgba(111,74,150,.12);position:sticky;top:0;z-index:20}
    .navbar{height:76px;display:flex;align-items:center;gap:26px}
    .logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
    .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--purple);display:grid;place-items:center;color:#fff;position:relative;box-shadow:5px 6px 0 #e7d9f5;flex:none}
    .logo-mark:before{content:"";width:17px;height:12px;border:2px solid #fff;border-radius:5px}
    .logo-mark:after{content:"• •";position:absolute;font-size:12px;letter-spacing:3px;top:7px;left:10px;color:#fff}
    .logo-text{font-size:16px;color:var(--purple-deep)}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-links a{padding:8px 7px;border-radius:10px;font-size:13px;color:#60586c;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--purple);background:#f2eafb}
    .nav-links a.download-nav{background:var(--purple);color:#fff;padding:10px 17px;margin-left:7px;box-shadow:0 7px 16px rgba(117,72,199,.22)}
    .nav-links a.download-nav:hover{background:var(--purple-deep);transform:translateY(-1px)}
    .menu-toggle{display:none;border:0;background:#f1eafa;color:var(--purple);width:42px;height:42px;border-radius:11px}
    .page-hero{padding:72px 0 62px;background:linear-gradient(135deg,#fbf9fd,#f4edfb 58%,#fff5f0)}
    .breadcrumb{font-size:13px;color:var(--muted);margin-bottom:20px}
    .breadcrumb a{color:var(--purple)}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:13px;font-weight:700;letter-spacing:.4px}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);display:inline-block}
    h1{font-size:clamp(34px,5vw,58px);line-height:1.18;letter-spacing:-2px;margin:12px 0 18px;max-width:780px}
    .hero-copy{font-size:17px;color:var(--muted);max-width:720px;margin:0}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:12px 21px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
    .btn:focus,.nav-links a:focus,.faq-question:focus,input:focus{outline:3px solid #cdb7ec;outline-offset:2px}
    .btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-deep)}
    .btn-light{background:#fff;color:var(--purple);border-color:#ddd0eb}
    .btn-coral{background:var(--coral);color:#fff}
    .hero-index{margin-top:34px;display:flex;flex-wrap:wrap;gap:10px}
    .topic-chip{padding:8px 13px;border:1px solid #decfec;background:#fff;border-radius:30px;color:var(--purple);font-size:13px}
    .section{padding:78px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
    .section-head h2{font-size:31px;line-height:1.25;letter-spacing:-1px;margin:0 0 8px}
    .section-head p{color:var(--muted);margin:0;max-width:620px}
    .faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:58px;align-items:start}
    .faq-intro{background:#251a38;color:#fff;border-radius:var(--radius);padding:30px;position:sticky;top:105px;overflow:hidden}
    .faq-intro:after{content:"?";position:absolute;right:20px;bottom:-34px;font-size:150px;line-height:1;color:#3b2a50;font-weight:900}
    .faq-intro h2{font-size:28px;margin:0 0 12px;position:relative;z-index:1}
    .faq-intro p{color:#c8b9d2;font-size:14px;position:relative;z-index:1}
    .quick-links{position:relative;z-index:1;margin-top:25px;display:grid;gap:9px}
    .quick-links a{border:1px solid #544064;border-radius:11px;padding:10px 12px;color:#e8dff0;font-size:13px;transition:.2s}
    .quick-links a:hover{background:#4d2d87;border-color:#7e5bc0}
    .faq-group{margin-bottom:32px}
    .group-title{display:flex;align-items:center;gap:12px;font-size:20px;margin:0 0 13px}
    .group-title:before{content:"";width:5px;height:23px;border-radius:5px;background:var(--coral)}
    .faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;transition:.2s}
    .faq-item[open]{border-color:#d5c2eb;box-shadow:var(--shadow-sm)}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#fff;padding:18px 20px;text-align:left;font-weight:700;color:var(--ink)}
    .faq-question span{color:var(--purple);font-size:21px;transition:.2s}
    details[open] .faq-question span{transform:rotate(45deg)}
    .faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
    .faq-answer p{margin:0}
    .search-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:var(--shadow-sm)}
    .search-panel h3{margin:0 0 5px;font-size:19px}.search-panel p{margin:0;color:var(--muted);font-size:13px}
    .search-box{display:flex;gap:8px;min-width:330px}
    .search-box input{width:100%;border:1px solid #dcd1e4;border-radius:11px;padding:11px 13px;color:var(--ink);background:#fcfbfd}
    .search-box input::placeholder{color:#9a91a3}
    .info-strip{padding:34px 0;background:#efe5f8}
    .strip-inner{display:flex;justify-content:space-between;align-items:center;gap:22px}
    .strip-inner h2{font-size:25px;margin:0 0 5px}.strip-inner p{margin:0;color:var(--muted);font-size:14px}
    .site-footer{background:#211831;color:#ded3e7;padding:48px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:36px}
    .footer-logo{color:#fff;font-size:17px}.footer-text{color:#a99bb7;font-size:13px;max-width:350px;margin-top:14px}
    .footer-title{font-weight:700;color:#fff;margin-bottom:13px}.footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:#b9a9c8}
    .footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #3b2d4d;padding-top:18px;color:#9e8daa;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:1024px){.nav-links{gap:1px}.nav-links a{padding:8px 5px;font-size:12px}.faq-layout{gap:30px}}
    @media(max-width:768px){
      .navbar{height:68px}.menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;left:20px;right:20px;top:76px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:12px 14px}.nav-links a.download-nav{margin:4px 0 0;text-align:center}
      .page-hero{padding:48px 0 42px}h1{letter-spacing:-1px}.section{padding:55px 0}.faq-layout{grid-template-columns:1fr}.faq-intro{position:static}.search-panel,.strip-inner{display:block}.search-box{min-width:0;margin-top:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
    }
    @media(max-width:520px){
      .container{width:min(var(--container),calc(100% - 28px))}.logo{font-size:14px}.logo-mark{width:34px;height:34px}.logo-text{font-size:13px}h1{font-size:35px}.hero-copy{font-size:15px}.hero-actions .btn{width:100%}.section-head{display:block}.section-head h2{font-size:26px}.faq-question{font-size:14px}.faq-answer{font-size:13px}.footer-grid{grid-template-columns:1fr}
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
