/* 报告 v3：Claude 式暖色纸面。先在职业报告页试用，确认后再推广到全站。 */
body:has(.rv3){--bg:#FAF9F5;--paper:#FFFFFF;--ink:#141413;--muted:#5E5D59;--line:#E8E5DC;--accent:#C96442;--tint:#F3ECE4;background:#FAF9F5;color:#141413}
body:has(.rv3) .header{border-color:#E8E5DC}
body:has(.rv3) .nav a.active:after{background:#C96442}
body:has(.rv3) .footer{border-color:#E8E5DC;color:#5E5D59}

.rv3{--ink:#141413;--body:#3D3D3A;--soft:#6B6A65;--faint:#8F8D86;--rule:#E8E5DC;--surface:#F3F1EA;--clay:#C96442;--clay-soft:#F3E3D8;max-width:780px;margin:0 auto;color:var(--ink)}
.rv3 .backline{margin-top:28px;color:var(--soft)}
.rv3 .sample-banner{background:var(--surface);border:0;border-radius:10px;color:var(--soft)}
.rv3-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:30px 0 20px}
.rv3-kicker{font-size:15px;color:var(--ink)}
.rv3-meta{font-size:13px;color:var(--faint);margin-top:2px}
.rv3-jump{font-size:14px;color:var(--soft);padding:7px 14px;border:1px solid var(--rule);border-radius:999px;white-space:nowrap;background:#fff}
.rv3-jump:hover{color:var(--ink);border-color:#D4D0C4}

/* 章节导航：宽屏在左侧随滚动停留，窄屏变成顶部横向标签 */
.rv3-grid{position:relative}
.rv3-nav{position:absolute;top:0;bottom:0;left:-176px;width:128px}
.rv3-nav div{position:sticky;top:28px;display:flex;flex-direction:column;gap:2px;padding-top:6px}
.rv3-nav a{font-size:14px;color:var(--faint);padding:6px 0 6px 14px;border-left:2px solid var(--rule);transition:color .2s,border-color .2s}
.rv3-nav a:hover{color:var(--ink)}
.rv3-nav a.on{color:var(--ink);border-left-color:var(--clay)}

/* 封面 */
.rv3-cover{background:#fff;border:1px solid var(--rule);border-radius:18px;padding:44px 48px 30px;box-shadow:0 1px 2px rgba(20,20,19,.03)}
.rv3-cover-top{display:grid;grid-template-columns:1fr 176px;gap:32px;align-items:center}
.rv3-emblem svg{display:block;width:176px;height:176px}
.rv3-label{font-size:14px;color:var(--soft)}
.rv3 .rv3-type{font-family:'Zixu Serif','Songti SC','SimSun',serif;font-size:56px;line-height:1.2;margin:10px 0 16px;font-weight:500;letter-spacing:.01em;color:var(--ink)}
.rv3-line{font-family:'Zixu Serif','Songti SC',serif;font-size:19px;line-height:1.85;color:var(--body)}
.rv3-facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 34px;margin:22px 0 0}
.rv3-facts div{border-left:2px solid var(--clay);padding-left:12px}
.rv3-facts dt{font-size:12.5px;color:var(--faint)}
.rv3-facts dd{margin:2px 0 0;font-family:'Zixu Serif','Songti SC',serif;font-size:17px;color:var(--ink)}
.rv3-cover-chart{display:grid;grid-template-columns:320px 1fr;gap:36px;align-items:center;margin-top:30px;padding-top:26px;border-top:1px solid var(--rule)}
.rv3-cover-chart figure{margin:0}
.rv3-cover-chart figcaption{display:flex;justify-content:center;gap:18px;font-size:12.5px;color:var(--soft);margin-top:2px}
.rv3-cover-read h3{font-family:'Zixu Serif','Songti SC',serif;font-size:19px;font-weight:500;margin-bottom:8px}
.rv3-cover-read p{font-size:15px;line-height:1.85;color:var(--body)}
.rv3-cover-read p+p{margin-top:8px}
.lg-you:before,.lg-ref:before{content:'';display:inline-block;width:16px;height:0;border-top:2.5px solid #C96442;vertical-align:middle;margin-right:6px}
.lg-ref:before{border-top:2px dashed #8F8D86}
.rv3-radar{width:100%;height:auto;overflow:visible}
.rd-ring{fill:none;stroke:#E3DFD4;stroke-width:1}
.rd-tier{stroke:#EFECE4}
.rd-ref{fill:none;stroke:#8F8D86;stroke-width:1.5;stroke-dasharray:5 4}
.rd-axis{stroke:#ECE8DF;stroke-width:1}
.rd-shape{fill:rgba(201,100,66,.14);stroke:#C96442;stroke-width:1.8;stroke-linejoin:round}
.rd-dot{fill:#C96442}
.rd-label{font-size:14px;fill:#6B6A65;font-family:'Zixu Sans',sans-serif}
.rd-score{font-size:21px;fill:#141413;font-family:'Zixu Serif',serif}
.rv3-cover-note{font-size:12px;color:var(--faint);margin-top:18px}

/* 正文 */
.rv3-section{padding:60px 0 4px}
.rv3-section h2 small{font-family:'Zixu Sans',sans-serif;font-size:14px;color:var(--faint);margin-left:12px;font-weight:400}
.rv3-section h2,.rv3-closing h2,.rv3-save h2{font-family:'Zixu Serif','Songti SC',serif;font-size:28px;line-height:1.4;margin-bottom:20px;font-weight:500}
.rv3-section p,.rv3-closing p{font-size:16.5px;line-height:1.95;color:var(--body)}
.rv3-section p+p{margin-top:14px}
.rv3-portrait-lead{font-size:15.5px!important;color:var(--soft)!important}
.rv3-pull{margin:16px 0 28px;font-family:'Zixu Serif','Songti SC',serif;font-size:25px;line-height:1.7;color:var(--ink)}
.rv3-pull span{display:block;font-family:'Zixu Sans',sans-serif;font-size:13px;color:var(--clay);margin-bottom:6px}
.rv3-portrait-list{list-style:none;padding:0;margin:0}
.rv3-portrait-list li{display:grid;grid-template-columns:7.5em 1fr;gap:20px;padding:16px 0;border-top:1px solid var(--rule)}
.rv3-portrait-list li span{font-size:13.5px;color:var(--soft);padding-top:5px}
.rv3-portrait-list li p{font-family:'Zixu Serif','Songti SC',serif;font-size:17px!important;line-height:1.9!important;color:var(--ink)!important}
.rv3-intro{color:var(--soft)!important;font-size:15px!important;margin-bottom:18px}
.rv3-band{margin:72px -48px 0;padding:56px 48px 52px;background:#2A2723;color:#F3F0E8;border-radius:22px}
.rv3-band h2{font-family:'Zixu Serif','Songti SC',serif;font-size:28px;line-height:1.4;margin-bottom:10px;font-weight:500;color:#FAF9F5}
.rv3-band>p{font-size:16px;line-height:1.9;color:#D8D3C8}
.rv3-band .rv3-intro{color:#C2BCB0!important;font-size:15px!important;margin-bottom:26px}
.rv3-tensions{display:grid;gap:14px}
.rv3-tension{position:relative;background:rgba(255,255,255,.055);border-radius:14px;padding:24px 28px 24px 74px}
.tn-no{position:absolute;left:28px;top:20px;font-family:'Zixu Serif',serif;font-size:30px;line-height:1;color:#E08A68}
.rv3-tension h3{color:#FAF9F5}
.rv3-tension p{font-size:15.5px;line-height:1.9;color:#D8D3C8}
.rv3-tension h3,.rv3-block h3{font-family:'Zixu Serif','Songti SC',serif;font-size:20px;line-height:1.5;margin-bottom:6px;font-weight:500}

.rv3-block{padding:34px 0 30px;border-top:1px solid var(--rule)}
.rv3-block:first-of-type{border-top:0;padding-top:0}
.rv3-block header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.rv3-tag{font-size:14px;color:var(--clay);background:var(--clay-soft);padding:2px 12px;border-radius:999px;white-space:nowrap}
.rv3-scale{margin:34px 0 14px}
.sc-track{position:relative;display:flex;gap:3px;height:12px}
.sc-zone{background:#F1EEE6;border-radius:3px;position:relative}
.sc-zone:nth-child(2){background:#EBE6DB}.sc-zone:nth-child(3){background:#E4DED0}
.sc-zone.sc-on{background:#F0D9CC}
.sc-zone em{position:absolute;top:18px;left:0;right:0;text-align:center;font-style:normal;font-size:12.5px;color:#8F8D86;white-space:nowrap}
.sc-ref{position:absolute;top:-3px;height:18px;width:0;border-left:2px dashed #8F8D86;margin-left:-1px}
.sc-legend{display:flex;gap:18px;margin-top:30px!important;font-size:12.5px!important;color:var(--soft)!important;line-height:1.5!important}
.sc-marker{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;border:2.5px solid #C96442;box-sizing:border-box}
.sc-marker i{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-style:normal;font-family:'Zixu Serif',serif;font-size:16px;color:#141413}
.rv3-levels{margin:6px 0 20px}
.lv-row{display:flex;gap:5px;flex-wrap:wrap}
.lv{display:inline-block;width:22px;height:22px;border-radius:5px;background:#EDE9E0}
.lv1{background:#EBCDBD}.lv2{background:#DFA98F}.lv3{background:#D2805F}.lv4{background:#B4532F}.lv0{background:#EDE9E0}
.lv-unknown{background:#fff!important;box-shadow:inset 0 0 0 1.5px #CFC9BB}
.lv-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12.5px!important;color:var(--faint)!important;margin-top:8px!important;line-height:1.6!important}
.lv-scale{display:inline-flex;gap:3px}
.lv-scale .lv{width:11px;height:11px;border-radius:3px}
.lv-note{margin-left:8px}
.rv3-sub{font-size:13px!important;color:var(--faint)!important;margin-top:18px!important}
.rv3-evidence{list-style:none;padding:0;margin:6px 0 0}
.rv3-evidence li{font-size:15.5px;line-height:1.75;padding:10px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
.rv3-evidence li:last-child{border-bottom:0}
.rv3-evidence li span{display:block;font-size:13px;color:var(--faint)}
.rv3-unknown{font-size:14.5px!important;color:var(--soft)!important;margin-top:10px!important}
.rv3-all{margin-top:14px}
.rv3-all summary{font-size:14px;color:var(--soft);cursor:pointer}
.rv3-all summary:hover{color:var(--ink)}
.rv3-all ol{padding-left:1.4em;margin:12px 0 0}
.rv3-all li{padding:7px 0}
.rv3-all li p{font-size:14.5px!important;line-height:1.75!important}
.rv3-all li p:first-child{color:var(--soft)!important}
.rv3-all li p+p{margin-top:2px!important}

.rv3-plan{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rv3-plan li{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:20px 20px 22px}
.rv3-plan li span{display:block;font-size:13px;color:var(--clay);margin-bottom:8px}
.rv3-plan li p{font-size:15.5px!important;line-height:1.85!important;color:var(--ink)!important}
.rv3-plan a{color:var(--clay);border-bottom:1px solid currentColor}

.rv3-sources{padding-left:1.3em;margin:24px 0 0}
.rv3-sources li{font-size:14.5px;line-height:1.7;padding:6px 0;color:var(--soft)}
.rv3-sources a{color:var(--ink);border-bottom:1px solid #D9D4C7;overflow-wrap:anywhere}
.rv3-sources a:hover{border-color:var(--clay)}
.rv3-sources span{display:block;font-size:13px;color:var(--faint)}
.rv3-method{padding-left:1.2em;margin:0}
.rv3-method li{font-size:14.5px;line-height:1.85;color:var(--soft);padding:3px 0}

.rv3-closing{margin-top:60px;padding:34px 40px;background:var(--surface);border-radius:16px}
.rv3-closing h2{font-size:22px;margin-bottom:10px}
.rv3-closing p{font-family:'Zixu Serif','Songti SC',serif}
.rv3 .rv3-save{display:block;margin-top:52px;padding-top:36px;border-top:1px solid var(--rule)}
.rv3-save h2{font-size:22px;margin-bottom:6px}
.rv3-save>p{font-size:14.5px;color:var(--soft)}
.rv3-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.rv3 .button{border-radius:10px;min-height:46px}
.rv3 .button:not(.secondary):not(.ghost){background:#141413;color:#FAF9F5;border-color:#141413}
.rv3 .button:not(.secondary):not(.ghost):hover{background:#2B2A27}
.rv3 .button.secondary{background:#fff;border:1px solid var(--rule);color:var(--ink)}
.rv3 .button.ghost{color:var(--soft)}
.rv3-end{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:30px 0 24px}

@media (max-width:1199px){
 .rv3-nav{position:sticky;top:0;left:auto;width:auto;z-index:5;margin:0 -4px 18px;background:rgba(250,249,245,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
 .rv3-nav div{position:static;flex-direction:row;gap:6px;overflow-x:auto;padding:10px 4px;scrollbar-width:none}
 .rv3-nav div::-webkit-scrollbar{display:none}
 .rv3-nav a{border:1px solid var(--rule);border-radius:999px;padding:4px 13px;font-size:13px;white-space:nowrap;background:#fff}
 .rv3-nav a.on{background:#141413;color:#FAF9F5;border-color:#141413}
}
@media (max-width:720px){
 .rv3-cover{padding:28px 22px 22px;border-radius:16px}
 .rv3-cover-top{display:block;position:relative}
 .rv3-emblem{position:absolute;top:-4px;right:-4px}
 .rv3-emblem svg{width:76px;height:76px}
 .rv3-label,.rv3 .rv3-type{padding-right:76px}
 .rv3 .rv3-type{font-size:38px}
 .rv3-line{font-size:17px}
 .rv3-facts{grid-template-columns:repeat(3,1fr);gap:4px 12px}
 .rv3-facts dd{font-size:15.5px}
 .rv3-cover-chart{grid-template-columns:1fr;gap:12px}
 .rv3-cover-chart figure{max-width:320px;margin:0 auto;width:100%}
 .rd-label{font-size:15px}.rd-score{font-size:22px}
 .rv3-section{padding-top:46px}
 .rv3-section h2,.rv3-band h2{font-size:24px}
 .rv3-section p,.rv3-closing p{font-size:16px}
 .rv3-pull{font-size:21px}
 .rv3-portrait-list li{grid-template-columns:1fr;gap:2px}
 .rv3-band{margin:56px -10px 0;padding:38px 20px 30px;border-radius:18px}
 .rv3-tension{padding:20px 18px}
 .tn-no{position:static;display:block;font-size:24px;margin-bottom:8px}
 .rv3-plan{grid-template-columns:1fr}
 .rv3-closing{padding:26px 22px}
 .rv3-buttons .button{flex:1 1 100%}
}
/* 动效：进入视口时形状展开、标记滑到位；减少动态效果时不启用 */
@keyframes rd-grow{from{transform:scale(.2);opacity:0}to{transform:none;opacity:1}}
@keyframes rv3-fade{from{opacity:0}to{opacity:1}}
@keyframes sc-slide{from{left:0;opacity:0}}
@keyframes lv-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rv3-motion .rd-you{transform-origin:160px 160px;opacity:0}
.rv3-motion .rd-ref{opacity:0}
.rv3-motion .in-view .rd-you{animation:rd-grow 1s cubic-bezier(.2,.7,.2,1) .15s both}
.rv3-motion .in-view .rd-ref{animation:rv3-fade .6s .8s both}
.rv3-motion .rv3-block:not(.in-view) .sc-marker,.rv3-motion .rv3-block:not(.in-view) .sc-ref,.rv3-motion .rv3-block:not(.in-view) .lv-row .lv{opacity:0}
.rv3-motion .in-view .sc-marker{animation:sc-slide .9s cubic-bezier(.2,.7,.2,1) .1s both}
.rv3-motion .in-view .sc-ref{animation:rv3-fade .5s .6s both}
.rv3-motion .in-view .lv-row .lv{animation:lv-in .35s calc(var(--i) * 45ms + .3s) both}
@media print{
 body:has(.rv3){background:#fff}
 .rv3-jump,.rv3-save,.rv3 .backline,.rv3-nav{display:none!important}
 .rv3-motion .rd-you,.rv3-motion .rd-ref,.rv3-motion .sc-marker,.rv3-motion .sc-ref,.rv3-motion .lv{opacity:1!important;animation:none!important}
 .rv3-motion .rd-you{transform:none!important}
 .rv3-cover,.rv3-band,.rv3-tension,.rv3-closing,.lv,.sc-zone{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* 财务、预算、风格报告的专用组件 */
.rv3-big{font-family:'Zixu Serif',serif;font-size:34px;color:#C96442;margin-left:8px;font-weight:500}
.rv3-ring{position:relative;width:176px;height:176px}
.rv3-ring svg{display:block;width:100%;height:100%}
.rv3-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Zixu Serif',serif;font-weight:500;font-size:30px;color:#141413}
.rv3-ring b small{font-family:'Zixu Sans',sans-serif;font-size:13px;color:#6B6A65;margin-left:2px}
.lg-c:before{content:'';display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c,#C96442);margin-right:6px;vertical-align:middle}
.lg-base{--c:#C96442}.lg-lean{--c:#788C5D}.lg-stress{--c:#8F8D86}
.bd-dot-essentials{--c:#C96442}.bd-dot-debt{--c:#3E4A52}.bd-dot-flexible{--c:#C9AE7E}
.rv3 .cash-chart{width:100%;height:auto;display:block}
.rv3-cover-chart.wide{grid-template-columns:1fr;gap:14px}
.rv3 .cash-chart text{font-size:13px;fill:#6B6A65;font-family:'Zixu Sans',sans-serif}
.bd-stack{display:flex;height:16px;border-radius:8px;overflow:hidden;gap:2px;margin:6px 0 10px}
.bd-essentials{background:#C96442}.bd-debt{background:#3E4A52}.bd-flexible{background:#C9AE7E}
.rv3 .bd-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--soft);line-height:1.7;margin:4px 0 22px}
.bd-items{list-style:none;padding:0;margin:14px 0 0}
.bd-items li{display:grid;grid-template-columns:11em 1fr 6.5em;align-items:center;gap:14px;padding:7px 0;font-size:15px;color:var(--ink)}
.bd-items li span{color:var(--body)}
.bd-items li i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,#C96442 var(--w),#EEEBE3 var(--w))}
.bd-items li b{font-weight:400;text-align:right;font-family:'Zixu Serif',serif;font-size:16px}
.sc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sc-card{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px 20px}
.sc-card h3{font-family:'Zixu Serif','Songti SC',serif;font-size:19px;font-weight:500;margin-bottom:6px}
.rv3 .sc-card p{font-size:15px;line-height:1.85}
.rv3 .sc-card .sc-d{font-size:13px;color:var(--faint);line-height:1.6;min-height:3.2em}
.sc-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;margin:14px 0 0}
.sc-card dt{font-size:12.5px;color:var(--faint)}
.sc-card dd{margin:2px 0 0;font-family:'Zixu Serif',serif;font-size:18px}
.st-strip{display:grid;grid-template-columns:repeat(15,1fr);gap:4px;margin-top:16px;max-width:360px}
.st-strip span{aspect-ratio:1;border-radius:4px}
.st-palette{display:flex;gap:8px;margin:14px 0 16px}
.st-palette span{width:56px;height:56px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(20,20,19,.06)}
.st-pieces{padding-left:1.2em;margin:8px 0 26px}
.st-pieces li{font-size:15.5px;line-height:1.85;color:var(--body);padding:3px 0}
.st-bar{height:10px;background:#EEEBE3;border-radius:5px;overflow:hidden;margin:14px 0 18px}
.st-bar i{display:block;height:100%;border-radius:5px}
.rv3-motion .rv3-cover:not(.in-view) .st-strip span{opacity:0}
.rv3-motion .in-view .st-strip span{animation:lv-in .3s calc(var(--i) * 25ms + .4s) both}
@media (max-width:720px){
 .rv3-ring{width:76px;height:76px}
 .rv3-ring b{font-size:15px;flex-direction:column;line-height:1.1}
 .rv3-ring b small{font-size:10px}
 .rv3-big{font-size:28px}
 .sc-cards{grid-template-columns:1fr}
 .bd-items li{grid-template-columns:1fr auto;gap:2px 12px}
 .bd-items li i{grid-column:1 / -1;grid-row:2}
 .st-palette span{width:48px;height:48px}
}
@media print{.rv3-motion .st-strip span{opacity:1!important;animation:none!important}}
