/* Public editorial theme. The admin layouts do not load this sheet. */
:root { color-scheme: light; background: #fff; }
body.global-site {
  color-scheme: light;
  --bg: #fff;
  --surface: #fff;
  --panel: #f3f7fc;
  --accent: #1756a9;
  --accent-hover: #103f80;
  --positive: #08764e;
  --negative: #b52735;
  --text: #202938;
  --muted: #526176;
  --line: #dbe3ed;
  --radius: 10px;
  --editorial-shadow: 0 4px 16px #223b6010;
  --white-bg: var(--bg);
  --white-section: var(--surface);
  --white-text: var(--text);
  --white-muted: var(--muted);
  --white-border: var(--line);
  --brand-red: var(--accent);
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
  --bs-border-color: var(--line);
  --bs-primary: var(--accent);
  --bs-link-color: var(--accent);
}

.global-site .global-header { background: #fff; box-shadow: 0 2px 10px #223b600a; }
.global-site .global-brand img, .global-site .footer-brand img { padding: 0; }
.global-site .main-nav a:hover, .global-site .main-nav a[aria-current="page"] { color: var(--accent); }
.global-site .primary-button, .global-site .btn-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.global-site .primary-button:hover, .global-site .btn-primary:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: #fff;
}
.global-site .white-pill, .global-site .status-badge {
  background: #eaf2ff;
  border-color: #c7dbf7;
  color: #164a8d;
}
.global-site :is(input, textarea)::placeholder { color: #627188; }

.global-site .hero-lead h1, .global-site .public-heading h1, .global-site .report-header h1 {
  font-family: Georgia, "Noto Serif TC", "Microsoft JhengHei", serif;
  letter-spacing: -.025em;
}
.global-site .hero-lead h1 { max-width: 19ch; }
.global-site .hero-intro, .global-site .public-heading p { max-width: 65ch; }
.global-site .hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1.2rem 0 1.5rem; }
.global-site .hero-story, .global-site .research-card, .global-site .stock-card,
.global-site .report-panel, .global-site .editorial-note {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--editorial-shadow);
}
.global-site .hero-story { overflow: hidden; }
.global-site .hero-story p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.global-site .hero-story .byline { color: var(--accent); font-weight: 600; }
.global-site .research-card:hover, .global-site .stock-card:hover { border-color: #99b9e2; }
.global-site .top-stories { align-self: start; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.25rem; }
.global-site .top-stories article + article { border-top: 1px solid var(--line); }
.global-site .public-heading { padding-block: clamp(2rem, 5vw, 4rem) 1.75rem; }
.global-site .section-heading h2 { letter-spacing: -.025em; }
.global-site .section-heading > a { color: var(--accent); font-weight: 650; }

.global-site :is(.topic-links, .learning-links, .instrument-links, .report-quick-links) a {
  background: var(--surface);
  border-color: var(--line);
  color: var(--accent);
}
.global-site :is(.topic-links, .learning-links, .instrument-links, .report-quick-links) a:hover {
  background: #eaf2ff;
  border-color: #99b9e2;
}
.global-site .tools-banner, .global-site .report-note, .global-site .filter-form { background: var(--panel); }
.global-site .site-footer { background: #f5f8fc; }
.global-site .report-header { max-width: 850px; }
.global-site .report-cover { max-width: 960px; }
.global-site .report-cover img { width: 100%; height: clamp(180px, 30vw, 315px); object-fit: cover; }
.global-site .report-grid { align-items: start; }
.global-site .report-body { font-size: clamp(1rem, .94rem + .3vw, 1.125rem); line-height: 1.82; }
.global-site .report-body p { margin-block: 0 1.15em; }
.global-site .report-body :is(h2,h3) { margin-block: 1.65em .65em; }
.global-site .report-body a { text-decoration: underline; text-underline-offset: .2em; }
.global-site .report-sidebar :is(h2,h3), .global-site .report-panel :is(h2,h3) { margin-top: 0; }
.global-site .report-prev-next a { border: 1px solid var(--line); border-radius: var(--radius); }

@media (max-width: 700px) {
  .global-site .hero-actions { margin-block: 1rem; }
  .global-site .top-stories { margin-top: 1.2rem; }
  .global-site .public-heading { padding-block: 1.8rem 1.25rem; }
}
