/* roulang page: index */
:root {
  --ink-900: #0B1118;
  --ink-800: #0F1620;
  --ink-700: #16202B;
  --ink-600: #213040;
  --accent: #D8F34F;
  --accent-strong: #C7E33B;
  --accent-deep: #b4cf2d;
  --paper: #F5F6F1;
  --paper-deep: #e9ece3;
  --panel: #FFFFFF;
  --line: #E0E4DC;
  --line-deep: #c8cec2;
  --text-strong: #10151B;
  --text-body: #2A3340;
  --text-muted: #5A6672;
  --gold: #C99F4A;
  --danger: #d94b38;
  --ok: #2e8b57;
  --warning: #c47d18;
  --radius-sm: 5px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --shadow-card: 0 2px 14px rgba(11, 17, 24, 0.05);
  --shadow-float: 0 12px 40px rgba(11, 17, 24, 0.10);
  --font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", "Roboto Mono", "Menlo", monospace;
  --header-h: 64px;
  --channel-h: 46px;
  --space-section: 96px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);background:var(--paper);color:var(--text-body);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4,h5{color:var(--text-strong);font-weight:800;line-height:1.3;margin:0 0 .5em}
ul,ol{margin:0;padding:0}
.row{max-width:1200px}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:var(--space-section) 0}
.section-dark{background:var(--ink-900);color:#c8d0db}
.section-dark h2,.section-dark h3{color:#fff}
.muted{color:var(--text-muted)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:var(--radius-sm);font-weight:700;font-size:15px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap}
.btn-primary{background:var(--accent);color:var(--ink-900)}
.btn-primary:hover{background:var(--accent-strong);transform:translateY(-2px);box-shadow:0 8px 16px rgba(216,243,79,.25)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px)}
.btn-dark{background:var(--ink-900);color:#fff}
.btn-dark:hover{background:var(--ink-700);transform:translateY(-2px)}
.btn-line{border-color:var(--line-deep);color:var(--text-strong);background:#fff}
.btn-line:hover{border-color:var(--text-muted);background:var(--paper)}
.btn-lg{height:58px;padding:0 34px;font-size:16px}
/* badges & tags */
.tag-post{display:inline-flex;align-items:center;height:26px;padding:0 10px;background:#eef2df;color:#3e4b1e;border-radius:30px;font-size:12px;font-weight:600;letter-spacing:.02em}
.tag-static{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);height:32px;padding:0 14px;border-radius:30px;background:var(--panel);color:var(--text-body);font-size:13px;font-weight:600}
.tag-static i{color:var(--accent-deep);font-size:11px}
/* section heading */
.section-head{margin-bottom:46px}
.eyebrow{font-size:13px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;color:var(--accent-deep);margin-bottom:10px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:34px;height:3px;background:var(--accent-deep);border-radius:20px}
.section-head h2{font-size:2.25rem;letter-spacing:-.02em;margin-bottom:10px}
.section-head .lead-desc{font-size:1.0625rem;color:var(--text-muted);max-width:780px}
.section-dark .eyebrow{color:var(--accent)}
.section-dark .lead-desc{color:#9aa8b5}
/* header */
.site-header{position:relative;z-index:80;background:#fff}
.header-main{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.header-inner{display:flex;justify-content:space-between;align-items:center;height:var(--header-h)}
.brand-logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.logo-mark{width:38px;height:38px;background:var(--ink-900);border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;color:var(--accent);letter-spacing:-.04em;position:relative;overflow:hidden}
.logo-mark::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--accent)}
.brand-zh{font-weight:900;font-size:1.22rem;color:var(--text-strong);letter-spacing:-.02em;line-height:1}
.brand-zh small{display:block;font-size:.66rem;color:var(--text-muted);font-weight:700;letter-spacing:.14em;margin-top:4px}
.header-actions{display:flex;align-items:center;gap:10px}
.search-trigger{height:38px;padding:0 14px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:14px;font-weight:600;border:1px solid transparent;background:transparent;cursor:pointer;transition:all .2s}
.search-trigger:hover{background:var(--paper);border-color:var(--line);color:var(--text-strong)}
.header-cta{height:38px;padding:0 18px;background:var(--accent);color:var(--ink-900);border-radius:7px;display:inline-flex;align-items:center;font-weight:800;font-size:14px;gap:6px;transition:all .2s}
.header-cta:hover{background:var(--ink-900);color:#fff;transform:translateY(-1px)}
.channel-wrap{background:#fff;border-bottom:1px solid var(--line);position:relative}
.channel-inner{height:var(--channel-h);display:flex;align-items:center;position:relative}
.channel-tabs{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex:1}
.channel-tabs::-webkit-scrollbar{display:none}
.channel-tabs .nav-link{position:relative;display:inline-flex;align-items:center;height:var(--channel-h);padding:0 18px;font-weight:700;color:var(--text-muted);font-size:15px;white-space:nowrap;transition:color .15s}
.channel-tabs .nav-link i{margin-right:7px;font-size:13px;color:var(--accent-deep)}
.channel-tabs .nav-link::after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:3px;background:var(--ink-900);border-radius:3px 3px 0 0;opacity:0;transform:scaleX(.4);transition:all .2s}
.channel-tabs .nav-link:hover{color:var(--text-strong)}
.channel-tabs .nav-link.is-active{color:var(--text-strong)}
.channel-tabs .nav-link.is-active::after{opacity:1;transform:scaleX(1)}
.scroll-mask{pointer-events:none;position:absolute;right:0;top:0;width:28px;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0),#fff)}
/* quick search */
.search-pop{display:none;background:#fff;border-bottom:1px solid var(--line);padding:16px 0}
.search-pop.show{display:block}
.search-forming{display:flex;gap:12px;max-width:760px}
.search-input{flex:1;height:44px;border:2px solid var(--line);border-radius:8px;padding:0 14px;font-size:15px;background:#fff;transition:border-color .2s}
.search-input:focus{outline:none;border-color:var(--accent-deep)}
.search-submit{height:44px;padding:0 22px;border:0;background:var(--ink-900);color:#fff;border-radius:8px;font-weight:700;cursor:pointer;transition:background .2s}
.search-submit:hover{background:var(--ink-700)}
/* hero kv */
.hero-kv{position:relative;background:var(--ink-900);min-height:82vh;display:flex;align-items:center;overflow:hidden;color:#eef2f5}
.hero-bg{position:absolute;inset:0;background-image:url('/assets/images/backpic/back-1.png');background-size:cover;background-position:center 30%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,17,24,.92) 0%,rgba(11,17,24,.72) 38%,rgba(11,17,24,.42) 78%,rgba(11,17,24,.55) 100%)}
.hero-pattern{position:absolute;inset:0;opacity:.11;background-image:linear-gradient(120deg,transparent 0%,transparent 62%,var(--accent) 62%,var(--accent) 63%,transparent 63%);background-size:8px 8px}
.hero-speedlines{position:absolute;right:-4%;top:-6%;width:44%;height:140%;transform:skewX(-14deg);opacity:.05;background:repeating-linear-gradient(110deg,#fff 0 2px,transparent 2px 18px)}
.hero-inner{position:relative;z-index:3;padding:110px 0 190px;width:100%}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;background:rgba(11,17,24,.4);border:1px solid rgba(255,255,255,.2);padding:6px 16px;border-radius:40px;color:#d7dee6;font-size:13px;font-weight:600;letter-spacing:.08em;margin-bottom:28px;backdrop-filter:blur(4px)}
.hero-kicker i{color:var(--accent);font-size:9px}
.hero-title h1{font-size:4rem;line-height:1.12;color:#fff;font-weight:900;letter-spacing:-.025em;margin:0 0 14px}
.hero-title h1 .no-wrap{white-space:nowrap;display:inline-block}
.hero-title .mark{color:var(--accent)}
.hero-lead{max-width:720px;font-size:1.2rem;line-height:1.8;color:#d8e0e8;margin:22px 0 32px}
.hero-lead strong{color:#fff;font-weight:700}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:62px}
.hero-statbar{position:absolute;left:0;right:0;bottom:0;background:rgba(10,15,22,.46);border-top:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);z-index:3}
.stat-inner{display:grid;grid-template-columns:repeat(4,1fr);min-height:112px}
.stat-cell{border-right:1px solid rgba(255,255,255,.12);padding:26px 22px 22px}
.stat-cell:first-child{padding-left:0}
.stat-cell:last-child{border-right:0}
.stat-num{font-family:var(--font-mono);font-weight:700;font-size:2rem;color:#fff;line-height:1.2;letter-spacing:-.03em}
.stat-num span{color:var(--accent);font-size:1.4rem;margin-left:2px}
.stat-label{color:#93a3b1;font-size:13px;margin-top:6px}
/* sports project */
.sports-block{padding:110px 0;background:#fff}
.sports-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}
.sport-main-card{border-radius:var(--radius-lg);overflow:hidden;position:relative;min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow-card)}
.sport-main-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sport-main-card .sport-card-mask{position:absolute;inset:0;background:linear-gradient(185deg,rgba(11,17,24,.10) 40%,rgba(11,17,24,.94) 100%)}
.sport-card-body{position:relative;z-index:2;padding:32px;color:#fff}
.sport-no{font-family:var(--font-mono);font-size:13px;letter-spacing:.2em;color:var(--accent);font-weight:700}
.sport-card-body h3{color:#fff;font-size:1.85rem;margin:10px 0 10px}
.sport-card-body p{color:#d1d9e2;opacity:.9;max-width:86%;line-height:1.8;margin-bottom:22px}
.sport-link{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#fff;font-size:14px;border-bottom:2px solid rgba(216,243,79,.5);padding-bottom:4px;transition:all .2s}
.sport-link:hover{gap:13px;border-color:var(--accent);color:var(--accent)}
.sport-cards-right{display:flex;flex-direction:column;gap:22px}
.sport-mini-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sport-mini{background:#FBFCF9;border:1px solid var(--line);border-radius:var(--radius-md);padding:22px;position:relative;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s}
.sport-mini:hover{border-color:var(--accent-deep);box-shadow:var(--shadow-card);transform:translateY(-3px)}
.sport-icon{width:42px;height:42px;border-radius:10px;background:var(--ink-900);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:16px}
.sport-mini h3{font-size:1.1rem;margin-bottom:8px}
.sport-mini p{color:var(--text-muted);font-size:.93rem;line-height:1.6;margin:0}
.sport-mini .sport-no{display:block;margin-bottom:12px;color:var(--accent-deep)}
.sport-promo{grid-column:span 2;background:var(--ink-900);border-radius:var(--radius-md);padding:22px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sport-promo .promo-title{font-size:1rem;font-weight:700}
.sport-promo p{color:#b8c3cc;margin:6px 0 0;font-size:.9rem;line-height:1.5}
.sport-promo .btn{height:42px;padding:0 20px;font-size:13px;flex-shrink:0}
/* news */
.news-section{background:var(--paper);padding:104px 0}
.news-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:38px;gap:20px}
.news-header .section-head{margin-bottom:0}
.view-more-link{height:40px;display:inline-flex;align-items:center;gap:9px;color:var(--text-strong);font-weight:700;font-size:14px;border-bottom:2px solid var(--line);padding-bottom:4px;transition:all .2s;flex-shrink:0}
.view-more-link:hover{border-color:var(--ink-900);gap:14px}
.feed-layout{display:grid;grid-template-columns:42% 58%;gap:24px}
.feed-empty{height:240px;border:2px dashed var(--line-deep);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:14px;color:var(--text-muted);font-size:1rem}
.feed-empty i{color:var(--accent-deep);font-size:20px}
.feed-lead-card{background:var(--panel);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-card);border:1px solid var(--line);transition:box-shadow .25s,transform .25s;position:relative}
.feed-lead-card:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}
.feed-lead-card::before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--accent)}
.feed-lead-pad{padding:28px}
.feed-lead-tag{margin-bottom:16px}
.feed-date{font-size:12px;color:var(--text-muted);font-weight:500}
.feed-lead-card h3{font-size:1.5rem;line-height:1.45;margin:14px 0 12px}
.feed-lead-card h3 a{color:var(--text-strong)}
.feed-lead-card h3 a:hover{color:var(--ink-700)}
.feed-lead-excerpt{color:var(--text-muted);font-size:15px;line-height:1.8;margin-bottom:24px}
.feed-divider{height:1px;background:var(--line);margin:18px 0}
.feed-meta{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:13px}
.feed-side{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:8px 24px;display:flex;flex-direction:column;justify-content:space-between}
.feed-mini-list{display:flex;flex-direction:column}
.feed-mini-item{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.feed-mini-item:last-child{border-bottom:0}
.feed-idx{font-family:var(--font-mono);color:var(--accent-deep);font-size:13px;font-weight:700;padding-top:5px;width:28px;flex-shrink:0}
.feed-mini-content{flex:1;min-width:0}
.feed-mini-cat{font-size:11px;color:var(--text-muted)}
.feed-mini-content h3{margin:4px 0 6px;font-size:1rem;line-height:1.5;font-weight:700}
.feed-mini-content h3 a{color:var(--text-strong)}
.feed-mini-content h3 a:hover{color:var(--ink-600)}
.feed-mini-meta{font-size:12px;color:var(--text-muted);display:flex;gap:12px}
.feed-more-row{border-top:1px solid var(--line);padding:16px 0 6px;display:flex;justify-content:flex-end}
.feed-more-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink-700);font-size:13px;font-weight:700}
.feed-more-link:hover{gap:10px;color:var(--accent-deep)}
/* honor */
.honor-section{position:relative;background:var(--ink-900);overflow:hidden;padding:110px 0}
.honor-section::before{content:"";position:absolute;bottom:-60px;left:-80px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(216,243,79,.11),transparent 70%)}
.honor-bg{position:absolute;inset:0;background-image:url('/assets/images/backpic/back-3.png');background-size:cover;background-position:center;opacity:.12}
.honor-wrap{position:relative;z-index:2}
.honor-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.honor-dash{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}
.honor-dash-cell{border-left:3px solid var(--accent);padding-left:18px}
.honor-dash-num{font-family:var(--font-mono);font-size:2.5rem;color:#fff;font-weight:700;line-height:1.1}
.honor-dash-num span{color:var(--accent);font-size:1.6rem}
.honor-dash-label{color:#98a7b4;font-size:14px;margin-top:6px}
.honor-media-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.11);border-radius:var(--radius-lg);padding:30px}
.honor-media-card h3{color:#fff;font-size:1.35rem;margin-bottom:16px}
.honor-media-card p{color:#bfc9d3;font-size:.95rem;line-height:1.8}
.honor-media-card img{border-radius:var(--radius-md);margin-top:22px;box-shadow:0 18px 40px rgba(0,0,0,.3)}
.honor-edge-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:52px}
.honor-edge{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:40px;padding:9px 20px;color:#dce4eb;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:9px}
.honor-edge i{color:var(--accent);font-size:10px}
/* milestone */
.milestone-section{background:#fff;padding:108px 0}
.milestone-intro{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:end;margin-bottom:42px}
.milestone-intro .section-head{margin:0}
.milestone-copy{color:var(--text-muted);line-height:1.8}
.milestone-copy strong{color:var(--text-strong)}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.steps-grid:before{content:"";position:absolute;top:27px;left:8%;right:8%;height:2px;background:var(--line);background-image:linear-gradient(90deg,var(--accent-deep) 0%,var(--accent-deep) 52%,var(--line) 52%)}
.step-card{background:var(--paper);border-radius:var(--radius-md);padding:26px 20px 22px;border:1px solid var(--line);position:relative}
.step-point{width:13px;height:13px;border-radius:50%;background:var(--line-deep);border:3px solid #fff;box-shadow:0 0 0 1px var(--line-deep);margin-bottom:16px;position:relative}
.step-card.is-active .step-point{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 0 7px rgba(216,243,79,.2);animation:pulse-dot 2s infinite}
@keyframes pulse-dot{0%{box-shadow:0 0 0 1px var(--accent),0 0 0 4px rgba(216,243,79,.2)}70%{box-shadow:0 0 0 1px var(--accent),0 0 0 10px rgba(216,243,79,0)}100%{box-shadow:0 0 0 1px var(--accent),0 0 0 4px rgba(216,243,79,0)}}
.step-card.is-done .step-point{background:var(--accent-deep);border-color:var(--accent-deep)}
.step-card.is-done .step-point::after{content:"✓";position:absolute;left:-2px;top:-2px;color:var(--ink-900);font-size:10px;font-weight:900}
.step-no{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--accent-deep);font-weight:800}
.step-card h3{font-size:1.05rem;margin:8px 0 8px}
.step-card .time-line{font-size:12px;color:var(--gold);font-weight:700;margin-bottom:8px}
.step-card p{color:var(--text-muted);font-size:.9rem;line-height:1.7;margin:0}
.step-cta-row{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:54px;background:var(--paper-deep);border-radius:var(--radius-lg);padding:26px 40px;flex-wrap:wrap}
.step-cta-row .desc{color:var(--text-muted);font-size:15px}
/* cta */
.cta-join{background:var(--accent);position:relative;overflow:hidden;padding:86px 0}
.cta-join::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;border:50px solid rgba(11,17,24,.08)}
.cta-grid{display:flex;justify-content:space-between;align-items:center;gap:36px;position:relative;z-index:2}
.cta-title-small{font-size:13px;font-weight:900;letter-spacing:.2em;color:#34401c;margin-bottom:8px}
.cta-title{font-size:2.1rem;color:var(--ink-900);font-weight:900;margin:0 0 10px;line-height:1.25}
.cta-sub{color:#3c4826;max-width:680px;line-height:1.9;font-size:1rem}
.cta-contact{display:flex;gap:16px;margin-top:22px;align-items:center;flex-wrap:wrap}
.cta-contact .contact-pill{background:rgba(11,17,24,.09);height:44px;padding:0 18px;border-radius:30px;display:inline-flex;align-items:center;gap:10px;color:var(--ink-900);font-weight:700;font-size:14px}
.cta-contact i{color:#46542a}
.cta-btn-group{display:flex;gap:14px;flex-direction:column;align-items:flex-start}
.cta-btn-group .btn{background:var(--ink-900);color:#fff}
.cta-btn-group .btn:hover{background:var(--ink-700);transform:translateY(-3px)}
.cta-note{font-size:12px;color:#4a5932;font-weight:600}
/* FAQ */
.faq-section{background:var(--paper);padding:104px 0}
.faq-section .section-head{margin-bottom:30px}
.faq-wrap{max-width:840px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:12px}
.faq-item.open{border-color:var(--ink-600);box-shadow:0 4px 20px rgba(11,17,24,.06)}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 24px;background:none;border:0;text-align:left;cursor:pointer;font-size:16px;font-weight:800;color:var(--text-strong);transition:color .15s}
.faq-q:hover{color:var(--ink-600)}
.faq-q .faq-icon{transition:transform .18s ease;color:var(--accent-deep);font-size:14px;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faq-item.open .faq-icon{transform:rotate(45deg);border-color:var(--ink-600);color:var(--ink-600)}
.faq-a{display:none;padding:0 24px 25px;color:var(--text-muted);line-height:1.85}
.faq-item.open .faq-a{display:block}
.faq-a-inner{border-left:2px solid var(--accent-deep);padding-left:22px}
/* footer */
.site-footer{background:var(--ink-900);color:#aab6c1;font-size:14px}
.footer-main{padding:72px 0 48px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:46px}
.footer-brand .brand-logo{margin-bottom:18px}
.footer-brand .brand-zh{color:#fff}
.footer-brand .brand-zh small{color:#8d9ba8}
.footer-brand p{line-height:1.85;color:#aab6c1;margin-bottom:18px}
.footer-col h4{color:#fff;font-size:15px;margin-bottom:16px;font-weight:700}
.footer-links li{list-style:none;margin-bottom:11px}
.footer-links li a{color:#aab6c1;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.footer-links li a:hover{color:var(--accent);transform:translateX(3px)}
.footer-links li a i{font-size:8px;color:#5b6b78}
.footer-contact-list{display:flex;flex-direction:column;gap:12px}
.footer-contact-list .contact-item{display:flex;gap:10px;align-items:flex-start}
.footer-contact-list .contact-item i{color:var(--accent);margin-top:5px;width:16px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:24px 0}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.footer-bottom .legal a{color:#aab6c1;margin:0 8px}
.footer-bottom .legal a:hover{color:#fff}
/* mobile nav */
.mobile-more{display:none}
/* responsive */
@media screen and (max-width:1024px){
  :root{--space-section:78px}
  .hero-title h1{font-size:3.2rem}
  .stat-num{font-size:1.7rem}
  .sports-grid{grid-template-columns:1fr 1fr}
  .sport-main-card{grid-column:span 2}
  .steps-grid{grid-template-columns:1fr 1fr}
  .steps-grid:before{display:none}
  .step-card{margin-bottom:12px}
  .honor-grid{grid-template-columns:1fr;gap:34px}
  .feed-layout{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr;gap:38px}
}
@media screen and (max-width:768px){
  :root{--space-section:66px;--header-h:58px;--channel-h:42px}
  body{font-size:15.5px}
  .row{max-width:100%}
  .container{padding:0 18px}
  .section-head h2{font-size:1.7rem}
  .section{padding:66px 0}
  .header-cta{height:36px;padding:0 14px}
  .hero-kv{min-height:auto}
  .hero-inner{padding:88px 0 180px}
  .hero-title h1{font-size:2.5rem}
  .hero-lead{font-size:1.075rem}
  .hero-statbar{position:absolute}
  .stat-inner{grid-template-columns:repeat(2,1fr)}
  .stat-cell{border:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .sports-grid{grid-template-columns:1fr}
  .sport-main-card{grid-column:auto;min-height:380px}
  .sport-mini-cards{grid-template-columns:1fr}
  .sport-promo{grid-column:auto}
  .sport-card-body p{max-width:100%}
  .feed-layout{grid-template-columns:1fr}
  .feed-mini-item{padding-left:0;padding-right:0}
  .feed-side{padding:4px 14px}
  .milestone-intro{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr}
  .step-card{padding:20px 18px}
  .step-cta-row{padding:22px 20px;justify-content:center;text-align:center}
  .cta-grid{flex-direction:column;align-items:flex-start}
  .cta-title{font-size:1.7rem}
  .cta-contact{flex-direction:column;align-items:flex-start}
  .cta-contact .contact-pill{width:100%}
  .hero-actions .btn{width:100%}
  .footer-main{grid-template-columns:1fr;gap:34px}
  .footer-bottom-inner{flex-direction:column;text-align:center}
  .channel-inner{padding:0 6px 0 0}
}
@media screen and (max-width:520px){
  .brand-zh{font-size:1.05rem}
  .header-actions .head-text-action{display:none}
  .search-trigger{width:38px;padding:0;justify-content:center}
  .search-trigger .search-txt{display:none}
  .hero-title h1{font-size:2.05rem}
  .hero-inner{padding:64px 0 185px}
  .hero-actions .btn{height:50px;width:100%;justify-content:center}
  .hero-actions{flex-direction:column}
  .stat-num{font-size:1.6rem}
  .section-head h2{font-size:1.5rem}
  .news-header{flex-direction:column;align-items:flex-start}
  .view-more-link{height:auto}
  .feed-lead-pad{padding:22px}
  .feed-lead-card h3{font-size:1.25rem}
  .cta-title{font-size:1.5rem}
  .footer-links li{margin-bottom:8px}
  .footer-contact-list .contact-item{font-size:13px}
}

/* roulang page: category1 */
:root{
--ink-900:#0B1118;
--ink-700:#16202B;
--ink-600:#1E2B38;
--accent:#D8F34F;
--accent-soft:#EAF6A6;
--paper:#F5F6F1;
--panel:#FFFFFF;
--line:#E0E4DC;
--line-soft:#EDF0EA;
--text-strong:#10151B;
--text-body:#2E3A46;
--text-muted:#5A6672;
--gold:#C99F4A;
--radius-sm:5px;
--radius-md:12px;
--radius-lg:18px;
--shadow-card:0 6px 24px rgba(11,17,24,.06);
--shadow-lift:0 16px 40px rgba(11,17,24,.12);
--font:Noto Sans SC,PingFang SC,Microsoft YaHei,Helvetica,Arial,sans-serif;
}
*,*:before,*:after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--text-body);font-family:var(--font);line-height:1.75;font-size:16px;}
img{max-width:100%;height:auto;display:block;border:0;}
a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease;}
ul,ol{padding:0;margin:0;list-style:none;}
input,button,textarea{font-family:var(--font);}
button{cursor:pointer;border:0;background:none;}
.container{max-width:1240px;margin:0 auto;padding:0 24px;}
.row{max-width:100%;}
.text-muted{color:var(--text-muted);}
h1,h2,h3,h4,h5{line-height:1.2;color:var(--text-strong);margin-top:0;font-weight:700;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
/* 顶部双层导航 */
.site-header{position:relative;z-index:50;background:var(--panel);border-bottom:1px solid var(--line);}
.header-main{background:var(--panel);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:70px;gap:20px;}
.brand-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.logo-mark{font-size:1.6rem;font-weight:900;color:var(--ink-900);background:var(--accent);padding:5px 9px;border-radius:8px;line-height:1;letter-spacing:-.5px;}
.brand-zh{font-weight:900;color:var(--ink-900);font-size:1.25rem;display:flex;flex-direction:column;line-height:1.2;letter-spacing:.5px;}
.brand-zh small{font-weight:400;font-size:.72rem;color:var(--text-muted);line-height:1.6;letter-spacing:.4px;}
.header-actions{display:flex;align-items:center;gap:10px;}
.search-trigger{align-items:center;justify-content:center;display:inline-flex;gap:7px;height:38px;padding:0 14px;border-radius:30px;border:1px solid var(--line);color:var(--text-body);font-size:.9rem;font-weight:500;background:var(--paper);transition:all .2s;}
.search-trigger:hover{border-color:var(--ink-900);color:var(--ink-900);background:#fff;}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 18px;border-radius:30px;background:var(--accent);color:var(--ink-900);font-weight:800;font-size:.92rem;transition:transform .2s,background .2s,box-shadow .2s;}
.header-cta:hover{transform:translateY(-1px);background:#c8e932;box-shadow:0 8px 18px rgba(216,243,79,.26);}
.search-pop{max-height:0;overflow:hidden;transition:max-height .25s ease;background:var(--panel);border-top:1px solid var(--line-soft);}
.search-pop.open{max-height:100px;}
.search-forming{display:flex;gap:10px;padding:12px 0;}
.search-input{flex:1;height:44px;padding:0 16px;border:1px solid var(--line);border-radius:30px;background:var(--paper);font-size:.95rem;transition:border-color .2s,box-shadow .2s;}
.search-input:focus{outline:0;border-color:var(--ink-900);background:#fff;box-shadow:0 0 0 3px rgba(216,243,79,.25);}
.search-submit{height:44px;padding:0 20px;border-radius:30px;background:var(--ink-900);color:#fff;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:8px;transition:background .2s;}
.search-submit:hover{background:var(--ink-600);}
.channel-wrap{background:var(--panel);border-top:1px solid var(--line-soft);}
.channel-inner{display:flex;align-items:center;position:relative;}
.channel-tabs{display:flex;align-items:center;height:48px;gap:4px;flex-shrink:0;max-width:100%;}
.nav-link{display:inline-flex;align-items:center;gap:8px;padding:0 16px;height:48px;font-size:.94rem;font-weight:500;color:var(--text-muted);white-space:nowrap;position:relative;transition:color .2s;}
.nav-link i{font-size:.85rem;color:var(--text-muted);transition:color .2s;}
.nav-link:hover{color:var(--ink-900);}
.nav-link:hover i{color:var(--ink-900);}
.nav-link.is-active{color:var(--ink-900);font-weight:700;}
.nav-link.is-active::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:3px;background:var(--accent);border-radius:2px 2px 0 0;}
.nav-link.is-active i{color:var(--accent);}
.nav-link.is-active i{filter:drop-shadow(0 2px 4px rgba(216,243,79,.5));}
/* hero */
.category-hero{position:relative;background:var(--ink-900);padding:76px 0 72px;border-bottom:1px solid rgba(255,255,255,.06);}
.category-hero:before{content:"";position:absolute;inset:0;background:url('/assets/images/backpic/back-1.png') center/cover no-repeat;opacity:.45;}
.category-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,17,24,.98) 0%,rgba(11,17,24,.88) 40%,rgba(11,17,24,.55) 100%);}
.category-hero-inner{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:700;font-size:.83rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;background:rgba(216,243,79,.12);border:1px solid rgba(216,243,79,.3);border-radius:30px;padding:5px 14px;}
.hero-kicker i{color:var(--accent);}
.hero-title{color:#fff;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:900;line-height:1.12;margin-bottom:18px;}
.hero-title em{font-style:normal;color:var(--accent);}
.hero-desc{color:rgba(255,255,255,.86);font-size:1.05rem;line-height:1.8;max-width:620px;}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.4);border-radius:30px;font-size:.82rem;background:rgba(11,17,24,.3);}
.hero-data-dock{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(4px);border-radius:var(--radius-md);padding:22px 8px;display:flex;min-width:360px;justify-content:space-around;text-align:center;flex-shrink:0;}
.hero-datum{flex:1;}
.data-num{font-size:2.1rem;font-weight:900;color:var(--accent);line-height:1.15;letter-spacing:.5px;font-variant-numeric:tabular-nums;}
.data-label{font-size:.78rem;color:rgba(255,255,255,.62);letter-spacing:.5px;margin-top:2px;}
.breadcrumb-bar{background:var(--panel);border-bottom:1px solid var(--line);padding:14px 0;}
.breadcrumb-wrap{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--text-muted);flex-wrap:wrap;}
.breadcrumb-wrap i{font-size:.75rem;color:#9aa5af;}
.breadcrumb-wrap a:hover{color:var(--ink-900);}
/* section */
.section-block{padding:76px 0 8px;}
.section-lead{margin-bottom:36px;}
.section-eyebrow{display:block;font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);background:var(--ink-900);display:inline-block;border-radius:4px;padding:4px 10px;margin-bottom:12px;}
.section-title{font-size:clamp(1.7rem,2.5vw,2.4rem);font-weight:900;color:var(--ink-900);margin-bottom:10px;}
.section-desc{color:var(--text-muted);font-size:1.02rem;max-width:700px;line-height:1.8;}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px;}
.link-more{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink-900);font-size:.9rem;border-bottom:2px solid var(--accent);padding-bottom:1px;}
.link-more i{transition:transform .2s;}
.link-more:hover i{transform:translateX(4px);}
/* intro image plus text list */
.spotlight-card{display:grid;grid-template-columns:1.05fr 1fr;background:var(--ink-900);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:34px;box-shadow:var(--shadow-card);}
.spotlight-media{position:relative;min-height:360px;}
.spotlight-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.spotlight-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,17,24,.6) 0%,rgba(11,17,24,0) 100%);}
.spot-caption{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;}
.spot-caption .tag{display:inline-block;padding:3px 12px;border-radius:20px;background:var(--accent);color:var(--ink-900);font-weight:700;font-size:.76rem;margin-bottom:8px;}
.spot-caption p{color:#fff;font-size:.9rem;margin:0;}
.spotlight-body{padding:32px 33px;background:var(--paper);}
.spotlight-body .step-no{font-size:1rem;color:var(--text-muted);letter-spacing:2px;font-weight:500;}
.spotlight-body h3{font-size:1.6rem;color:var(--ink-900);font-weight:800;margin:6px 0 17px;}
.spot-desc{line-height:1.95;font-size:.99rem;margin-bottom:24px;}
.project-list{list-style:none;margin:0;padding:0;}
.project-list li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.92rem;}
.project-list li i{color:var(--ink-900);background:var(--accent);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;margin-top:5px;}
.project-list li.last{border-bottom:0;}
/* project cards */
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;}
.project-item{grid-column:span 4;background:var(--panel);border-radius:var(--radius-md);padding:28px 25px 24px;border:1px solid var(--line-soft);position:relative;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:var(--shadow-card);}
.project-item.wide{grid-column:span 5;}
.project-item:last-child{grid-column:span 4;}
.project-code{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:30px;background:var(--ink-900);color:var(--accent);border-radius:30px;font-size:.78rem;letter-spacing:1px;font-weight:700;padding:0 14px;margin-bottom:18px;}
.project-icon{font-size:1.8rem;color:var(--ink-900);background:#fff;border-radius:14px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-soft);margin-bottom:16px;}
.project-item h3{font-size:1.25rem;font-weight:800;color:var(--ink-900);margin:0 0 10px;}
.project-item p{font-size:.9rem;color:var(--text-muted);line-height:1.8;margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.project-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:#d3d9cd;}
/* event entry */
.entry-list{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;}
.feature-entry{grid-column:span 12;display:grid;grid-template-columns:1fr 1.1fr;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);}
.feature-entry.reverse{grid-template-columns:1.05fr 1fr;}
.feature-entry.reverse .entry-media{order:2;}
.entry-media{position:relative;min-height:250px;background:var(--ink-700);overflow:hidden;}
.entry-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .35s ease;}
.entry-media:hover img{transform:scale(1.03);}
.entry-body{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;}
.entry-body h3{font-size:1.45rem;font-weight:800;color:var(--ink-900);line-height:1.35;margin:0 0 12px;}
.entry-body p{font-size:.96rem;line-height:1.85;color:var(--text-body);margin-bottom:16px;}
.meta-info{display:flex;align-items:center;gap:10px;font-size:.78rem;color:var(--text-muted);margin-bottom:12px;flex-wrap:wrap;}
.meta-chip{display:inline-flex;align-items:center;gap:5px;background:#f2f4ef;padding:3px 10px;border-radius:14px;font-weight:500;}
/* timeline steps */
.stage-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stage-item{background:var(--panel);border-radius:var(--radius-md);padding:24px 20px;border:1px solid var(--line-soft);position:relative;box-shadow:var(--shadow-card);}
.stage-status{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px;}
.stage-status.done{background:var(--accent);box-shadow:0 0 0 4px rgba(216,243,79,.18);}
.stage-status.now{background:var(--accent);animation:pulse 1.6s infinite;}
.stage-status.wait{background:#A7B0B8;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(216,243,79,.45)}70%{box-shadow:0 0 0 8px rgba(216,243,79,0)}100%{box-shadow:0 0 0 0 rgba(216,243,79,0)}}
.stage-label{font-size:.75rem;letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;margin-bottom:7px;font-weight:600;}
.stage-name{font-size:1.16rem;font-weight:800;color:var(--ink-900);margin-bottom:8px;}
.stage-time{font-size:.8rem;color:var(--text-muted);border-top:1px dashed var(--line);padding-top:10px;font-weight:500;}
/* data cards */
.data-board{background:var(--ink-900);border-radius:var(--radius-lg);position:relative;overflow:hidden;padding:60px 34px;margin-top:70px;}
.data-board:before{content:"";position:absolute;inset:0;background:url('/assets/images/backpic/back-2.png') center/cover no-repeat;opacity:.2;}
.data-board-inner{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.data-cell{border-left:1px solid rgba(255,255,255,.12);padding:12px 0;}
.data-cell:first-child{border-left:0;}
.data-cell .dg-num{font-size:2.5rem;font-weight:900;color:var(--accent);line-height:1;letter-spacing:2px;font-family:var(--font);}
.data-cell .dg-name{color:#fff;font-weight:600;margin-top:6px;}
.data-cell .dg-sub{color:rgba(255,255,255,.55);font-size:.8rem;}
/* faq */
.faq-wrap{max-width:880px;}
.faq-item{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-md);overflow:hidden;margin-bottom:13px;box-shadow:var(--shadow-card);transition:border-color .2s;}
.faq-item.is-active{border-color:#d4deea;}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 22px;background:transparent;text-align:left;font-size:1rem;font-weight:700;color:var(--ink-900);line-height:1.5;transition:background .2s;}
.faq-q:hover{background:#f8faf4;}
.faq-q-icon{flex-shrink:0;color:var(--ink-900);background:var(--accent);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:transform .18s;}
.faq-item.is-active .faq-q-icon{transform:rotate(45deg);}
.faq-a{display:none;padding:0 22px 20px;color:var(--text-body);font-size:.95rem;border-left:2px solid var(--ink-900);margin:0 22px 4px;line-height:1.85;}
.faq-item.is-active .faq-a{display:block;}
/* join CTA */
.join-cta{margin:40px 0 74px;padding:48px 0;background:var(--ink-900);border-radius:var(--radius-lg);position:relative;overflow:hidden;}
.join-cta:before{content:"";position:absolute;inset:0;background:url('/assets/images/backpic/back-3.png') right center/cover no-repeat;opacity:.19;}
.join-cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:0 12px;}
.join-cta-left h3{color:#fff;font-size:1.9rem;font-weight:900;margin-bottom:10px;}
.join-cta-left p{color:rgba(255,255,255,.72);margin:0;max-width:620px;font-size:.98rem;line-height:1.8;}
.cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--ink-900);height:52px;padding:0 34px;border-radius:40px;font-weight:900;font-size:1rem;transition:transform .2s,background .2s,box-shadow .2s;}
.cta-btn:hover{transform:translateY(-2px);background:#c8e932;box-shadow:0 18px 40px rgba(216,243,79,.22);}
.cta-line{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.8);font-size:.86rem;}
/* footer */
.site-footer{background:var(--ink-900);color:rgba(255,255,255,.78);margin-top:70px;padding:66px 0 0;}
.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:38px;padding-bottom:40px;}
.footer-brand p{color:rgba(255,255,255,.56);font-size:.9rem;line-height:1.9;max-width:300px;margin:16px 0 0;}
.footer-brand .brand-logo{display:flex;align-items:center;gap:12px;}
.footer-brand .brand-zh small{color:rgba(255,255,255,.5);}
.footer-col h4{color:#fff;font-size:.95rem;margin-bottom:19px;font-weight:700;letter-spacing:1px;}
.footer-links li{margin-bottom:8px;}
.footer-links a{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.58);font-size:.89rem;transition:color .2s,padding-left .2s;}
.footer-links a i{font-size:.68rem;}
.footer-links a:hover{color:var(--accent);padding-left:5px;}
.footer-contact-list .contact-item{display:flex;align-items:center;gap:10px;font-size:.88rem;color:rgba(255,255,255,.6);line-height:2;}
.contact-item i{width:22px;color:var(--accent);font-size:.9rem;text-align:center;}
.footer-btm{border-top:1px solid rgba(255,255,255,.1);padding:19px 0;font-size:.83rem;color:rgba(255,255,255,.45);}
.footer-btm-inner{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.footer-btm a{color:rgba(255,255,255,.42);}
.footer-btm a:hover{color:#fff;}
.honor-edge-list{display:flex;flex-wrap:wrap;gap:8px;}
.honor-edge{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;color:var(--ink-900);background:var(--ink-900);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:4px 11px;font-weight:500;}
/* responsive */
@media(max-width:63.9375em){
.feature-entry,.feature-entry.reverse{grid-template-columns:1fr;}
.feature-entry.reverse .entry-media,.feature-entry.reverse{order:0;grid-template-columns:1fr;}
.feature-entry .entry-media{order:0;}
.spotlight-card{grid-template-columns:1fr;}
.spotlight-media{min-height:260px;}
.entry-media{min-height:220px;}
.hero-data-dock{min-width:100%;}
.data-board-inner{grid-template-columns:1fr 1fr;}
.data-cell{border-left:0;}
.footer-main{grid-template-columns:1fr 1fr;}
.category-hero-inner{display:block;}
.project-item,.project-item.wide,.project-item:last-child{grid-column:span 6;}
.stage-strip{grid-template-columns:1fr 1fr;}
}
@media(max-width:39.9375em){
.header-inner{height:62px;}
.brand-zh small{display:none;}
.search-txt{display:none;}
.search-trigger{padding:0 12px;font-size:.86rem;}
.header-cta{padding:0 14px;font-size:.84rem;}
.channel-tabs{overflow-x:auto;width:100%;scrollbar-width:none;}
.channel-tabs::-webkit-scrollbar{display:none;}
.nav-link{padding:0 13px;font-size:.9rem;}
.faq-a{margin-inline:12px;}
.section-block{padding:52px 0 4px;}
.category-hero{padding:50px 0 56px;}
.hero-title{font-size:2.2rem;}
.hero-desc{font-size:.9rem;}
.join-cta-inner{display:block;}
.data-cell .dg-num{font-size:1.8rem;}
.project-item,.project-item.wide,.project-item:last-child{grid-column:span 12;}
.stage-strip{grid-template-columns:1fr;}
.data-board-inner{grid-template-columns:1fr 1fr;}
.footer-main{grid-template-columns:1fr;gap:30px;}
.container{padding:0 18px;}
.footer-btm-inner{flex-direction:column;}
.entry-body,.spotlight-body{padding:24px 22px;}
.honor-edge{padding:3px 8px;font-size:.7rem;}
.hero-desc{max-width:100%;}
.spotlight-media img{position:relative;min-height:220px;}
.entry-media img{position:relative;min-height:210px;}
}

/* roulang page: article */
:root{
  --ink-900:#0B1118;
  --ink-700:#16202B;
  --accent:#D8F34F;
  --accent-strong:#C4E33C;
  --paper:#F5F6F1;
  --panel:#FFFFFF;
  --line:#E0E4DC;
  --text-strong:#10151B;
  --text-muted:#5A6672;
  --gold:#C99F4A;
  --green-deep:#1D2B21;
  --font-stack:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:20px;
  --shadow-card:0 2px 6px rgba(11,17,24,.04),0 8px 24px rgba(11,17,24,.06);
  --shadow-hover:0 8px 20px rgba(11,17,24,.08),0 16px 44px rgba(11,17,24,.10);
  --transition:all .2s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-stack);
  color:var(--text-strong);
  background:var(--paper);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:var(--transition)}
button,input,textarea,select{font-family:inherit;font-size:inherit}
.container{
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
  width:100%;
}
::selection{background:var(--accent);color:var(--ink-900)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

/* ===== 双层导航 ===== */
.site-header{
  position:relative;
  background:var(--paper);
  z-index:60;
}
.site-header.is-sticky .header-main{
  position:fixed;
  top:0;
  left:0;
  right:0;
  box-shadow:0 6px 20px rgba(11,17,24,.10);
  transition:var(--transition);
}
.site-header.is-sticky .header-main .header-inner{min-height:60px}
.site-header.is-sticky ~ .page-main{margin-top:64px}
.header-main{
  background:rgba(245,246,241,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  position:relative;
  transition:var(--transition);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:74px;
  gap:20px;
}
.brand-logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
.logo-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  background:var(--ink-900);
  color:var(--accent);
  font-weight:900;
  font-size:21px;
  letter-spacing:-.6px;
  border-radius:6px;
  box-shadow:inset 0 -3px 0 rgba(216,243,79,.22);
}
.brand-zh{
  display:flex;
  flex-direction:column;
  font-weight:900;
  font-size:1.35rem;
  line-height:1.2;
  color:var(--ink-900);
  letter-spacing:.5px;
}
.brand-zh small{
  font-size:.68rem;
  font-weight:500;
  color:var(--text-muted);
  letter-spacing:1px;
  margin-top:4px;
}
.header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.search-trigger{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:38px;
  padding:0 16px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--text-strong);
  font-size:.92rem;
  font-weight:500;
  cursor:pointer;
  transition:var(--transition);
}
.search-trigger:hover{
  border-color:var(--ink-900);
  background:var(--ink-900);
  color:var(--accent);
}
.header-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:40px;
  padding:0 20px;
  background:var(--accent);
  color:var(--ink-900);
  font-weight:800;
  border-radius:999px;
  border:1px solid var(--ink-900);
  transition:var(--transition);
  letter-spacing:.2px;
}
.header-cta:hover{
  background:var(--ink-900);
  color:var(--accent);
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(11,17,24,.16);
}
.search-pop{
  display:none;
  background:var(--ink-900);
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.search-pop.is-open{display:block}
.search-forming{
  display:flex;
  gap:10px;
}
.search-input{
  flex:1;
  height:48px;
  background:var(--ink-700);
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  padding:0 18px;
  color:var(--paper);
  font-size:.98rem;
  transition:var(--transition);
}
.search-input::placeholder{color:#8C99A6}
.search-input:focus{
  outline:none;
  border-color:var(--accent);
  background:#111A26;
}
.search-submit{
  height:48px;
  padding:0 24px;
  background:var(--accent);
  color:var(--ink-900);
  border:none;
  border-radius:10px;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.search-submit:hover{background:var(--accent-strong)}
.channel-wrap{
  background:var(--ink-900);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.channel-inner{
  position:relative;
  display:flex;
  align-items:center;
}
.channel-tabs{
  display:flex;
  align-items:center;
  gap:0;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  min-height:48px;
}
.channel-tabs::-webkit-scrollbar{display:none}
.nav-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:48px;
  padding:0 20px;
  color:#B8C3CB;
  font-size:.95rem;
  font-weight:500;
  white-space:nowrap;
  position:relative;
}
.nav-link i{color:#93A1AC}
.nav-link::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:0;
  height:3px;
  background:var(--accent);
  border-radius:3px 3px 0 0;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.nav-link:hover{color:#fff}
.nav-link:hover::after{transform:scaleX(.55)}
.nav-link.is-active{
  color:var(--accent);
  font-weight:700;
}
.nav-link.is-active i{color:var(--accent)}
.nav-link.is-active::after{transform:scaleX(1)}
.scroll-mask{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:28px;
  background:linear-gradient(90deg,transparent,var(--ink-900));
  pointer-events:none;
}

/* ===== 页面主要区域 ===== */
.page-main{
  overflow:hidden;
}
.breadcrumb-strip{
  background:var(--ink-700);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.breadcrumb-bar{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  font-size:.86rem;
  color:#9DACB7;
  overflow-x:auto;
  white-space:nowrap;
}
.breadcrumb-bar a{color:#C9D3D8}
.breadcrumb-bar a:hover{color:var(--accent)}
.breadcrumb-bar .bc-sep{color:#65727D}
.breadcrumb-bar .bc-current{color:#E6ECEC}

.article-cover{
  background:var(--ink-900);
  position:relative;
  padding:76px 0 90px;
  overflow:hidden;
  isolation:isolate;
  border-bottom:4px solid var(--accent);
}
.article-cover::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('/assets/images/backpic/back-3.png') center/cover no-repeat;
  opacity:.28;
  z-index:-2;
}
.article-cover::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(11,17,24,.96) 0%,rgba(11,17,24,.82) 48%,rgba(11,17,24,.60) 100%);
}
.article-cover .cover-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  background:rgba(216,243,79,.12);
  border:1px solid rgba(216,243,79,.38);
  color:var(--accent);
  border-radius:999px;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.6px;
  margin-bottom:22px;
}
.article-cover h1{
  font-size:clamp(2rem,4.4vw,3.6rem);
  line-height:1.18;
  color:#fff;
  font-weight:900;
  letter-spacing:.5px;
  max-width:940px;
  text-wrap:balance;
}
.article-cover .cover-summary{
  margin-top:18px;
  color:#C8D2D9;
  font-size:1.07rem;
  max-width:760px;
  line-height:1.9;
}
.article-cover .cover-summary .accent-green{color:var(--accent);font-weight:700}
.cover-lines{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin-top:44px;
  flex-wrap:wrap;
}
.cover-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:32px;
}
.cover-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 12px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  font-size:.82rem;
  color:#B9C5CF;
}
.cover-tag.is-primary{
  background:var(--accent);
  color:var(--ink-900);
  border-color:var(--accent);
  font-weight:700;
}
.cover-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  color:#93A1AC;
  font-size:.87rem;
  font-weight:500;
}
.cover-meta i{color:var(--accent);width:18px;text-align:center}

/* ===== 文章正文布局 ===== */
.article-layout-section{
  background:var(--paper);
  padding:52px 0 20px;
}
.article-layout .article-main{
  padding-bottom:48px;
}
.article-body-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(24px,5vw,64px);
  box-shadow:var(--shadow-card);
}
.article-lead{
  font-size:1.2rem;
  line-height:1.9;
  color:#2A3541;
  font-weight:500;
  border-left:4px solid var(--accent);
  padding-left:22px;
  margin-bottom:44px;
  background:linear-gradient(90deg,rgba(216,243,79,.08),transparent);
  padding-top:14px;
  padding-bottom:14px;
  border-radius:0 var(--radius-md) var(--radius-md) 0;
}
.article-headline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:20px;
  margin-bottom:30px;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap;
}
.article-byline{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  color:var(--text-muted);
  font-size:.88rem;
}
.article-byline span{display:inline-flex;gap:7px;align-items:center}
.article-byline i{color:var(--ink-700);width:15px;text-align:center}
.article-source-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--ink-900);
  color:var(--accent);
  border-radius:999px;
  padding:6px 13px;
  font-size:.82rem;
  font-weight:700;
}
.article-copy{
  font-size:1.09rem;
  line-height:1.85;
  color:#20262D;
  letter-spacing:.1px;
  overflow-wrap:break-word;
}
.article-copy > * + *{margin-top:1.25em}
.article-copy h2{
  font-size:1.7rem;
  font-weight:800;
  color:var(--ink-900);
  line-height:1.35;
  margin:1.8em 0 .5em;
  padding-left:16px;
  border-left:5px solid var(--accent);
  background:linear-gradient(90deg,rgba(216,243,79,.18),transparent);
  padding-top:6px;
  padding-bottom:6px;
  border-radius:0 8px 8px 0;
}
.article-copy h3{
  font-size:1.3rem;
  font-weight:800;
  color:var(--ink-900);
  margin:1.6em 0 .35em;
  padding-top:8px;
  display:flex;
  align-items:center;
  gap:8px;
}
.article-copy h3::before{
  content:"";
  width:18px;
  height:3px;
  background:var(--gold);
  border-radius:3px;
}
.article-copy h4{
  font-size:1.15rem;
  font-weight:800;
  color:var(--ink-700);
  margin:1.4em 0 .4em;
}
.article-copy p{
  margin:.7em 0 1.1em;
  letter-spacing:.14px;
}
.article-copy strong{font-weight:700;color:#000}
.article-copy em{font-style:italic}
.article-copy ul,.article-copy ol{
  padding-left:1.5em;
  margin:1em 0;
}
.article-copy li{
  margin-bottom:.5em;
  padding-left:.35em;
}
.article-copy ul li::marker{color:var(--accent-strong)}
.article-copy blockquote{
  background:var(--ink-900);
  color:#D9E2E7;
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  padding:22px 28px;
  border-left:5px solid var(--accent);
  font-size:1.08rem;
  line-height:1.9;
  margin:1.5em 0;
}
.article-copy blockquote p{margin:0}
.article-copy blockquote cite{
  display:block;
  margin-top:14px;
  color:#8FA1AD;
  font-style:normal;
  font-size:.9rem;
}
.article-copy table{
  width:100%;
  border-collapse:collapse;
  margin:1.4em 0;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.article-copy th{
  background:var(--ink-900);
  color:var(--accent);
  padding:12px 14px;
  text-align:left;
  font-weight:700;
  font-size:.92rem;
}
.article-copy td{
  padding:11px 14px;
  border-top:1px solid var(--line);
  font-size:.96rem;
  color:#333;
}
.article-copy tr:nth-child(even) td{background:#FAFBF8}
.article-copy img{
  border-radius:var(--radius-md);
  border:1px solid var(--line);
  margin:1.4em 0;
  width:100%;
  object-fit:cover;
}
.article-copy img[alt]{
  line-height:1.5;
  color:var(--text-muted);
  font-size:.85rem;
  text-align:center;
}
.article-copy hr{
  border:none;
  height:1px;
  background:var(--line);
  margin:2em 0;
}
.article-copy a{
  color:#163E29;
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(22,62,41,.3);
}
.article-copy a:hover{text-decoration-color:var(--accent)}
.article-copy figure{margin:1.4em 0}
.article-copy figcaption{
  font-size:.84rem;
  color:var(--text-muted);
  text-align:center;
  margin-top:.6em;
}
.article-copy code{
  background:var(--ink-700);
  color:var(--accent);
  padding:.2em .5em;
  border-radius:var(--radius-sm);
  font-size:.9em;
}

.article-foot-tags{
  display:flex;
  align-items:center;
  gap:12px;
  padding:24px 0 16px;
  border-top:1px solid var(--line);
  margin-top:36px;
  flex-wrap:wrap;
}
.article-foot-tags .section-lbl{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.9rem;
  color:var(--text-muted);
  font-weight:600;
}
.tag-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 13px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.83rem;
  color:var(--ink-700);
  font-weight:500;
}
.tag-pill:hover{
  background:var(--ink-900);
  color:var(--accent);
  border-color:var(--ink-900);
}
.share-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:18px;
  border-top:1px solid var(--line);
  flex-wrap:wrap;
}
.share-action-group{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.share-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:38px;
  padding:0 14px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink-700);
  font-size:.87rem;
  font-weight:500;
  cursor:pointer;
  transition:var(--transition);
}
.share-btn:hover{
  background:var(--ink-900);
  color:var(--accent);
  transform:translateY(-2px);
}
.hide-article{
  text-align:center;
  padding:90px 20px;
}
.hide-article .empty-icon{
  width:84px;
  height:84px;
  margin:0 auto 24px;
  border-radius:24px;
  background:var(--ink-900);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  box-shadow:var(--shadow-card);
}
.hide-article h3{font-size:1.6rem;font-weight:800;color:var(--ink-900)}
.hide-article p{color:var(--text-muted);margin-top:10px}
.btn-accent{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:48px;
  padding:0 26px;
  background:var(--accent);
  color:var(--ink-900);
  font-weight:800;
  font-size:.98rem;
  border:1px solid var(--ink-900);
  border-radius:10px;
  transition:var(--transition);
  margin-top:18px;
}
.btn-accent:hover{
  background:var(--ink-900);
  color:var(--accent);
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(11,17,24,.15);
}

/* ===== 页面器 | 上/下篇 ===== */
.pager-section{
  padding:28px 0 10px;
}
.pager-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.pager-item{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:22px;
  transition:var(--transition);
  display:block;
}
.pager-item:hover{
  border-color:var(--ink-900);
  box-shadow:var(--shadow-hover);
  transform:translateY(-2px);
}
.pager-item .pager-dir{
  font-size:.82rem;
  color:var(--text-muted);
  font-weight:600;
  display:flex;
  gap:8px;
  margin-bottom:8px;
}
.pager-item.is-next .pager-dir{justify-content:flex-end}
.pager-item.is-next{text-align:right}
.pager-item .pager-title{
  font-size:1.12rem;
  font-weight:800;
  color:var(--ink-900);
  line-height:1.5;
  margin-bottom:6px;
}
.pager-item .pager-meta{
  color:var(--text-muted);
  font-size:.84rem;
}
.back-channel-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:22px;
}

/* ===== 侧栏组件 ===== */
.article-aside{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.side-panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:var(--shadow-card);
}
.side-panel .side-heading{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1.1rem;
  font-weight:800;
  color:var(--ink-900);
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.side-panel .side-heading i{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--ink-900);
  color:var(--accent);
  border-radius:8px;
  font-size:.85rem;
}
.side-list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0;
}
.side-list li + li{border-top:1px dashed var(--line)}
.side-list li a{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 0;
  font-size:.95rem;
  line-height:1.55;
  color:#1B2732;
  font-weight:500;
}
.side-list li a:hover{color:var(--ink-900)}
.side-list li a .side-month{
  font-size:.78rem;
  font-weight:800;
  color:var(--text-muted);
  background:var(--paper);
  border-radius:6px;
  padding:2px 7px;
  white-space:nowrap;
}
.side-panel.is-dark{
  background:var(--ink-900);
  color:#B8C3CB;
  border-color:transparent;
}
.side-panel.is-dark .side-heading{
  color:#fff;
  border-color:rgba(255,255,255,.1);
}
.side-panel.is-dark .side-heading i{background:var(--accent);color:var(--ink-900)}
.quick-note{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.quick-note li{display:flex;gap:14px;align-items:flex-start}
.quick-note .note-num{
  color:var(--accent);
  font-weight:900;
  font-family:monospace;
  font-size:1.28rem;
  line-height:1;
  margin-top:3px;
}
.quick-note h5{
  color:#fff;
  font-weight:800;
  font-size:1rem;
  line-height:1.5;
}
.quick-note p{
  font-size:.86rem;
  color:#8394A2;
  margin-top:6px;
  line-height:1.65;
}
.contact-card{
  position:relative;
  overflow:hidden;
}
.contact-card::before{
  content:"";
  position:absolute;
  right:-50px;
  top:-50px;
  width:150px;
  height:150px;
  border:1px solid rgba(216,243,79,.14);
  border-radius:50%;
}
.contact-card .contact-line{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--text-muted);
  font-size:.92rem;
  margin-top:14px;
}
.contact-card .contact-line i{
  width:36px;
  height:36px;
  background:var(--paper);
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--ink-900);
}
.quick-cta-btn{
  display:flex;
  height:44px;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--accent);
  color:var(--ink-900);
  font-weight:800;
  border-radius:10px;
  margin-top:18px;
  border:1px solid transparent;
}
.quick-cta-btn:hover{
  background:transparent;
  color:var(--accent);
  border-color:var(--accent);
}
.mini-card{margin-bottom:16px}
.mini-card:last-child{margin-bottom:0}

/* ===== 相关推荐区 ===== */
.related-section{
  background:var(--ink-900);
  padding:72px 0 80px;
  margin-top:40px;
  position:relative;
  overflow:hidden;
}
.related-section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,var(--accent),transparent 60%);
}
.related-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:40px;
  flex-wrap:wrap;
}
.related-heading .hk-label{
  color:var(--accent);
  font-size:.86rem;
  font-weight:700;
  letter-spacing:2px;
  margin-bottom:10px;
}
.related-heading h2{
  color:#fff;
  font-size:clamp(1.6rem,3vw,2.3rem);
  font-weight:900;
}
.related-heading .link-more{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#9FAEBA;
  font-size:.95rem;
  font-weight:600;
  border-bottom:1px solid transparent;
}
.related-heading .link-more:hover{color:var(--accent);border-color:var(--accent)}
.related-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.related-card{
  background:var(--panel);
  border-radius:var(--radius-md);
  overflow:hidden;
  border:1px solid var(--line);
  transition:var(--transition);
  display:flex;
  flex-direction:column;
}
.related-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(0,0,0,.3);
  border-color:var(--accent);
}
.related-thumb{
  position:relative;
  padding-top:62%;
  background:var(--ink-700);
  overflow:hidden;
}
.related-thumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.related-card:hover .related-thumb img{transform:scale(1.06)}
.related-body{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.related-body .related-style{
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  color:var(--ink-700);
  background:rgba(216,243,79,.45);
  border-radius:999px;
  padding:3px 10px;
  width:fit-content;
  margin-bottom:12px;
}
.related-body h3{
  font-size:1.08rem;
  font-weight:800;
  line-height:1.5;
  color:var(--text-strong);
  margin-bottom:12px;
  transition:var(--transition);
}
.related-body h3 a:hover{color:#384818}
.related-body p{
  color:var(--text-muted);
  font-size:.9rem;
  line-height:1.7;
  flex:1;
}
.rel-footer{
  margin-top:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--text-muted);
  font-size:.82rem;
}

/* ===== 报名 CTA ===== */
.cta-banner{
  background:var(--accent);
  color:var(--ink-900);
  padding:60px 0 56px;
}
.cta-grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  flex-wrap:wrap;
}
.cta-grid .cta-title h2{
  font-size:clamp(1.8rem,3.2vw,2.8rem);
  font-weight:900;
  line-height:1.25;
  margin-bottom:8px;
}
.cta-grid .cta-title p{
  font-size:1.1rem;
  color:#34442C;
  max-width:580px;
  font-weight:500;
}
.cta-actions{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.cta-btn-primary{
  height:52px;
  padding:0 32px;
  background:var(--ink-900);
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:1.03rem;
  border-radius:12px;
  border:2px solid var(--ink-900);
  transition:var(--transition);
}
.cta-btn-primary:hover{
  background:transparent;
  color:var(--ink-900);
  transform:translateY(-2px);
}
.cta-btn-line{
  height:52px;
  padding:0 26px;
  border:2px solid rgba(11,17,24,.5);
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:12px;
  font-weight:600;
  color:var(--ink-900);
  transition:var(--transition);
}
.cta-btn-line:hover{
  background:rgba(11,17,24,.06);
  border-color:var(--ink-900);
  color:var(--ink-900);
}

/* ===== 页脚 ===== */
.site-footer{
  background:var(--ink-900);
  color:#8CA0B2;
  font-size:.92rem;
}
.site-footer .footer-main{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:36px;
  padding:64px 0 44px;
}
.footer-brand p{
  color:#728494;
  line-height:1.9;
  font-size:.96rem;
  margin-top:22px;
}
.footer-brand .brand-logo .brand-zh{color:#fff}
.footer-brand .brand-logo .brand-zh small{color:#728494}
.footer-brand .brand-logo .logo-mark{background:var(--accent);color:var(--ink-900)}
.honor-edge-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.honor-edge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#9BD1B6;
  font-size:.78rem;
  background:rgba(255,255,255,.03);
}
.footer-col h4{
  color:#fff;
  font-size:.96rem;
  font-weight:800;
  margin-bottom:20px;
  letter-spacing:.4px;
}
.footer-links{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0;
}
.footer-links a{
  display:flex;
  align-items:center;
  gap:8px;
  color:#8CA0B2;
  padding:7px 0;
  font-size:.93rem;
  transition:var(--transition);
}
.footer-links a:hover{
  color:var(--accent);
  padding-left:4px;
}
.footer-links a i{color:var(--accent);font-size:.78rem}
.footer-contact-list{display:flex;flex-direction:column;gap:10px}
.contact-item{
  display:flex;
  align-items:center;
  gap:10px;
  color:#8CA0B2;
  font-size:.9rem;
}
.contact-item i{
  width:18px;
  text-align:center;
  color:var(--accent);
  flex-shrink:0;
}
.footer-bottom{
  background:#070C11;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 24px;
  min-height:56px;
  color:#657986;
  font-size:.86rem;
}
.footer-bottom a{color:#8CA0B2}
.footer-bottom a:hover{color:var(--accent)}
.footer-bottom .legal a{
  color:var(--accent);
  margin-left:4px;
  text-decoration:underline;
  text-underline-offset:4px;
}

/* ===== 响应式 ===== */
@media screen and (max-width: 63.9375em){
  .header-inner{height:70px}
  .article-layout .article-body-card{padding:28px}
  .footer-main{grid-template-columns:1fr 1fr}
  .article-aside{
    flex-direction:column;
    margin-top:30px;
  }
  .article-aside .side-panel{
    max-width:100% !important;
  }
  .related-grid{
    grid-template-columns:1fr 1fr;
  }
  .related-card:last-child{display:block}
  .cover-lines{margin-top:30px}
}
@media screen and (max-width: 39.9375em){
  .container{padding:0 16px}
  .header-inner{height:64px}
  .brand-logo{
    gap:10px;
  }
  .logo-mark{
    width:38px;
    height:38px;
    font-size:17px;
  }
  .brand-zh{font-size:1.12rem}
  .brand-zh small{font-size:.58rem;margin-top:2px}
  .search-trigger{
    width:38px;
    padding:0;
    justify-content:center;
    border-radius:12px;
  }
  .search-txt{display:none}
  .header-cta{
    width:38px;
    height:38px;
    padding:0;
    justify-content:center;
    font-size:0;
    border-radius:12px;
  }
  .header-cta i{font-size:1rem}
  .channel-tabs .nav-link{padding:0 14px;font-size:.9rem}
  .page-main{overflow:hidden}
  .article-cover{padding:52px 0 62px}
  .article-cover h1{
    font-size:1.9rem;
    line-height:1.35;
  }
  .cover-meta{
    gap:10px 16px;
  }
  .article-layout-section{padding-top:20px}
  .article-body-card{
    padding:20px 16px;
    border-radius:16px;
  }
  .article-lead{
    font-size:1.08rem;
    margin-bottom:30px;
  }
  .article-copy{
    font-size:1.04rem;
    line-height:1.8;
  }
  .article-copy h2{
    font-size:1.3rem;
    padding-left:12px;
  }
  .article-copy h3{
    font-size:1.18rem;
  }
  .pager-section{padding:12px 0}
  .pager-item{padding:16px}
  .pager-item .pager-dir,.pager-item.is-next .pager-dir,.pager-item.is-next{
    text-align:left;
    justify-content:flex-start;
  }
  .pager-section .pager-grid{
    grid-template-columns:1fr;
  }
  .share-row{flex-direction:column;align-items:flex-start}
  .hide-article{padding:48px 4px}
  .related-section{
    padding:50px 0 60px;
  }
  .related-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .related-section .related-card:last-child{display:block}
  .footer-main{
    grid-template-columns:1fr;
    gap:32px;
    padding:52px 0 34px;
  }
  .footer-bottom-inner{
    flex-direction:column;
    justify-content:center;
    text-align:center;
    padding-top:18px;
    padding-bottom:18px;
  }
}

/* roulang page: category2 */
:root{
  --ink-900:#0B1118;
  --ink-800:#111A24;
  --ink-700:#16202B;
  --paper:#F5F6F1;
  --panel:#FFFFFF;
  --line:#E0E4DC;
  --text-strong:#10151B;
  --text-muted:#5A6672;
  --accent:#D8F34F;
  --accent-strong:#C4DE38;
  --gold:#C99F4A;
  --success:#2F9E63;
  --radius-s:6px;
  --radius-m:14px;
  --radius-l:20px;
  --shadow-soft:0 10px 30px rgba(16,21,27,.06);
  --shadow-card:0 16px 36px rgba(11,17,24,.08);
  --font-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-num:"DIN Alternate","Barlow Condensed","Roboto Condensed","SFMono-Regular",Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
body{
  margin:0;
  background:var(--paper);
  color:var(--text-strong);
  font-family:var(--font-sans);
  font-size:1rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;transition:color .25s ease,background .25s ease,border .25s ease,transform .25s ease;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}
button,input{font-family:inherit;font-size:inherit;}
h1,h2,h3,h4,h5{margin:0;font-weight:800;line-height:1.2;}
i{line-height:1;}
.wy-container{max-width:1240px;margin:0 auto;padding:0 26px;width:100%;}
.site-header{
  background:var(--panel);
  position:relative;
  z-index:80;
  box-shadow:0 4px 18px rgba(11,17,24,.05);
}
.header-main{border-bottom:1px solid var(--line);}
.header-inner{
  display:flex;
  align-items:center;
  min-height:66px;
  gap:18px;
}
.brand-logo{
  display:inline-flex;
  align-items:center;
  gap:11px;
  flex-shrink:0;
}
.logo-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  background:var(--ink-900);
  color:var(--accent);
  font-weight:900;
  font-size:1rem;
  letter-spacing:.02em;
  border-radius:9px;
  font-family:var(--font-num);
}
.brand-zh{
  font-size:1.08rem;
  font-weight:900;
  letter-spacing:.02em;
  color:var(--ink-900);
  line-height:1.15;
}
.brand-zh small{
  display:block;
  font-size:.65rem;
  color:var(--text-muted);
  font-weight:600;
  letter-spacing:.18em;
}
.header-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
}
.search-trigger{
  background:transparent;
  border:1px solid var(--line);
  color:var(--text-strong);
  border-radius:var(--radius-s);
  padding:8px 15px;
  font-size:.9rem;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:border-color .25s,background .25s;
}
.search-trigger:hover{border-color:#Bcc4bd;background:var(--paper);}
.search-trigger i{font-size:.88rem;}
.header-cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--accent);
  color:var(--ink-900);
  border-radius:var(--radius-s);
  padding:9px 17px;
  font-size:.9rem;
  font-weight:800;
  line-height:1;
  border:1px solid var(--accent);
  transition:background .25s,transform .2s,border-color .25s;
}
.header-cta:hover{background:var(--accent-strong);border-color:var(--accent-strong);transform:translateY(-1px);}
.search-pop{display:none;border-bottom:1px solid var(--line);background:var(--paper);}
.search-pop.is-open{display:block;}
.search-pop .container{padding-top:14px;padding-bottom:14px;}
.search-forming{display:flex;gap:10px;max-width:760px;}
.search-input{
  flex:1;
  min-width:0;
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:var(--radius-s);
  padding:10px 17px;
  color:var(--text-strong);
  outline:none;
  transition:border-color .2s;
}
.search-input:focus{border-color:var(--accent-strong);box-shadow:0 0 0 2px rgba(216,243,79,.18);}
.search-submit{
  border:none;
  background:var(--ink-900);
  color:#fff;
  border-radius:var(--radius-s);
  padding:10px 20px;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.channel-wrap{
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.channel-inner{
  display:flex;
  align-items:center;
  position:relative;
}
.channel-tabs{
  display:flex;
  align-items:center;
  gap:2px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.channel-tabs::-webkit-scrollbar{display:none;}
.nav-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  padding:12px 17px 11px;
  font-size:.94rem;
  font-weight:700;
  color:var(--text-muted);
  border-bottom:3px solid transparent;
  transition:color .2s,border-color .2s;
}
.nav-link i{color:#7A8792;}
.nav-link:hover{color:var(--text-strong);}
.nav-link.is-active{
  color:var(--ink-900);
  border-bottom-color:var(--accent-strong);
}
.nav-link.is-active i{color:var(--gold);}
.scroll-mask{
  pointer-events:none;
  width:32px;
  height:36px;
  background:linear-gradient(90deg,transparent,var(--paper));
  position:absolute;
  right:0;
}
@media screen and (max-width:639px){
  .search-txt{display:none;}
  .header-inner{gap:10px;}
  .header-cta{font-size:.85rem;padding:8px 12px;}
  .brand-zh{font-size:.98rem;}
  .scroll-mask{display:block;width:22px;}
  .brand-zh small{font-size:.58rem;}
}
/* category hero */
.cat-hero{
  position:relative;
  color:#F2F4F8;
  background-color:var(--ink-900);
  background-image:url("/assets/images/backpic/back-2.png");
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.cat-hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(11,17,24,.56);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.cat-hero-main{
  position:relative;
  z-index:2;
  padding:54px 0 66px;
}
.cat-hero-grid{
  display:flex;
  flex-direction:row;
  gap:48px;
  align-items:center;
}
.crumb{
  margin-bottom:30px;
  font-size:.86rem;
  color:rgba(255,255,255,.66);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.crumb a{color:rgba(255,255,255,.86);}
.crumb a:hover{color:var(--accent);}
.crumb .sep{opacity:.5;font-size:.72rem;}
.category-hero-copy{flex:1 1 60%;min-width:0;}
.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--accent);
  font-weight:800;
  letter-spacing:.18em;
  font-size:.78rem;
  border:1px solid rgba(216,243,79,.4);
  padding:5px 13px 5px 11px;
  border-radius:999px;
  background:rgba(216,243,79,.08);
  margin-bottom:17px;
  text-transform:uppercase;
}
.hero-kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;}
.cat-title{
  font-size:clamp(2.35rem,5.2vw,4.05rem);
  font-weight:900;
  color:#fff;
  letter-spacing:.01em;
  line-height:1.12;
}
.cat-title .mk-line{color:var(--accent);}
.hero-lead{
  margin-top:22px;
  color:rgba(255,255,255,.83);
  font-size:1.06rem;
  line-height:1.85;
  max-width:680px;
}
.hero-lead strong{color:#fff;font-weight:700;}
.hero-taglist{
  margin-top:26px;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.hero-tag{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 13px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  font-size:.85rem;
  color:rgba(255,255,255,.9);
  font-weight:600;
}
.hero-tag i{color:var(--accent);}
.hero-pane{
  flex:0 0 340px;
  max-width:100%;
  background:rgba(22,32,43,.82);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-l);
  padding:26px 25px 22px;
  box-shadow:0 30px 60px rgba(0,0,0,.2);
}
.pane-label{
  color:var(--accent);
  font-weight:800;
  font-size:.79rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
}
.pane-label:before{content:"";width:18px;height:2px;background:var(--accent);}
.pane-title{
  color:#fff;
  font-size:1.18rem;
  font-weight:800;
  margin:14px 0 3px;
}
.pane-desc{
  color:rgba(255,255,255,.6);
  font-size:.83rem;
  line-height:1.7;
  margin:0 0 15px;
}
.pane-list{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:12px;
  display:grid;
  gap:9px;
}
.pane-list li{
  color:rgba(255,255,255,.8);
  font-size:.89rem;
  position:relative;
  padding-left:20px;
  line-height:1.5;
}
.pane-list li:before{
  content:"\f105";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  position:absolute;
  left:0;
  top:0;
  color:var(--accent);
  font-size:.85rem;
}
@media screen and (max-width:999px){
  .cat-hero-grid{flex-direction:column;gap:30px;}
  .hero-pane{flex:1 1 100%;width:100%;}
}
@media screen and (max-width:639px){
  .crumb{margin-bottom:18px;}
  .cat-hero-main{padding:38px 0 46px;}
  .hero-lead{font-size:.98rem;}
}
/* data band */
.stat-band{
  background:var(--ink-700);
  border-bottom:none;
  color:#fff;
  padding:12px 0 40px;
}
.stat-band .band-inner{
  position:relative;
  z-index:2;
}
.stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-l);
  overflow:hidden;
  margin-top:-34px;
  background:var(--ink-700);
  box-shadow:0 24px 48px rgba(0,0,0,.2);
}
.stat-item{
  padding:28px 26px;
  border-left:1px solid rgba(255,255,255,.09);
  background:var(--ink-700);
}
.stat-item:first-child{border-left:0;}
.stat-item .num{
  font-family:var(--font-num);
  font-size:2.85rem;
  font-weight:800;
  color:var(--accent);
  line-height:1;
  letter-spacing:.01em;
}
.stat-item .num small{font-size:1.15rem;color:#fff;margin-left:3px;font-weight:700;}
.stat-item .lbl{
  margin-top:11px;
  color:#fff;
  font-size:.94rem;
  font-weight:700;
}
.stat-item .sub{color:rgba(255,255,255,.55);font-size:.8rem;margin-top:4px;line-height:1.55;}
.stat-note{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding-top:17px;
  color:rgba(255,255,255,.55);
  font-size:.79rem;
}
.stat-note i{color:var(--accent);margin-top:2px;}
@media screen and (max-width:999px){
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stat-item:nth-child(2){border-left:0;}
}
@media screen and (max-width:639px){
  .stat-grid{grid-template-columns:repeat(1,minmax(0,1fr));}
  .stat-item{border-left:0;border-bottom:1px solid rgba(255,255,255,.08);}
  .stat-item:last-child{border-bottom:0;}
}
/* sections */
.section-block{padding:clamp(76px,7.5vw,112px) 0;}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:34px;
  flex-wrap:wrap;
}
.section-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ink-700);
  background:var(--accent);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:999px;
  margin-bottom:13px;
}
.section-label.dark{background:var(--accent);color:var(--ink-900);}
.grid-title{
  font-size:clamp(1.8rem,3.4vw,2.5rem);
  font-weight:900;
  color:var(--ink-900);
  letter-spacing:.01em;
  margin-top:0;
  max-width:760px;
}
.section-head p{
  color:var(--text-muted);
  max-width:470px;
  font-size:.96rem;
  margin:10px 0 0;
  line-height:1.75;
}
.section-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ink-900);
  font-weight:700;
  font-size:.88rem;
  border:1px solid var(--line);
  padding:9px 15px;
  border-radius:999px;
  background:var(--panel);
}
.section-link i{transition:transform .2s;}
.section-link:hover{border-color:var(--ink-900);background:var(--ink-900);color:#fff;}
.section-link:hover i{transform:translateX(4px);}
/* info matrix */
.info-matrix{background:var(--paper);}
.matrix-layout{
  display:grid;
  grid-template-columns:1.8fr .9fr;
  gap:36px;
  align-items:start;
}
.matrix-left{min-width:0;}
.matrix-copy{
  color:var(--text-muted);
  font-size:.97rem;
  line-height:1.8;
  max-width:640px;
  margin-bottom:24px;
}
.type-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.type-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-m);
  padding:22px 21px 20px;
  box-shadow:var(--shadow-soft);
  position:relative;
  transition:border-color .25s,transform .25s,box-shadow .25s;
  min-height:162px;
}
.type-card:hover{border-color:#cfd4ca;transform:translateY(-4px);box-shadow:var(--shadow-card);}
.type-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.type-ico{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--ink-900);
  color:var(--accent);
  font-size:1rem;
}
.type-index{
  font-family:var(--font-num);
  font-size:.83rem;
  color:var(--text-muted);
  letter-spacing:.08em;
}
.type-card h3{
  font-size:1.08rem;
  font-weight:800;
  color:var(--text-strong);
  margin:0 0 9px;
}
.type-card p{
  color:var(--text-muted);
  font-size:.86rem;
  line-height:1.65;
  margin:0;
}
.visual-panel{
  background:var(--ink-900);
  border-radius:var(--radius-l);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  color:#fff;
}
.visual-panel img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.visual-copy{padding:22px 22px 24px;}
.visual-copy h3{
  color:#fff;
  font-size:1.07rem;
  font-weight:800;
  margin-bottom:8px;
}
.visual-copy p{
  color:rgba(255,255,255,.62);
  font-size:.86rem;
  line-height:1.7;
  margin:0;
}
.visual-copy .mini-edges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:17px;
}
.mini-edge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.75);
  border-radius:999px;
  padding:4px 10px;
  font-size:.74rem;
  font-weight:600;
}
.mini-edge i{color:var(--accent);}
@media screen and (max-width:1023px){
  .matrix-layout{grid-template-columns:1fr;}
}
@media screen and (max-width:639px){
  .type-grid{grid-template-columns:1fr;}
}
/* rhythm dark */
.publish-rhythm{
  background-color:var(--ink-900);
  background-image:url("/assets/images/backpic/back-3.png");
  background-size:cover;
  background-position:center;
  color:#fff;
  position:relative;
}
.publish-rhythm:before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(11,17,24,.78);
}
.publish-rhythm .rhythm-inner{position:relative;z-index:2;}
.publish-rhythm .section-head .grid-title{color:#fff;}
.publish-rhythm .section-head p{color:rgba(255,255,255,.6);}
.rhythm-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:20px;
}
.rhythm-card{
  background:rgba(22,32,43,.85);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-l);
  padding:26px 24px;
  position:relative;
  overflow:hidden;
}
.rhythm-card:after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:rgba(255,255,255,.12);
}
.rhythm-card.is-current:after{background:var(--accent);}
.rhythm-step{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}
.step-no{
  font-family:var(--font-num);
  font-size:.75rem;
  color:var(--accent);
  letter-spacing:.18em;
  font-weight:700;
}
.status-pill{
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.75);
  padding:4px 9px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
}
.status-pill.done{background:#D8F34F;color:#0B1118;}
.rhythm-card h3{
  color:#fff;
  font-size:1.17rem;
  font-weight:800;
  margin:0 0 10px;
}
.rhythm-card p{
  color:rgba(255,255,255,.62);
  font-size:.87rem;
  line-height:1.75;
  margin:0;
}
.rhythm-note{
  border-left:3px solid var(--accent);
  background:rgba(255,255,255,.05);
  border-radius:0 var(--radius-m) var(--radius-m) 0;
  padding:13px 17px;
  color:rgba(255,255,255,.75);
  font-size:.9rem;
  margin-top:25px;
}
.rhythm-note strong{color:#fff;font-weight:700;}
@media screen and (max-width:1023px){
  .rhythm-grid{grid-template-columns:1fr;}
}
/* entry cross */
.info-entry{background:var(--paper);}
.entry-layout{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:stretch;
}
.entry-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-l);
  padding:32px 30px;
  position:relative;
  box-shadow:var(--shadow-soft);
  transition:transform .25s,box-shadow .25s;
}
.entry-card:hover{box-shadow:var(--shadow-card);transform:translateY(-3px);}
.entry-card.card-dark{
  background:var(--ink-800);
  border-color:var(--ink-800);
  color:#fff;
}
.entry-card .card-kick{
  display:flex;
  min-height:16px;
}
.card-kick .star{
  color:var(--accent);
  letter-spacing:.2em;
  font-size:.76rem;
  font-weight:800;
}
.card-dark .star{color:var(--accent);}
.entry-card h3{
  margin:15px 0 10px;
  font-size:1.44rem;
  font-weight:900;
  line-height:1.3;
}
.entry-card p{color:var(--text-muted);font-size:.9rem;line-height:1.75;margin:0 0 20px;}
.card-dark p{color:rgba(255,255,255,.58);}
.entry-card .btn-text{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:800;
  font-size:.9rem;
  color:var(--ink-900);
  background:var(--accent);
  padding:9px 16px;
  border-radius:var(--radius-s);
  transition:background .25s,gap .2s;
}
.entry-card .btn-text:hover{gap:11px;background:var(--accent-strong);}
.entry-card.card-dark .btn-text{color:var(--accent);background:transparent;border:1px solid rgba(216,243,79,.45);}
.entry-card.card-dark .btn-text:hover{background:var(--accent);color:var(--ink-900);}
@media screen and (max-width:999px){
  .entry-layout{grid-template-columns:1fr;}
}
/* faq */
.faq-section{background:var(--panel);}
.faq-copy{max-width:740px;margin-bottom:32px;color:var(--text-muted);}
.faq-outer{
  max-width:920px;
}
/* Foundation accordion */
.faq-accordion{
  background:transparent;
  border:none;
  display:grid;
  gap:14px;
}
.faq-accordion .accordion-item{
  list-style:none;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-m);
  overflow:hidden;
  transition:border-color .25s;
}
.faq-accordion .accordion-item:hover{border-color:#c9cec6;}
.faq-accordion .accordion-item.is-active{border-color:var(--accent-strong);}
.faq-accordion .accordion-title{
  display:block;
  color:var(--text-strong);
  background:transparent;
  border:none;
  padding:19px 52px 19px 22px;
  font-weight:800;
  font-size:1rem;
  position:relative;
  cursor:pointer;
  line-height:1.4;
}
.faq-accordion .accordion-title:hover{background:rgba(11,17,24,.02);}
.faq-accordion .accordion-title::after{
  content:"+";
  font-family:var(--font-num);
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.75rem;
  font-weight:400;
  color:var(--ink-900);
  line-height:1;
  transition:transform .18s ease;
}
.faq-accordion .accordion-item.is-active .accordion-title::after{
  content:"−";
  transform:translateY(-50%) rotate(0deg);
}
.faq-accordion .accordion-content{
  background:transparent;
  border:none;
  padding:0 22px 0 22px!important;
  color:var(--text-strong);
}
.faq-accordion .accordion-content .content-inner{
  border-left:2px solid var(--accent);
  padding:0 0 13px 17px;
  margin-left:2px;
}
.faq-accordion .accordion-content p{
  color:var(--text-muted);
  font-size:.92rem;
  line-height:1.8;
  margin:0;
}
.faq-accordion .accordion-content .mini-contact{
  color:var(--text-muted);
  font-size:.88rem;
  background:rgba(216,243,79,.18);
  border-radius:8px;
  padding:10px 14px;
  margin-top:14px;
}
/* cta highlight */
.cta-highlight{
  background:var(--accent);
  padding:0;
  color:var(--ink-900);
}
.cta-inner{
  padding:clamp(62px,6vw,88px) 0;
  display:grid;
  grid-template-columns:1.6fr .9fr;
  gap:34px;
  align-items:center;
}
.cta-sub{color:rgba(11,17,24,.62);font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:9px;margin-bottom:13px;}
.cta-sub:before{content:"";width:20px;height:2px;background:var(--ink-900);}
.cta-highlight h2{
  color:var(--ink-900);
  font-size:clamp(1.7rem,3.4vw,2.65rem);
  font-weight:900;
  margin:0 0 10px;
  line-height:1.25;
}
.cta-inner .cta-desc{
  color:rgba(11,17,24,.78);
  max-width:620px;
  line-height:1.85;
  font-size:.96rem;
  margin:0;
}
.cta-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}
.btn-ink{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:var(--ink-900);
  color:#fff;
  border-radius:var(--radius-s);
  padding:14px 20px;
  font-weight:800;
  font-size:.93rem;
  border:2px solid var(--ink-900);
  transition:background .25s,color .25s,border-color .25s,transform .2s;
}
.btn-ink:hover{background:#1d2834;color:#fff;transform:translateY(-1px);}
.btn-outline{
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:2px solid var(--ink-900);
  color:var(--ink-900);
  font-weight:800;
  border-radius:var(--radius-s);
  padding:12px 18px;
  font-size:.93rem;
  background:transparent;
  transition:background .25s,color .25s;
}
.btn-outline:hover{background:rgba(11,17,24,.08);}
.cta-mailer{
  background:var(--ink-900);
  color:#fff;
  padding:24px;
  border-radius:var(--radius-l);
}
.cta-mailer h3{color:#fff;font-size:1.06rem;margin:0 0 10px;}
.cta-mailer p{color:rgba(255,255,255,.58);font-size:.83rem;line-height:1.7;margin:0 0 18px;}
.cta-mailer a.mail-link{
  color:var(--accent);
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:8px;
  word-break:break-all;
}
.cta-mailer a.mail-link:hover{text-decoration:underline;}
@media screen and (max-width:999px){
  .cta-inner{grid-template-columns:1fr;}
}
/* footer */
.site-footer{
  background:var(--ink-900);
  color:rgba(255,255,255,.62);
  font-size:.9rem;
}
.footer-main{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.1fr;
  gap:40px;
  padding:58px 0 28px;
}
.footer-brand .brand-logo{
  margin-bottom:16px;
}
.footer-brand .brand-zh{color:#fff;}
.footer-brand .brand-zh small{color:rgba(255,255,255,.4);}
.footer-brand p{
  max-width:300px;
  line-height:1.8;
  margin:0;
  color:rgba(255,255,255,.48);
}
.footer-col h4{
  font-size:.8rem;
  color:rgba(255,255,255,.38);
  text-transform:uppercase;
  letter-spacing:.16em;
  margin:0 0 18px;
  font-weight:800;
}
.footer-links{display:grid;gap:9px;}
.footer-links a{
  color:rgba(255,255,255,.68);
  display:inline-flex;
  align-items:center;
  gap:7px;
  transition:color .2s,padding-left .2s;
}
.footer-links a i{color:var(--accent);font-size:.72rem;}
.footer-links a:hover{color:var(--accent);padding-left:3px;}
.footer-contact-list{display:grid;gap:10px;}
.contact-item{
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.6);
}
.contact-item i{color:var(--accent);width:16px;text-align:center;font-size:.9rem;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:21px 0 24px;
  font-size:.8rem;
}
.footer-bottom-inner{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 22px;
}
.footer-bottom a{color:rgba(255,255,255,.36);}
.footer-bottom a:hover{color:var(--accent);}
.footer-bottom .legal{color:rgba(255,255,255,.35);}
.honor-edge-list{display:flex;gap:10px;flex-wrap:wrap;}
.honor-edge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#fff;
  color:var(--ink-900)!important;
  border:1px solid transparent!important;
  border-radius:999px;
  padding:5px 12px;
  font-size:.78rem;
  font-weight:800;
}
.honor-edge i{color:var(--gold);}
@media screen and (max-width:1023px){
  .footer-main{grid-template-columns:1fr 1fr;gap:32px;}
}
@media screen and (max-width:639px){
  .footer-main{grid-template-columns:1fr;}
  .footer-bottom-inner{flex-direction:column;}
  .cta-buttons{flex-direction:column;}
  .btn-ink,.btn-outline{justify-content:center;}
}
