/* PraedInvest / Observation Window
   The shared visual system. Loaded after page styles to unify the shell.
   Brand color is independent of analytical blue and status/series palettes. */
:root {
  --pi-radius: 2px;
}

html body.pi-site,
html body.pi-site :is(.pi-ui, .pi-admin-ui) {
  --pi-bg: #f4f7fc;
  --pi-surface: #ffffff;
  --pi-surface-muted: #e8eff8;
  --pi-border: #d1ddef;
  --pi-border-strong: #788ba7;
  --pi-text: #11213a;
  --pi-muted: #53647c;
  --pi-brand: #245bdb;
  --pi-brand-soft: #e4edff;
  --pi-brand-contrast: #ffffff;
  --pi-action: #245bdb;
  --pi-accent: #2563eb;
  --pi-teal: #0f766e;
  --pi-focus: #245bdb;
  --pi-link: #245bdb;
  --pi-shadow: 0 3px 14px rgb(22 46 83 / 4%);
}

html.dark-mode body.pi-site,
html body.pi-site.dark-mode,
html.dark-mode body.pi-site :is(.pi-ui, .pi-admin-ui),
html body.pi-site.dark-mode :is(.pi-ui, .pi-admin-ui) {
  --pi-bg: #0a1425;
  --pi-surface: #121f34;
  --pi-surface-muted: #1a2b43;
  --pi-border: #2c3f5b;
  --pi-border-strong: #647d9f;
  --pi-text: #f0f5ff;
  --pi-muted: #a9bcd3;
  --pi-brand: #8cb6ff;
  --pi-brand-soft: #1c355b;
  --pi-brand-contrast: #ffffff;
  --pi-action: #245bdb;
  --pi-accent: #78b4fa;
  --pi-teal: #76ddc8;
  --pi-focus: #8cb6ff;
  --pi-link: #8cb6ff;
  --pi-shadow: 0 3px 16px rgb(0 0 0 / 10%);
}

html body.pi-site {
  --pi-navbar-bg: var(--pi-bg);
  --pi-navbar-text: var(--pi-text);
  --pi-navbar-hover-bg: var(--pi-brand-soft);
  --pi-navbar-hover-text: var(--pi-text);
  --pi-nav-border: var(--pi-border);
  --pi-nav-muted: var(--pi-muted);
  --pi-nav-active-bg: var(--pi-brand-soft);
  --bulma-family-primary: var(--pi-font-body);
  --bulma-body-color: var(--pi-text);
  --bulma-text: var(--pi-text);
  --bulma-text-strong: var(--pi-text);
  --bulma-body-background-color: var(--pi-bg);
  --bulma-scheme-main: var(--pi-surface);
  background: var(--pi-bg);
  color: var(--pi-text);
  font-family: var(--pi-font-body);
  font-size: 1rem;
  line-height: 1.55;
  min-height: 100dvh;
  -webkit-font-smoothing: antialiased;
}

html body.pi-site.pi-page--regime::before {
  background-image: radial-gradient(ellipse at 100% 0%, rgb(76 128 224 / 5%), transparent 40%);
  background-size: 100% 100%;
}

html body.pi-site :is(input, select, textarea, button) { font-family: inherit; }
html body.pi-site :is(.title, .subtitle, .label, .content, strong) { color: var(--pi-text); }
html body.pi-site :is(.title, h1, h2, h3) { letter-spacing: -0.015em; }
html body.pi-site h1.title { font-family: var(--pi-font-display); font-weight: 700; line-height: 1.3; }
html body.pi-site :is(h1.title, .pi-entry-title, .pi-entry-section-title, .pi-journey-title) { overflow-wrap: anywhere; }

