/* roulang page: index */
:root{--ink:#171a17;--ink2:#222722;--panel:#202520;--line:#354035;--lime:#b6f42b;--mint:#65d6a0;--coral:#f07850;--paper:#f4f5ef;--white:#fff;--text:#1d211e;--muted:#687068;--light:#e9ede4;--radius:20px;--radius-sm:12px;--shadow:0 14px 34px rgba(21,29,21,.09);--wrap:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;background:var(--paper);color:var(--text);line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.container{width:min(var(--wrap),calc(100% - 64px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:18px;top:18px;z-index:99;background:var(--lime);padding:9px 14px;color:var(--ink);border-radius:8px}
.header{height:76px;background:var(--ink);color:var(--light);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}.navwrap{height:100%;display:flex;align-items:center;gap:25px}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;line-height:1.25;max-width:255px}.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--lime);color:var(--ink);font-size:13px;letter-spacing:-1px}.nav{display:flex;align-items:center;gap:20px;flex:1;justify-content:center}.nav a{font-size:14px;color:#cfd5cb;padding:26px 0 22px;position:relative;white-space:nowrap}.nav a:hover,.nav a.active{color:#fff}.nav a.active:after{content:"";position:absolute;height:3px;border-radius:4px;background:var(--lime);left:0;right:0;bottom:14px}.header-actions{display:flex;align-items:center;gap:12px}.support{font-size:13px;color:#cfd5cb}.menu{display:none;border:1px solid var(--line);background:transparent;color:#fff;padding:8px 10px;border-radius:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:11px;font-weight:800;font-size:14px;transition:.22s ease;cursor:pointer}.btn-primary{background:var(--lime);color:var(--ink)}.btn-primary:hover{transform:translateY(-2px);background:#cdfa62;box-shadow:0 8px 20px rgba(182,244,43,.2)}.btn-primary:active{transform:translateY(0);background:#9cda15}.btn-ghost{border-color:#566056;color:var(--light);background:transparent}.btn-ghost:hover{border-color:var(--lime);color:var(--lime)}.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.eyebrow{display:inline-flex;gap:7px;align-items:center;color:var(--lime);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.eyebrow:before{content:"";height:7px;width:7px;background:var(--lime);border-radius:2px}.section{padding:92px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}.section-head h2{margin:7px 0 0;font-size:34px;line-height:1.2;letter-spacing:-.04em}.section-head p{max-width:460px;margin:0;color:var(--muted);font-size:15px}.section-dark{background:var(--ink);color:var(--light)}.section-dark .section-head p{color:#aab2a9}.hero{position:relative;overflow:hidden;background:var(--ink);color:var(--light);padding:88px 0 72px;min-height:620px}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(182,244,43,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(182,244,43,.055) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,#000 20%,transparent 90%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:55px}.hero h1{font-size:clamp(40px,5vw,58px);line-height:1.08;letter-spacing:-.06em;margin:14px 0 18px;max-width:690px}.hero p{font-size:17px;color:#c7cec4;max-width:610px;margin:0 0 25px}.meta-row{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}.pill{border:1px solid #465046;border-radius:9px;padding:6px 10px;font-size:12px;color:#cbd3c8}.pill.good{border-color:rgba(101,214,160,.45);color:var(--mint)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.device-stage{position:relative;min-height:450px}.device{position:absolute;right:45px;top:0;width:245px;height:475px;border:8px solid #3c453c;border-radius:35px;background:#101310;box-shadow:20px 24px 0 #2b312b;transform:rotate(7deg);padding:13px}.speaker{height:12px;width:76px;margin:auto;background:#353d35;border-radius:20px}.screen{margin-top:10px;background:#edf1e9;height:415px;border-radius:20px;padding:16px;color:var(--ink);overflow:hidden}.screen-bar{display:flex;justify-content:space-between;font-size:10px;font-weight:800}.screen-hero{background:var(--lime);height:105px;border-radius:14px;margin:16px 0;padding:13px;font-weight:900;font-size:20px;line-height:1.15}.screen-lines span{display:block;height:9px;background:#d3d9d0;border-radius:6px;margin:10px 0}.screen-lines span:nth-child(2){width:70%}.screen-cards{display:flex;gap:8px}.screen-cards i{height:68px;flex:1;background:#c7e2bb;border-radius:10px}.qr{position:absolute;left:12px;bottom:25px;padding:14px;background:#f6f8f1;color:var(--ink);border-radius:14px;width:137px;box-shadow:var(--shadow)}.qr-grid{width:60px;height:60px;float:left;margin-right:10px;background:repeating-conic-gradient(#172017 0 25%,#f4f5ef 0 50%) 50%/12px 12px}.qr b{font-size:12px;line-height:1.35;display:block}.qr small{font-size:10px;color:var(--muted);line-height:1.2;display:block}.float-note{position:absolute;right:0;bottom:45px;border:1px solid var(--line);background:var(--panel);padding:12px 15px;border-radius:12px;font-size:12px;color:#dce3d9}
.download-strip{padding:28px 0;background:#e7ebe2}.download-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:1px;background:#d4dbd0;border:1px solid #d4dbd0;border-radius:18px;overflow:hidden}.download-unit{background:#f8f9f5;padding:23px;min-height:155px}.download-unit b{font-size:17px;display:block;margin-bottom:5px}.download-unit p{font-size:13px;color:var(--muted);margin:0 0 13px}.mini-link{font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.feature-layout{display:grid;grid-template-columns:340px 1fr;gap:45px}.feature-tabs{border-left:1px solid #ccd4c9}.feature-tab{padding:17px 20px;border-left:3px solid transparent;color:var(--muted);font-weight:700;cursor:pointer}.feature-tab.active,.feature-tab:hover{border-color:var(--lime);color:var(--text);background:#eef1e9}.feature-visual{background:#e2e9db;border-radius:24px;min-height:370px;padding:34px;position:relative;overflow:hidden}.feature-visual:after{content:"J9";position:absolute;right:30px;bottom:-57px;font-size:210px;font-weight:900;color:rgba(23,26,23,.05)}.feature-visual h3{font-size:29px;margin:0 0 12px}.feature-visual p{max-width:460px;color:var(--muted)}.checklist{padding:0;list-style:none;margin:23px 0}.checklist li{margin:8px 0}.checklist li:before{content:"✓";color:#3d8b65;font-weight:900;margin-right:10px}
.matrix{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:16px}.zone-main,.zone-card,.zone-chip{border-radius:18px;background:var(--panel);border:1px solid var(--line);padding:25px;transition:.22s}.zone-main{min-height:230px;background:#2b3428}.zone-main h3,.zone-card h3{margin:7px 0;font-size:22px}.zone-card{min-height:107px}.zone-main:hover,.zone-card:hover{transform:translateY(-4px);border-color:var(--lime)}.zone-card p,.zone-main p{margin:0;color:#b8c1b5;font-size:13px}.zone-chip{padding:13px 15px;font-size:13px;color:#cbd3c8}.zone-chip:hover{border-color:var(--mint)}.zone-small{display:grid;gap:16px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{position:relative;padding:24px 18px 18px;border-top:1px solid #485248}.step:not(:last-child):after{content:"";position:absolute;top:0;right:-20px;width:20px;border-top:1px solid var(--lime)}.number{color:var(--lime);font-size:13px;font-weight:900;letter-spacing:.15em}.step h3{margin:12px 0 7px;font-size:19px}.step p{margin:0;color:#aeb8ac;font-size:14px}.focus-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.feature-story{padding:34px;background:#dbe7d3;border-radius:22px;min-height:300px;position:relative;overflow:hidden}.feature-story:after{content:"公告";position:absolute;right:-18px;bottom:-33px;font-size:115px;font-weight:900;color:rgba(29,33,30,.07)}.feature-story h3{font-size:28px;line-height:1.25;max-width:480px;margin:14px 0}.feature-story p{max-width:490px;color:var(--muted)}.story-list{display:grid;gap:1px;background:#d6ddd2}.story-item{background:var(--paper);padding:21px 22px}.story-item b{display:block;margin:6px 0;font-size:16px}.story-item small,.article-meta{color:var(--muted);font-size:12px}.tag{display:inline-block;padding:3px 8px;border-radius:6px;background:#e5eadf;color:#4e5c4d;font-weight:800;font-size:11px}.latest{background:#eaede7}.cms-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:17px}.post-card{background:#fff;border:1px solid #dce1d9;border-radius:16px;padding:23px;transition:.22s;display:block}.post-card:hover{transform:translateY(-3px);border-color:#a9d835;box-shadow:var(--shadow)}.post-card h3{font-size:20px;line-height:1.4;margin:10px 0}.post-card p{font-size:14px;color:var(--muted);margin:0 0 16px}.post-card.large{min-height:240px;background:var(--ink);color:var(--light)}.post-card.large p,.post-card.large .article-meta{color:#b8c1b5}.post-side{display:grid;gap:17px}.empty{grid-column:1/-1;text-align:center;padding:50px;background:white;border:1px dashed #b8c2b5;border-radius:16px;color:var(--muted)}.gallery{display:grid;grid-template-columns:1.05fr .85fr .85fr 1.05fr;gap:16px;align-items:end}.shot{height:265px;background:#e2e7dd;border:1px solid #cdd5c9;border-radius:19px;padding:15px;overflow:hidden}.shot:nth-child(2),.shot:nth-child(3){height:220px}.shot-top{display:flex;justify-content:space-between;font-size:11px;font-weight:800}.shot-ui{margin-top:15px;height:180px;border-radius:12px;background:linear-gradient(155deg,#293229,#657661);padding:15px}.shot-ui b{color:var(--lime);font-size:22px}.shot-ui i{display:block;height:10px;border-radius:8px;background:rgba(255,255,255,.45);margin:13px 0}.calendar-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px}.date-card{background:var(--ink2);color:var(--light);border-radius:20px;padding:28px}.date-card strong{display:block;font-size:60px;line-height:1;color:var(--lime)}.date-card p{color:#b7c0b5}.schedule{border-top:1px solid #ccd3c9}.schedule-item{padding:18px 0;border-bottom:1px solid #ccd3c9;display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center}.schedule-item b{font-size:15px}.security-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}.shield{background:#dcebd5;border-radius:24px;padding:43px}.shield-icon{font-size:58px;color:#397756}.shield h2{font-size:35px;line-height:1.2;margin:14px 0}.accordions{display:grid;gap:10px}.safe-line{background:#fff;border:1px solid #dce1d9;border-radius:12px;padding:16px}.safe-line b{display:block;margin-bottom:4px}.safe-line span{font-size:14px;color:var(--muted)}.membership{background:#edf0e9}.tiers{display:grid;grid-template-columns:.8fr 1fr 1.2fr;gap:0;align-items:end}.tier{border:1px solid #ccd4c9;background:#fff;padding:23px;min-height:190px}.tier:nth-child(2){min-height:230px;background:#e2f0d7}.tier:nth-child(3){min-height:270px;background:var(--ink2);color:var(--light)}.tier b{font-size:22px}.tier ul{padding-left:17px;font-size:14px}.feedback-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote{background:#f3f5ef;color:var(--text);padding:22px;border-radius:16px}.quote:nth-child(2){transform:translateY(28px)}.quote p{margin:0 0 15px;font-size:15px}.quote small{color:var(--muted)}.feedback-side{padding:30px;border:1px solid var(--line);border-radius:18px}.feedback-side strong{font-size:42px;color:var(--lime)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.faq{background:#fff;border:1px solid #dae0d7;border-radius:12px;padding:0 17px}.faq summary{cursor:pointer;font-weight:800;padding:16px 0;list-style:none}.faq summary:after{content:"+";float:right;color:#5c675b;font-size:20px}.faq[open] summary:after{content:"−";color:#5a921c}.faq p{color:var(--muted);font-size:14px;margin:0 0 17px}.cta{padding:58px 0;background:var(--ink);color:var(--light);position:relative;overflow:hidden}.cta:after{content:"J9";position:absolute;right:4%;bottom:-110px;font-size:260px;font-weight:900;color:rgba(182,244,43,.06)}.cta-box{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.cta h2{font-size:36px;line-height:1.2;margin:8px 0}.cta p{color:#b8c1b5;margin:0}.cta-actions{display:flex;gap:10px;align-items:center}.cta-qr{width:82px;height:82px;background:repeating-conic-gradient(#172017 0 25%,#f4f5ef 0 50%) 50%/16px 16px;border:8px solid #f4f5ef}
.footer{background:#111410;color:#c3cbc0;padding:58px 0 20px}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,.7fr);gap:35px;padding-bottom:40px;border-bottom:1px solid #2e352e}.footer .logo{color:#fff;margin-bottom:16px}.footer p{font-size:13px;color:#929c91;max-width:330px}.footer h3{font-size:14px;color:#fff;margin:0 0 12px}.footer a{display:block;font-size:13px;margin:8px 0;color:#aab3a8}.footer a:hover{color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:17px;font-size:12px;color:#7e887d}.responsible{color:var(--mint)}
@media(max-width:1024px){.nav{gap:13px}.nav a{font-size:13px}.hero-grid{gap:20px}.feature-layout{grid-template-columns:280px 1fr}.matrix{grid-template-columns:1fr 1fr}.zone-main{grid-row:span 2}.gallery{grid-template-columns:1fr 1fr}.download-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.container{width:min(100% - 32px,var(--wrap))}.header{height:66px}.nav{display:none}.support{display:none}.menu{display:block}.navwrap{justify-content:space-between}.logo{font-size:13px;max-width:210px}.header-actions .btn{min-height:38px;padding:8px 11px;font-size:12px}.hero{padding:62px 0 45px;min-height:auto}.hero-grid,.focus-grid,.security-grid,.calendar-grid,.feedback-grid{grid-template-columns:1fr}.device-stage{min-height:385px;margin-top:8px}.device{right:20px;width:200px;height:385px}.screen{height:330px}.qr{left:0;bottom:10px}.float-note{right:0;bottom:25px}.section{padding:64px 0}.section-head{display:block}.section-head p{margin-top:15px}.section-head h2{font-size:29px}.feature-layout{grid-template-columns:1fr;gap:20px}.feature-tabs{display:flex;overflow:auto;border-left:0;border-bottom:1px solid #ccd4c9}.feature-tab{white-space:nowrap;border-left:0;border-bottom:3px solid transparent}.flow{grid-template-columns:1fr 1fr}.step:not(:last-child):after{display:none}.cms-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.schedule-item{grid-template-columns:72px 1fr}.schedule-item .mini-link{display:none}.tiers{grid-template-columns:1fr}.tier,.tier:nth-child(2),.tier:nth-child(3){min-height:auto}.quote:nth-child(2){transform:none}.cta-box{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin:6px 0}}
@media(max-width:520px){.header-actions .btn{font-size:0;min-width:39px;padding:8px}.header-actions .btn:before{content:"↓";font-size:18px}.hero h1{font-size:36px}.hero p{font-size:15px}.device-stage{transform:scale(.9);transform-origin:top center;margin-bottom:-35px}.download-grid,.matrix,.gallery,.faq-grid,.quotes{grid-template-columns:1fr}.download-unit{min-height:0}.zone-main{grid-row:auto}.flow{grid-template-columns:1fr}.schedule-item{grid-template-columns:62px 1fr}.cta-actions{align-items:flex-start;flex-wrap:wrap}.cta h2{font-size:29px}.footer-grid{grid-template-columns:1fr;gap:23px}.section-head h2{font-size:27px}}

/* roulang page: article */
:root{--ink:#171a17;--ink2:#222722;--panel:#202520;--line:#354035;--lime:#b6f42b;--mint:#65d6a0;--coral:#f07850;--paper:#f4f5ef;--white:#fff;--text:#1d211e;--muted:#687068;--light:#e9ede4;--radius:20px;--radius-sm:12px;--shadow:0 14px 34px rgba(21,29,21,.09);--wrap:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(var(--wrap),calc(100% - 64px));margin:auto}
.header{height:76px;background:var(--ink);color:var(--light);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(255,255,255,.08)}
.navwrap{height:100%;display:flex;align-items:center;gap:25px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;line-height:1.25;max-width:255px}
.mark{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:var(--lime);color:var(--ink);font-size:14px;font-weight:950;letter-spacing:-.08em}
.nav{display:flex;align-items:center;gap:20px;flex:1;justify-content:center}
.nav a{font-size:14px;color:#cfd5cb;padding:26px 0 22px;position:relative;white-space:nowrap}
.nav a:hover,.nav a.active{color:#fff}
.nav a.active:after{content:"";position:absolute;height:3px;border-radius:4px;background:var(--lime);left:0;right:0;bottom:14px}
.header-actions{display:flex;align-items:center;gap:12px}
.support{font-size:13px;color:#b8c1b5}
.menu{display:none;border:1px solid var(--line);background:transparent;color:#fff;padding:8px 10px;border-radius:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:11px;font-weight:800;font-size:14px;transition:.22s ease;cursor:pointer}
.btn-primary{background:var(--lime);color:var(--ink)}
.btn-primary:hover{transform:translateY(-2px);background:#cdfa62;box-shadow:0 8px 20px rgba(182,244,43,.2)}
.btn-primary:active{transform:translateY(0);background:#9cda15}
.btn-ghost{border-color:#566056;color:var(--light);background:transparent}
.btn-ghost:hover{border-color:var(--lime);color:var(--lime)}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.article-top{padding:72px 0 62px;background:var(--paper);border-bottom:1px solid #dce2d9}
.breadcrumb{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:24px}
.breadcrumb span{color:#a1aaa0}
.eyebrow{display:inline-flex;gap:7px;align-items:center;color:#4f7346;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}
.eyebrow:before{content:"";height:7px;width:7px;background:var(--lime);border-radius:2px}
.article-top h1{font-size:clamp(34px,5vw,58px);line-height:1.13;letter-spacing:-.055em;max-width:900px;margin:13px 0 22px}
.article-meta{display:flex;flex-wrap:wrap;gap:9px 18px;color:var(--muted);font-size:13px}
.meta-item{display:inline-flex;align-items:center;gap:7px}
.meta-item:before{content:"";width:5px;height:5px;background:#9cab99;border-radius:50%}
.article-intro{padding:58px 0 34px}
.cover-wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:32px;align-items:stretch}
.cover-art{min-height:285px;border-radius:var(--radius);padding:32px;background:#dce8d4;position:relative;overflow:hidden;border:1px solid #cbd8c4}
.cover-art:before{content:"J9";position:absolute;right:20px;bottom:-55px;font-size:220px;line-height:1;font-weight:950;color:rgba(29,33,30,.08)}
.cover-art:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(77,116,65,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(77,116,65,.1) 1px,transparent 1px);background-size:32px 32px;opacity:.5}
.cover-label,.cover-art h2,.cover-art p{position:relative;z-index:1}
.cover-label{font-size:12px;color:#507249;font-weight:800;letter-spacing:.1em}
.cover-art h2{font-size:32px;line-height:1.2;max-width:410px;margin:24px 0 12px}
.cover-art p{max-width:430px;color:#536253;margin:0}
.summary{background:var(--white);border:1px solid #dce1d9;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}
.summary strong{font-size:13px;color:#507249;letter-spacing:.08em}
.summary p{font-size:18px;line-height:1.8;margin:14px 0 0;color:#354035}
.reading-layout{display:grid;grid-template-columns:minmax(0,820px) 250px;gap:72px;align-items:start;padding:45px 0 82px}
.article-content{background:#fff;border:1px solid #dfe5dc;border-radius:var(--radius);padding:42px 50px;box-shadow:var(--shadow);font-size:16px;overflow-wrap:anywhere}
.article-content h2{font-size:29px;line-height:1.3;margin:37px 0 15px;letter-spacing:-.03em}
.article-content h3{font-size:21px;margin:28px 0 10px}
.article-content p{margin:0 0 18px}
.article-content ul,.article-content ol{padding-left:24px;margin:15px 0 24px}
.article-content li{margin:7px 0}
.article-content blockquote{border-left:4px solid var(--lime);background:#eef3e9;padding:17px 20px;margin:25px 0;color:#465245;border-radius:0 12px 12px 0}
.article-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
.article-content td,.article-content th{padding:11px 13px;border:1px solid #d7dfd4;text-align:left}
.article-content th{background:#eef2eb}
.article-content img{border-radius:14px;margin:25px auto}
.toc{position:sticky;top:105px}
.toc-box{border-left:2px solid #d2dbcf;padding-left:18px}
.toc-title{font-weight:900;margin-bottom:15px}
.toc a{display:block;color:var(--muted);font-size:13px;padding:6px 0;transition:.2s}
.toc a:hover{color:var(--text);padding-left:4px}
.progress{height:5px;background:#dce4d9;border-radius:5px;overflow:hidden;margin:18px 0 22px}
.progress i{display:block;width:42%;height:100%;background:var(--lime)}
.notice-section{padding:0 0 74px}
.notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.notice{border-radius:16px;padding:22px;border:1px solid #cbded0;background:#edf6ee}
.notice:nth-child(2){background:#fff2e9;border-color:#f1d2c5}
.notice:nth-child(3){background:#fff;border-color:#dfe5dc}
.notice b{display:block;margin-bottom:7px}
.notice p{font-size:14px;color:var(--muted);margin:0}
.related-section{padding:82px 0;background:#e8ede5}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:27px}
.section-head h2{font-size:32px;line-height:1.2;margin:8px 0 0;letter-spacing:-.04em}
.section-head p{max-width:440px;color:var(--muted);margin:0;font-size:14px}
.related-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:15px}
.related-card{display:block;background:#fff;border:1px solid #d9e0d6;border-radius:16px;padding:24px;min-height:155px;transition:.22s}
.related-card:hover{transform:translateY(-4px);border-color:var(--lime);box-shadow:var(--shadow)}
.related-card:first-child{background:var(--ink);color:var(--light)}
.related-card small{color:#64815d;font-size:11px;font-weight:800}
.related-card:first-child small{color:var(--lime)}
.related-card h3{font-size:19px;line-height:1.35;margin:13px 0 8px}
.related-card p{color:var(--muted);font-size:13px;margin:0}
.related-card:first-child p{color:#b8c1b5}
.action-section{padding:54px 0 82px}
.action-box{background:var(--ink);color:var(--light);border-radius:var(--radius);padding:36px 42px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;overflow:hidden}
.action-box:after{content:"J9";position:absolute;right:80px;bottom:-48px;color:rgba(182,244,43,.08);font-size:190px;font-weight:950}
.action-box>*{position:relative;z-index:1}
.action-box h2{margin:0 0 8px;font-size:29px}
.action-box p{margin:0;color:#bac4b8;font-size:14px}
.action-buttons{display:flex;gap:11px;flex-wrap:wrap}
.empty-state{padding:62px 20px;text-align:center;color:var(--muted)}
.empty-state strong{display:block;color:var(--text);font-size:22px;margin-bottom:8px}
.footer{background:var(--ink);color:var(--light);padding:60px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}
.footer .logo{margin-bottom:18px}
.footer p{color:#aeb8aa;font-size:13px;max-width:270px;margin:8px 0}
.footer .responsible{color:var(--mint)}
.footer h3{font-size:14px;margin:4px 0 15px;color:#fff}
.footer-grid>div:not(:first-child) a{display:block;color:#aeb8aa;font-size:13px;margin:8px 0;transition:.2s}
.footer-grid>div:not(:first-child) a:hover{color:var(--lime);transform:translateX(3px)}
.footer-bottom{border-top:1px solid var(--line);margin-top:42px;padding-top:19px;display:flex;justify-content:space-between;gap:20px;color:#879287;font-size:12px}
@media(max-width:1024px){
.container{width:min(var(--wrap),calc(100% - 48px))}
.nav{gap:13px}.nav a{font-size:13px}.support{display:none}
.cover-wrap{grid-template-columns:1fr 1fr}.reading-layout{grid-template-columns:minmax(0,1fr) 205px;gap:35px}
.article-content{padding:34px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}
}
@media(max-width:767px){
.container{width:calc(100% - 32px)}
.header{height:68px}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ink);padding:14px 16px 80px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}
.nav.open{display:flex}.nav a{padding:13px 4px;border-bottom:1px solid #303830}.nav a.active:after{bottom:0;left:auto;width:34px}
.header-actions{margin-left:auto}.menu{display:block}.header-actions .btn{min-height:38px;padding:8px 12px}
.logo{font-size:12px}.mark{width:34px;height:34px}
.article-top{padding:48px 0 40px}.article-top h1{font-size:34px}.breadcrumb{margin-bottom:17px}
.article-intro{padding:34px 0 15px}.cover-wrap{grid-template-columns:1fr;gap:16px}.cover-art{min-height:235px;padding:25px}.cover-art h2{font-size:27px;margin-top:19px}.summary{padding:25px}
.reading-layout{display:block;padding:27px 0 55px}.toc{position:static;margin-bottom:20px}.toc-box{border:1px solid #d7dfd4;border-radius:13px;padding:15px;background:#fff}.toc a{display:inline-block;margin-right:13px}
.article-content{padding:25px 20px;font-size:15px}.article-content h2{font-size:25px}
.notice-section{padding-bottom:48px}.notice-grid{grid-template-columns:1fr}.related-section{padding:55px 0}.section-head{display:block}.section-head p{margin-top:10px}.related-grid{grid-template-columns:1fr}
.action-section{padding:35px 0 55px}.action-box{display:block;padding:29px 24px}.action-buttons{margin-top:22px}.footer{padding-top:44px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block;line-height:2}
}
@media(max-width:520px){
.header-actions .btn{font-size:12px}.article-meta{gap:7px 12px}.cover-art:before{font-size:150px}.action-box h2{font-size:24px}.action-box:after{right:-10px}
}

/* roulang page: category1 */
:root{--ink:#171a17;--ink2:#222722;--panel:#202520;--line:#354035;--lime:#b6f42b;--mint:#65d6a0;--coral:#f07850;--paper:#f4f5ef;--white:#fff;--text:#1d211e;--muted:#687068;--light:#e9ede4;--radius:20px;--radius-sm:12px;--shadow:0 14px 34px rgba(21,29,21,.09);--wrap:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
.container{width:min(var(--wrap),calc(100% - 64px));margin:auto}
.header{height:76px;background:var(--ink);color:var(--light);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}
.navwrap{height:100%;display:flex;align-items:center;gap:25px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;line-height:1.25;max-width:255px}
.mark{width:37px;height:37px;border-radius:10px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:14px;font-weight:900;flex:0 0 auto}
.nav{display:flex;align-items:center;gap:20px;flex:1;justify-content:center}
.nav a{font-size:14px;color:#cfd5cb;padding:26px 0 22px;position:relative;white-space:nowrap}
.nav a:hover,.nav a.active{color:#fff}
.nav a.active:after{content:"";position:absolute;height:3px;border-radius:4px;background:var(--lime);left:0;right:0;bottom:14px}
.header-actions{display:flex;align-items:center;gap:12px}
.support{font-size:13px;color:#cbd3c8}
.menu{display:none;border:1px solid var(--line);background:transparent;color:#fff;padding:8px 10px;border-radius:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:11px;font-weight:800;font-size:14px;transition:.22s ease;cursor:pointer}
.btn-primary{background:var(--lime);color:var(--ink)}
.btn-primary:hover{transform:translateY(-2px);background:#cdfa62;box-shadow:0 8px 20px rgba(182,244,43,.2)}
.btn-primary:active{transform:translateY(0);background:#9cda15}
.btn-ghost{border-color:#566056;color:var(--light);background:transparent}
.btn-ghost:hover{border-color:var(--lime);color:var(--lime)}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.eyebrow{display:inline-flex;gap:7px;align-items:center;color:var(--lime);letter-spacing:.1em;font-size:11px;font-weight:800}
.eyebrow:before{content:"";height:7px;width:7px;background:var(--lime);border-radius:2px}
.page-head{background:var(--ink);color:var(--light);padding:72px 0 68px;position:relative;overflow:hidden}
.page-head:after{content:"J9";position:absolute;right:7%;bottom:-70px;font-size:260px;line-height:1;font-weight:900;color:rgba(182,244,43,.06)}
.page-head .container{position:relative;z-index:1}
.page-head h1{font-size:clamp(36px,5vw,58px);line-height:1.12;letter-spacing:-.06em;margin:14px 0 18px;max-width:730px}
.page-head p{max-width:680px;color:#c7cec4;font-size:17px;margin:0}
.head-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.pill{border:1px solid #465046;border-radius:9px;padding:6px 10px;font-size:12px;color:#cbd3c8}
.pill.good{border-color:rgba(101,214,160,.45);color:var(--mint)}
.section{padding:84px 0}
.section-light{background:var(--paper)}
.section-white{background:#fff}
.section-dark{background:var(--ink);color:var(--light)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
.section-head h2{margin:7px 0 0;font-size:34px;line-height:1.2;letter-spacing:-.04em}
.section-head p{max-width:480px;margin:0;color:var(--muted);font-size:15px}
.section-dark .section-head p{color:#aab2a9}
.download-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.1fr;gap:1px;background:#d4dbd0;border:1px solid #d4dbd0;border-radius:18px;overflow:hidden}
.download-card{background:#fff;padding:28px 24px;min-height:220px;transition:.22s}
.download-card:hover{background:#f7faf2;transform:translateY(-4px)}
.download-card .icon{width:42px;height:42px;border-radius:12px;background:#e9f3dc;display:grid;place-items:center;font-weight:900;color:#3f6d32;margin-bottom:19px}
.download-card h3{font-size:20px;margin:0 0 8px}
.download-card p{color:var(--muted);font-size:14px;margin:0 0 16px}
.card-note{font-size:12px;color:#788278}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3c463c;margin-top:20px}
.step{padding:28px 22px 15px;border-right:1px solid #3c463c;position:relative}
.step:last-child{border-right:0}
.step b{display:block;color:var(--lime);font-size:13px;letter-spacing:.12em;margin-bottom:17px}
.step h3{font-size:20px;margin:0 0 9px}
.step p{font-size:14px;color:#b9c2b7;margin:0}
.step:before{content:"";position:absolute;top:-6px;left:22px;width:11px;height:11px;border-radius:3px;background:var(--lime)}
.version-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:start}
.version-list{display:grid;gap:10px}
.version-item{display:grid;grid-template-columns:105px 120px 1fr auto;align-items:center;gap:18px;background:#fff;border:1px solid #dce1d9;border-radius:14px;padding:19px 20px;transition:.2s}
.version-item:hover{border-color:#a8c778;box-shadow:var(--shadow)}
.version-item strong{font-size:17px}
.version-item small{color:var(--muted);font-size:12px}
.version-item p{margin:0;color:#586258;font-size:14px}
.version-item a{color:#3e6e32;font-weight:800;font-size:13px}
.side-card{background:#e0ead9;border-radius:20px;padding:28px}
.side-card h3{margin:0 0 10px;font-size:23px}
.side-card p{color:#596659;font-size:14px;margin:0 0 18px}
.compat{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.compat-card{background:#202520;color:#e9ede4;border:1px solid #354035;border-radius:17px;padding:24px;position:relative}
.compat-card h3{margin:0 0 8px;font-size:20px}
.compat-card p{color:#b9c2b7;font-size:14px;margin:0 0 16px}
.status{display:inline-flex;align-items:center;gap:7px;color:var(--mint);font-size:12px;font-weight:800}
.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mint)}
.requirements{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3b443b;border-radius:15px;overflow:hidden;margin-top:26px}
.requirement{background:#272d27;padding:19px}
.requirement b{display:block;color:var(--lime);font-size:12px;margin-bottom:5px}
.requirement span{font-size:14px;color:#c7cec4}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.faq-item{background:#fff;border:1px solid #dce1d9;border-radius:14px;padding:0 19px}
.faq-item summary{cursor:pointer;padding:19px 2px;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:15px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";font-size:22px;color:#557449;font-weight:400;line-height:1}
.faq-item[open] summary:after{content:"−"}
.faq-item p{color:var(--muted);font-size:14px;margin:0;padding:0 2px 20px}
.cta{background:var(--ink2);color:var(--light);border-radius:24px;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}
.cta:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-90px;top:-120px;background:rgba(182,244,43,.08)}
.cta h2{font-size:30px;margin:0 0 10px;position:relative;z-index:1}
.cta p{color:#b9c2b7;margin:0;max-width:650px;position:relative;z-index:1}
.cta-actions{display:flex;gap:11px;flex-wrap:wrap;position:relative;z-index:1}
.footer{background:var(--ink);color:#dfe6dc;padding:60px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px}
.footer .logo{margin-bottom:17px}
.footer p{color:#aab3a8;font-size:13px;max-width:280px}
.footer .responsible{color:var(--mint)}
.footer h3{font-size:14px;margin:5px 0 16px;color:#fff}
.footer-grid>div:not(:first-child) a{display:block;color:#aeb8ad;font-size:13px;margin:9px 0}
.footer-grid>div:not(:first-child) a:hover{color:var(--lime)}
.footer-bottom{border-top:1px solid #354035;margin-top:40px;padding-top:18px;color:#899489;font-size:12px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.empty{background:#fff;border:1px dashed #cbd4c7;border-radius:15px;padding:24px;color:var(--muted);font-size:14px}
@media(max-width:1024px){
.container{width:min(var(--wrap),calc(100% - 48px))}
.nav{gap:13px}.support{display:none}
.download-grid{grid-template-columns:1fr 1fr}
.version-layout{grid-template-columns:1fr}
}
@media(max-width:768px){
.header{height:68px}.nav{display:none}.header-actions{margin-left:auto}.menu{display:block}.header-actions .btn{min-height:40px;padding:8px 12px}
.navwrap{gap:12px}.logo{font-size:13px}.mark{width:33px;height:33px}
.page-head{padding:55px 0 52px}.page-head h1{font-size:39px}.page-head p{font-size:15px}
.section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:12px}
.timeline{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(3),.step:nth-child(4){border-top:1px solid #3c463c}
.compat,.faq-grid{grid-template-columns:1fr}
.cta{display:block;padding:32px 25px}.cta-actions{margin-top:24px}
.footer-grid{grid-template-columns:1fr 1fr;gap:25px}
}
@media(max-width:520px){
.container{width:calc(100% - 32px)}.header-actions .btn{display:none}.page-head h1{font-size:33px}
.download-grid{grid-template-columns:1fr}.download-card{min-height:auto}
.timeline{grid-template-columns:1fr}.step{border-right:0!important;border-top:1px solid #3c463c;padding-left:18px}.step:first-child{border-top:0}.step:before{left:18px}
.version-item{grid-template-columns:1fr 1fr;gap:7px 12px}.version-item p{grid-column:1/-1}.version-item a{grid-column:2;text-align:right;grid-row:1}
.requirements{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
}

/* roulang page: category2 */
:root{--ink:#171a17;--ink2:#222722;--panel:#202520;--line:#354035;--lime:#b6f42b;--mint:#65d6a0;--coral:#f07850;--paper:#f4f5ef;--white:#fff;--text:#1d211e;--muted:#687068;--light:#e9ede4;--radius:20px;--radius-sm:12px;--shadow:0 14px 34px rgba(21,29,21,.09);--wrap:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.container{width:min(var(--wrap),calc(100% - 64px));margin:auto}
.header{height:76px;background:var(--ink);color:var(--light);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}.navwrap{height:100%;display:flex;align-items:center;gap:25px}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;line-height:1.25;max-width:255px}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--lime);color:var(--ink);font-size:16px;font-weight:900}.nav{display:flex;align-items:center;gap:20px;flex:1;justify-content:center}.nav a{font-size:14px;color:#cfd5cb;padding:26px 0 22px;position:relative;white-space:nowrap}.nav a:hover,.nav a.active{color:#fff}.nav a.active:after{content:"";position:absolute;height:3px;border-radius:4px;background:var(--lime);left:0;right:0;bottom:14px}.header-actions{display:flex;align-items:center;gap:12px}.support{font-size:13px;color:#cbd3c8}.menu{display:none;border:1px solid var(--line);background:transparent;color:#fff;padding:8px 10px;border-radius:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:11px;font-weight:800;font-size:14px;transition:.22s ease;cursor:pointer}.btn-primary{background:var(--lime);color:var(--ink)}.btn-primary:hover{transform:translateY(-2px);background:#cdfa62;box-shadow:0 8px 20px rgba(182,244,43,.2)}.btn-primary:active{transform:translateY(0);background:#9cda15}.btn-ghost{border-color:#566056;color:var(--light);background:transparent}.btn-ghost:hover{border-color:var(--lime);color:var(--lime)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.eyebrow{display:inline-flex;gap:7px;align-items:center;color:var(--lime);letter-spacing:.12em;font-size:11px;font-weight:800}.eyebrow:before{content:"";height:7px;width:7px;background:var(--lime);border-radius:2px}.section{padding:86px 0}.section-dark{background:var(--ink);color:var(--light)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.section-head h2{margin:8px 0 0;font-size:34px;line-height:1.2;letter-spacing:-.04em}.section-head p{max-width:500px;margin:0;color:var(--muted);font-size:15px}.section-dark .section-head p{color:#aab2a9}
.news-head{background:var(--ink);color:var(--light);padding:68px 0 62px;position:relative;overflow:hidden}.news-head:after{content:"NEWS / 02";position:absolute;right:6%;bottom:-35px;color:rgba(182,244,43,.08);font-size:100px;font-weight:900;letter-spacing:-.08em}.head-grid{display:grid;grid-template-columns:1fr 360px;gap:70px;align-items:end;position:relative;z-index:1}.news-head h1{font-size:clamp(38px,5vw,60px);line-height:1.08;letter-spacing:-.06em;margin:15px 0 17px}.news-head p{max-width:660px;color:#c7cec4;font-size:17px;margin:0}.date-panel{border-left:1px solid #465046;padding-left:28px}.date-panel strong{display:block;color:var(--lime);font-size:54px;line-height:1;font-weight:900}.date-panel span{display:block;color:#b5beb4;margin-top:12px;font-size:13px}.crumb{font-size:13px;color:#aab2a9;margin-bottom:18px}.crumb a:hover{color:var(--lime)}
.featured{background:#e1e9dc;padding:72px 0}.feature-card{display:grid;grid-template-columns:1.05fr .95fr;background:var(--white);border:1px solid #d5ddd0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:330px}.feature-art{background:linear-gradient(135deg,#273326,#5f8b5d);padding:30px;display:flex;align-items:flex-end;position:relative;color:#fff}.feature-art:before{content:"J9";position:absolute;top:22px;right:28px;font-size:110px;font-weight:900;color:rgba(182,244,43,.18)}.feature-art div{position:relative;z-index:1}.feature-art b{display:block;color:var(--lime);font-size:12px;letter-spacing:.12em}.feature-copy{padding:38px}.feature-copy h2{font-size:30px;line-height:1.25;margin:14px 0}.feature-copy p{color:var(--muted);margin:0 0 22px}.tag{display:inline-block;padding:3px 8px;border-radius:6px;background:#e5eadf;color:#4e5c4d;font-weight:800;font-size:11px}.meta{color:var(--muted);font-size:12px}
.news-list{background:var(--paper)}.list-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:20px}.post-list{display:grid;gap:12px}.post-card{background:#fff;border:1px solid #dce1d9;border-radius:16px;padding:23px;display:block;transition:.22s}.post-card:hover{transform:translateY(-4px);border-color:var(--lime);box-shadow:var(--shadow)}.post-card h3{font-size:20px;line-height:1.35;margin:10px 0 7px}.post-card p{font-size:14px;color:var(--muted);margin:0 0 12px}.post-card time{font-size:12px;color:#859085}.empty{padding:45px;text-align:center;border:1px dashed #bdc8bb;border-radius:16px;color:var(--muted);background:#fbfcf8}.more{text-align:center;margin-top:28px}
.notice-area{background:#fff;padding:78px 0}.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{display:flex;align-items:flex-start;gap:15px;padding:20px;border:1px solid #dce2d9;border-radius:14px;transition:.2s}.notice:hover{border-color:var(--mint);background:#f7faf3}.notice-code{color:var(--coral);font-size:12px;font-weight:900;letter-spacing:.08em}.notice h3{font-size:17px;margin:1px 0 5px}.notice p{font-size:13px;color:var(--muted);margin:0}.calendar{padding:80px 0;background:#e7ede3}.calendar-grid{display:grid;grid-template-columns:180px 1fr;gap:34px}.timeline{border-left:2px solid #b9c6b5;padding-left:25px;display:grid;gap:18px}.event{background:#fff;border-radius:15px;border:1px solid #d8e0d5;padding:20px 24px;display:flex;justify-content:space-between;gap:20px}.event strong{color:#4c7b59;font-size:14px}.event h3{font-size:18px;margin:4px 0}.event span{font-size:12px;color:var(--muted)}.status{color:#398967!important;font-weight:800}
.ranking{padding:82px 0;background:var(--ink);color:var(--light)}.rank-list{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#354035;border:1px solid #354035;border-radius:18px;overflow:hidden}.rank{background:var(--panel);padding:24px 18px;min-height:170px}.rank em{font-style:normal;color:var(--lime);font-size:28px;font-weight:900}.rank h3{font-size:16px;line-height:1.45;margin:18px 0 8px}.rank span{color:#aab2a9;font-size:12px}
.subscribe{padding:72px 0}.subscribe-box{background:#dcebd4;border-radius:22px;padding:36px 42px;display:flex;justify-content:space-between;align-items:center;gap:30px}.subscribe-box h2{margin:0 0 8px;font-size:29px}.subscribe-box p{margin:0;color:var(--muted);max-width:650px}.subscribe-actions{display:flex;gap:10px;flex-wrap:wrap;white-space:nowrap}
.footer{background:var(--ink);color:var(--light);padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.footer .logo{margin-bottom:17px}.footer p{color:#aab2a9;font-size:13px;max-width:280px}.footer h3{font-size:15px;margin:5px 0 15px;color:#fff}.footer-grid>div:not(:first-child) a{display:block;color:#aab2a9;font-size:13px;margin:8px 0}.footer-grid>div:not(:first-child) a:hover{color:var(--lime)}.responsible{border-left:3px solid var(--mint);padding-left:12px}.footer-bottom{border-top:1px solid #354035;margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#849084;font-size:12px}
@media(max-width:1024px){.nav{gap:13px}.support{display:none}.head-grid{gap:35px}.rank-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.container{width:min(var(--wrap),calc(100% - 40px))}.header{height:68px}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ink2);padding:15px 20px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:12px 0}.nav a.active:after{bottom:6px;right:auto;width:35px}.menu{display:block}.header-actions .btn{min-height:40px;padding:8px 12px}.news-head{padding:52px 0}.head-grid,.feature-card,.list-grid,.calendar-grid{grid-template-columns:1fr}.date-panel{border-left:0;border-top:1px solid #465046;padding:18px 0 0}.date-panel strong{font-size:40px}.featured,.section,.notice-area,.subscribe{padding:60px 0}.feature-art{min-height:190px}.notice-grid{grid-template-columns:1fr}.rank-list{grid-template-columns:repeat(2,1fr)}.subscribe-box{align-items:flex-start;flex-direction:column;padding:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:6px}}
@media(max-width:520px){.container{width:calc(100% - 32px)}.logo{font-size:12px}.mark{width:32px;height:32px;font-size:13px}.header-actions .btn{font-size:12px}.news-head h1{font-size:36px}.section-head{display:block}.section-head p{margin-top:15px}.feature-copy{padding:26px}.feature-copy h2{font-size:24px}.event{display:block}.event span{display:block;margin-top:8px}.rank-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{font-size:11px}}

/* roulang page: category3 */
:root{--ink:#171a17;--ink2:#222722;--panel:#202520;--line:#354035;--lime:#b6f42b;--mint:#65d6a0;--coral:#f07850;--paper:#f4f5ef;--white:#fff;--text:#1d211e;--muted:#687068;--light:#e9ede4;--radius:20px;--radius-sm:12px;--shadow:0 14px 34px rgba(21,29,21,.09);--wrap:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(var(--wrap),calc(100% - 64px));margin:auto}
.header{height:76px;background:var(--ink);color:var(--light);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}
.navwrap{height:100%;display:flex;align-items:center;gap:25px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;line-height:1.25;max-width:255px}
.mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--lime);color:var(--ink);font-size:14px;font-weight:900;flex:none}
.nav{display:flex;align-items:center;gap:20px;flex:1;justify-content:center}
.nav a{font-size:14px;color:#cfd5cb;padding:26px 0 22px;position:relative;white-space:nowrap}
.nav a:hover,.nav a.active{color:#fff}
.nav a.active:after{content:"";position:absolute;height:3px;border-radius:4px;background:var(--lime);left:0;right:0;bottom:14px}
.header-actions{display:flex;align-items:center;gap:12px}
.support{color:#b8c1b5;font-size:13px}
.menu{display:none;border:1px solid var(--line);background:transparent;color:#fff;padding:8px 10px;border-radius:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:11px;font-weight:800;font-size:14px;transition:.22s ease;cursor:pointer}
.btn-primary{background:var(--lime);color:var(--ink)}
.btn-primary:hover{transform:translateY(-2px);background:#cdfa62;box-shadow:0 8px 20px rgba(182,244,43,.2)}
.btn-primary:active{transform:translateY(0);background:#9cda15}
.btn-ghost{border-color:#566056;color:var(--light);background:transparent}
.btn-ghost:hover{border-color:var(--lime);color:var(--lime)}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.page-head{background:var(--ink);color:var(--light);padding:62px 0 58px;position:relative;overflow:hidden}
.page-head:after{content:"03";position:absolute;right:8%;bottom:-50px;color:rgba(182,244,43,.08);font-size:250px;font-weight:900;line-height:1}
.crumb{position:relative;z-index:1;color:#aeb8aa;font-size:13px;margin-bottom:18px}
.crumb a:hover{color:var(--lime)}
.head-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}
.eyebrow{display:inline-flex;gap:7px;align-items:center;color:var(--lime);letter-spacing:.12em;font-size:11px;font-weight:800}
.eyebrow:before{content:"";height:7px;width:7px;background:var(--lime);border-radius:2px}
.page-head h1{font-size:clamp(36px,5vw,56px);line-height:1.1;letter-spacing:-.06em;margin:12px 0 16px}
.page-head p{max-width:650px;color:#c7cec4;font-size:17px;margin:0}
.route-board{background:#252d24;border:1px solid #394638;border-radius:22px;padding:25px}
.route-line{display:flex;align-items:center;gap:12px;margin:15px 0}
.route-line span{width:34px;height:34px;border-radius:9px;background:var(--lime);color:var(--ink);font-weight:900;display:grid;place-items:center}
.route-line b{font-size:15px;color:#eef3ea}
.route-line small{display:block;color:#aeb9aa;font-size:12px}
.section{padding:82px 0}
.section-light{background:var(--paper)}
.section-white{background:#fff}
.section-dark{background:var(--ink);color:var(--light)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
.section-head h2{font-size:34px;line-height:1.2;letter-spacing:-.04em;margin:7px 0 0}
.section-head p{max-width:490px;color:var(--muted);margin:0;font-size:15px}
.section-dark .section-head p{color:#aab2a9}
.guide-path{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d4dbd0;border:1px solid #d4dbd0;border-radius:18px;overflow:hidden}
.path-step{background:#fff;padding:28px 24px;min-height:190px;position:relative}
.path-step:not(:last-child):after{content:"→";position:absolute;right:-14px;top:34px;width:27px;height:27px;background:var(--lime);border-radius:50%;display:grid;place-items:center;font-weight:900;z-index:2}
.number{font-size:13px;color:#6c7969;font-weight:900;letter-spacing:.1em}
.path-step h3{font-size:20px;margin:18px 0 8px}
.path-step p{font-size:14px;color:var(--muted);margin:0}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.guide-card{background:#fff;border:1px solid #dce1d9;border-radius:16px;padding:25px;display:flex;gap:18px;transition:.22s}
.guide-card:hover{transform:translateY(-4px);border-color:var(--lime);box-shadow:var(--shadow)}
.guide-icon{width:46px;height:46px;border-radius:12px;background:#e6eedc;color:#3d693e;display:grid;place-items:center;font-weight:900;flex:none}
.guide-card h3{font-size:19px;margin:0 0 5px}
.guide-card p{color:var(--muted);font-size:14px;margin:0 0 10px}
.text-link{font-size:13px;color:#477244;font-weight:800}
.text-link:hover{color:#1c4b20;text-decoration:underline}
.cms-list{display:grid;gap:12px}
.post-card{background:#fff;border:1px solid #dce1d9;border-radius:16px;padding:22px 25px;display:grid;grid-template-columns:62px 1fr auto;gap:20px;align-items:center;transition:.22s}
.post-card:hover{border-color:var(--lime);transform:translateX(4px);box-shadow:var(--shadow)}
.post-index{font-size:24px;font-weight:900;color:#9cad99}
.post-card h3{font-size:18px;margin:4px 0}
.post-card p{font-size:14px;color:var(--muted);margin:0}
.post-meta{color:#7b857a;font-size:12px;white-space:nowrap}
.tag{display:inline-block;padding:3px 8px;border-radius:6px;background:#e5eadf;color:#4e5c4d;font-weight:800;font-size:11px}
.empty{padding:36px;text-align:center;border:1px dashed #b9c5b6;border-radius:16px;color:var(--muted);background:#fbfcf8}
.interface-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
.interface-panel{background:#dfe9d9;border-radius:22px;padding:32px;min-height:315px;position:relative;overflow:hidden}
.interface-panel:after{content:"J9";position:absolute;right:25px;bottom:-60px;font-size:210px;font-weight:900;color:rgba(29,33,30,.06)}
.interface-panel h3{font-size:28px;margin:0 0 12px;position:relative;z-index:1}
.interface-panel p{max-width:430px;color:var(--muted);position:relative;z-index:1}
.ui-stack{display:grid;gap:12px;position:relative;z-index:1;margin-top:28px;max-width:450px}
.ui-row{background:#fff;border-radius:11px;padding:12px 15px;display:flex;justify-content:space-between;font-size:14px}
.ui-row b{color:#3c583b}
.check-area{background:#fff;border:1px solid #dce1d9;border-radius:22px;padding:30px}
.check-area h3{margin:0 0 18px;font-size:23px}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{padding:12px 0;border-bottom:1px solid #e6eae3;font-size:14px}
.checklist li:last-child{border:0}
.checklist li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border-radius:6px;background:#dff3df;color:#3d8b65;font-weight:900}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.faq-item{background:#fff;border:1px solid #dce1d9;border-radius:14px;padding:0 20px}
.faq-item summary{cursor:pointer;padding:19px 0;font-weight:800;list-style:none;display:flex;justify-content:space-between}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";color:#527051;font-size:22px}
.faq-item[open] summary:after{content:"−";color:#477244}
.faq-item p{color:var(--muted);font-size:14px;padding:0 0 19px;margin:0}
.cta{background:var(--ink2);color:var(--light);border:1px solid #354035;border-radius:24px;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;overflow:hidden}
.cta:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(182,244,43,.15);border-radius:50%;right:-100px;top:-170px}
.cta h2{font-size:30px;margin:0 0 8px;position:relative;z-index:1}
.cta p{margin:0;color:#b9c3b8;position:relative;z-index:1}
.cta-actions{display:flex;gap:11px;flex-wrap:wrap;position:relative;z-index:1}
.footer{background:var(--ink);color:var(--light);padding:58px 0 22px;border-top:1px solid #303830}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
.footer .logo{margin-bottom:16px}
.footer p{color:#aeb7aa;font-size:13px;max-width:250px;margin:8px 0}
.footer h3{font-size:14px;color:#fff;margin:4px 0 14px}
.footer-grid>div:not(:first-child) a{display:block;color:#aeb7aa;font-size:13px;margin:8px 0}
.footer-grid>div:not(:first-child) a:hover{color:var(--lime)}
.responsible{border-left:3px solid var(--coral);padding-left:10px}
.footer-bottom{border-top:1px solid #303830;margin-top:38px;padding-top:17px;display:flex;justify-content:space-between;gap:20px;color:#879287;font-size:12px}
@media(max-width:1024px){.nav{gap:13px}.nav a{font-size:13px}.support{display:none}.head-grid{gap:30px}.container{width:min(var(--wrap),calc(100% - 48px))}}
@media(max-width:768px){.header{height:68px}.nav{display:none}.header-actions{margin-left:auto}.menu{display:block}.navwrap{gap:12px}.logo{font-size:13px}.mark{width:34px;height:34px}.header-actions .btn{min-height:40px;padding:8px 12px}.page-head{padding:42px 0}.head-grid,.interface-grid{grid-template-columns:1fr}.route-board{margin-top:12px}.section{padding:62px 0}.section-head{display:block}.section-head p{margin-top:12px}.guide-path{grid-template-columns:1fr 1fr}.path-step:not(:last-child):after{display:none}.guide-grid,.faq-grid{grid-template-columns:1fr}.post-card{grid-template-columns:42px 1fr}.post-meta{grid-column:2}.cta{display:block;padding:30px 25px}.cta-actions{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin:6px 0}}
@media(max-width:520px){.container{width:calc(100% - 32px)}.header-actions .btn{font-size:12px}.page-head h1{font-size:35px}.page-head p{font-size:15px}.guide-path{grid-template-columns:1fr}.path-step{min-height:auto}.guide-card{padding:20px}.post-card{padding:18px;gap:12px}.post-card h3{font-size:16px}.post-card p{font-size:13px}.interface-panel,.check-area{padding:24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{font-size:11px}}
