/* Switch-Lit: paper, ink and typographic hierarchy. No external font requests. */
:root {
  color-scheme: light;
  --color-manuscript-cream: #f9f9f7;
  --color-press-black: #000;
  --color-highlighter-lime: #edfe5e;
  --color-cornflower-wash: #bed4fb;
  --color-spring-green: #31e992;
  --color-sage-border: #d2ddd2;
  --color-paper-shadow: #edf0e9;
  --ink: #000;
  --muted: #5b605b;
  --line: #000;
  --blue: #000;
  --paper: #f9f9f7;
  --font-editorial-ui: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-editorial-heading: Georgia, 'Songti SC', 'Noto Serif CJK SC', serif;
}
body.pf-site, body.login-body { background: var(--paper); color: var(--ink); font-family: var(--font-editorial-ui); font-size: 15px; line-height: 1.75; letter-spacing: .025em; }
.pf-site a { color: var(--ink); }
.pf-site a:focus-visible, .pf-site button:focus-visible, .pf-site input:focus-visible, .pf-site select:focus-visible, .pf-site summary:focus-visible, .login-body :focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.pf-site > .press-header { height: auto; min-height: 88px; padding: 20px max(28px, calc((100vw - 1200px) / 2)); background: var(--paper); border-bottom: 1px solid var(--ink); gap: 24px; }
.press-header .brand { font-size: 22px; font-weight: 800; letter-spacing: -.035em; line-height: 1; }
.press-header .brand span { display: block; font-size: 10px; font-weight: 500; letter-spacing: .27em; color: var(--ink); margin: 7px 0 0; }
.press-header .press-links { margin-left: auto; display: flex; align-items: center; gap: 26px; }
.press-links a { padding: 7px 0; font-size: 13px; border-bottom: 1px solid transparent; }
.press-links a[aria-current='page'] { border-color: var(--ink); }
.press-header form { margin: 0; }
.pf-site .layout { display: block; max-width: 1256px; padding: 0 28px; margin: 0 auto; }
.pf-site .press-nav { position: static; max-height: none; padding: 15px 0; border: 0; border-bottom: 1px solid var(--ink); background: var(--paper); display: block; overflow: visible; }
.pf-site .press-nav nav { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pf-site .press-nav nav > a { border: 1px solid transparent; border-radius: 24px; font-size: 12px; line-height: 1.4; padding: 8px 13px; color: var(--ink); gap: 6px; }
.pf-site .press-nav nav > a:hover { border-color: var(--ink); text-decoration: none; }
.pf-site .press-nav nav > a.active { border: 1px solid var(--ink); background: var(--color-highlighter-lime); }
.pf-site .press-nav img { width: 14px; height: 14px; opacity: 1; }
.pf-site main { max-width: none; padding: 32px 0 24px; }
.pf-site .site-crumb { font-size: 11px; color: var(--muted); border: 0; padding: 0; margin-bottom: 28px; letter-spacing: .08em; }
.pf-site h1, .pf-site h2, .pf-site h3, .login-main h1 { font-family: var(--font-editorial-heading); color: var(--ink); }
.pf-site h1 { font-size: 57px; font-weight: 400; line-height: 1.18; letter-spacing: -.025em; }
.pf-site h2 { font-size: 32px; font-weight: 400; line-height: 1.35; }
.pf-site h3 { font-size: 24px; line-height: 1.4; }
.pf-site .eyebrow, .login-body .eyebrow { color: var(--ink); letter-spacing: .13em; font-size: 11px; font-weight: 600; }
.pf-site .page-heading p { font-size: 15px; max-width: 65ch; }
.pf-site main > .press-hero { display: block; text-align: center; border: 0; padding: 18px 0 42px; margin: 0; position: relative; }
.press-hero .eyebrow { display: inline-block; padding: 5px 10px; border: 1px solid var(--ink); border-radius: 6px; margin-bottom: 24px; }
.pf-site .press-hero h1 { font-size: clamp(54px, 6vw, 76px); font-weight: 700; letter-spacing: -.05em; margin: 0; line-height: 1.14; }
.press-display { display: block; font-family: Impact, 'Arial Narrow', sans-serif; font-stretch: condensed; font-size: clamp(44px, 5vw, 68px); font-weight: 900; letter-spacing: -.025em; line-height: 1; margin-top: 10px; }
.pf-site .press-hero p { margin: 24px auto 0; color: var(--muted); font-size: 16px; letter-spacing: .04em; }
.press-hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.pf-site .press-hero-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 24px; border: 1px solid var(--ink); padding: 10px 18px; border-radius: 6px; font-size: 13px; }
.press-hero-actions a:first-child { background: var(--color-highlighter-lime); }
.press-hero-actions a:hover { background: var(--color-paper-shadow); text-decoration: none; }
.press-edition { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-block: 1px solid var(--ink); font-size: 11px; }
.press-edition time { font-variant-numeric: tabular-nums; }
.pf-site .connection { color: var(--ink); border: 0; padding: 14px 0 0; font-size: 11px; }
.pf-site .connection .dot { display: inline-block; width: 7px; height: 7px; background: var(--color-spring-green); border: 1px solid var(--ink); border-radius: 50%; margin-right: 5px; }
.pf-site main > .summary-strip { display: grid; grid-template-columns: 1fr 1fr 1fr auto; align-items: center; gap: 24px; margin: 0; padding: 22px 0 26px; }
.summary-strip > div + div { border-left: 1px solid var(--ink); padding-left: 24px; }
.pf-site .summary-strip strong { font-family: var(--font-editorial-heading); font-size: 40px; line-height: 1.25; margin-top: 5px; }
.pf-site .summary-strip .status-word { font-size: 24px; }
.pf-site .summary-strip > a { border: 1px solid var(--ink); border-radius: 6px; padding: 10px 14px; font-size: 12px; }
.pf-site .summary-strip > a span { display: inline; margin-left: 16px; color: var(--ink); }
.pf-site main > .module-section { margin: 0; padding: 48px 0; }
.pf-site .section-heading { align-items: baseline; gap: 20px; }
.pf-site .section-heading h2 { font-size: 38px; }
.pf-site .section-heading > span { font-size: 11px; letter-spacing: .1em; color: var(--muted); }
.pf-site .module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 26px; }
.pf-site .module-card { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--ink); border-radius: 12px; background: var(--paper); color: var(--ink); box-shadow: none; transition: background .15s; }
.pf-site .module-card:hover { background: var(--color-paper-shadow); text-decoration: none; }
.pf-site .module-card .card-top { margin-bottom: 24px; }
.pf-site .module-card .card-top > img { width: 25px; height: 25px; opacity: 1; }
.pf-site .module-card h3 { font-size: 28px; font-weight: 400; margin: 8px 0 12px; }
.pf-site .module-card .card-en { font-size: 10px; color: var(--ink); letter-spacing: .12em; margin: 0; }
.pf-site .module-card p { font-size: 14px; line-height: 1.8; color: var(--muted); margin: 0 0 26px; min-height: 50px; }
.pf-site .module-card .card-bottom { margin-top: auto; border-color: var(--ink); padding-top: 16px; color: var(--ink); font-size: 11px; }
.pf-site .badge { border: 1px solid var(--ink); background: transparent; border-radius: 6px; color: var(--ink); padding: 3px 8px; font-size: 10px; }
.pf-site .badge.published { background: var(--color-highlighter-lime); }
.pf-site .module-section:nth-of-type(even) .badge.published { background: var(--color-cornflower-wash); }
.pf-site .press-operations .schedule-grid { border: 1px solid var(--ink); border-radius: 12px; padding: 20px; margin-top: 24px; }
.pf-site .schedule-grid dd { overflow-wrap: anywhere; }
.pf-site .press-operations > p { font-size: 13px; }
.pf-site .icon-button, .pf-site input, .pf-site select, .pf-site .pf-table-pager button { border: 1px solid var(--ink); border-radius: 6px; background: var(--paper); color: var(--ink); font-family: var(--font-editorial-ui); }
.pf-site .icon-button { width: 36px; height: 36px; }
.pf-site .icon-button:hover, .pf-site button:hover { background: var(--color-paper-shadow); }
.pf-site .date-filter { padding: 16px 0; border-block: 1px solid var(--ink); font-size: 13px; }
.pf-site th { background: var(--color-paper-shadow); color: var(--ink); border-color: var(--ink); }
.pf-site td { border-color: var(--color-sage-border); }
.pf-site tbody tr:hover { background: var(--color-paper-shadow); }
.pf-site .stock-card, .pf-site .review-disclosure, .pf-site .library-row { background: var(--paper); border: 1px solid var(--ink); border-radius: 12px; box-shadow: none; }
.pf-site .daily-review-entry { background: var(--color-highlighter-lime); border: 1px solid var(--ink); border-radius: 12px; color: var(--ink); }
.pf-site .daily-review-entry:hover { background: var(--color-paper-shadow); }
.pf-site .daily-review-entry small, .pf-site .review-disclosure > summary { color: var(--ink); }
.pf-site .editorial-header { border-color: var(--ink); }
.pf-site .editorial-header h2 { font-size: 38px; font-weight: 400; line-height: 1.5; }
.pf-site .editorial-lead { color: var(--ink); font-weight: 400; }
.pf-site .editorial-section { padding-block: 36px; border-color: var(--ink); }
.pf-site .editorial-section h3 { font-size: 26px; font-weight: 400; }
.pf-site .editorial-section p, .pf-site .editorial-section li { color: var(--body-text); font-size: 16px; line-height: 2; }
.pf-site .editorial-number, .pf-site .editorial-toc a, .pf-site .watch-rank { color: var(--ink); }
.pf-site .editorial-toc, .pf-site .review-disclosure[open] > summary { border-color: var(--ink); }
.pf-site .next-day-watch { border-top: 1px solid var(--ink); }
.pf-site .watch-index a { color: var(--ink); background: var(--paper); border: 1px solid var(--ink); border-radius: 6px; }
.pf-site .watch-index a:hover { background: var(--color-cornflower-wash); }
.pf-site .watch-context, .pf-site .watch-metrics { background: var(--color-paper-shadow); border-radius: 6px; }
.pf-site .watch-scenarios { border-color: var(--ink); }
.pf-site .macro-tabs a, .pf-site .review-nav a { border: 1px solid var(--ink); border-radius: 24px; padding: 7px 16px; color: var(--ink); background: var(--paper); }
.pf-site .macro-tabs a[aria-current='page'] { color: var(--ink); background: var(--color-cornflower-wash); border-color: var(--ink); }
.pf-site .macro-tabs, .pf-site .macro-directory, .pf-site .macro-directory-row { border-color: var(--ink); }
.pf-site .macro-directory-row:hover { background: var(--color-paper-shadow); }
.pf-site .macro-count { color: var(--ink); }
.pf-site .notice, .pf-site .method-note, .pf-site .reading-note { background: var(--color-paper-shadow); color: #414641; }
.pf-site main > footer { color: var(--ink); border-color: var(--ink); font-size: 10px; padding-top: 20px; margin-top: 48px; letter-spacing: .06em; }
/* Login shares the paper surface and compact highlighter action. */
body.login-body { border-top: 0; }
.login-body .login-brand { border-bottom: 1px solid var(--ink); padding: 30px max(24px, calc((100vw - 1200px) / 2)); color: var(--ink); }
.login-body .login-brand span { color: var(--ink); letter-spacing: .12em; }
.login-body .login-main { max-width: 470px; padding: 48px 30px; margin: 8vh auto; border: 1px solid var(--ink); border-radius: 12px; }
.login-body .login-main h1 { font-size: 40px; font-weight: 400; }
.login-body .login-form input { background: var(--paper); border: 1px solid var(--ink); border-radius: 6px; }
.login-body .primary { border: 1px solid var(--ink); border-radius: 6px; background: var(--color-highlighter-lime); color: var(--ink); }
.login-body .primary:hover { background: var(--color-paper-shadow); }
.login-body .login-footer { border-color: var(--ink); color: var(--ink); }
@media (max-width: 1000px) {
  .pf-site .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pf-site .press-nav nav { gap: 5px; }
  .pf-site .press-nav nav > a { padding: 7px 10px; }
}
@media (max-width: 650px) {
  .pf-site > .press-header { min-height: 76px; padding: 18px 18px; gap: 12px; flex-wrap: wrap; }
  .press-header .brand { font-size: 19px; }
  .press-header .brand span { display: block; font-size: 9px; }
  .press-header .press-links { order: 3; width: 100%; margin: 0; justify-content: space-between; gap: 15px; }
  .press-header form { margin-left: auto; }
  .press-links a { font-size: 12px; }
  .pf-site .layout { padding: 0 18px; }
  .pf-site .press-nav { padding: 12px 0; }
  .pf-site .press-nav nav { display: flex; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .pf-site .press-nav nav > a { flex: 0 0 auto; font-size: 12px; border-color: var(--ink); }
  .pf-site .press-nav img { display: none; }
  .pf-site main { padding-top: 24px; }
  .pf-site .site-crumb { margin-bottom: 22px; font-size: 10px; }
  .pf-site h1 { font-size: 38px; }
  .pf-site h2 { font-size: 27px; }
  .pf-site main > .press-hero { padding: 12px 0 32px; }
  .pf-site .press-hero h1 { font-size: 52px; }
  .press-display { font-size: 42px; margin-top: 12px; }
  .pf-site .press-hero p { font-size: 14px; margin-top: 22px; }
  .press-hero-actions { gap: 8px; margin-top: 22px; }
  .pf-site .press-hero-actions a { padding: 9px 12px; font-size: 12px; gap: 14px; }
  .press-edition { font-size: 10px; }
  .pf-site main > .summary-strip { grid-template-columns: 1fr 1fr; gap: 20px; }
  .summary-strip > div + div { border: 0; padding-left: 0; }
  .pf-site .summary-strip strong { font-size: 34px; }
  .pf-site .summary-strip .status-word { font-size: 22px; }
  .pf-site .summary-strip > a { justify-self: start; }
  .pf-site main > .module-section { padding: 32px 0; }
  .pf-site .section-heading h2 { font-size: 30px; }
  .pf-site .section-heading > span { font-size: 9px; }
  .pf-site .module-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 20px; }
  .pf-site .module-card { padding: 20px; }
  .pf-site .module-card h3 { font-size: 28px; }
  .pf-site .module-card p { min-height: 0; }
  .pf-site .press-operations .schedule-grid { padding: 16px; gap: 20px 12px; }
  .pf-site .schedule-grid dd { font-size: 12px; }
  .pf-site .editorial-header h2 { font-size: 28px; }
  .pf-site .editorial-section h3 { font-size: 23px; }
  .pf-site .editorial-section p, .pf-site .editorial-section li { font-size: 15px; }
  .pf-site main > footer { display: flex; flex-direction: column; gap: 10px; line-height: 1.8; }
  .login-body .login-main { margin: 40px 18px; padding: 30px 22px; }
  .login-body .login-main h1 { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .pf-site .module-card { transition: none; } }
/* Option tenors retain separate colors, now as ink-outlined highlighter marks. */
.pf-site .pf-skew-group { border: 1px solid var(--ink); border-radius: 12px; background: var(--paper); }
.pf-site .pf-skew-group h3 { background: var(--color-paper-shadow); color: var(--ink); font-family: var(--font-editorial-ui); font-size: 15px; }
.pf-site .pf-skew details.pf-skew-instrument { background: var(--paper); border-bottom-color: var(--color-sage-border); }
.pf-site .pf-skew-header { border-color: var(--ink); color: var(--muted); }
.pf-site .pf-skew-note { border-color: var(--ink); background: var(--color-paper-shadow); color: var(--muted); }
.pf-site .pf-skew-detail { background: var(--color-paper-shadow); color: #333; }
.pf-site .pf-skew-instrument > summary:hover { background: var(--color-paper-shadow); }
.pf-site .pf-skew-bar, .pf-site .pf-skew-legend > .month:before { background: var(--color-cornflower-wash); border: 1px solid var(--ink); }
.pf-site .pf-skew-bar.week, .pf-site .pf-skew-legend > .week:before { background: var(--color-spring-green); border: 1px solid var(--ink); }
.pf-site .pf-skew-value b, .pf-site .pf-skew-value.week b { color: var(--ink); }
.pf-site .pf-skew-plot { background: none; }
.pf-site .pf-skew-plot:before { content: ''; position: absolute; left: 50%; height: 100%; border-left: 1px solid var(--ink); }
.pf-site .module-card:nth-child(3n) .badge.published { background: var(--color-cornflower-wash); }
.pf-site .module-card:nth-child(5) .badge.published { background: var(--color-spring-green); }
@media (max-width: 380px) {
  .press-display { font-size: 35px; }
  .press-hero .eyebrow { font-size: 9px; }
  .press-edition { align-items: flex-start; flex-direction: column; gap: 5px; }
}