/* Analytical reading type stays quiet; Quicksand belongs to editorial headings. */
html body.pi-site :is(.pi-d3-chart, .pi-sentiment-chart, .pi-scatter-ts, .pi-matrix-heatmap, .alex-corr-network) {
  font-family: var(--pi-font-body);
  font-weight: 400;
  letter-spacing: normal;
}
html body.pi-site :is(.pi-d3-chart, .pi-sentiment-chart, .pi-scatter-ts, .pi-matrix-heatmap, .alex-corr-network) :is(text, .help, dd, .pi-volume-size-legend__note, .pi-scatter-ts__control) {
  font-family: var(--pi-font-body);
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
}
html body.pi-site :is(.pi-d3-chart, .pi-sentiment-chart, .pi-scatter-ts, .pi-matrix-heatmap, .alex-corr-network) :is(.label, button, th, dt, .pi-bivar-panel__title, .pi-volume-size-legend__title, .pi-scatter-ts__eyebrow, .pi-scatter-ts__levels span) {
  font-family: var(--pi-font-body);
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
}
html body.pi-site :is(.pi-d3-chart, .pi-sentiment-chart, .pi-scatter-ts, .pi-matrix-heatmap, .alex-corr-network) :is(.title, .pi-d3-chart__panel-title, strong) {
  font-family: var(--pi-font-body);
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}
html body.pi-site .pi-matrix-heatmap :is(.pi-matrix-x-groups, .pi-matrix-y-groups) text {
  font-weight: 500;
}
html body.pi-site .pi-scatter-ts .pi-scatter-ts__subplot-axis-label {
  stroke: none;
}
html body.pi-site :is(.pi-matrix-heatmap, .alex-corr-network) :is(.pi-matrix-provenance, .pi-matrix-note, .pi-matrix-detail, .pi-matrix-pairs-summary, .alex-corr-provenance, .alex-corr-measure-note, .alex-corr-network-audit, .alex-corr-pairs-summary) {
  font-weight: 400;
}
html body.pi-site a:not(.button):not(.navbar-item):not(.navbar-link) { color: var(--pi-link); }
html body.pi-site :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--pi-focus);
  outline-offset: 3px;
}
html body.pi-site ::selection { background: var(--pi-action); color: var(--pi-brand-contrast); }

/* Quiet surfaces leave the evidence in the foreground. */
html body.pi-site :is(.box, .card, .signup-box, .white-background, .lightblue-background),
html body.pi-site :is(.pi-ui, .pi-admin-ui) :is(.pi-panel, .pi-admin-panel),
html body.pi-site .sa-panel :is(.sa-header, .sa-landing-card, .sa-contributor-panel),
html body.pi-site :is(.pi-access-board, .pi-ui.pi-panel) {
  background: var(--pi-surface);
  border: 1px solid var(--pi-border);
  border-radius: var(--pi-radius);
  box-shadow: var(--pi-shadow);
  color: var(--pi-text);
}

html body.pi-site :is(.pi-panel-title, .pi-admin-panel-title) {
  color: var(--pi-text);
  font-weight: 650;
  line-height: 1.35;
}
html body.pi-site :is(.pi-panel-subtitle, .pi-control-help, .sa-control-help, .signup-subtitle, .signup-footnote) {
  color: var(--pi-muted);
  line-height: 1.5;
}
html body.pi-site :is(.pi-ui, .pi-admin-ui) .pi-panel-subtitle { font-size: 0.875rem; }
html body.pi-site :is(.pi-sentiment-eyebrow, .pi-delphi-eyebrow, .pi-oc-eyebrow, .pl-eyebrow) {
  color: var(--pi-brand);
  font-weight: 650;
  letter-spacing: normal;
  text-transform: none;
  font-family: var(--pi-font-body);
  font-size: .875rem;
}

