.docs-layout,.error-page,.page-card,.page-hero,.page-section{--primary:var(--c-primary);--primary-dark:var(--c-primary-hover);--primary-light:var(--c-primary-soft);--primary-lighter:var(--c-primary-soft);--primary-border:var(--c-primary-mid);--text:var(--c-text);--text-secondary:var(--c-text-2);--text-muted:var(--c-text-3);--text-light:var(--c-text-3);--bg:var(--c-bg);--bg-secondary:var(--c-bg);--bg-card:var(--c-surface);--bg-section-alt:var(--c-bg);--border:var(--c-border);--border-light:var(--c-border-2);--yellow:var(--c-accent);--yellow-light:var(--c-accent-soft);--green:var(--c-ok);--green-light:var(--c-ok-soft);--red:var(--c-err);--red-light:var(--c-err-soft);--radius-sm:var(--r-s);--radius-md:var(--r-m);--radius-lg:var(--r-l);--transition:var(--ease);--transition-medium:var(--ease-slow)}.page-section{padding:60px 0;min-height:calc(100vh - 200px);background:var(--c-bg)}.page-card{background:var(--c-surface);padding:48px 56px;border-radius:var(--r-m);max-width:860px;margin:0 auto;border:1px solid var(--c-border);box-shadow:none;position:relative;overflow:hidden}.page-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--c-primary)}.page-card h1{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px;color:var(--c-text);font-family:var(--font-display);position:relative;padding-left:18px}.page-card h1::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--c-primary);border-radius:1px}.page-card h2{font-size:22px;font-weight:700;margin:40px 0 16px;color:var(--c-text);position:relative;padding-left:20px;display:flex;align-items:center;gap:12px}.page-card h2::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--c-primary);border-radius:2px}.page-card h3{font-size:16px;font-weight:700;margin:24px 0 8px;color:var(--c-text)}.page-card p{margin-bottom:14px;color:var(--c-text-2);line-height:1.75;font-size:15px}.page-card ol,.page-card ul{margin-bottom:20px;padding-left:0;color:var(--c-text-2)}.page-card ul{list-style:none}.page-card ul li{position:relative;padding-left:28px;margin-bottom:12px;font-size:15px;line-height:1.75}.page-card ul li::before{content:'';position:absolute;left:0;top:7px;width:6px;height:6px;background:var(--c-primary);border-radius:50%;box-shadow:none}.page-card ol{list-style:none;counter-reset:list-counter}.page-card ol li{position:relative;padding-left:32px;margin-bottom:12px;font-size:15px;line-height:1.75;counter-increment:list-counter}.page-card ol li::before{content:counter(list-counter);position:absolute;left:0;top:0;width:22px;height:22px;background:var(--c-primary-soft);color:var(--c-primary);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.page-card a:not(.btn){color:var(--c-primary);font-weight:500;position:relative;transition:color var(--ease)}.page-card a:not(.btn)::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--c-primary);transition:width var(--ease-slow)}.page-card a:not(.btn):hover{color:var(--c-primary-hover)}.page-card a:not(.btn):hover::after{width:100%}.page-card a.btn{text-decoration:none}.page-card a.btn::after{display:none}.page-card a.btn-primary{color:#fff}.page-card a.btn-primary:hover{color:#fff}.page-card a.btn-outline{color:var(--c-primary)}.hero-box{background:var(--c-dark);color:var(--c-text-inv);padding:28px;border-radius:var(--r-m);margin:24px 0}.hero-box h3{color:#fff;font-size:18px;margin:0 0 8px}.hero-box p{color:#94a3b8;margin:0;font-size:15px}.values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--c-border);border-radius:var(--r-m);overflow:hidden;margin:24px 0}@media (max-width:640px){.values-grid{grid-template-columns:1fr}}.value-card{padding:24px 20px;background:var(--c-surface)}.value-icon{width:36px;height:36px;border-radius:var(--r-s);background:var(--c-primary-soft);display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--c-primary)}.value-icon svg{width:18px;height:18px}.value-card h4{font-size:15px;font-weight:700;margin-bottom:6px;color:var(--c-text)}.value-card p{font-size:13px;color:var(--c-text-3);margin:0;line-height:1.6}.callout{padding:20px 24px;border-radius:12px;margin:24px 0;font-size:14px;line-height:1.75;position:relative;display:flex;gap:14px;align-items:flex-start;border:1px solid transparent;transition:transform var(--ease),box-shadow var(--ease)}.callout:hover{transform:none;box-shadow:none}.callout::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;border-radius:2px 0 0 2px}.callout-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.callout p{margin:0;font-size:14px;flex:1}.callout-warn{background:var(--c-warn-soft);border-color:rgba(217,119,6,.25)}.callout-warn::before{background:var(--c-warn)}.callout-warn .callout-icon{background:rgba(217,119,6,.15);color:var(--c-warn)}.callout-warn p{color:#92400e}.callout-warn strong{color:#78350f}.callout-tip{background:var(--c-ok-soft);border-color:rgba(5,150,105,.25)}.callout-tip::before{background:var(--c-ok)}.callout-tip .callout-icon{background:rgba(5,150,105,.15);color:var(--c-ok)}.callout-tip p{color:#065f46}.callout-tip strong{color:#064e3b}.callout-info{background:var(--c-primary-soft);border-color:rgba(11,110,106,.25)}.callout-info::before{background:var(--c-primary)}.callout-info .callout-icon{background:rgba(11,110,106,.15);color:var(--c-primary)}.callout-info p{color:#0a5551}.callout-info strong{color:#0a5551}.callout-danger{background:var(--c-err-soft);border-color:rgba(220,38,38,.25)}.callout-danger::before{background:var(--c-err)}.callout-danger .callout-icon{background:rgba(220,38,38,.15);color:var(--c-err)}.callout-danger p{color:#991b1b}.callout-danger strong{color:#7f1d1d}.step-list{counter-reset:step;list-style:none;padding:0;margin:24px 0;position:relative}.step-list::before{content:'';position:absolute;left:15px;top:32px;bottom:0;width:2px;background:linear-gradient(180deg,var(--c-primary) 0,var(--c-border) 100%)}.step-list li{counter-increment:step;position:relative;padding-left:56px;margin-bottom:28px;padding-bottom:8px}.step-list li:last-child{margin-bottom:0;padding-bottom:0}.step-list li::before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;background:var(--c-primary);color:#fff;border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.checklist{background:var(--c-bg);padding:20px;border-radius:var(--r-m);margin:24px 0;border:1px solid var(--c-border);position:relative;overflow:hidden}.checklist h3{margin-top:0;display:flex;align-items:center;gap:8px;color:var(--c-primary)}.checklist-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding:10px;border-radius:8px;transition:background var(--ease)}.checklist-item:hover{background:rgba(255,255,255,.6)}.checklist-item input[type=checkbox]{margin-top:3px;cursor:pointer;accent-color:var(--c-primary);width:18px;height:18px;flex-shrink:0}.checklist-item input[type=checkbox]:checked+label{text-decoration:line-through;color:var(--c-text-3)}.checklist-item label{cursor:pointer;color:var(--c-text-2);font-size:14px;line-height:1.6;transition:color var(--ease)}.back-link{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--c-border);display:flex;gap:12px;justify-content:center}.docs-layout{max-width:960px;margin:0 auto;display:flex;gap:32px}.docs-sidebar{width:200px;flex-shrink:0;position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto}.docs-sidebar h3{font-size:12px;color:var(--c-text-3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:10px;padding-left:12px}.docs-sidebar ul{list-style:none;padding:0;margin:0}.docs-sidebar li a{display:block;padding:7px 12px;color:var(--c-text-2);font-size:13px;font-weight:500;border-left:2px solid transparent;border-radius:0 var(--r-s) var(--r-s) 0;transition:all var(--ease)}.docs-sidebar li a.active,.docs-sidebar li a:hover{color:var(--c-primary);background:var(--c-primary-soft);border-left-color:var(--c-primary)}.docs-main{flex:1;background:var(--c-surface);padding:36px 40px;border-radius:var(--r-l);border:1px solid var(--c-border);min-width:0}.docs-main h1{font-size:26px;text-align:center;margin-bottom:4px}.docs-subtitle{text-align:center;color:var(--c-text-3);margin-bottom:32px;font-size:14px}.docs-main h2{color:var(--c-primary);font-size:20px;margin-top:40px;padding-bottom:8px;border-bottom:1px solid var(--c-border)}.docs-main h2:first-of-type{margin-top:0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}.feature-card{background:var(--c-bg);padding:18px;border-radius:var(--r-m);border:1px solid var(--c-border)}.feature-card .icon{width:32px;height:32px;border-radius:var(--r-s);background:var(--c-primary-soft);display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:var(--c-primary)}.feature-card .icon svg{width:16px;height:16px}.feature-card h4{font-size:14px;font-weight:700;margin-bottom:4px;color:var(--c-text)}.feature-card p{margin:0;font-size:13px;color:var(--c-text-3);line-height:1.5}.data-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.data-table th{background:var(--c-dark);color:#fff;padding:10px 16px;text-align:left;font-weight:600;font-size:13px}.data-table td{padding:10px 16px;border-bottom:1px solid var(--c-border-2);font-size:14px;color:var(--c-text-2)}.data-table tr:hover td{background:var(--c-bg)}.faq-item{margin-bottom:16px;padding:16px 20px;background:var(--c-bg);border-radius:var(--r-m);border:1px solid var(--c-border)}.faq-item .question{font-weight:700;color:var(--c-text);margin-bottom:6px;font-size:14px}.faq-item .answer{color:var(--c-text-2);font-size:14px;line-height:1.7}.changelog-item{padding:10px 0;border-bottom:1px solid var(--c-border-2)}.changelog-item:last-child{border-bottom:none}.changelog-date{font-size:12px;color:var(--c-text-3);font-weight:600;font-family:var(--font-mono)}.changelog-item p{margin:4px 0 0;font-size:14px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px}.contact-method{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.contact-icon{width:36px;height:36px;border-radius:var(--r-s);background:var(--c-primary-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--c-primary)}.contact-icon svg{width:18px;height:18px}.contact-details h3{font-size:15px;margin:0 0 4px}.contact-details p{font-size:14px;color:var(--c-text-3);line-height:1.6;margin-bottom:2px}.error-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:32px}.error-content{text-align:center;max-width:480px}.error-code{font-size:120px;font-weight:800;color:var(--c-primary);line-height:1;letter-spacing:-.04em}.error-title{font-size:24px;font-weight:700;color:var(--c-text);margin:12px 0 8px}.error-message{color:var(--c-text-3);font-size:15px;line-height:1.7;margin-bottom:28px}.error-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}@media (max-width:768px){.page-card{padding:28px 20px}.page-card h1{font-size:22px}.page-card h2{font-size:18px}.values-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:28px}.docs-layout{flex-direction:column;gap:16px}.docs-sidebar{width:100%;position:static;max-height:none;background:var(--c-surface);padding:16px;border-radius:var(--r-m);border:1px solid var(--c-border)}.docs-sidebar ul{display:flex;flex-wrap:wrap;gap:4px}.docs-sidebar li a{border-left:none;border-radius:var(--r-s);padding:5px 10px;font-size:13px}.docs-main{padding:24px 20px}.docs-main h1{font-size:22px}.docs-main h2{font-size:18px}.feature-grid{grid-template-columns:repeat(2,1fr)}.error-code{font-size:80px}.error-title{font-size:20px}.error-actions{flex-direction:column}.error-actions .btn{width:100%}.back-link{flex-direction:column;align-items:center}}@media (max-width:480px){.page-card{padding:20px 16px}.feature-grid{grid-template-columns:1fr}}

/* ---- 冷灰研报台 · 内页共享壳 v10.4 ---- */
.page-masthead{background:var(--c-dark);color:var(--c-text-inv);padding:40px 0 36px;position:relative;overflow:hidden;border-bottom:1px solid transparent}
.page-masthead::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(11,110,106,.2) 0%,transparent 48%),repeating-linear-gradient(-12deg,transparent,transparent 31px,rgba(255,255,255,.025) 31px,rgba(255,255,255,.025) 32px);pointer-events:none}
.page-masthead .container,.page-masthead-inner{position:relative;z-index:1;max-width:760px}
.page-masthead .page-kicker,.page-kicker{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-primary-mid);margin-bottom:12px;font-family:var(--font-sans)}
.page-masthead h1{font-family:var(--font-display);font-size:clamp(24px,4vw,36px);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 10px;color:#f4f6f5}
.page-masthead p,.page-masthead .page-lead{font-size:14px;line-height:1.65;color:#9aa3ad;margin:0;max-width:36em}
.page-body{padding:36px 0 56px;background:var(--c-bg)}
.page-body>.container{max-width:960px}
.page-panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-m);padding:20px 22px;margin-bottom:20px}
.page-note{font-size:13px;color:var(--c-text-2);line-height:1.65;padding:12px 14px;background:var(--c-bg);border:1px solid var(--c-border);border-left:3px solid var(--c-primary);margin-bottom:16px}
.cat-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--c-border)}
.cat-tab,.category-tab{padding:7px 12px;border:none;background:transparent;color:var(--c-text-2);font-size:13px;font-weight:500;cursor:pointer;border-radius:var(--r-s);font-family:var(--font-sans);transition:color var(--ease),background var(--ease)}
.cat-tab:hover,.category-tab:hover{color:var(--c-primary);background:var(--c-primary-soft)}
.cat-tab.active,.category-tab.active{color:var(--c-primary);background:var(--c-primary-soft);font-weight:650}
.ledger-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--c-surface);border:1px solid var(--c-border)}
.ledger-table th{text-align:left;padding:11px 12px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--c-text-3);border-bottom:1px solid var(--c-border);background:var(--c-bg)}
.ledger-table td{padding:12px;border-bottom:1px solid var(--c-border-2);vertical-align:middle;color:var(--c-text)}
.ledger-table tr:last-child td{border-bottom:none}
.ledger-table tr:hover td{background:var(--c-bg)}
.rank-num{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;font-size:13px;color:var(--c-text-3)}
.rank-num.is-top{color:var(--c-primary)}
.page-explore{padding:40px 0;border-top:1px solid var(--c-border);background:var(--c-surface)}
.page-explore h2{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0 0 16px;color:var(--c-text)}
.page-explore-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0;border:1px solid var(--c-border)}
.page-explore-grid a{display:block;padding:14px 16px;border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border);text-decoration:none;color:inherit;background:var(--c-surface);transition:background var(--ease)}
.page-explore-grid a:hover{background:var(--c-bg)}
.page-explore-grid a strong{display:block;font-size:13px;font-weight:700;color:var(--c-text);margin-bottom:2px}
.page-explore-grid a span{font-size:12px;color:var(--c-text-3)}
.feed-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--c-border)}
.feed-item{display:block;padding:16px 0;border-bottom:1px solid var(--c-border-2);text-decoration:none;color:inherit}
.feed-item:hover .feed-title{color:var(--c-primary)}
.tool-shell{max-width:860px;margin:0 auto;padding:28px 0 48px}
.tool-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-m);padding:24px;margin-bottom:16px;box-shadow:none}
@media (max-width:768px){
.page-masthead{padding:32px 0 28px}
.page-body{padding:24px 0 40px}
.ledger-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.page-explore-grid{grid-template-columns:1fr 1fr}
}
[data-theme=dark] .ledger-table th{background:var(--c-surface)}
[data-theme=dark] .page-masthead{background:#0a0c0f}

/* 长文攻略 */
.guide-article,.article-body.guide-article{max-width:760px;margin:0 auto;padding:28px 24px 56px}
.guide-article h2,.article-body.guide-article h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin:36px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--c-border);color:var(--c-text)}
.guide-article h3{font-size:1.05rem;font-weight:650;margin:22px 0 8px}
.guide-article p{line-height:1.8;color:var(--c-text-2);margin-bottom:12px;font-size:15px}
.guide-article table{width:100%;border-collapse:collapse;margin:16px 0 24px;border:1px solid var(--c-border);font-size:13px}
.guide-article th{background:var(--c-bg);color:var(--c-text-3);padding:10px 12px;text-align:left;font-size:12px;border-bottom:1px solid var(--c-border);font-weight:600}
.guide-article td{padding:10px 12px;border-bottom:1px solid var(--c-border-2)}
.article-meta{font-size:12px;color:var(--c-text-3);margin-bottom:20px}
@media (max-width:640px){.guide-article,.article-body.guide-article{padding:20px 16px 40px}.guide-article table{display:block;overflow-x:auto}}
