.life-page-intro { margin-bottom: var(--space-5); }
.life-filter-panel { margin: 0 0 12px; padding: 6px 0; border-block: 1px solid var(--line); }
.life-filter-panel > summary { min-height: 44px; cursor: pointer; color: var(--accent-dark); font-weight: 700; }
.life-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding-top: 14px; }
.life-company-picker { margin: 18px 0 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--line); }
.life-company-picker legend { font-weight: 700; }
.life-company-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px 16px; max-height: 260px; overflow: auto; }
.life-company-option { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.life-chart-panel { margin-bottom: var(--space-5); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--panel); box-shadow: var(--panel-shadow); }
.life-chart-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 8px; }
.life-chart-panel.is-pinned { background: var(--panel); }
/* Selection changes content, never the chart geometry or page position. */
#life-chart-wrap { height: clamp(380px, 48svh, 560px); }
.life-chart-panel { overflow-anchor: none; }
#life-chart-status { min-height: 2lh; }
#life-unpin-button[hidden] { display: inline-block !important; visibility: hidden; }
.life-hidden-lines { height: 48px; overflow-y: auto; }
#life-chart-status, #life-hidden-status { margin: 4px 0 0; }
#life-hidden-status { color: var(--muted); font-size: 13px; }
#life-show-all-lines, #life-unpin-button { margin-top: 8px; }
.life-hidden-lines { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-block: 4px; }
.life-hidden-lines #life-show-all-lines { margin-top: 0; }
.life-average-picker { margin: 0 0 12px; padding: 0; border: 0; min-width: 0; }
.life-average-options { display: flex; flex-wrap: wrap; gap: 6px; }
.life-average-options button { min-height: 44px; padding-inline: 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: var(--panel); font: inherit; cursor: pointer; }
.life-average-options button[aria-pressed="true"], .life-average-options button.is-selected { color: var(--accent-dark); border-color: var(--accent); background: var(--accent-soft); font-weight: 700; }
.life-average-options button:focus-visible, .life-line-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.life-summary-panel { margin-bottom: var(--space-5); }
.life-company-pills { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-3); align-items: stretch; }
.life-company-card { display: grid; grid-template-rows: 1fr auto; gap: var(--space-1); min-width: 0; height: 100%; }
.life-company-pill { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: var(--space-2); width: 100%; min-width: 0; min-height: 156px; padding: var(--space-4); color: var(--ink); text-align: left; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-md); font-variant-numeric: tabular-nums; }
.life-company-card .life-company-pill { grid-template-columns: minmax(0, 1fr); }
.life-company-card .life-company-pill__name, .life-company-card .life-company-pill strong { grid-column: 1; grid-row: auto; }
.life-company-card .life-company-pill strong { margin-top: 2px; }
.life-line-toggle { justify-self: start; min-height: 44px; padding: 6px 10px; color: var(--accent-dark); background: transparent; border: 1px solid transparent; border-radius: var(--radius-sm); cursor: pointer; font: inherit; font-size: 12px; }
.life-line-toggle[aria-pressed="false"] { color: var(--muted); background: var(--subtle); }
.life-line-toggle:disabled { cursor: default; opacity: .6; }
.life-company-pill:hover, .life-company-pill[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); }
.life-company-pill { transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; cursor: pointer; }
.life-company-pill[aria-pressed="true"] { transform: translateY(-2px); box-shadow: 0 0 0 1px var(--accent), 0 8px 20px rgb(79 70 229 / 10%); }
.life-company-pill:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.life-company-pill__name { display: flex; align-items: center; gap: 7px; min-width: 0; font-weight: 700; }
.life-company-pill__name i { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; }
.life-company-pill strong { font-size: 24px; line-height: 1.2; }
.life-company-pill small { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
.life-company-pill__actual { padding-top: 4px; border-top: 1px solid var(--subtle); }
.life-detail { margin: 12px 0 22px; padding: 18px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; }
.life-context { margin: 16px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, var(--accent-soft) 38%, var(--panel)); overflow-wrap: anywhere; }
.life-context > h2 { margin: 0 0 8px; font-size: var(--text-lg); }
.life-context__summary { margin: 0; color: var(--ink); line-height: 1.65; }
.life-context__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 14px; margin: 14px 0 0; font-variant-numeric: tabular-nums; }
.life-context__metrics > div { min-width: 0; }
.life-context__metrics dt, .life-context__date, .life-context__sources span { color: var(--muted); font-size: var(--text-xs); }
.life-context__metrics dd { margin: 3px 0 0; font-weight: 650; overflow-wrap: anywhere; }
.life-context__details { margin-top: 12px; border-top: 1px solid var(--line); }
.life-context__details > summary { min-height: 44px; display: flex; align-items: center; width: fit-content; color: var(--accent-dark); cursor: pointer; font-weight: 650; }
.life-context__details > summary:focus-visible, .life-context a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 3px; }
.life-context__body { padding: 2px 0 4px; }
.life-context__body > p { margin: 8px 0; line-height: 1.65; }
.life-context__item { margin-top: 12px; padding: 12px; border-left: 3px solid var(--accent); background: var(--panel); border-radius: 0 8px 8px 0; }
.life-context__item[data-evidence-status="unconfirmed"] { border-left-color: var(--danger); }
.life-context__item-heading { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; }
.life-context__item h4 { margin: 0; font-size: var(--text-base); }
.life-context__item-heading span { padding: 2px 7px; border-radius: 999px; color: var(--accent-dark); background: var(--accent-soft); font-size: var(--text-xs); }
.life-context__item[data-evidence-status="unconfirmed"] .life-context__item-heading span { color: var(--danger); background: var(--danger-soft); }
.life-context__item p { margin: 7px 0 0; line-height: 1.65; }
.life-context__date { font-variant-numeric: tabular-nums; }
.life-context__related { display: flex; flex-wrap: wrap; gap: 8px; }
.life-context__sources { margin: 9px 0 0; padding-left: 18px; }
.life-context__sources li + li { margin-top: 5px; }
.life-context__sources a { overflow-wrap: anywhere; }
.life-source-links { padding-left: 20px; }
.life-source-links li { margin-block: 6px; }
.life-view-share { margin: 0 0 var(--space-5); justify-items: start; }
@media (max-width: 800px) { .life-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .life-company-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .life-filter-grid, .life-company-options { grid-template-columns: 1fr; } .life-chart-panel { margin-inline: -8px; padding: var(--space-4); border-radius: var(--radius-md); } .life-company-pills { grid-template-columns: 1fr; } .life-company-pill { min-height: 148px; } .life-filter-panel > summary, .life-company-option { min-height: 44px; } .life-detail, .life-context { padding: 14px; } .life-context__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .life-average-options button, .life-line-toggle { min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { .life-company-pill { transition: none; transform: none !important; } }

/* Life comparison controls share the main dashboard hierarchy. */
.life-chart-heading #life-unpin-button { flex-shrink: 0; margin: 0; }
#life-selection-summary, #life-summary-period { color: var(--muted); font-size: var(--text-sm); margin-bottom: 0; }
.life-company-card .life-company-pill { grid-template-columns: minmax(0, 1fr); }
.life-company-card .life-company-pill strong { margin: 0; }
.life-company-pill__name { font-size: var(--text-sm); font-weight: 650; overflow-wrap: anywhere; }
.life-company-pill small { font-size: 11px; }
.life-company-pill[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); }
.life-line-toggle { font-size: 11px; }
.life-line-toggle:disabled { visibility: hidden; }
@media (max-width: 480px) {
  .life-chart-heading { gap: 8px; }
  .life-company-card { max-width: 100%; }
}