/* Bulma controls retain all existing states and behavior. */
html body.pi-site :is(.input, .textarea, .select select) {
  background-color: var(--pi-surface);
  border-color: var(--pi-border-strong);
  border-radius: 2px;
  box-shadow: none;
  color: var(--pi-text);
  font-size: 0.875rem;
}
html body.pi-site :is(.input, .textarea)::placeholder { color: var(--pi-muted); opacity: 1; }
html body.pi-site .select:not(.is-multiple):not(.is-loading)::after { border-color: var(--pi-brand); }
html body.pi-site :is(.input, .textarea, .select select):hover { border-color: var(--pi-brand); }
html body.pi-site :is(.input, .textarea, .select select):focus {
  border-color: var(--pi-brand);
  box-shadow: 0 0 0 3px var(--pi-brand-soft);
}
html body.pi-site :is(.input, .textarea, .select select):disabled {
  background-color: var(--pi-surface-muted);
  color: var(--pi-muted);
  border-color: var(--pi-border);
  opacity: 0.72;
}
html body.pi-site :is(.input, .textarea).is-danger { border-color: var(--pi-danger, #dc2626); }
html body.pi-site :is(.input, .textarea).is-success { border-color: var(--pi-success, #059669); }
html body.pi-site .control.has-icons-left .icon,
html body.pi-site .control.has-icons-right .icon { color: var(--pi-muted); }
html body.pi-site input:is([type="checkbox"], [type="radio"], [type="range"]) { accent-color: var(--pi-brand); }
html body.pi-site .button {
  border-radius: 2px;
  font-weight: 600;
  letter-spacing: 0.005em;
  transition: background-color 120ms ease, border-color 120ms ease;
}
html body.pi-site .button:is(.is-link, .is-primary) {
  background: var(--pi-action);
  border-color: var(--pi-action);
  box-shadow: none;
  color: var(--pi-brand-contrast);
}
html body.pi-site .button:is(.is-link, .is-primary):hover {
  filter: brightness(1.08);
  color: var(--pi-brand-contrast);
}
html body.pi-site .button:is(.is-light, .is-outlined.is-primary, .is-outlined.is-link):not(.is-danger):not(.is-warning):not(.is-success):not(.is-info) {
  background: var(--pi-brand-soft);
  border-color: var(--pi-border);
  color: var(--pi-brand);
  box-shadow: none;
}
html body.pi-site .button:is(.is-light, .is-outlined.is-primary, .is-outlined.is-link):not(.is-danger):not(.is-warning):not(.is-success):not(.is-info):hover {
  border-color: var(--pi-brand);
  color: var(--pi-brand);
}
html body.pi-site .button:disabled { filter: none; opacity: 0.5; }
html body.pi-site .button.is-rounded { border-radius: 999px; }
html body.pi-site .notification.is-light:not(.is-warning):not(.is-danger):not(.is-success) {
  background: var(--pi-surface-muted);
  border: 1px solid var(--pi-border);
  color: var(--pi-text);
}

/* Brand-bearing navigation, with compact research/account menus. */
html body.pi-site .navbar[data-pi-shell="app"] {
  --bulma-navbar-item-color: var(--pi-text);
  --bulma-navbar-item-hover-background-color: var(--pi-brand-soft);
  --bulma-navbar-dropdown-arrow: var(--pi-brand);
  --bulma-navbar-item-selected-background-l: 15%;
  background: var(--pi-navbar-bg);
  border-bottom: 1px solid var(--pi-border);
  box-shadow: none;
  min-height: 4.5rem;
  padding: 0.25rem clamp(0.75rem, 2vw, 2rem);
}
html body.pi-site .navbar[data-pi-shell="app"] :is(.navbar-item, .navbar-link, button, input) {
  font-family: var(--pi-font-body);
  font-size: 0.875rem;
}
html body.pi-site .navbar[data-pi-shell="app"] .pi-brand-link { padding-inline: 0 1.8rem; }
html body.pi-site .navbar[data-pi-shell="app"] .navbar-logo {
  height: auto;
  max-height: none;
  max-width: none;
  object-fit: contain;
  width: 186px;
}
html body.pi-site .navbar[data-pi-shell="app"] .navbar-start { gap: 0.2rem; align-items: center; }
html body.pi-site .navbar[data-pi-shell="app"] .navbar-end { align-items: center; }
html body.pi-site .navbar[data-pi-shell="app"] :is(.pi-nav-item, .pi-nav-dropdown-trigger) {
  border-radius: 2px;
  color: var(--pi-text);
  min-height: 2.5rem;
}
html body.pi-site .navbar[data-pi-shell="app"] :is(.pi-nav-item, .pi-nav-dropdown-trigger).is-selected {
  background: var(--pi-brand-soft);
  color: var(--pi-brand);
}
html body.pi-site .navbar[data-pi-shell="app"] :is(a.pi-nav-item, .pi-nav-dropdown-trigger):hover {
  background: var(--pi-brand-soft);
  color: var(--pi-brand);
}
html body.pi-site .navbar[data-pi-shell="app"] .pi-nav-item--unavailable { color: var(--pi-muted); }
html body.pi-site .navbar[data-pi-shell="app"] .navbar-dropdown {
  background: var(--pi-surface);
  border: 1px solid var(--pi-border);
  border-radius: 3px;
  box-shadow: 0 14px 40px rgb(0 0 0 / 14%);
  min-width: 15rem;
  padding: 0.45rem;
}
html body.pi-site .navbar[data-pi-shell="app"] .navbar-divider { background: var(--pi-border); }
html body.pi-site .navbar[data-pi-shell="app"] .pi-nav-icon-button {
  background: transparent;
  border: 1px solid var(--pi-border);
  color: var(--pi-text);
  height: 2.25rem;
  width: 2.25rem;
}
html body.pi-site .navbar[data-pi-shell="app"] .pi-access-summary { font-variant-numeric: tabular-nums; }
html body.pi-site .navbar[data-pi-shell="app"] .pi-access-badge-prefix { font-weight: 400; }
html body.pi-site .navbar[data-pi-shell="app"] .navbar-burger { color: var(--pi-text); }
html body.pi-site .navbar[data-pi-shell="app"] .pi-navbar-login input { min-height: 2.25rem; }
html body.pi-site .navbar[data-pi-shell="app"] .pi-navbar-login .button { min-height: 2.25rem; }

/* Analytical navigation uses an underline, so selection survives monochrome. */
html body.pi-site .tabs.pi-tabs {
  background: var(--pi-bg);
  margin: 0;
  padding: 0 clamp(0.75rem, 2vw, 2rem);
}
html body.pi-site .tabs.pi-tabs ul { border-bottom: 1px solid var(--pi-border); gap: 0; }
html body.pi-site .tabs.pi-tabs li :is(a, .pi-tab-disabled) {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  color: var(--pi-muted);
  margin: 0;
  padding: 0.9rem 1rem;
}
html body.pi-site .tabs.pi-tabs li.is-active a {
  background: var(--pi-brand-soft);
  border-bottom-color: var(--pi-brand);
  box-shadow: inset 1px 0 var(--pi-brand), inset -1px 0 var(--pi-brand);
  color: var(--pi-brand);
  font-weight: 650;
}
html body.pi-site .tabs.pi-tabs li a:hover { color: var(--pi-brand); background: var(--pi-brand-soft); }
html body.pi-site .pi-market-selector-shell { padding-top: 1.75rem; padding-bottom: 1.25rem; }
html body.pi-site .pi-market-selector-shell .pi-market-selector-panel {
  border-top: 3px solid var(--pi-brand);
  padding: clamp(1rem, 2vw, 1.6rem);
}
html body.pi-site .pi-market-selector-shell h1 { font-size: clamp(1.65rem, 3vw, 2.5rem); font-weight: 700; text-transform: none; }
html body.pi-site :is(.pi-sentiment-header, .pl-header) { border-top-color: var(--pi-brand); }
html body.pi-site .pi-market-favorites { border-left: 2px solid var(--pi-border-strong); }

/* Tabular figures and quiet rules, never override color-coded data cells. */
html body.pi-site :is(.pi-data-table, .pi-admin-table, .table) {
  background-color: transparent;
  color: var(--pi-text);
  font-family: var(--pi-font-body);
  font-variant-numeric: tabular-nums;
}
html body.pi-site :is(.pi-data-table, .pi-admin-table, .table) :is(td, th) { border-color: var(--pi-border); }
html body.pi-site :is(.pi-data-table, .pi-admin-table, .table) thead th {
  color: var(--pi-muted);
  font-weight: 650;
}
html body.pi-site .sa-panel .sa-header .hero-body { padding: 1.5rem; }
/* Pair ticker ink and fill: Bulma's light fill otherwise keeps dark-mode text. */
html body.pi-site .pi-delphi-workspace .tag.pi-delphi-ticker {
  background-color: var(--pi-surface-muted);
  color: var(--pi-text);
  border: 1px solid var(--pi-border);
  font-weight: 700;
}
html body.pi-site .sa-panel .sa-header { border-top: 3px solid var(--pi-brand); }
html body.pi-site .sa-panel.sa-landing-crs .sa-landing-card {
  background: var(--pi-surface);
  border-color: var(--pi-border);
  color: var(--pi-text);
  box-shadow: var(--pi-shadow);
}
html body.pi-site .pi-home-shell .pi-metric-card {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--pi-border);
  border-radius: 0;
  box-shadow: none;
}
html body.pi-site .landing-citation-card blockquote {
  background: transparent;
  border-left: 2px solid var(--pi-brand);
  color: var(--pi-muted);
  padding: 0.25rem 0 0.25rem 1.25rem;
}
html body.pi-site :is(.sa-metric-meta, .sa-metric-foot, .sa-contributor-help, .sa-treemap-summary) { color: var(--pi-muted); }
html body.pi-site :is(.sa-help-modal, .pi-ui, .pi-admin-ui) :is(.modal-card-head, .modal-card-body, .modal-card-foot) {
  background: var(--pi-surface);
  border-color: var(--pi-border);
  color: var(--pi-text);
}
html body.pi-site .modal-card-title { color: var(--pi-text); }

/* A compact colophon, with external technology credits as text. */
html body.pi-site .pi-site-footer {
  background: var(--pi-bg);
  border-top: 3px solid var(--pi-brand);
  color: var(--pi-muted);
  margin-top: 2.5rem;
  padding: 2.5rem 1.5rem 1.5rem;
}
html body.pi-site .pi-footer-brand { display: inline-block; }
html body.pi-site .pi-footer-brand img { width: 200px; height: auto; opacity: 1; }
html body.pi-site .pi-footer-context { color: var(--pi-muted); font-size: 0.875rem; margin-top: 0.65rem; }
html body.pi-site .pi-footer-links { gap: 1.5rem; margin: 0; font-size: 0.875rem; }
html body.pi-site .pi-footer-links a { color: var(--pi-text); }
html body.pi-site .pi-footer-fineprint {
  border-top: 1px solid var(--pi-border);
  font-size: 0.875rem;
  line-height: 1.7;
  padding-top: 1.25rem;
}
html body.pi-site .pi-footer-fineprint > p { max-width: 76rem; }
html body.pi-site .pi-footer-build { margin-top: 0.65rem; }
html body.pi-site .pi-footer-build span { display: inline-block; margin-left: 0.75rem; }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  html body.pi-site .navbar[data-pi-shell="app"] { padding-inline: 0.75rem; }
  html body.pi-site .navbar[data-pi-shell="app"] .navbar-logo { width: 154px; }
  html body.pi-site .navbar[data-pi-shell="app"] .pi-brand-link { padding-right: 1rem; }
  html body.pi-site .navbar[data-pi-shell="app"] :is(.navbar-item, .navbar-link) { font-size: 0.875rem; }
}
@media screen and (max-width: 1023px) {
  html body.pi-site .navbar[data-pi-shell="app"] .navbar-brand { min-height: 3.75rem; }
  html body.pi-site .navbar[data-pi-shell="app"] .navbar-menu {
    background: var(--pi-bg);
    border-top: 1px solid var(--pi-border);
    box-shadow: none;
    max-height: calc(100dvh - 4.5rem);
    overflow-y: auto;
    padding: 0.75rem 0;
  }
  html body.pi-site .navbar[data-pi-shell="app"] .navbar-dropdown {
    box-shadow: none;
    margin: 0.35rem 0;
    min-width: 0;
  }
  html body.pi-site .navbar[data-pi-shell="app"] .navbar-start { display: block; }
}
@media screen and (max-width: 620px) {
  html body.pi-site .tabs.pi-tabs li :is(a, .pi-tab-disabled) { padding: 0.8rem 0.45rem; }
  html body.pi-site .tabs.pi-tabs .pi-tab-label { font-size: 0.875rem; }
  html body.pi-site .pi-site-footer { padding: 2rem 1.1rem 1.25rem; }
  html body.pi-site .pi-site-footer .columns { --bulma-column-gap: .75rem; }
  html body.pi-site .pi-footer-links { gap: 1.15rem; }
  html body.pi-site .pi-market-selector-shell { padding-inline: 0.5rem; }
  html body.pi-site .pi-market-selector-shell .container { padding-inline: 0.25rem; }
}
@media screen and (max-width: 768px) {
  html body.pi-site .pi-portfolio-lab .columns.is-variable { --bulma-column-gap: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html body.pi-site .button { transition: none; }
}

/* Shared Bulma select menus keep native select values and events for forms and charts. */
html body.pi-site .select.pi-select-host {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
html body.pi-site .select.pi-select-host.is-fullwidth { display: block; width: 100%; }
html body.pi-site .select.pi-select-host::after { display: none; }
html body.pi-site .pi-select-host > select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}
html body.pi-site .pi-select-dropdown,
html body.pi-site .pi-select-dropdown .dropdown-trigger { width: 100%; }
html body.pi-site .pi-select-trigger.button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  min-width: min(8rem, 100%);
  max-width: 100%;
  background: var(--pi-surface);
  border: 1px solid var(--pi-border-strong);
  border-radius: var(--pi-radius);
  box-shadow: none;
  color: var(--pi-text);
  font: 600 .875rem var(--pi-font-body);
  text-align: left;
}
html body.pi-site .pi-select-trigger.button:hover,
html body.pi-site .pi-select-dropdown.is-active .pi-select-trigger {
  border-color: var(--pi-brand);
}
html body.pi-site .pi-select-trigger.button:focus-visible {
  outline: 2px solid var(--pi-focus);
  outline-offset: 2px;
}
html body.pi-site .pi-select-trigger.button:disabled {
  background: var(--pi-surface-muted);
  color: var(--pi-muted);
  opacity: .72;
}
html body.pi-site .pi-select-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html body.pi-site .pi-select-chevron {
  flex: 0 0 auto;
  width: .55rem;
  height: .55rem;
  margin-top: -.25rem;
  border-right: 2px solid var(--pi-brand);
  border-bottom: 2px solid var(--pi-brand);
  transform: rotate(45deg);
}
html body.pi-site .pi-select-popover.dropdown-menu {
  position: fixed;
  z-index: 2200;
  display: block;
  min-width: 0;
  padding: 0;
}
html body.pi-site .pi-select-popover .dropdown-content {
  overflow-y: auto;
  padding: .3rem;
  background: var(--pi-surface);
  border: 1px solid var(--pi-border-strong);
  border-radius: var(--pi-radius);
  box-shadow: 0 8px 24px rgb(0 0 0 / 16%);
  color: var(--pi-text);
}
html body.pi-site .pi-select-popover .pi-select-search {
  margin-bottom: .25rem;
  background: var(--pi-surface);
  color: var(--pi-text);
}
html body.pi-site .pi-select-popover .pi-select-option.dropdown-item {
  display: block;
  width: 100%;
  min-height: 2.15rem;
  padding: .35rem .55rem;
  background: transparent;
  border: 0;
  border-radius: var(--pi-radius);
  color: var(--pi-text);
  font: 600 .875rem var(--pi-font-body);
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
html body.pi-site .pi-select-popover .pi-select-option:is(:hover, :focus-visible),
html body.pi-site .pi-select-popover .pi-select-option[aria-selected="true"] {
  background: var(--pi-brand-soft);
  color: var(--pi-text);
}
html body.pi-site .pi-select-popover .pi-select-option:focus-visible {
  outline: 2px solid var(--pi-focus);
  outline-offset: -2px;
}
html body.pi-site .pi-select-popover .pi-select-option:disabled {
  color: var(--pi-muted);
  opacity: .6;
  cursor: not-allowed;
}
html body.pi-site .pi-select-popover .pi-select-status {
  margin: .25rem .5rem;
  color: var(--pi-muted);
}
html body.pi-site .pi-select-popover .pi-select-status:empty { display: none; }
html body.pi-site .pi-select-popover .pi-select-group {
  margin: .35rem .55rem .1rem;
  color: var(--pi-muted);
  font: 700 .875rem var(--pi-font-body);
}
html body.pi-site .pi-select-error { color: var(--pi-danger, #dc2626); }
html body.pi-site .pi-select-trigger[aria-invalid="true"] { border-color: var(--pi-danger, #dc2626); }

/* Research folio: page/section controls and explanatory copy remain readable.
   Plot axes, marks, dense evidence tables and chart labels keep their scales. */
html body.pi-site :is(.pi-research-toolbar, .pi-market-selector-shell, .pi-account-menu, .pi-form-stage) :is(.input, .select select, .button) { font-size: 1rem; }
html body.pi-site :is(.pi-research-toolbar, .pi-market-selector-shell, .pi-form-stage) :is(.label, .help) { font-size: .875rem; line-height: 1.5; }
html body.pi-site :is(.pi-control-help, .sa-control-help, .signup-subtitle, .signup-footnote) { font-size: .875rem; }
html body.pi-site .pi-research-section-title :is(h2, h3),
html body.pi-site :is(.pi-desk-heading, .pi-workspace-pagehead) h1 { font-family: var(--pi-font-display); }
html body.pi-site .pi-research-awareness .sa-header { background: transparent; border: 0; border-bottom: 1px solid var(--pi-border); box-shadow: none; }
html body.pi-site .pi-research-awareness .sa-header .hero-body { padding-inline: 0; }
html body.pi-site .pi-research-awareness .sa-header h1 { font-size: clamp(2.25rem, 3vw, 3.25rem); }
html body.pi-site .pi-research-awareness .sa-header .subtitle { font-size: 1.0625rem; line-height: 1.65; margin-top: 1rem; }
html body.pi-site .pi-portfolio-lab__header .pi-portfolio-lab__question { font-size: 1.0625rem; line-height: 1.65; max-width: 68ch; }
html body.pi-site .pi-portfolio-lab__boundary { font-size: .875rem; line-height: 1.6; }
html body.pi-site :is(.sa-controls, .pi-portfolio-lab__context, .pi-portfolio-lab__entry) :is(.input, .select select, .button) { font-size: 1rem; }
html body.pi-site :is(.sa-controls, .pi-portfolio-lab__context, .pi-portfolio-lab__entry) :is(.label, .help) { font-size: .875rem; line-height: 1.5; }
html body.pi-site :is(#universe-summary-section, #universe-map-section, .pi-portfolio-lab, .pi-home-shell) h2.pi-panel-title { font-family: var(--pi-font-display); font-size: clamp(1.75rem, 2.5vw, 2.25rem); }
html body.pi-site #universe-map-section > .level { flex-wrap: wrap; gap: .75rem; }
html body.pi-site #universe-map-section > .level .level-left { min-width: 0; flex: 1 1 14rem; }
html body.pi-site #universe-map-section h2 { overflow-wrap: anywhere; }
/* Enlarged text reflows evidence toolbars; data tables scroll within their own shell. */
html body.pi-site .sa-panel :is(.sa-crs-map-heading, .sa-contributor-heading-row) { flex-wrap: wrap; gap: .75rem; }
html body.pi-site .sa-panel :is(.sa-crs-map-heading, .sa-contributor-heading-row) :is(.level-left, .level-right) { min-width: 0; max-width: 100%; flex-wrap: wrap; flex-shrink: 1; margin-left: 0; }
html body.pi-site .sa-panel .sa-contributor-heading-row .level-item { min-width: 0; max-width: 100%; flex-shrink: 1; }
html body.pi-site .sa-panel :is(.sa-crs-view-toggle, .sa-contributor-heading-row) .button { max-width: 100%; height: auto; min-height: 2.25rem; white-space: normal; overflow-wrap: anywhere; }
html body.pi-site .sa-panel .sa-contributor-limit-control { max-width: 100%; }
html body.pi-site .pi-portfolio-lab :is(.table-container, .pi-table-wrap) { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
html body.pi-site .pi-portfolio-lab :is(.column, .pi-portfolio-lab__section, .pi-panel) { min-width: 0; }
html body.pi-site .pi-portfolio-lab__header > .level,
html body.pi-site .pi-portfolio-lab__positions-header { flex-wrap: wrap; gap: .75rem; }
html body.pi-site .pi-portfolio-lab :is(.pi-portfolio-lab__header, .pi-portfolio-lab__positions-header) :is(.level-left, .level-right) { min-width: 0; max-width: 100%; flex-wrap: wrap; margin-left: 0; }
html body.pi-site .pi-portfolio-lab__state-tags .tag { white-space: normal; height: auto; overflow-wrap: anywhere; max-width: 100%; }
html body.pi-site :is(.pi-portfolio-lab__context, .pi-portfolio-lab__section-heading, .pi-context-guide) > .title,
html body.pi-site #portfolio-context-title { font-family: var(--pi-font-display); font-size: clamp(1.75rem, 2.5vw, 2.25rem); overflow-wrap: anywhere; }

html body.pi-site .pi-portfolio-lab :is(.table-container, .pi-table-wrap) { position: relative; }
html body.pi-site .pi-portfolio-lab__entry .button { max-width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; height: auto; min-height: 2.75rem; line-height: 1.5; }
html body.pi-site .pi-context-page .content { overflow-wrap: anywhere; }
html body.pi-site .pi-portfolio-lab__metric-card :is(.pi-portfolio-lab__metric-label, .pi-portfolio-lab__metric-value) { overflow-wrap: anywhere; min-width: 0; }
html body.pi-site .pi-portfolio-lab__pro-header { flex-wrap: wrap; gap: .75rem; }
html body.pi-site .pi-portfolio-lab__pro-header > .level-left { flex: 1 1 22rem; min-width: 0; max-width: 100%; }
html body.pi-site .pi-portfolio-lab__pro-header > .level-left > div { min-width: 0; overflow-wrap: anywhere; }
html body.pi-site .pi-portfolio-lab__pro-header > .level-right { flex: 0 1 auto; min-width: 0; max-width: 100%; margin-left: 0; }
html body.pi-site .pi-portfolio-lab__pro-header .tag { white-space: normal; height: auto; max-width: 100%; overflow-wrap: anywhere; }
