/* Generated by build_shared_styles.py. Edit the source styles, not this bundle. */

/* Source: site.css */
:root{--ink:#173859;--muted:#526a7c;--line:#d8e3ed;--paper:#fff;--back:#eef3f8;--link:#145db5}*{box-sizing:border-box}body{margin:0;background:var(--back);color:var(--ink);font:16px/1.7 "PingFang SC","Microsoft YaHei",sans-serif}a{color:var(--link);text-underline-offset:4px}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3488db;outline-offset:4px}.site-wrap{max-width:1240px;margin:auto;padding:0 36px}.top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.brand{font-weight:650;color:var(--ink);text-decoration:none;font-size:20px}.top nav{display:flex;gap:22px;font-size:14px}.top nav a{color:var(--ink);text-decoration:none}.intro{display:grid;grid-template-columns:1fr;align-items:end;gap:36px;padding:42px 0 30px}.intro h1{font-size:28px;line-height:1.3;letter-spacing:-1px;margin:0 0 12px}.intro p{font-size:14px;margin:8px 0 0;max-width:960px;color:var(--muted)}.signature{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.65}.signature img{width:34px;height:34px;border-radius:6px;flex-shrink:0}.signature div{min-width:0}.intro .signature{justify-self:end}.section-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.section-label h2{font-size:20px;margin:0}.section-label span{color:var(--muted);font-size:13px}.works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.work{background:white;border-radius:12px;overflow:hidden;border:2px solid #bdccda;display:flex;flex-direction:column}.cover{display:block;aspect-ratio:16/10;overflow:hidden;background:#e6edf4;border-bottom:1px solid var(--line)}.cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.work-body{padding:22px;display:flex;flex-direction:column;flex:1}.category{color:#536b80;font-size:12px;margin-bottom:9px}.work h3{font-size:19px;line-height:1.5;margin:0 0 12px}.work h3 a{color:var(--ink);text-decoration:none}.description{font-size:14px;color:var(--muted);margin:0 0 20px}.meta{font-size:11px;color:var(--muted);margin-top:auto;display:grid;gap:4px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:20px;font-size:13px}.actions a{text-decoration:none}.primary{display:inline-block;padding:8px 15px;color:white;background:var(--ink);border-radius:6px}.actions .primary{color:white}.about{margin:42px 0 0;padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:36px}.about h2{font-size:20px;margin:0}.about p{margin:0 0 8px;color:var(--muted);max-width:680px}.footer{padding:20px 0 28px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.reader{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.reader-bar{background:white;border-bottom:1px solid var(--line);padding:12px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;position:relative;flex-shrink:0}.reader-bar .brand{font-size:16px;white-space:nowrap}.reader-title{flex:1;min-width:180px;font-size:14px;font-weight:600}.reader-actions{display:flex;gap:14px;align-items:center;font-size:13px}.reader-actions a{white-space:nowrap}.reader-actions a[aria-current=page]{color:var(--ink);font-weight:600;text-decoration:none}.reader details summary{cursor:pointer;white-space:nowrap}.reader details .info{position:absolute;z-index:5;right:18px;top:100%;background:white;border:1px solid var(--line);box-shadow:0 8px 30px #17385915;padding:22px;max-width:580px;width:calc(100vw - 36px);max-height:70vh;overflow:auto;border-radius:0 0 10px 10px;font-size:14px}.info h2{font-size:18px;margin:0 0 10px}.info p{margin:8px 0}.info ul{padding-left:20px}.reader iframe{width:100%;border:0;flex:1;min-height:0;background:white}.reader .signature{margin-top:16px}@media(max-width:980px){.works{gap:16px}.work-body{padding:18px}.intro{grid-template-columns:1fr}.intro .signature{justify-self:start}.reader-bar{gap:10px}}@media(max-width:740px){.site-wrap{padding:0 18px}.top{padding:18px 0}.intro{padding:28px 0;gap:20px}.intro h1{font-size:28px}.works{grid-template-columns:1fr}.cover{aspect-ratio:2/1}.work-body{padding:22px}.about{grid-template-columns:1fr;gap:12px}.reader-bar{padding:10px 14px}.reader-title{min-width:0;font-size:13px}.reader-actions{width:100%;justify-content:flex-start;gap:16px}.section-label span{font-size:12px}}@media print{.top nav,.reader-bar{display:none}.works{grid-template-columns:repeat(3,1fr)}.work{break-inside:avoid}.site-wrap{padding:0}.intro{padding-top:0}body{background:white}}

.footer{margin-top:36px}.top .signature{max-width:100%}.intro h1{letter-spacing:0}

.signature-name{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:2px}.site-address{overflow-wrap:anywhere;min-width:0}

.reader-bar .brand{display:inline-flex;align-items:center;gap:8px}.brand-avatar{width:28px;height:28px;border-radius:5px;object-fit:cover;flex-shrink:0}

.reader-bar .brand span{text-decoration:underline;text-underline-offset:4px}.reader-actions{margin-left:auto}

.grouped{align-items:start}.group-heading{padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:20px}.group-heading h2{font-size:20px;margin:0 0 5px}.group-heading p{font-size:13px;color:var(--muted);margin:0}.group-cards{display:grid;gap:24px}.work-group{min-width:0}.group-cards .category{display:none}

.reader-bar{padding-left:var(--content-left,24px);padding-right:var(--content-right,24px)}

/* Homepage introduction matches the shared report headers. */
.intro{background:var(--ink);color:#fff;border-radius:12px;margin:28px 0 32px;padding:30px 34px}
.intro h1{color:#fff}
.intro p{color:#d7e5f3}
@media(max-width:740px){.intro{margin:22px 0 28px;padding:24px 20px}}
@media print{.intro{background:white;border:1px solid var(--line);color:var(--ink)}.intro h1,.intro p{color:var(--ink)}}

.cover:has(img[src="assets/strategy-model.png"]){background:white}.cover img[src="assets/strategy-model.png"]{object-fit:contain;object-position:center}

.feedback{display:grid;grid-template-columns:1fr 2fr;gap:36px;background:white;border:1px solid var(--line);border-radius:12px;padding:28px;margin-top:36px}.feedback h2{font-size:20px;margin:0 0 10px}.feedback p{font-size:14px;color:var(--muted);margin:8px 0}.feedback .feedback-private{font-size:12px}.feedback label{display:block;font-size:14px;margin:0 0 6px}.feedback label span{color:var(--muted);font-size:12px}.feedback input,.feedback textarea{font-family:inherit;font-size:14px;line-height:1.7;color:var(--ink);width:100%;padding:9px 12px;border:1px solid #b9cce0;border-radius:6px;background:#f8fbff;margin-bottom:16px}.feedback textarea{resize:vertical;min-height:120px}.feedback input:focus-visible,.feedback textarea:focus-visible{outline:2px solid #145db5;outline-offset:2px}.feedback-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.feedback button{font:inherit;font-size:13px;border:0;border-radius:6px;padding:9px 18px;background:var(--ink);color:#fff;cursor:pointer}.feedback button:disabled{opacity:.55;cursor:wait}#feedback-count{color:var(--muted);font-size:12px}#feedback-status{min-height:24px;font-size:13px}@media(max-width:740px){.feedback{grid-template-columns:1fr;gap:18px;padding:22px}}@media print{.feedback{display:none}}

#feedback .feedback-heading p{font-size:14px;line-height:1.8}

#feedback .feedback-heading .feedback-praise{color:var(--accent,#126d68);font-weight:700}

.site-wrap > .top > .home-signature{color:var(--muted,#68777a)}


/* Source: report-theme.css */
/* Shared portfolio reading palette; financial and chart series colors remain semantic. */
:root{--ink:#173859;--muted:#526a7c;--line:#d8e3ed;--paper:#eef3f8}
body{background:#eef3f8;color:#173859}
a{color:#145db5}
h1,h2,h3,.brand,.root{color:#173859}
main>header{background:#173859;color:#fff;border-color:#d8e3ed;border-radius:12px;padding:30px 34px}
main>header h1{color:#fff}
main>header p,main>header .kicker,main>header .report-disclaimer,main>header .muted,main>header small{color:#d7e5f3}
main>header a{color:#d7e5f3}
section,.branch,.fork,.node{border-color:#d8e3ed}
.note,.review,.reader-note,.warn,.method,.loop,.formula{background:#edf4fc;border-color:#7c9bbd;color:#173859}
.caption,.meta,.side-sub,.source,.section-purpose,footer,.footer{color:#526a7c}
.sidebar nav a,.toc a{color:#526a7c}
.sidebar nav a:hover,.sidebar nav a.active,.toc a:hover,.toc a[aria-current="location"]{color:#173859;background:#e4eef9;border-left-color:#145db5}
th{background:#e6eef7;color:#173859}
input,select,button{border-color:#b9cce0;color:#173859}
button:hover{background:#e6eef7}
.badge,.route a{background:#edf4fc;color:#526a7c}
.logic dt,.logic dd,dt,.lead,.review b{color:#173859}
.fork,.examples>div{border-color:#9ab4cf}
@media(max-width:700px){main>header{padding:24px 20px}}
@media print{main>header{background:#fff;color:#173859}main>header h1,main>header p,main>header small,main>header .kicker,main>header .report-disclaimer{color:#173859}}

.trend-report{--blue:#145db5;--paper:#eef3f8;--ink:#173859;--muted:#526a7c;--line:#d8e3ed}.trend-report main>header .meta{color:#d7e5f3}.trend-report h1{font-size:30px;letter-spacing:0}.trend-report .notice,.trend-report .readout,.trend-report .diag,.trend-report .kama-summary{background:#edf4fc}.trend-report .asset-nav a[aria-current="location"]{background:#e4eef9;color:#145db5;box-shadow:inset 3px 0 #145db5}.trend-report .asset-nav a:hover{background:#edf4fc}.trend-report .intro{font-size:15px;margin-top:20px}@media(max-width:750px){.trend-report h1{font-size:25px}}

/* Keep the fixed index navigation 24px from the centered report panels. */
@media(min-width:901px){.trend-report .asset-nav{left:max(42px,calc((100% - 1396px)/2 + 42px))}}

/* Microstructure reading notes: shared navy palette, no signature module. */
.microstructure-report{--accent:#145db5;--gold:#526a7c}.microstructure-report main>header h1 span,.microstructure-report main>header .eyebrow{color:#d7e5f3}.microstructure-report main>header .lead,.microstructure-report main>header .meta{color:#fff}.microstructure-report button{background:#fff;color:#173859}.microstructure-report .card,.microstructure-report .phase article{background:#fff}.microstructure-report .phase article{border-top-color:#145db5}.microstructure-report .tag,.microstructure-report td strong{color:#145db5}.microstructure-report th{background:#e6eef7}.microstructure-report main>header{margin-top:28px}.microstructure-report nav{font-size:14px}.microstructure-report .small{font-size:14px}@media print{.microstructure-report main>header h1 span,.microstructure-report main>header .eyebrow,.microstructure-report main>header .lead,.microstructure-report main>header .meta{color:#173859}}

.microstructure-report main>header .small{color:#d7e5f3}@media print{.microstructure-report main>header .small{color:#173859}}


/* Source: appearance.css */
/* Four shared appearances. Financial series colors and source data are not changed. */
/* Semantic reading roles. Do not flatten emphasis into secondary body text. */
:root{--text-strong:#38322e;--text-caution:#873c3c}
:root[data-portfolio-design="editorial"]{--text-strong:#33302e;--text-caution:#873737}
:root[data-portfolio-design="research"]{--text-strong:#252a34;--text-caution:#8a3341}
:root[data-portfolio-design="apple"]{--text-strong:#29292b;--text-caution:#91343b}
:root{--ink:#20343c;--muted:#68777a;--line:#d6ddd6;--paper:#fffdf8;--back:#f6f3ec;--link:#126d68;--accent:#126d68;--blue:#126d68;--panel:#e8efea;--radius:6px;--headline:"Songti SC",Georgia,serif}
:root[data-portfolio-design="editorial"]{--ink:#33302e;--muted:#66605c;--line:#d9c9bc;--paper:#fff7f0;--back:#fff1e5;--link:#0d7680;--accent:#0d7680;--blue:#0d7680;--panel:#f2dfce;--radius:2px;--headline:"Songti SC",Georgia,serif}
:root[data-portfolio-design="research"]{--ink:#151a26;--muted:#58647a;--line:#dce1e9;--paper:#fff;--back:#fcfcfd;--link:#083c8c;--accent:#083c8c;--blue:#083c8c;--panel:#f5f7fa;--radius:6px;--headline:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
:root[data-portfolio-design="apple"]{--ink:#1c1c1e;--muted:#636366;--line:#d1d1d6;--paper:#fff;--back:#f2f2f7;--link:#0066d6;--accent:#0066d6;--blue:#0066d6;--panel:#f2f2f7;--radius:18px;--headline:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
html[data-portfolio-design] body{--ink:inherit;--muted:inherit;--line:inherit;--paper:inherit;--back:inherit;--link:inherit;--accent:inherit;--blue:inherit;--panel:inherit;--radius:inherit;--headline:inherit;background:var(--back)!important;color:var(--ink)!important}
html[data-portfolio-design] :is(h1,h2,h3,.brand,.root){color:var(--ink);font-family:var(--headline)}
html[data-portfolio-design] a{color:var(--link)}
html[data-portfolio-design] :is(.intro,main>header){background:var(--back)!important;color:var(--ink)!important;border-radius:0;border-color:var(--line);border-bottom:1px solid var(--line)}
html[data-portfolio-design] :is(.intro,main>header) :is(h1,h1 span,p,.lead,.kicker,.eyebrow,.meta,.small,small,.muted,.report-disclaimer){color:var(--ink)!important}
html[data-portfolio-design] :is(.intro,main>header) :is(p,.meta,.small,small,.muted){color:var(--muted)!important}
html[data-portfolio-design] :is(.work,.feedback,.reader-bar,.reader details .info,.card,.phase article,.branch,.fork,.node){background:var(--paper);border-color:var(--line);border-radius:var(--radius)}
html[data-portfolio-design] :is(.cover,.note,.review,.reader-note,.warn,.method,.loop,.formula,.notice,.readout,.diag,.kama-summary){background:var(--panel);color:var(--ink);border-color:var(--line)}
html[data-portfolio-design] :is(.caption,.meta,.side-sub,.source,.section-purpose,footer,.footer,.description,.category){color:var(--muted)}
html[data-portfolio-design] :is(th,.badge,.route a){background:var(--panel);color:var(--ink)}
html[data-portfolio-design] :is(input,select,textarea,button){color:var(--ink);border-color:var(--line);border-radius:var(--radius)}
html[data-portfolio-design] .feedback :is(input,textarea){background:var(--paper)}
html[data-portfolio-design] :is(.actions .primary,.feedback button){background:var(--accent);color:#fff;border-radius:var(--radius)}
html[data-portfolio-design] :is(.sidebar nav a,.toc a){color:var(--muted)}
html[data-portfolio-design] :is(.sidebar nav a:hover,.sidebar nav a.active,.toc a:hover,.toc a[aria-current="location"],.asset-nav a[aria-current="location"]){background:var(--panel);color:var(--accent);border-left-color:var(--accent)}
html[data-portfolio-design] .sidebar{background:var(--paper);border-color:var(--line)}
html[data-portfolio-design] :is(.logic dt,.logic dd,.portfolio-emphasis,.review b){color:var(--text-strong)}
html[data-portfolio-design] :is(.pitfall dt,.pitfall dd,.portfolio-caution){color:var(--text-caution)}
html[data-portfolio-design] :is(.portfolio-lead,.portfolio-callout){--reading-color:var(--text-strong);color:var(--text-strong)}
html[data-portfolio-design] :is(.portfolio-lead,.portfolio-callout) :where(p,li){color:var(--text-strong)}
html[data-portfolio-design] .microstructure-report :is(.tag,td strong){color:var(--accent)}
html[data-portfolio-design] .microstructure-report .phase article{border-top-color:var(--accent)}
html[data-portfolio-design] .trend-report :is(.asset-nav a:hover,.asset-nav a[aria-current="location"]){background:var(--panel);box-shadow:inset 3px 0 var(--accent);color:var(--accent)}
html[data-portfolio-design] .reader-bar{border-radius:0}
.portfolio-theme-picker{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font:12px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:var(--muted);padding:8px 0;max-width:100%}
.portfolio-theme-picker button{font:inherit;padding:7px 10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:var(--radius);cursor:pointer;white-space:nowrap}
.portfolio-theme-picker button[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
html[data-portfolio-design] .portfolio-theme-picker button[aria-pressed="true"]:hover{background:var(--accent);color:#fff}
.portfolio-theme-picker button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.top{flex-wrap:wrap;gap:8px}.reader-bar .portfolio-theme-picker{flex-basis:100%;padding:2px 0}
.portfolio-standalone-picker{margin:12px 24px}
html[data-portfolio-design="editorial"] .intro{border-top:3px solid var(--ink);border-bottom:1px solid var(--ink)}
html[data-portfolio-design="editorial"] :is(h1,h2,h3){font-weight:600}
html[data-portfolio-design="editorial"] :is(td,.meta){font-family:Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
html[data-portfolio-design="editorial"] .category{color:#990f3d}
html[data-portfolio-design="research"] :is(.intro,main>header){border-left:3px solid var(--accent);padding-left:24px}
html[data-portfolio-design="research"] h1{font-size:28px}
html[data-portfolio-design="apple"] :is(.intro,main>header){background:var(--paper)!important;border:0;border-radius:20px}
html[data-portfolio-design="apple"] .reader-bar{background:#ffffffd9;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
html[data-portfolio-design="apple"] .portfolio-theme-picker{background:var(--panel);padding:5px;border-radius:12px}
html[data-portfolio-design="apple"] .portfolio-theme-picker button{border:0;border-radius:9px;min-height:36px}
html[data-portfolio-design="apple"] .portfolio-theme-picker button[aria-pressed="true"]{background:var(--paper);color:var(--accent);box-shadow:0 1px 3px #0001}
@media(max-width:740px){.portfolio-theme-picker{gap:5px}.portfolio-theme-picker button{padding:7px 8px;font-size:11px}.reader-actions{flex-wrap:wrap}.reader-bar .brand{white-space:normal}.portfolio-standalone-picker{margin:10px 14px}}
@media print{.portfolio-theme-picker{display:none}}


/* Source: shared-layout.css */
/* Opt-in standalone document layout. Does not alter existing report layouts. */
/* Shared body standard: 14px secondary text; preserve headings and semantic colors. */
:root{--portfolio-body-size:14px;--portfolio-body-color:var(--muted)}
html[data-portfolio-design] :is(.portfolio-document,.portfolio-body-standard) main :where(p,li,td,th,dt,dd,label,small,.caption,.summary,.note,.footer,#status){font-size:var(--portfolio-body-size);color:var(--reading-color,var(--portfolio-body-color))}
html[data-portfolio-design] :is(.portfolio-document,.portfolio-body-standard) main>header :is(p,small,.report-disclaimer){font-size:var(--portfolio-body-size);color:var(--portfolio-body-color)!important}
html[data-portfolio-design] :is(.portfolio-document,.portfolio-body-standard) main .legend label{color:inherit}
html[data-portfolio-design] :is(.portfolio-document,.portfolio-body-standard) main :is(.portfolio-lead,.portfolio-callout,.note,.review,.logic){--reading-color:var(--text-strong);color:var(--text-strong)}
html[data-portfolio-design] :is(.portfolio-document,.portfolio-body-standard) main :is(.pitfall,.portfolio-caution){--reading-color:var(--text-caution);color:var(--text-caution)}
.portfolio-document{--content-width:960px;--page-gutter:24px}
.portfolio-document .reader-bar{padding:12px max(var(--page-gutter),calc((100% - var(--content-width))/2));border-radius:0}
.portfolio-document .portfolio-main{width:min(var(--content-width),calc(100% - 2 * var(--page-gutter)));margin:28px auto;min-width:0}
.portfolio-document .portfolio-main>header{padding:30px 34px;margin-bottom:24px}
.portfolio-document .portfolio-main h1{font-size:28px;line-height:1.4;margin:0 0 12px}
.portfolio-document .portfolio-main h2{font-size:22px;line-height:1.5}
.portfolio-document .portfolio-main p{line-height:1.8}
.portfolio-document .portfolio-panel{padding:28px 34px;margin:24px 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.portfolio-document .portfolio-meta{font-size:14px;color:var(--muted)}
.portfolio-document .portfolio-primary{display:inline-block;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius);padding:8px 15px;font:inherit;text-decoration:none}
.portfolio-document .portfolio-main :is(img,svg,canvas){max-width:100%}
.portfolio-document .portfolio-table-scroll{overflow-x:auto}
@media(max-width:740px){.portfolio-document{--page-gutter:18px}.portfolio-document .portfolio-main>header,.portfolio-document .portfolio-panel{padding:24px 20px}.portfolio-document .portfolio-main{margin-top:22px}}
@media print{.portfolio-document .portfolio-main{width:100%;margin:0}.portfolio-document .portfolio-panel{break-inside:avoid}}

