/* roulang page: index */
:root{--ink:#17233f;--muted:#66718b;--blue:#315eea;--cyan:#27c5d9;--paper:#f5f8ff;--line:#e3e9f5;--card:#fff;--shadow:0 18px 50px rgba(38,66,130,.12);--radius:22px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}a{text-decoration:none;color:inherit;transition:.25s}img{max-width:100%;display:block}button:focus,a:focus{outline:3px solid rgba(39,197,217,.35);outline-offset:3px}.container{max-width:1160px}
.topbar{background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:900;font-size:1.16rem;letter-spacing:-.04em;color:var(--blue)}.brand em{font-style:normal;color:var(--cyan)}.channel{border-top:1px solid #f0f3fa}.channel a{display:inline-block;padding:13px 18px;color:var(--muted);font-weight:700}.channel a:hover,.channel a.active{color:var(--blue);background:#eef3ff;border-radius:12px}
.hero{min-height:520px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(13,27,66,.9),rgba(29,61,135,.52)),url('/assets/images/169ebfd7214a27a3.png') center/cover;color:#fff}.hero h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.12;font-weight:900;max-width:760px}.hero p{max-width:720px;color:#e1e9ff;font-size:1.08rem}.eyebrow,.badge-soft{display:inline-block;padding:5px 12px;border-radius:99px;background:#dff8fb;color:#16899b;font-size:.82rem;font-weight:800}.eyebrow{background:rgba(255,255,255,.16);color:#baf5fb}.btn-main{background:var(--cyan);color:#073449;border:0;border-radius:13px;padding:12px 23px;font-weight:800}.btn-main:hover{background:#fff;transform:translateY(-2px)}.btn-ghost{border:1px solid rgba(255,255,255,.45);color:#fff;border-radius:13px;padding:11px 22px;font-weight:800}
section{padding:82px 0}.section-head{max-width:720px;margin-bottom:34px}.section-head h2{font-weight:900;font-size:2rem;letter-spacing:-.04em}.section-head p{color:var(--muted)}.surface{background:#fff}.grid-card,.story,.quote,.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);height:100%;overflow:hidden}.grid-card{padding:26px}.grid-card:hover,.story:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(38,66,130,.18)}.grid-card h3{font-size:1.18rem;font-weight:850}.grid-card p,.story p,.quote p{color:var(--muted);font-size:.95rem}.icon{width:44px;height:44px;border-radius:14px;background:#eaf0ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:17px}.countdown{background:#172b62;color:#fff}.countdown .num{font-size:2.3rem;font-weight:900;color:#7ff2f3}.stat{padding:25px}.stat strong{font-size:2rem;color:var(--blue);display:block}.story img{width:100%;height:190px;object-fit:cover}.story .body{padding:22px}.quote{padding:25px;border-left:4px solid var(--cyan)}.timeline{border-left:2px solid #b9c9f5;padding-left:25px}.timeline li{margin-bottom:22px;color:var(--muted)}.timeline b{color:var(--ink)}.dark{background:#111d3c;color:#fff}.dark p{color:#b9c7e8}.topic{padding:20px;border-radius:18px;background:#edf3ff;color:var(--blue);font-weight:800}.cta{background:linear-gradient(120deg,#315eea,#263f9e);color:#fff;border-radius:28px;padding:50px}.cta p{color:#d9e4ff}.footer{background:#101a35;color:#aebbd8;padding:46px 0 25px}.footer a:hover{color:#fff}.footer strong{color:#fff}.mini{font-size:.85rem;color:#8593b2}
@media(max-width:768px){section{padding:58px 0}.hero{min-height:600px}.channel{overflow:auto;white-space:nowrap}.channel a{padding:11px 12px}.cta{padding:32px 24px}.hero h1{font-size:2.55rem}}
@media(max-width:520px){.hero p{font-size:.98rem}.hero .btn-main,.hero .btn-ghost{width:100%;margin-bottom:10px}.section-head h2{font-size:1.65rem}.stat strong{font-size:1.65rem}}

/* roulang page: category1 */
:root{--ink:#17233f;--muted:#66718b;--blue:#315eea;--cyan:#27c5d9;--paper:#f5f8ff;--line:#e3e9f5;--card:#fff;--shadow:0 18px 50px rgba(38,66,130,.12);--radius:22px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}a{text-decoration:none;color:inherit;transition:.25s}img{max-width:100%;display:block}a:focus,button:focus{outline:3px solid rgba(39,197,217,.35);outline-offset:3px}.container{max-width:1160px}.topbar{background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:900;font-size:1.16rem;letter-spacing:-.04em;color:var(--blue)}.brand em{font-style:normal;color:var(--cyan)}.mini{color:var(--muted);font-size:.88rem}.channel{background:#fff}.channel a{display:inline-block;padding:13px 18px;color:var(--muted);font-weight:700}.channel a:hover,.channel a.active{color:var(--blue);background:#eef3ff;border-radius:12px}.hero{padding:86px 0;background:linear-gradient(90deg,rgba(13,27,66,.9),rgba(29,61,135,.55)),url('/assets/images/7731000d7b9443f2.png') center/cover;color:#fff}.hero h1{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.12;font-weight:900;max-width:760px}.hero p{max-width:720px;color:#e1e9ff;font-size:1.08rem}.eyebrow,.badge-soft{display:inline-block;padding:5px 12px;border-radius:99px;background:#dff8fb;color:#16899b;font-size:.82rem;font-weight:800}.eyebrow{background:rgba(255,255,255,.16);color:#baf5fb}.btn-main{display:inline-block;background:var(--cyan);color:#073449;border:0;border-radius:13px;padding:12px 23px;font-weight:800}.btn-main:hover{background:#fff;transform:translateY(-2px)}section{padding:72px 0}.section-head{max-width:720px;margin-bottom:32px}.section-head h2{font-weight:900;font-size:2rem;letter-spacing:-.04em}.section-head p,.grid-card p,.story p,.quote p{color:var(--muted)}.grid-card,.story,.quote,.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);height:100%;overflow:hidden}.grid-card{padding:26px}.grid-card:hover,.story:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(38,66,130,.18)}.grid-card h3{font-size:1.18rem;font-weight:850}.story img{width:100%;height:210px;object-fit:cover}.story .body{padding:22px}.score-panel{background:#172b67;color:#fff;border-radius:26px;padding:30px;box-shadow:var(--shadow)}.score-panel small{color:#b9caff}.score-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}.score-row:last-child{border:0}.score-row strong{font-size:1.25rem}.timeline{border-left:3px solid var(--cyan);padding-left:25px}.timeline article{position:relative;margin-bottom:27px}.timeline article:before{content:"";position:absolute;left:-34px;top:8px;width:13px;height:13px;background:var(--cyan);border:3px solid var(--paper);border-radius:50%}.timeline h3{font-size:1.1rem;font-weight:800}.stat{padding:24px}.stat strong{font-size:2rem;color:var(--blue);display:block}.cta{background:linear-gradient(120deg,#315eea,#263f9e);color:#fff;border-radius:28px;padding:48px}.cta p{color:#d9e4ff}.footer{background:#101a35;color:#aebbd8;padding:46px 0 25px}.footer strong{color:#fff}.footer a:hover{color:#fff}@media(max-width:768px){section{padding:55px 0}.channel{overflow:auto;white-space:nowrap}.channel a{padding:11px 12px}.hero{padding:68px 0}.hero h1{font-size:2.55rem}.cta{padding:32px 24px}}@media(max-width:520px){.hero p{font-size:.98rem}.section-head h2{font-size:1.65rem}.stat strong{font-size:1.65rem}}

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
