/* roulang page: index */
:root{
  --ink:#173b35;--ink-2:#24554c;--orange:#e77938;--orange-dark:#c95f25;
  --sage:#a9c2ad;--cream:#f7f3ea;--paper:#fffdf8;--text:#2b302e;
  --muted:#6d736f;--line:#ddd8cd;--radius:18px;--shadow:0 14px 38px rgba(44,49,42,.08);
  --max:1200px
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--text);background:var(--cream);line-height:1.65;font-size:16px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:0}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{height:76px;background:rgba(255,253,248,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.header-inner{height:100%;display:flex;align-items:center;gap:30px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:18px;white-space:nowrap}
.logo-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);color:#f5c49e;display:grid;place-items:center;font-weight:800;letter-spacing:-2px}
.main-nav{display:flex;align-items:center;gap:7px;margin-left:auto}
.main-nav a{padding:9px 13px;border-radius:9px;color:#4e5b55;font-size:14px;transition:.25s}
.main-nav a:hover,.main-nav a.active{background:#e7eee6;color:var(--ink)}
.header-action{margin-left:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:11px;font-weight:700;font-size:14px;transition:.25s;border:1px solid transparent}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(231,121,56,.22)}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-outline:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.menu-toggle{display:none;background:transparent;color:var(--ink);font-size:25px}
.hero{padding:82px 0 62px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(169,194,173,.55);border-radius:50%;right:-170px;top:-170px}
.hero-grid{display:grid;grid-template-columns:1fr .88fr;align-items:center;gap:70px}
.eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--orange-dark);font-size:13px;font-weight:800;letter-spacing:.08em}
.eyebrow:before{content:"";width:24px;height:3px;border-radius:3px;background:var(--orange)}
.hero h1{font-size:clamp(40px,5vw,58px);line-height:1.17;letter-spacing:-.05em;color:var(--ink);margin:19px 0}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero-copy{font-size:18px;color:var(--muted);max-width:570px}
.hero-actions{display:flex;gap:12px;margin:30px 0 26px;flex-wrap:wrap}
.trust-row{display:flex;gap:20px;flex-wrap:wrap;color:var(--ink-2);font-size:13px;font-weight:700}
.trust-row span{display:flex;align-items:center;gap:7px}.trust-row i{width:8px;height:8px;background:var(--orange);border-radius:50%}
.product-stage{min-height:430px;background:#e5eee4;border-radius:28px;position:relative;display:flex;justify-content:center;align-items:center;border:1px solid #d1dfd0}
.phone{width:220px;height:400px;background:var(--ink);border:8px solid #102d29;border-radius:31px;padding:13px;box-shadow:20px 25px 35px rgba(23,59,53,.18);transform:rotate(5deg);position:relative;z-index:2}
.phone-top{height:22px;width:72px;background:#102d29;border-radius:20px;margin:-4px auto 17px}
.phone-screen{height:332px;background:var(--cream);border-radius:18px;padding:15px}
.mini-logo{font-size:12px;color:var(--ink);font-weight:800;margin-bottom:18px}
.screen-banner{height:92px;background:var(--orange);border-radius:13px;padding:13px;color:#fff;font-weight:800;font-size:16px;line-height:1.3}
.screen-line{height:10px;background:#dce5d8;border-radius:8px;margin-top:14px;width:82%}
.screen-line.short{width:55%;margin-top:8px}.screen-card{height:58px;background:#fff;border:1px solid #e2ded4;border-radius:11px;margin-top:13px}
.float-card{position:absolute;right:6%;top:24%;background:#fffdf8;border:1px solid var(--line);border-radius:14px;padding:15px;width:185px;box-shadow:var(--shadow);font-size:13px;z-index:3}
.float-card strong{display:block;color:var(--ink);font-size:15px;margin:5px 0}.float-card small{color:var(--muted)}
.section{padding:92px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}
.section-title{font-size:clamp(28px,3vw,36px);line-height:1.25;color:var(--ink);letter-spacing:-.03em}
.section-desc{color:var(--muted);max-width:520px;margin-top:8px}
.text-link{color:var(--orange-dark);font-weight:700;font-size:14px}
.overview{padding-top:35px}.topic-strip{display:grid;grid-template-columns:1.2fr 1fr 1.1fr .9fr;gap:12px}
.topic-card{background:var(--paper);border:1px solid var(--line);padding:24px;border-radius:16px;min-height:145px;transition:.25s}
.topic-card:nth-child(even){transform:translateY(16px)}.topic-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.topic-icon{color:var(--orange);font-size:22px}.topic-card h3{color:var(--ink);font-size:19px;margin:10px 0 4px}.topic-card p{font-size:13px;color:var(--muted)}
.matrix-wrap{background:#edf2e9;border-radius:24px;padding:38px}
.matrix{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}
.matrix a{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:23px;display:flex;justify-content:space-between;gap:10px;transition:.25s}
.matrix a:first-child{grid-row:span 2;background:var(--ink);color:#fff}.matrix a:hover{border-color:var(--orange);transform:translateY(-2px)}
.matrix h3{font-size:18px}.matrix p{font-size:13px;opacity:.7;margin-top:5px}.arrow{font-size:22px;color:var(--orange)}
.news-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.feature-news,.news-item{background:var(--paper);border:1px solid var(--line);border-radius:17px}
.feature-news{padding:28px;min-height:310px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(145deg,#fffdf8 55%,#e1ebe0)}
.tag{display:inline-block;padding:4px 9px;background:#e3eee3;color:var(--ink-2);border-radius:6px;font-size:12px;font-weight:700}
.feature-news h3{font-size:26px;color:var(--ink);margin:14px 0 8px;line-height:1.35}.news-meta{color:var(--muted);font-size:12px}
.news-list{display:flex;flex-direction:column;gap:10px}.news-item{padding:17px 20px;display:flex;justify-content:space-between;gap:15px;align-items:center;transition:.2s}.news-item:hover{border-color:var(--sage)}.news-item h3{font-size:16px;color:var(--ink);margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-item p{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.empty-state{padding:45px;text-align:center;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:16px}
.download-panel{background:var(--ink);border-radius:24px;color:#fff;padding:48px;display:grid;grid-template-columns:1fr .8fr;gap:35px;overflow:hidden;position:relative}.download-panel:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(169,194,173,.25);border-radius:50%;right:-110px;bottom:-170px}
.download-panel h2{font-size:34px;line-height:1.25;margin:12px 0}.download-panel p{color:#c0d0c4;max-width:510px}.platforms{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}.platforms .btn-outline{border-color:#a9c2ad;color:#fff}.qr-area{display:flex;align-items:center;gap:23px;position:relative;z-index:1}.qr{width:116px;height:116px;background:repeating-linear-gradient(45deg,#fff 0 5px,#173b35 5px 9px);border:9px solid #fff;border-radius:8px}.qr-area strong{display:block;margin-bottom:5px}.qr-area small{color:#b9c8bd}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.flow-step{padding:20px 25px 20px 0;border-top:2px solid var(--sage);position:relative}.flow-step:not(:last-child){margin-right:20px}.flow-step b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;margin-top:-38px;margin-bottom:20px}.flow-step h3{color:var(--ink);font-size:18px}.flow-step p{font-size:13px;color:var(--muted);margin-top:6px}
.topic-rail{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:14px}.feature-topic,.small-topic{min-height:220px;border-radius:18px;padding:25px;display:flex;flex-direction:column;justify-content:end;border:1px solid var(--line);overflow:hidden}.feature-topic{background:linear-gradient(145deg,#234e45,#173b35);color:#fff}.small-topic{background:#e3eee3;color:var(--ink)}.small-topic:nth-child(3){background:#f2dfce}.feature-topic h3,.small-topic h3{font-size:21px;margin:8px 0 3px}.feature-topic p,.small-topic p{font-size:13px;opacity:.75}
.timeline-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}.version-number{font-size:76px;color:var(--orange);font-weight:800;line-height:1}.version-note{color:var(--muted);margin-top:12px}.timeline{border-left:1px solid var(--sage);padding-left:27px}.timeline-item{position:relative;padding:0 0 25px}.timeline-item:before{content:"";position:absolute;left:-34px;top:8px;width:11px;height:11px;background:var(--orange);border:3px solid var(--cream);border-radius:50%}.timeline-item time{font-size:12px;color:var(--orange-dark)}.timeline-item h3{font-size:17px;color:var(--ink);margin:3px 0}.timeline-item p{font-size:13px;color:var(--muted)}
.scenes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.scene{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:17px}.scene-art{height:125px;border-radius:12px;background:#dfeadf;position:relative;overflow:hidden;margin-bottom:16px}.scene-art:before{content:"";position:absolute;width:120px;height:170px;border:7px solid var(--ink);border-radius:18px;left:50%;top:22px;transform:translateX(-50%) rotate(-8deg);background:var(--cream)}.scene:nth-child(2) .scene-art{background:#f0ddcc}.scene:nth-child(3) .scene-art{background:#dce8e6}.scene:nth-child(4) .scene-art{background:#ece4d4}.scene h3{color:var(--ink);font-size:17px}.scene p{font-size:13px;color:var(--muted);margin:3px 0 10px}.scene-labels{display:flex;gap:5px;flex-wrap:wrap}.scene-labels span{font-size:11px;color:var(--ink-2);background:#e7eee6;padding:3px 7px;border-radius:5px}
.service-band{background:#e4eee3;border-radius:22px;padding:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-item{border-right:1px solid #cbdacb;padding-right:15px}.service-item:last-child{border:0}.service-item b{display:block;color:var(--ink);font-size:17px;margin-bottom:5px}.service-item p{font-size:13px;color:#607166}
.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:55px}.quick-card{background:var(--ink);color:#fff;border-radius:18px;padding:28px;height:max-content}.quick-card h3{font-size:22px;margin-bottom:14px}.quick-card li{list-style:none;border-top:1px solid rgba(255,255,255,.18);padding:12px 0;color:#d2ded4;font-size:14px}.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}.faq-item summary{cursor:pointer;padding:17px 20px;color:var(--ink);font-weight:700;list-style:none}.faq-item summary:after{content:"＋";float:right;color:var(--orange)}.faq-item[open] summary:after{content:"－"}.faq-answer{padding:0 20px 18px;color:var(--muted);font-size:14px}
.feedback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feedback{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:25px}.quote{font-size:34px;color:var(--orange);line-height:1}.feedback p{color:var(--ink);margin:8px 0 18px;font-size:15px}.feedback small{color:var(--muted)}
.announce{background:#fff9f1;border:1px solid #ecd8c2;border-radius:18px;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.announce h3{color:var(--ink);margin:6px 0}.announce p{font-size:13px;color:var(--muted)}
.form-box{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{font-size:13px;font-weight:700;color:var(--ink);display:block;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fffefb;border-radius:9px;padding:12px 13px;outline:none}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(23,59,53,.1)}.field.full{grid-column:1/-1}.form-note{font-size:12px;color:var(--muted);margin-top:12px}
.final-cta{padding-top:25px}.final-box{background:#e5eee4;border-radius:24px;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:25px}.final-box h2{color:var(--ink);font-size:30px}.final-box p{color:var(--muted);margin-top:5px}
.site-footer{background:var(--ink);color:#fff;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:38px}.footer-brand p{color:#b8c9bd;font-size:13px;max-width:280px;margin-top:15px}.footer-title{font-weight:700;margin-bottom:13px}.footer-links{display:grid;gap:8px}.footer-links a{color:#b8c9bd;font-size:13px;transition:.2s}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:42px;padding-top:18px;color:#9fb3a6;font-size:12px;display:flex;justify-content:space-between;gap:12px}
@media(max-width:960px){.main-nav{gap:0}.main-nav a{padding:8px 8px}.hero-grid{gap:35px}.topic-strip{grid-template-columns:1fr 1fr}.matrix{grid-template-columns:1fr 1fr}.matrix a:first-child{grid-row:auto}.scenes{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.container{width:min(100% - 32px,var(--max))}.site-header{height:68px}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:14px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{padding:13px 10px}.header-action{display:none}.menu-toggle{display:block;margin-left:auto}.hero{padding:58px 0 35px}.hero-grid,.news-layout,.download-panel,.timeline-layout,.faq-layout{grid-template-columns:1fr}.product-stage{min-height:360px}.phone{transform:rotate(3deg) scale(.88)}.float-card{right:2%;top:18%}.section{padding:64px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:12px}.flow{grid-template-columns:1fr;gap:22px;padding-left:18px}.flow-step{border-top:0;border-left:2px solid var(--sage);padding:0 0 5px 24px;margin:0!important}.flow-step b{margin:0 0 12px -42px}.topic-rail{display:flex;overflow:auto}.feature-topic,.small-topic{min-width:260px}.download-panel{padding:32px 25px}.qr-area{margin-top:10px}.service-band{grid-template-columns:1fr 1fr;padding:25px}.service-item:nth-child(2){border:0}.feedback-grid{grid-template-columns:1fr}.announce{display:block}.announce .btn{margin-top:18px}.final-box{display:block;padding:32px 25px}.final-box .btn{margin-top:20px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}}
@media(max-width:520px){.hero h1{font-size:35px}.hero-copy{font-size:16px}.topic-strip,.matrix,.scenes,.form-grid{grid-template-columns:1fr}.topic-card:nth-child(even){transform:none}.matrix-wrap{padding:20px}.matrix a:first-child{grid-row:auto}.news-item{display:block}.news-item .text-link{display:inline-block;margin-top:8px}.service-band{grid-template-columns:1fr}.service-item{border-right:0;border-bottom:1px solid #cbdacb;padding:0 0 13px}.service-item:last-child{padding-bottom:0}.footer-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}}

/* roulang page: category1 */
:root{
      --ink:#173b35;--ink-2:#24554c;--orange:#e77938;--orange-dark:#c95f25;
      --sage:#a9c2ad;--cream:#f7f3ea;--paper:#fffdf8;--text:#2b302e;
      --muted:#6d736f;--line:#ddd8cd;--radius:18px;
      --shadow:0 14px 38px rgba(44,49,42,.08);--max:1200px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--cream);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.65}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer;border:0}
    .container{width:min(var(--max),calc(100% - 48px));margin:auto}
    .site-header{height:76px;background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
    .header-inner{height:100%;display:flex;align-items:center;gap:30px}
    .logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:18px;white-space:nowrap}
    .logo-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);color:#f5c49e;display:grid;place-items:center;font-weight:800;letter-spacing:-2px}
    .main-nav{display:flex;align-items:center;gap:7px;margin-left:auto}
    .main-nav a{padding:9px 13px;border-radius:9px;color:#4e5b55;font-size:14px;transition:.25s}
    .main-nav a:hover,.main-nav a.active{background:#e7eee6;color:var(--ink)}
    .header-action{margin-left:12px}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:11px;font-weight:700;font-size:14px;transition:.25s;border:1px solid transparent}
    .btn-primary{background:var(--orange);color:#fff}
    .btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(231,121,56,.22)}
    .btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
    .btn-outline:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
    .menu-toggle{display:none;background:transparent;color:var(--ink);font-size:25px}
    .page-head{padding:92px 0 68px;background:var(--cream);position:relative;overflow:hidden}
    .page-head:after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(169,194,173,.6);border-radius:50%;right:-110px;top:-170px}
    .eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--orange-dark);font-size:13px;font-weight:800;letter-spacing:.08em}
    .eyebrow:before{content:"";width:24px;height:3px;border-radius:3px;background:var(--orange)}
    .page-head h1{max-width:760px;font-size:clamp(40px,5vw,58px);line-height:1.16;letter-spacing:-.05em;color:var(--ink);margin:18px 0 15px}
    .page-head p{max-width:700px;color:var(--muted);font-size:18px;margin:0}
    .head-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
    .tag{display:inline-block;padding:5px 10px;background:#e3eee3;color:var(--ink-2);border-radius:7px;font-size:12px;font-weight:700}
    .tag.orange{background:#fae4d4;color:var(--orange-dark)}
    .section{padding:82px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
    .section-title{font-size:clamp(28px,3vw,36px);line-height:1.25;color:var(--ink);letter-spacing:-.03em;margin:0}
    .section-desc{color:var(--muted);max-width:540px;margin:8px 0 0}
    .featured{background:var(--ink);color:#fff;border-radius:22px;padding:34px 38px;display:grid;grid-template-columns:1fr 260px;gap:35px;align-items:center;box-shadow:var(--shadow)}
    .featured h2{font-size:30px;line-height:1.35;margin:15px 0 10px}
    .featured p{color:#c2d0c5;margin:0;max-width:680px}
    .featured-date{text-align:right;color:#b9c8bd;font-size:13px}
    .featured .text-link{display:inline-block;margin-top:22px;color:#f5c49e;font-weight:700}
    .news-layout{display:grid;grid-template-columns:1.06fr .94fr;gap:22px}
    .news-card,.news-item,.editor-card,.tip-card{background:var(--paper);border:1px solid var(--line);border-radius:17px}
    .news-card{padding:30px;min-height:330px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(145deg,#fffdf8 54%,#e0ebe0)}
    .news-card h3{font-size:27px;line-height:1.35;color:var(--ink);margin:14px 0 9px}
    .news-card p,.news-item p{color:var(--muted);font-size:14px;margin:0}
    .news-meta{color:var(--muted);font-size:12px}
    .news-list{display:flex;flex-direction:column;gap:10px}
    .news-item{padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center;transition:.25s}
    .news-item:hover{border-color:var(--sage);transform:translateX(3px);box-shadow:var(--shadow)}
    .news-item h3{font-size:17px;color:var(--ink);margin:6px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .news-item .arrow{font-size:22px;color:var(--orange);flex:none}
    .editor-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
    .editor-card{padding:28px;min-height:190px;position:relative;overflow:hidden}
    .editor-card:first-child{background:#e5eee4}
    .editor-card h3{color:var(--ink);font-size:22px;margin:14px 0 7px}
    .editor-card p{color:var(--muted);margin:0;font-size:14px}
    .editor-card .mark{position:absolute;right:24px;bottom:-18px;font-size:100px;line-height:1;color:rgba(23,59,53,.08);font-weight:800}
    .timeline{border-left:1px solid #c8d4c8;margin:10px 0 0 12px;padding-left:32px}
    .timeline-item{position:relative;padding:0 0 27px}
    .timeline-item:last-child{padding-bottom:0}
    .timeline-item:before{content:"";position:absolute;left:-39px;top:8px;width:12px;height:12px;background:var(--orange);border:3px solid var(--cream);border-radius:50%;box-shadow:0 0 0 1px var(--orange)}
    .timeline-item time{font-size:12px;color:var(--orange-dark);font-weight:800}
    .timeline-item h3{color:var(--ink);font-size:18px;margin:5px 0}
    .timeline-item p{font-size:14px;color:var(--muted);margin:0}
    .tag-wall{display:flex;gap:12px;flex-wrap:wrap;max-width:850px}
    .tag-wall span{border:1px solid var(--line);background:var(--paper);color:var(--ink-2);padding:11px 17px;border-radius:30px;font-size:14px}
    .tips{background:#e5eee4}
    .tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .tip-card{padding:23px;background:rgba(255,253,248,.74)}
    .tip-icon{width:36px;height:36px;border-radius:11px;background:var(--ink);color:#f5c49e;display:grid;place-items:center;font-weight:800}
    .tip-card h3{font-size:18px;color:var(--ink);margin:14px 0 5px}
    .tip-card p{font-size:14px;color:var(--muted);margin:0}
    .bottom-action{background:var(--ink);border-radius:24px;padding:38px 42px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}
    .bottom-action h2{font-size:30px;margin:0 0 8px}
    .bottom-action p{color:#c4d0c5;margin:0}
    .site-footer{background:var(--ink);color:#fff;padding:62px 0 24px;margin-top:20px}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}
    .footer-brand p{color:#b9c8bd;font-size:14px;max-width:290px;margin:18px 0 0}
    .footer-title{font-weight:800;margin-bottom:15px}
    .footer-links{display:flex;flex-direction:column;gap:9px}
    .footer-links a{color:#b9c8bd;font-size:14px;transition:.2s}
    .footer-links a:hover{color:#f5c49e}
    .footer-bottom{border-top:1px solid rgba(185,200,189,.2);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;color:#9eb1a3;font-size:12px}
    :focus-visible{outline:3px solid rgba(231,121,56,.45);outline-offset:3px}
    @media(max-width:960px){
      .main-nav{gap:2px}.main-nav a{padding:8px 8px}
      .featured,.news-layout,.editor-grid{grid-template-columns:1fr}
      .featured-date{text-align:left}
      .tip-grid{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:768px){
      .container{width:min(var(--max),calc(100% - 32px))}
      .site-header{height:68px}.header-inner{gap:12px}
      .menu-toggle{display:block;margin-left:auto}
      .header-action{display:none}
      .main-nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 16px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}
      .main-nav.open{display:flex}
      .main-nav a{padding:13px 15px}
      .page-head{padding:64px 0 52px}
      .page-head h1{font-size:38px}
      .section{padding:62px 0}
      .section-head{display:block}
      .featured{padding:28px 24px}
      .tip-grid{grid-template-columns:1fr}
      .bottom-action{display:block;padding:30px 25px}
      .bottom-action .btn{margin-top:22px}
      .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
    }
    @media(max-width:480px){
      .logo{font-size:16px}.logo-mark{width:31px;height:31px}
      .page-head h1{font-size:32px}
      .page-head p{font-size:16px}
      .news-card h3{font-size:23px}
      .footer-grid{grid-template-columns:1fr;gap:25px}
    }

/* roulang page: article */
:root{
      --ink:#173b35;--ink-2:#24554c;--orange:#e77938;--orange-dark:#c95f25;
      --sage:#a9c2ad;--cream:#f7f3ea;--paper:#fffdf8;--text:#2b302e;
      --muted:#6d736f;--line:#ddd8cd;--radius:18px;
      --shadow:0 14px 38px rgba(44,49,42,.08);--max:1200px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--text);background:var(--cream);line-height:1.65;font-size:16px}
    a{color:inherit;text-decoration:none}
    a:focus-visible,button:focus-visible{outline:3px solid rgba(231,121,56,.45);outline-offset:3px}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer;border:0}
    img{max-width:100%;display:block}
    .container{width:min(var(--max),calc(100% - 48px));margin:auto}
    .site-header{height:76px;background:rgba(255,253,248,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
    .header-inner{height:100%;display:flex;align-items:center;gap:30px}
    .logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:18px;white-space:nowrap}
    .logo-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);color:#f5c49e;display:grid;place-items:center;font-weight:800;letter-spacing:-2px}
    .main-nav{display:flex;align-items:center;gap:7px;margin-left:auto}
    .main-nav a{padding:9px 13px;border-radius:9px;color:#4e5b55;font-size:14px;transition:.25s}
    .main-nav a:hover,.main-nav a.active{background:#e7eee6;color:var(--ink)}
    .header-action{margin-left:12px}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:11px;font-weight:700;font-size:14px;transition:.25s;border:1px solid transparent}
    .btn-primary{background:var(--orange);color:#fff}
    .btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(231,121,56,.22)}
    .btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
    .btn-outline:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
    .menu-toggle{display:none;background:transparent;color:var(--ink);font-size:25px}
    .article-hero{padding:72px 0 62px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
    .article-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(169,194,173,.55);border-radius:50%;right:-150px;top:-220px}
    .article-wrap{max-width:960px;position:relative;z-index:1}
    .crumbs{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;margin-bottom:26px;flex-wrap:wrap}
    .crumbs a:hover{color:var(--orange-dark)}
    .crumbs .current{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .article-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--orange-dark);font-size:13px;font-weight:800;letter-spacing:.06em}
    .article-kicker:before{content:"";width:24px;height:3px;border-radius:4px;background:var(--orange)}
    .article-hero h1{max-width:900px;margin:16px 0 18px;color:var(--ink);font-size:clamp(34px,5vw,56px);line-height:1.2;letter-spacing:-.045em;font-weight:800}
    .article-summary{max-width:820px;color:var(--muted);font-size:18px;margin:0 0 25px}
    .article-meta{display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:17px;color:var(--muted);font-size:13px}
    .tag{display:inline-block;padding:4px 10px;background:#e3eee3;color:var(--ink-2);border-radius:6px;font-size:12px;font-weight:700}
    .content-section{padding:72px 0}
    .reading-layout{display:grid;grid-template-columns:minmax(0,800px) 260px;gap:70px;align-items:start;justify-content:center}
    .article-content{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:42px 48px;box-shadow:var(--shadow);overflow:hidden}
    .article-content h2{color:var(--ink);font-size:28px;line-height:1.35;margin:38px 0 17px;padding-left:16px;border-left:4px solid var(--orange)}
    .article-content h3{color:var(--ink-2);font-size:21px;margin:28px 0 12px}
    .article-content p{margin:0 0 20px;line-height:1.95}
    .article-content ul,.article-content ol{padding-left:24px;margin:18px 0 24px}
    .article-content li{margin:8px 0}
    .article-content a{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--orange)}
    .article-content blockquote{margin:26px 0;padding:19px 22px;background:#eef4ec;border-radius:12px;color:var(--ink-2);border-left:3px solid var(--sage)}
    .article-content img{border-radius:14px;margin:26px auto}
    .article-content table{width:100%;border-collapse:collapse;margin:24px 0;display:block;overflow-x:auto}
    .article-content th,.article-content td{border:1px solid var(--line);padding:12px 15px;text-align:left;white-space:nowrap}
    .article-content th{background:#eef4ec;color:var(--ink)}
    .article-content figure{margin:28px 0}
    .article-content figcaption{text-align:center;color:var(--muted);font-size:13px;margin-top:8px}
    .side-stack{position:sticky;top:105px;display:flex;flex-direction:column;gap:14px}
    .side-card{background:#e6efe4;border:1px solid #d1dfd0;border-radius:16px;padding:22px}
    .side-card strong{display:block;color:var(--ink);font-size:18px;margin-bottom:8px}
    .side-card p{color:var(--muted);font-size:14px;margin:0 0 16px}
    .side-card .line{height:1px;background:rgba(23,59,53,.14);margin:14px 0}
    .side-card li{color:var(--ink-2);font-size:13px;margin:8px 0}
    .highlight{padding:28px 0 0}
    .highlight-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:#fff;border-radius:18px;padding:27px 32px}
    .highlight-card h2{font-size:23px;margin:0 0 7px}
    .highlight-card p{color:#cbd8ce;margin:0;font-size:14px}
    .highlight-card .btn-outline{border-color:#b9c8bd;color:#fff}
    .return-section{padding:0 0 88px}
    .return-box{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:20px}
    .return-box p{color:var(--muted);font-size:14px;margin:0}
    .site-footer{background:var(--ink);color:#fff;padding:58px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.55fr 1fr 1fr 1fr;gap:35px}
    .footer-brand p{color:#b9c8bd;max-width:330px;font-size:14px;margin-top:17px}
    .footer-title{font-weight:800;margin-bottom:15px;color:#fff}
    .footer-links{display:flex;flex-direction:column;gap:9px}
    .footer-links a{color:#b9c8bd;font-size:14px;transition:.2s}
    .footer-links a:hover{color:#f0b184;padding-left:3px}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#a9b9ae;font-size:12px}
    @media(max-width:960px){
      .header-inner{gap:16px}.main-nav{gap:2px}.main-nav a{padding:8px 9px}
      .reading-layout{grid-template-columns:1fr;gap:25px}.side-stack{position:static;display:grid;grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:768px){
      .container{width:min(var(--max),calc(100% - 32px))}
      .site-header{height:68px}.header-action{display:none}.menu-toggle{display:block;margin-left:auto}
      .main-nav{display:none;position:absolute;left:16px;right:16px;top:68px;background:var(--paper);border:1px solid var(--line);border-radius:0 0 16px 16px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
      .main-nav.open{display:flex}.main-nav a{padding:13px 15px}
      .article-hero{padding:48px 0 42px}.article-hero h1{font-size:clamp(31px,8vw,42px)}
      .article-summary{font-size:16px}.content-section{padding:45px 0}
      .article-content{padding:27px 22px;border-radius:15px}.article-content h2{font-size:24px}
      .highlight-card{align-items:flex-start;flex-direction:column;padding:24px}
      .return-section{padding-bottom:56px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}
    }
    @media(max-width:520px){
      .side-stack{display:flex}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}
      .crumbs .current{max-width:260px}.article-meta{gap:10px}
    }

/* roulang page: category2 */
:root{
      --ink:#173b35;--ink-2:#24554c;--orange:#e77938;--orange-dark:#c95f25;
      --sage:#a9c2ad;--cream:#f7f3ea;--paper:#fffdf8;--text:#2b302e;
      --muted:#6d736f;--line:#ddd8cd;--radius:18px;
      --shadow:0 14px 38px rgba(44,49,42,.08);--max:1200px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--text);background:var(--cream);line-height:1.65;font-size:16px}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer;border:0}
    .container{width:min(var(--max),calc(100% - 48px));margin:auto}
    .site-header{height:76px;background:rgba(255,253,248,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
    .header-inner{height:100%;display:flex;align-items:center;gap:30px}
    .logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:18px;white-space:nowrap}
    .logo-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);color:#f5c49e;display:grid;place-items:center;font-weight:800;letter-spacing:-2px}
    .main-nav{display:flex;align-items:center;gap:7px;margin-left:auto}
    .main-nav a{padding:9px 13px;border-radius:9px;color:#4e5b55;font-size:14px;transition:.25s}
    .main-nav a:hover,.main-nav a.active{background:#e7eee6;color:var(--ink)}
    .header-action{margin-left:12px}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:11px;font-weight:700;font-size:14px;transition:.25s;border:1px solid transparent}
    .btn-primary{background:var(--orange);color:#fff}
    .btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(231,121,56,.22);color:#fff}
    .btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
    .btn-outline:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
    .menu-toggle{display:none;background:transparent;color:var(--ink);font-size:25px}
    .page-head{padding:82px 0 64px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
    .page-head:after{content:"";position:absolute;width:410px;height:410px;border:1px solid rgba(169,194,173,.7);border-radius:50%;right:-120px;top:-210px}
    .eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--orange-dark);font-size:13px;font-weight:800;letter-spacing:.08em}
    .eyebrow:before{content:"";width:24px;height:3px;border-radius:3px;background:var(--orange)}
    h1,h2,h3,p{margin-top:0}
    .page-head h1{font-size:clamp(40px,5vw,58px);line-height:1.16;letter-spacing:-.05em;color:var(--ink);max-width:760px;margin:18px 0 17px}
    .page-head p{max-width:680px;color:var(--muted);font-size:18px;margin-bottom:24px}
    .head-meta{display:flex;gap:10px;flex-wrap:wrap}
    .tag{display:inline-block;padding:5px 10px;background:#e3eee3;color:var(--ink-2);border-radius:7px;font-size:12px;font-weight:700}
    .tag.orange{background:#f8e2d3;color:var(--orange-dark)}
    .section{padding:86px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}
    .section-title{font-size:clamp(28px,3vw,36px);line-height:1.25;color:var(--ink);letter-spacing:-.03em;margin:0}
    .section-desc{color:var(--muted);max-width:560px;margin:8px 0 0}
    .download-list{display:flex;flex-direction:column;gap:14px}
    .download-row{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:22px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px 24px;transition:.25s}
    .download-row:hover{border-color:var(--sage);box-shadow:var(--shadow);transform:translateX(3px)}
    .platform-icon{width:52px;height:52px;border-radius:15px;background:#e4eee4;color:var(--ink);display:grid;place-items:center;font-weight:800;font-size:14px}
    .download-row h3{color:var(--ink);font-size:20px;margin:0 0 4px}
    .download-row p{color:var(--muted);font-size:14px;margin:0}
    .row-info{display:flex;gap:15px;color:var(--muted);font-size:12px;margin-top:7px;flex-wrap:wrap}
    .split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
    .qr-card,.device-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px}
    .qr-card{display:flex;align-items:center;gap:28px;background:#e5eee4}
    .qr-box{width:142px;height:142px;background:#fff;border:8px solid #fff;box-shadow:0 4px 15px rgba(23,59,53,.1);display:grid;place-items:center;flex:none}
    .qr-pattern{width:92px;height:92px;background:repeating-linear-gradient(45deg,var(--ink) 0 5px,#fff 5px 10px);opacity:.85}
    .qr-card h3,.device-card h3{color:var(--ink);font-size:21px;margin-bottom:8px}
    .qr-card p,.device-card p{font-size:14px;color:var(--muted);margin-bottom:0}
    .device-card ul{padding:0;margin:17px 0 0;list-style:none}
    .device-card li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
    .device-card li:last-child{border-bottom:0}
    .device-card li:before{content:"✓";color:var(--orange);font-weight:800;margin-right:9px}
    .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
    .step{padding:27px 22px 8px 0;position:relative}
    .step:not(:last-child){border-right:1px solid var(--line);padding-right:28px;margin-right:28px}
    .step-number{color:var(--orange);font-size:30px;font-weight:800;line-height:1}
    .step h3{font-size:19px;color:var(--ink);margin:14px 0 7px}
    .step p{font-size:14px;color:var(--muted);margin:0}
    .update-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px;align-items:start}
    .version-box{background:var(--ink);color:#fff;border-radius:20px;padding:34px;min-height:220px}
    .version-box small{color:#b9c8bd;display:block;margin-bottom:14px}
    .version-box strong{font-size:54px;letter-spacing:-.06em;display:block;color:#f4bf96;line-height:1}
    .version-box span{display:block;margin-top:17px;color:#d8e4d8;font-size:14px}
    .log-list{border-left:2px solid #cbd8cc;padding-left:26px}
    .log-item{position:relative;padding:0 0 25px}
    .log-item:before{content:"";position:absolute;left:-34px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--orange);border:3px solid var(--cream)}
    .log-item:last-child{padding-bottom:0}
    .log-item time{font-size:12px;color:var(--orange-dark);font-weight:700}
    .log-item h3{font-size:18px;color:var(--ink);margin:5px 0}
    .log-item p{font-size:14px;color:var(--muted);margin:0}
    .notice-panel{background:#e7eee5;border:1px solid #cad9ca;border-radius:18px;padding:27px 30px;display:flex;gap:20px;align-items:flex-start}
    .notice-symbol{width:42px;height:42px;border-radius:12px;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
    .notice-panel h3{font-size:19px;color:var(--ink);margin:0 0 6px}
    .notice-panel p{font-size:14px;color:var(--muted);margin:0}
    .faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px}
    .guide-card{background:var(--ink);color:#fff;border-radius:20px;padding:30px;align-self:start}
    .guide-card h3{font-size:24px;margin-bottom:12px}
    .guide-card p{color:#c8d7ca;font-size:14px}
    .guide-card .btn{margin-top:12px}
    .faq-item{background:var(--paper);border:1px solid var(--line);border-radius:13px;margin-bottom:10px;overflow:hidden}
    .faq-item summary{padding:18px 21px;color:var(--ink);font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:48px}
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary:after{content:"+";position:absolute;right:20px;color:var(--orange);font-size:22px;top:13px}
    .faq-item[open] summary:after{content:"−"}
    .faq-answer{padding:0 21px 18px;color:var(--muted);font-size:14px}
    .bottom-cta{padding:0 0 90px}
    .cta-box{background:var(--ink);color:#fff;border-radius:24px;padding:40px 45px;display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta-box h2{font-size:30px;margin:0 0 8px}
    .cta-box p{color:#c8d7ca;margin:0;font-size:14px}
    .site-footer{background:var(--ink);color:#dce8dc;padding:62px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
    .footer-brand p{color:#a9c2ad;font-size:14px;max-width:300px;margin-top:18px}
    .footer-title{color:#fff;font-weight:800;margin-bottom:15px}
    .footer-links{display:flex;flex-direction:column;gap:9px}
    .footer-links a{color:#a9c2ad;font-size:14px;transition:.2s}
    .footer-links a:hover{color:#f0b184}
    .footer-bottom{border-top:1px solid rgba(169,194,173,.22);margin-top:42px;padding-top:19px;display:flex;justify-content:space-between;gap:15px;color:#9eb6a3;font-size:12px}
    :focus-visible{outline:3px solid rgba(231,121,56,.45);outline-offset:3px}
    @media(max-width:960px){
      .main-nav{gap:2px}.main-nav a{padding:8px 8px}
      .header-inner{gap:12px}.header-action{margin-left:5px}
      .split,.update-layout,.faq-layout{grid-template-columns:1fr}
      .steps{grid-template-columns:repeat(2,1fr);gap:20px;border-top:0}
      .step{border-top:1px solid var(--line);padding-top:22px}
      .step:not(:last-child){border-right:0;padding-right:0;margin-right:0}
      .footer-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:768px){
      .site-header{height:68px}.container{width:min(var(--max),calc(100% - 32px))}
      .main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 16px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}
      .main-nav.open{display:flex}.main-nav a{padding:13px 14px}
      .header-action{display:none}.menu-toggle{display:block;margin-left:auto}
      .page-head{padding:58px 0 48px}.page-head h1{font-size:38px}
      .section{padding:62px 0}.download-row{grid-template-columns:58px 1fr;padding:18px}.download-row .btn{grid-column:2;justify-self:start}
      .qr-card{align-items:flex-start;flex-direction:column}.qr-box{width:130px;height:130px}
      .cta-box{padding:30px;display:block}.cta-box .btn{margin-top:22px}
      .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}
    }
    @media(max-width:520px){
      .page-head h1{font-size:32px}.page-head p{font-size:16px}
      .section-head{display:block}.section-desc{font-size:14px}
      .steps{grid-template-columns:1fr}.step{padding-right:0!important}
      .footer-grid{grid-template-columns:1fr;gap:25px}
      .qr-card,.device-card{padding:23px}
      .version-box strong{font-size:46px}
    }

/* roulang page: category3 */
:root{
      --ink:#173b35;--ink-2:#24554c;--orange:#e77938;--orange-dark:#c95f25;
      --sage:#a9c2ad;--cream:#f7f3ea;--paper:#fffdf8;--text:#2b302e;
      --muted:#6d736f;--line:#ddd8cd;--radius:18px;
      --shadow:0 14px 38px rgba(44,49,42,.08);--max:1200px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--cream);line-height:1.65;font-size:16px}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer;border:0}
    .container{width:min(var(--max),calc(100% - 48px));margin:auto}
    .site-header{height:76px;background:rgba(255,253,248,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
    .header-inner{height:100%;display:flex;align-items:center;gap:30px}
    .logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:18px;white-space:nowrap}
    .logo-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);color:#f5c49e;display:grid;place-items:center;font-weight:800;letter-spacing:-2px}
    .main-nav{display:flex;align-items:center;gap:7px;margin-left:auto}
    .main-nav a{padding:9px 13px;border-radius:9px;color:#4e5b55;font-size:14px;transition:.25s}
    .main-nav a:hover,.main-nav a.active{background:#e7eee6;color:var(--ink)}
    .header-action{margin-left:12px}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:11px;font-weight:700;font-size:14px;transition:.25s;border:1px solid transparent}
    .btn-primary{background:var(--orange);color:#fff}
    .btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(231,121,56,.22)}
    .btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
    .btn-outline:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
    .menu-toggle{display:none;background:transparent;color:var(--ink);font-size:25px}
    .page-head{padding:82px 0 70px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
    .page-head:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(169,194,173,.7);border-radius:50%;right:-110px;top:-150px}
    .eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--orange-dark);font-size:13px;font-weight:800;letter-spacing:.08em}
    .eyebrow:before{content:"";width:24px;height:3px;border-radius:3px;background:var(--orange)}
    h1,h2,h3{color:var(--ink);font-weight:800;letter-spacing:-.035em}
    h1{font-size:clamp(38px,5vw,58px);line-height:1.18;margin:18px 0 15px;max-width:760px}
    h2{font-size:clamp(28px,3vw,36px);line-height:1.25;margin:0}
    h3{font-size:20px;margin:0 0 8px}
    .page-intro{max-width:690px;color:var(--muted);font-size:18px}
    .head-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
    .tag{display:inline-block;padding:5px 10px;background:#e3eee3;color:var(--ink-2);border-radius:7px;font-size:12px;font-weight:700}
    .tag.orange{background:#fbe5d5;color:var(--orange-dark)}
    .section{padding:88px 0}
    .section-soft{background:#edf3eb}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}
    .section-desc{color:var(--muted);max-width:520px;margin:8px 0 0}
    .guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .step-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:25px 22px;min-height:205px;transition:.25s}
    .step-card:nth-child(2){transform:translateY(17px)}
    .step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--sage)}
    .step-no{font-size:42px;line-height:1;color:var(--orange);font-weight:800;margin-bottom:27px}
    .step-card p,.map-card p,.scene-card p,.check-card li{font-size:14px;color:var(--muted);margin:0}
    .map-layout{display:grid;grid-template-columns:1.05fr 1.6fr;gap:20px}
    .map-lead{background:var(--ink);color:#fff;border-radius:20px;padding:34px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}
    .map-lead h3{color:#fff;font-size:28px}
    .map-lead p{color:#c6d5ca}
    .map-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
    .map-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:23px;transition:.25s}
    .map-card:hover{border-color:var(--orange);transform:translateY(-3px)}
    .icon{width:38px;height:38px;border-radius:12px;background:#e5eee4;color:var(--ink);display:grid;place-items:center;font-weight:800;margin-bottom:18px}
    .check-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:start}
    .check-intro{padding:12px 0}
    .check-intro p{color:var(--muted);max-width:400px}
    .check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
    .check-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:20px}
    .check-card li{list-style:none;position:relative;padding-left:25px;margin:8px 0}
    .check-card li:before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:800}
    .scenes{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:14px}
    .scene-card{min-height:240px;border:1px solid var(--line);border-radius:18px;padding:25px;background:var(--paper);display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}
    .scene-card:first-child{background:#e1ebe0;min-height:310px}
    .scene-card:nth-child(2){background:#f5e4d7}
    .scene-card:before{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(23,59,53,.16);border-radius:50%;right:-45px;top:-35px}
    .scene-card h3,.scene-card p,.scene-card .tag{position:relative}
    .scene-card .tag{width:max-content;margin-bottom:12px}
    .faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}
    .faq-side{background:var(--ink);border-radius:19px;padding:30px;color:#fff;height:max-content}
    .faq-side h3{color:#fff;font-size:25px}
    .faq-side p{color:#c7d5cc;font-size:14px}
    .faq-list{border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-q{width:100%;background:transparent;padding:20px 5px;text-align:left;color:var(--ink);font-weight:700;display:flex;justify-content:space-between;gap:20px}
    .faq-q span:last-child{color:var(--orange);font-size:22px;line-height:1}
    .faq-a{display:none;padding:0 40px 20px 5px;color:var(--muted);font-size:14px}
    .faq-item.open .faq-a{display:block}
    .reading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
    .reading-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:23px;min-height:175px;transition:.25s}
    .reading-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
    .reading-card h3{font-size:18px;margin:15px 0 9px}
    .reading-card p{font-size:13px;color:var(--muted);margin:0 0 16px}
    .text-link{color:var(--orange-dark);font-weight:700;font-size:14px}
    .cta-section{padding:26px 0 96px}
    .cta-box{background:var(--ink);border-radius:24px;padding:42px 48px;display:flex;justify-content:space-between;align-items:center;gap:25px;color:#fff}
    .cta-box h2{color:#fff;font-size:30px}
    .cta-box p{color:#c8d6ce;margin:8px 0 0}
    .site-footer{background:var(--ink);color:#d7e2d9;padding:58px 0 25px;border-top:1px solid rgba(255,255,255,.08)}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}
    .footer-brand p{color:#a9c2ad;font-size:14px;max-width:300px;margin-top:18px}
    .footer-title{color:#fff;font-weight:700;margin-bottom:15px}
    .footer-links{display:flex;flex-direction:column;gap:9px;font-size:14px;color:#b5c7ba}
    .footer-links a:hover{color:#f0b184}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:42px;padding-top:19px;display:flex;justify-content:space-between;gap:15px;color:#9eb3a5;font-size:12px}
    :focus-visible{outline:3px solid rgba(231,121,56,.45);outline-offset:3px}
    @media(max-width:960px){
      .main-nav{gap:2px}.main-nav a{padding:8px 8px}
      .guide-grid{grid-template-columns:repeat(2,1fr)}
      .map-layout,.check-layout,.faq-layout{grid-template-columns:1fr}
      .scenes{grid-template-columns:1fr 1fr}
      .scene-card:first-child{grid-column:span 2}
      .footer-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:768px){
      .container{width:min(var(--max),calc(100% - 32px))}
      .site-header{height:68px}.header-inner{gap:0;justify-content:space-between}
      .main-nav{display:none;position:absolute;left:16px;right:16px;top:75px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
      .main-nav.show{display:flex}.main-nav a{padding:12px 14px}
      .header-action{display:none}.menu-toggle{display:block}
      .page-head{padding:58px 0 50px}
      .section{padding:62px 0}.section-head{display:block;margin-bottom:25px}
      .guide-grid,.reading-grid{grid-template-columns:1fr}
      .step-card:nth-child(2){transform:none}
      .scenes{grid-template-columns:1fr}
      .scene-card:first-child{grid-column:auto}
      .cta-box{display:block;padding:32px 25px}.cta-box .btn{margin-top:22px}
      .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
    }
    @media(max-width:480px){
      h1{font-size:35px}.page-intro{font-size:16px}
      .map-grid,.check-list{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
    }
