/* Reading rhythm: a centered measure, restrained serif headings, spacious prose. */
:root {
  --body-text: #32322e;
  --reading-width: 820px;
  --warm-apricot: #f5e5d4;
  --warm-rose: #f1ded8;
  --warm-wheat: #eee5c9;
  --warm-clay: #e9ddd0;
  --warm-olive: #e6e7d6;
  --warm-peach: #f2ddc4;
  --pf-text: var(--ink); --pf-muted: var(--muted); --pf-border: var(--line); --pf-accent: var(--ink);
}
:root[data-theme='dark'] {
  color-scheme: dark;
  --ink: #ebe4d8;
  --body-text: #d7d0c4;
  --muted: #b4ac9e;
  --line: #746d61;
  --paper: #1c1b18;
  --blue: #b4cee5;
  --red: #f09b86;
  --green: #9ac6ab;
  --color-manuscript-cream: #1c1b18;
  --color-press-black: #ebe4d8;
  --color-highlighter-lime: #4a4430;
  --color-cornflower-wash: #293e4c;
  --color-spring-green: #30463a;
  --color-sage-border: #48443d;
  --color-paper-shadow: #282622;
  --warm-apricot: #362b23;
  --warm-rose: #342728;
  --warm-wheat: #333021;
  --warm-clay: #302b27;
  --warm-olive: #2b2e24;
  --warm-peach: #392c20;
  --pf-positive: #f09b86; --pf-negative: #9ac6ab;
}
.pf-site .theme-toggle, .login-body .theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid var(--line); color: var(--ink); background: var(--paper);
  border-radius: 24px; padding: 8px 13px; min-height: 38px; cursor: pointer;
  font: 12px/1.4 var(--font-editorial-ui); flex-shrink: 0;
}
.theme-toggle > span:first-child { font-size: 19px; line-height: 1; }
.login-body .login-brand { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.login-body .login-brand .theme-toggle span { margin:0; color:var(--ink); }
.pf-site .page-heading:not(.press-hero) { position: relative; display: flex; flex-direction: column; align-items: center; justify-content:center; text-align: center; gap:10px; padding-bottom: 26px; }
.pf-site .page-heading p { margin-inline: auto; }
.pf-site .page-heading h1 { font-size: 48px; line-height: 1.4; font-weight: 400; }
.pf-site .market-heading { text-align: center; margin: 12px auto 32px; }
.pf-site .market-heading h1 { font-size:48px; line-height:1.4; }
.pf-site .market-heading > .eyebrow { margin-inline:auto; }
.pf-site .daily-editorial { width:100%; max-width:var(--reading-width); margin-inline:auto; }
.pf-site .daily-review-entry { max-width:var(--reading-width); margin: 28px auto 40px; }
.pf-site .page-heading + .date-filter { width:fit-content; max-width:100%; margin: 12px auto 26px; justify-content:center; }
.pf-site .editorial-header { text-align: center; padding: 26px 0 30px; }
.pf-site .editorial-header h2 { max-width: 24em; margin: 16px auto 26px; font-size: 34px; line-height: 1.65; letter-spacing: .015em; font-weight: 400; text-wrap: balance; }
.pf-site .editorial-header .editorial-lead { font-size:18px; line-height:2; font-weight:400; color:var(--body-text); text-align:left; text-indent:2em; margin:0 0 20px; }
.pf-site .editorial-boundary { text-align:left; font-size:12px!important; line-height:1.9; color:var(--muted); margin:0; }
.pf-site .editorial-toc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; padding:16px 0; margin:0 0 14px; }
.pf-site .editorial-toc a { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:baseline; gap:9px; font-size:14px; line-height:1.8; padding:14px 0; border-bottom:1px solid var(--color-sage-border); color:var(--body-text); text-decoration:none; }
.pf-site .editorial-toc a:hover { color:var(--ink); background:var(--color-paper-shadow); }
.toc-number { font-variant-numeric:tabular-nums; font-size:12px; color:var(--muted); letter-spacing:.06em; }
.pf-site .editorial-toc .toc-watch { grid-column:1/-1; display:block; text-align:center; border:0; margin-top:12px; padding:12px; border-radius:6px; background:var(--warm-wheat); color:var(--ink); }
.pf-site .editorial-section { display:block; padding:42px 0; border-color:var(--color-sage-border); }
.pf-site .editorial-number { display:block; width:fit-content; margin:0 auto 14px; border:1px solid var(--line); border-radius:24px; padding:0 12px; font-size:11px; line-height:24px; color:var(--muted); }
.pf-site .editorial-section h3 { text-align:center; font-size:27px; line-height:1.65; font-weight:400; max-width:26em; margin:0 auto 26px; text-wrap:balance; }
.pf-site .editorial-section p, .pf-site .editorial-section li { font-size:17px; line-height:2; letter-spacing:.025em; color:var(--body-text); }
.pf-site .editorial-section p { text-indent:2em; margin:0 0 20px; }
.pf-site .editorial-section p:last-child { margin-bottom:0; }
.pf-site .editorial-section li { text-indent:0; }
.pf-site .watch-header { text-align:center; }
.pf-site .watch-header h2 { font-size:34px; font-weight:400; line-height:1.5; }
.pf-site .watch-header .editorial-lead { text-align:left; text-indent:2em; font-size:18px; }
.pf-site .watch-stock { padding-block:36px; border-color:var(--color-sage-border); }
.pf-site .watch-stock > p, .pf-site .watch-context > p, .pf-site .watch-scenario p, .pf-site .watch-method > p, .pf-site .editorial-sources p { text-indent:2em; font-size:16px; line-height:1.95; color:var(--body-text); }
.pf-site .watch-stock-header { justify-content:center; text-align:center; }
.pf-site .watch-stock-header h3 { font-size:27px; font-weight:400; }
.pf-site .watch-role { font-size:12px; text-indent:0; }
.pf-site .watch-thesis { font-weight:500; }
.pf-site .watch-stock > p > strong { font-weight:600; color:var(--ink); }
.pf-site .module-grid .module-card:nth-child(6n+1) { background:var(--warm-apricot); }
.pf-site .module-grid .module-card:nth-child(6n+2) { background:var(--warm-rose); }
.pf-site .module-grid .module-card:nth-child(6n+3) { background:var(--warm-wheat); }
.pf-site .module-grid .module-card:nth-child(6n+4) { background:var(--warm-clay); }
.pf-site .module-grid .module-card:nth-child(6n+5) { background:var(--warm-olive); }
.pf-site .module-grid .module-card:nth-child(6n+6) { background:var(--warm-peach); }
.pf-site .module-grid .module-card:hover { outline:1px solid var(--line); outline-offset:2px; }
.pf-site .module-card { border-color:var(--line); }
.pf-site .module-card p { color:var(--body-text); }
.pf-site .module-card .badge { background:var(--paper); }
.pf-site .pf-chart, .pf-site .bi-chart { background:var(--paper); }
.pf-site .pf-expanded, .pf-site .bi-expanded { background:var(--paper); }
.pf-site .pf-chart button, .pf-site .bi-chart button { background:var(--paper); border-color:var(--line); color:var(--ink); }
.pf-site .pf-chart button[aria-pressed=true] { background:var(--warm-wheat); color:var(--ink); border-color:var(--line); }
/* Night reading keeps warmth and data hues; images are never color-inverted. */
html[data-theme='dark'] .pf-site :is(.press-header,.press-nav,.module-card,.card-bottom,.summary-strip,.press-edition,.date-filter,.section-heading,.review-nav,.archive-row,.editorial-header,.macro-tabs,.macro-directory,.macro-directory-row,footer) { border-color:var(--line); }
html[data-theme='dark'] .pf-site :is(h1,h2,h3,h4,strong,.macro-category-title,.pf-latest strong,.last-value,.watch-metrics dd) { color:var(--ink); }
html[data-theme='dark'] .pf-site :is(.muted,small,.market-muted,.market-series small,.pf-latest,.source,.source-links,.footnote,.watch-role,.watch-index span,.watch-index small,.watch-metrics dt,.editorial-boundary,.editorial-pending,.review-page-meta,.pf-skew-legend,.pf-skew-count,.pf-skew-hint,.pf-skew-empty,.macro-category-note,.macro-gap-list summary,.schedule-grid dt,.f4-path-detail) { color:var(--muted); }
html[data-theme='dark'] .pf-site :is(.stock-card,.review-disclosure,.watch-index a,.pf-skew-group,.pf-skew-group h3,.pf-skew-instrument,.pf-skew-detail,.library-row,.f4-card,.f4-panel) { background:var(--paper); border-color:var(--line); color:var(--body-text); }
html[data-theme='dark'] .pf-site :is(.watch-context,.watch-metrics,.notice,.market-note,.reading-note,.method-note,.footnote,.pf-skew-note,.bi-detail,.bi-note,.f4-note,.f4-evidence,.fresh,.warm,.persistent) { background:var(--color-paper-shadow); color:var(--body-text); border-color:var(--line); }
html[data-theme='dark'] .pf-site :is(.watch-scenario h4,.watch-thesis,.editorial-toc a,.roster-identity span,.stock-head span,.stock-code,.stock-card p,.pf-skew-value small,.pf-skew-detail,.watch-rank,.review-disclosure>summary) { color:var(--body-text); }
html[data-theme='dark'] .pf-site :is(.theme-chip,.role-tag,.rps-status-tag,.signal-badge,.badge,.status) { background:var(--color-paper-shadow); color:var(--ink); border-color:var(--line); }
html[data-theme='dark'] .pf-site :is(.alert,.error,.pf-chart-error,.bi-status) { background:#382821; color:#efb399; border-color:#b98569; }
html[data-theme='dark'] .pf-site :is(input,select,button),html[data-theme='dark'] .login-body :is(input,button) { color:var(--ink); background:var(--paper); border-color:var(--line); }
html[data-theme='dark'] .pf-site :is(th,td) { border-color:var(--color-sage-border); }
html[data-theme='dark'] .pf-site th { background:var(--color-paper-shadow); color:var(--ink); }
html[data-theme='dark'] .pf-site tbody tr:hover { background:var(--color-paper-shadow); }
html[data-theme='dark'] .pf-site :is(.pos,.metric.red strong) { color:var(--red); }
html[data-theme='dark'] .pf-site :is(.neg,.metric.green strong) { color:var(--green); }
html[data-theme='dark'] img[src^='/static/icons/'] { filter:invert(.88) sepia(.12); }
html[data-theme='dark'] .pf-site :is(.market-line text) { fill:var(--muted); }
html[data-theme='dark'] .pf-site figure img { opacity:.9; border-color:var(--line); }
html[data-theme='dark'] .pf-site .js-plotly-plot .modebar { background:var(--paper)!important; }
html[data-theme='dark'] .pf-site .js-plotly-plot .modebar-btn path { fill:var(--muted); }
html[data-theme='dark'] .login-body :is(.login-note,.muted) { color:var(--muted); }
html[data-theme='dark'] .login-body .primary { background:var(--warm-wheat); }
@media(max-width:650px) {
  .pf-site > .press-header { gap:10px; }
  .pf-site .theme-toggle { margin-left:auto; padding:7px 10px; min-height:34px; font-size:11px; }
  .press-header form { margin-left:0; }
  .pf-site .page-heading h1,.pf-site .market-heading h1 { font-size:34px; }
  .pf-site .editorial-header h2 { font-size:27px; line-height:1.65; }
  .pf-site .editorial-header .editorial-lead,.pf-site .watch-header .editorial-lead { font-size:17px; line-height:1.95; }
  .pf-site .editorial-section p,.pf-site .editorial-section li { font-size:16px; line-height:1.95; }
  .pf-site .editorial-section h3 { font-size:23px; margin-bottom:22px; }
  .pf-site .editorial-section { padding-block:32px; }
  .pf-site .editorial-toc { gap:0 18px; }
  .pf-site .editorial-toc a { grid-template-columns:20px minmax(0,1fr); gap:6px; font-size:12px; line-height:1.85; padding-block:12px; }
  .pf-site .watch-header h2 { font-size:28px; }
  .pf-site .watch-stock-header h3 { font-size:25px; }
  .pf-site .watch-stock > p,.pf-site .watch-context > p,.pf-site .watch-scenario p { font-size:15px; }
  .login-body .login-brand { padding:20px 18px; flex-wrap:wrap; }
}
@media(max-width:359px) {
  .pf-site .theme-toggle > span:last-child { display:none; }
  .pf-site .theme-toggle { width:34px; }
  .pf-site .editorial-toc { gap:0 12px; }
  .pf-site .editorial-toc a { grid-template-columns:18px minmax(0,1fr); gap:4px; }
}
/* Keep navigation compact so the article begins sooner. */
.pf-site main > .page-heading:not(.press-hero) { gap:6px; margin-bottom:12px; padding-bottom:6px; }
.pf-site .page-heading:not(.press-hero) h1 { margin:0 0 4px; font-size:42px; }
.pf-site .page-heading:not(.press-hero) p { margin:6px auto; }
.pf-site .page-heading:not(.press-hero) > .badge { position:absolute; right:0; top:10px; }
.pf-site .daily-review-entry { min-height:0; padding:20px 24px; margin-top:20px; margin-bottom:26px; }
.pf-site .daily-review-entry strong { font-size:21px; }
html[data-theme='dark'] .pf-site .js-plotly-plot :is(.scatterlayer path.js-line,.legendlines path,.legendpoints path) { filter:brightness(1.4) saturate(.9); }
html[data-theme='dark'] .pf-site .pf-plot .scatterlayer path.js-line { stroke-width:2px; }
@media(max-width:650px) {
  .pf-site .page-heading:not(.press-hero) h1 { font-size:34px; }
  .pf-site .page-heading:not(.press-hero) > .badge { position:static; }
  .pf-site .daily-review-entry { padding:18px; }
  .pf-site .daily-review-entry strong { font-size:19px; }
}
html[data-theme='dark'] .pf-site .f4-verdict { background:var(--color-paper-shadow); color:var(--body-text); border-color:var(--line); }
html[data-theme='dark'] .pf-site .f4-hot { background:#392724; color:var(--red); }
html[data-theme='dark'] .pf-site :is(.f4-meta,.f4-boundary,.f4-list p,.f4-list summary span) { color:var(--muted); }
html[data-theme='dark'] .pf-site :is(.f4-section,.f4-group,.f4-meta,.f4-list,.pf-latest) { border-color:var(--color-sage-border); }
html[data-theme='dark'] .pf-site .f4-scroll thead { background:var(--color-paper-shadow); }
.pf-site .bi-heading { background:var(--paper); height:auto; border:0; }
.pf-site .bian .bi-chart { border-color:var(--color-sage-border); background:var(--paper); }
html[data-theme='dark'] .pf-site :is(.bi-detail,.bi-status,.bi-expanded,.bi-scroll) { background:var(--paper); color:var(--body-text); }
