/* roulang page: index */
:root{--primary:#183d35;--accent:#d5edaa;--bg:#f6f5ef;--text:#202b26;--muted:#68716c;--line:#dedfd6;--radius:20px;--shadow:0 18px 50px rgba(24,61,53,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #80a97c;outline-offset:5px}::selection{background:var(--accent);color:var(--primary)}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);background:rgba(246,245,239,.96);backdrop-filter:blur(18px)}.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:flex;align-items:center;gap:15px}.logo-mark{font-size:42px;line-height:1;font-weight:800;letter-spacing:-5px;padding-right:5px}.logo-name{font-size:13px;border-left:1px solid #bbc2b7;padding-left:15px;letter-spacing:2px}.nav-links{display:flex;gap:38px;align-items:center}.nav-links a{font-size:14px;position:relative;padding:12px 0;color:var(--muted);transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--primary)}.nav-links a.active:after{content:"";position:absolute;height:2px;background:var(--primary);bottom:4px;left:0;right:0}.hero{position:relative;overflow:hidden;padding:78px 0 0;text-align:center}.hero:before{content:"";width:690px;height:690px;position:absolute;left:50%;top:120px;transform:translateX(-50%);border:1px solid #e1e4d9;border-radius:50%;z-index:-1}.eyebrow{display:inline-flex;gap:10px;align-items:center;font-size:12px;letter-spacing:3px;color:var(--primary);font-weight:600}.eyebrow:before{content:"";height:6px;width:6px;border-radius:50%;background:currentColor}.hero h1{font-size:clamp(42px,5.8vw,76px);font-weight:600;letter-spacing:-3px;line-height:1.15;margin:24px 0}.hero h1 span{display:block;font-size:.57em;letter-spacing:1px;margin-top:18px;color:#4e6858}.hero-desc{max-width:810px;margin:24px auto;color:var(--muted);font-size:15px;line-height:2}.search-box{display:flex;gap:12px;align-items:center;max-width:690px;margin:30px auto 16px;padding:9px 9px 9px 22px;background:white;border:1px solid #d6dccf;border-radius:14px;box-shadow:var(--shadow)}.search-box input{width:100%;min-width:0;border:0;outline:none;background:transparent;font-size:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid var(--primary);border-radius:9px;padding:12px 23px;background:var(--primary);color:#fff;font-size:14px;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{background:#2d5546;box-shadow:0 6px 18px #183d351a;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-light{background:var(--accent);border-color:var(--accent);color:var(--primary)}.btn-light:hover{background:#e0f3c0}.btn-outline{background:transparent;color:var(--primary);border-color:#c7d0c3}.btn-outline:hover{background:#e9eddf}.quick-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.quick-links a:hover{text-decoration:underline;color:var(--primary)}.brand-stage{position:relative;margin-top:50px;min-height:285px;border-radius:22px 22px 0 0;background:var(--primary);color:var(--accent);display:flex;align-items:center;justify-content:center;overflow:hidden}.brand-stage:before,.brand-stage:after{content:"";position:absolute;width:470px;height:470px;border:1px solid #ffffff17;transform:rotate(35deg);border-radius:85px}.brand-stage:before{left:-160px;top:-230px}.brand-stage:after{right:-160px;bottom:-250px}.stage-word{font-size:190px;letter-spacing:-19px;font-weight:700;line-height:1;padding-right:19px}.stage-side{position:absolute;left:35px;bottom:30px;text-align:left;font-size:12px;letter-spacing:2px;color:#d0dbcc}.stage-right{left:auto;right:35px;text-align:right}.section{padding:85px 0;border-bottom:1px solid var(--line)}.section-white{background:#fff}.section-soft{background:#eeeee6}.section-dark{background:var(--primary);color:#fff;border-color:#33534a}.section-title{font-size:clamp(27px,3.2vw,40px);font-weight:500;letter-spacing:-1px;line-height:1.4;margin:15px 0 20px}.section-desc{font-size:15px;line-height:2;color:var(--muted);max-width:760px}.section-dark .section-desc{color:#c0cec5}.section-dark .eyebrow{color:var(--accent)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:35px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#acbba8}.card h3{font-size:19px;font-weight:500;margin:17px 0 10px}.card p{font-size:14px;color:var(--muted);line-height:1.9}.badge{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border:1px solid #dce3d4;border-radius:99px;color:#4c6753;background:#f5f8ef;font-size:11px;letter-spacing:1px}.number{font-size:12px;letter-spacing:2px;color:#7b897e}.text-link{font-size:13px;display:inline-flex;gap:18px;align-items:center;padding:8px 0;border-bottom:1px solid #a1afa0;transition:gap .2s}.text-link:hover{gap:25px}.preview{border:1px solid #d9dfd2;border-radius:var(--radius);overflow:hidden;background:#f9faf5}.preview-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid #d9dfd2;font-size:12px;color:var(--muted)}.preview-body{padding:35px}.preview-logo{padding:30px;text-align:center;background:#e8eddc;border-radius:12px;color:var(--primary);font-size:90px;line-height:1.3;font-weight:700;letter-spacing:-8px}.detail-list{list-style:none;margin:22px 0 0;padding:0}.detail-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;font-size:14px;align-items:baseline}.detail-list li:last-child{border:0}.detail-list span{color:var(--muted);min-width:65px}.metric{border-left:1px solid #cdd5c6;padding:6px 24px}.metric strong{display:block;font-size:36px;font-weight:500;line-height:1.4;letter-spacing:-1px}.metric span{font-size:13px;color:var(--muted)}.resource-image{height:190px;border-radius:12px;background:#e8eddf;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.resource-image .symbol{font-size:74px;letter-spacing:-5px;font-weight:600;color:var(--primary)}.resource-image.dark{background:var(--primary)}.resource-image.dark .symbol{color:var(--accent)}.resource-image.paper{background:#efebe2}.file-label{position:absolute;left:16px;top:14px;font-size:10px;letter-spacing:2px;color:#53674e}.resource-image.dark .file-label{color:#c5d3bf}.download{margin-top:23px;display:flex;width:100%;justify-content:space-between}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;font-size:17px;display:flex;gap:20px;justify-content:space-between}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--primary);font-size:23px;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{font-size:14px;color:var(--muted);padding:18px 30px 0 0;line-height:2}.step{position:relative;padding:24px 0 24px 30px;border-left:1px solid #cad2c3}.step:before{position:absolute;content:"";left:-5px;top:32px;width:9px;height:9px;background:#536e48;border-radius:50%;box-shadow:0 0 0 5px var(--bg)}.step h3{font-size:18px;margin-bottom:10px}.step p{font-size:14px;color:var(--muted)}.news-row{display:grid;grid-template-columns:100px 1fr 35px;gap:25px;padding:26px 0;border-top:1px solid var(--line)}.news-row h3{font-size:19px;margin-bottom:9px;font-weight:500}.news-row p{font-size:14px;color:var(--muted);max-width:750px}.news-row:last-child{border-bottom:1px solid var(--line)}.safe-card{padding:25px;border:1px solid #486055;border-radius:16px}.safe-card h3{font-size:18px;margin:12px 0}.safe-card p{font-size:14px;line-height:1.9;color:#c0cec5}.cta{padding:65px;border:1px solid #cfd8c1;border-radius:24px;background:#e8eedb;display:flex;align-items:center;justify-content:space-between;gap:40px}.footer{padding:45px 0 25px;background:var(--bg)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:30px}.footer-links{display:flex;gap:24px;font-size:13px;color:var(--muted)}.footer-links a:hover{color:var(--primary)}.copyright{padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.search-status{min-height:25px;font-size:12px;color:var(--muted);margin-top:10px}.resource-card[hidden]{display:none}.empty-state{padding:30px;border:1px dashed #bac6b1;border-radius:14px;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:60;background:var(--primary);color:#fff;border:1px solid #617c6e;border-radius:10px;padding:13px 24px;box-shadow:var(--shadow);font-size:13px;width:max-content;max-width:90%}
@media(min-width:1025px){.hero .hero-desc{padding-inline:10px}}
@media(max-width:1024px){.container{width:calc(100% - 48px)}.section{padding:65px 0}.hero{padding-top:60px}.stage-word{font-size:165px}.cta{padding:40px}.card{padding:23px}}
@media(max-width:768px){.container{width:calc(100% - 36px)}.nav-wrap{height:74px}.logo-name{display:none}.nav-links{gap:24px}.hero{padding-top:45px}.hero h1{letter-spacing:-2px}.hero-desc{text-align:left}.section-head{display:block}.section-head .text-link{margin-top:15px}.brand-stage{min-height:240px}.stage-word{font-size:145px}.stage-side{left:20px;bottom:19px;font-size:10px}.stage-right{right:20px;left:auto}.section{padding:50px 0}.cta{display:block;padding:30px}.cta .btn{margin-top:25px}.footer-top{align-items:flex-start}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:12px 20px}.news-row{grid-template-columns:70px 1fr;gap:16px}.news-row>span:last-child{display:none}.copyright{flex-direction:column;gap:8px}}
@media(max-width:520px){.container{width:calc(100% - 32px)}.hero h1{font-size:40px}.hero h1 span{font-size:25px}.hero-desc{font-size:14px}.search-box{padding-left:14px;gap:5px}.search-box .btn{padding:10px 17px}.quick-links{gap:16px}.brand-stage{margin-top:28px;min-height:220px}.stage-side{max-width:100px}.stage-word{font-size:125px}.metric{padding:4px 12px}.metric strong{font-size:29px}.preview-body{padding:22px}.news-row{display:block}.news-row .badge{margin-bottom:12px}.footer-top{display:block}.footer-links{justify-content:flex-start;margin-top:24px}.section-title{font-size:28px}.card{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* roulang page: category1 */
:root{--primary:#183d35;--accent:#d5edaa;--bg:#f6f5ef;--text:#202b26;--muted:#68716c;--line:#dedfd6;--radius:20px;--shadow:0 18px 50px rgba(24,61,53,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #80a97c;outline-offset:5px}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.text-muted{color:var(--muted)}
.header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);background:rgba(246,245,239,.96);backdrop-filter:blur(18px)}.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:flex;align-items:center;gap:15px}.logo-mark{font-size:42px;line-height:1;font-weight:800;letter-spacing:-5px;padding-right:5px}.logo-name{font-size:13px;border-left:1px solid #bbc2b7;padding-left:15px;letter-spacing:2px}.nav-links{display:flex;gap:38px;align-items:center}.nav-links a{font-size:14px;position:relative;padding:12px 0;color:var(--muted);transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--primary)}.nav-links a.active:after{content:"";position:absolute;height:2px;background:var(--primary);bottom:4px;left:0;right:0}
.eyebrow{display:inline-flex;gap:10px;align-items:center;font-size:12px;letter-spacing:3px;color:var(--primary);font-weight:600}.eyebrow:before{content:"";height:6px;width:6px;border-radius:50%;background:currentColor}.hero{padding:68px 0 0;overflow:hidden}.hero h1{font-size:clamp(40px,5.8vw,72px);font-weight:600;letter-spacing:-2px;line-height:1.2;margin:22px 0}.hero-desc{max-width:620px;color:var(--muted);font-size:16px;line-height:2}.hero-matrix{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;transform:rotate(-2deg)}.matrix-item{padding:23px;border:1px solid var(--line);border-radius:16px;background:#fff}.matrix-item:first-child{background:var(--primary);color:var(--accent);border-color:var(--primary)}.matrix-item svg{width:27px;height:27px;margin-bottom:22px;stroke:currentColor;fill:none;stroke-width:1.5}.matrix-item span{font-size:13px}.status-bar{margin-top:48px;padding:19px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}.status-dot{display:inline-block;width:7px;height:7px;background:#608748;border-radius:50%;margin-right:9px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid var(--primary);border-radius:9px;padding:12px 23px;background:var(--primary);color:#fff;font-size:14px;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{background:#2d5546;box-shadow:0 6px 18px #183d351a;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-light{background:var(--accent);border-color:var(--accent);color:var(--primary)}.btn-light:hover{background:#e0f3c0}.btn-outline{background:transparent;color:var(--primary);border-color:#c7d0c3}.btn-outline:hover{background:#e9eddf}
.section{padding:80px 0;border-bottom:1px solid var(--line)}.section-white{background:#fff}.section-soft{background:#eeeee6}.section-dark{background:var(--primary);color:#fff;border-color:#33534a}.section-title{font-size:clamp(27px,3.2vw,40px);font-weight:500;letter-spacing:-1px;line-height:1.4;margin:15px 0 20px}.section-desc{font-size:15px;line-height:2;color:var(--muted);max-width:760px}.section-dark .section-desc{color:#c0cec5}.section-dark .eyebrow{color:var(--accent)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:35px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#acbba8}.card h3{font-size:19px;font-weight:500;margin:17px 0 10px}.card p{font-size:14px;color:var(--muted);line-height:1.9}.badge{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border:1px solid #dce3d4;border-radius:99px;color:#4c6753;background:#f5f8ef;font-size:11px;letter-spacing:1px}.text-link{font-size:13px;display:inline-flex;gap:18px;align-items:center;padding:8px 0;border-bottom:1px solid #a1afa0;transition:gap .2s}.text-link:hover{gap:25px}.resource-number{float:right;color:#8f9d8b;font-size:13px}.resource-card .text-link{margin-top:22px}
.identity-art{background:#e8eddc;min-height:280px;border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;justify-content:space-between;color:var(--primary)}.identity-word{font-size:132px;font-weight:700;letter-spacing:-12px;line-height:1.2;text-align:center;padding-right:12px}.identity-caption{display:flex;justify-content:space-between;font-size:12px;border-top:1px solid #cbd5c2;padding-top:15px}.detail-list{list-style:none;margin:22px 0 0;padding:0}.detail-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;font-size:14px;align-items:baseline}.detail-list li:last-child{border:0}.detail-list span{color:var(--muted);min-width:65px}
.rule-row{display:grid;grid-template-columns:55px 150px 1fr;gap:22px;border-top:1px solid var(--line);padding:25px 0}.rule-row:last-child{border-bottom:1px solid var(--line)}.rule-row .num{font-size:12px;color:var(--muted);padding-top:5px}.rule-row h3{font-size:18px;font-weight:500}.rule-row p{font-size:14px;color:var(--muted)}.example{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff}.example-top{padding:30px;min-height:165px;display:flex;flex-direction:column;justify-content:center;background:#e7ecdf}.example-top.alternate{background:#eae8df}.example-top strong{font-weight:500;font-size:26px}.example-body{padding:26px}.example-body h3{font-size:17px;margin-bottom:9px}.example-body p{font-size:14px;color:var(--muted)}
.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;font-size:17px;display:flex;gap:20px;justify-content:space-between}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--primary);font-size:23px;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{font-size:14px;color:var(--muted);padding:18px 30px 0 0;line-height:2}.safe-card{padding:25px;border:1px solid #486055;border-radius:16px}.safe-card h3{font-size:18px;margin:12px 0}.safe-card p{font-size:14px;line-height:1.9;color:#c0cec5}.safe-card .safe-index{color:var(--accent);font-size:12px}.closing-line{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid #486055;margin-top:36px;padding-top:30px}.footer{padding:44px 0 25px;background:var(--bg)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:34px}.footer-links{display:flex;gap:26px;font-size:13px;color:var(--muted)}.footer-links a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:5px}.copyright{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}
@media(max-width:1024px){.container{width:calc(100% - 48px)}.hero{padding-top:50px}.matrix-item{padding:20px}.section{padding:64px 0}.rule-row{grid-template-columns:40px 125px 1fr}}
@media(max-width:768px){.nav-wrap{height:78px;gap:15px}.nav-links{gap:24px}.hero-matrix{transform:none}.section-head{display:block}.section-head .section-desc{margin-top:18px}.status-bar{margin-top:32px;align-items:flex-start}.footer-top{align-items:flex-start;flex-direction:column}.copyright{flex-direction:column;gap:6px}.closing-line{align-items:flex-start;flex-direction:column}.rule-row{grid-template-columns:32px 1fr;gap:10px 16px}.rule-row p{grid-column:2}.identity-art{min-height:250px}}
@media(max-width:520px){.container{width:calc(100% - 32px)}.nav-wrap{height:auto;min-height:92px;gap:8px;flex-wrap:wrap;padding:14px 0 8px}.logo-mark{font-size:35px}.logo-name{font-size:11px;letter-spacing:1px;padding-left:10px}.logo{gap:10px}.nav-links{gap:20px;margin-left:auto}.nav-links a{font-size:12px;padding:8px 0}.hero{padding-top:35px}.hero h1{font-size:39px}.hero-desc{font-size:14px}.matrix-item{padding:19px}.matrix-item svg{margin-bottom:14px}.section{padding:48px 0}.card{padding:23px}.status-bar{flex-direction:column;gap:5px}.footer-links{gap:14px;flex-wrap:wrap;font-size:12px}.section-title{font-size:28px}.faq summary{font-size:15px}.btn{padding:11px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
