/* Shared reading hierarchy and thumb-accessible navigation. No data is hidden
   by truncation; secondary explanations use native, keyboard-accessible details. */
.interface-details { margin-block: 10px; color: var(--sil-muted); font: 400 13px/1.6 var(--sil-font); }
.interface-details > summary { display: list-item; width: fit-content; max-width: 100%; min-height: 44px; align-content: center; cursor: pointer; color: var(--sil-accent); font-weight: 550; list-style-position: inside; }
.interface-details > summary:focus-visible { outline: 2px solid var(--sil-focus); outline-offset: 3px; }
.interface-details[open] > summary { margin-bottom: 6px; }
.interface-details p { max-width: 70ch; margin-block: 8px; }
.interface-details > :last-child { margin-bottom: 0; }
#workspace-navigation svg, #workspace-navigation .workspace-label-compact { display: none; }
.platform-main .entry-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 18px 0 0; margin: 0; list-style: none; border-top: 1px solid var(--sil-line); color: var(--sil-muted); font-size: 13px; }
.entry-flow li { display: flex; align-items: center; gap: 8px; }
.entry-flow li + li::before { content: ""; width: 14px; height: 1px; background: var(--sil-line-strong); }
.platform-main .entry-thesis { font-size: 21px; line-height: 1.45; text-wrap: balance; }
.platform-main .entry-description { max-width: 52ch; font-size: 15px; line-height: 1.65; }
.platform-main .line-type, .platform-main .shared-principle { display: none; }
.platform-main .entry-heading { margin-bottom: 0; }
.platform-main .research-entrances { align-items: stretch; }
.platform-main .line-entry { padding: 30px; }
.platform-main .section-heading > p { max-width: 60ch; }
.platform-main .platform-intro { padding-block: 48px 32px; }
.platform-main .platform-intro h1 { font-size: clamp(32px, 3.4vw, 52px); line-height: 1.17; }
.platform-main .intro-copy { max-width: 54ch; }
.platform-main .intro-copy p:first-child { font-size: 18px; }
.platform-main .intro-copy p + p { margin-top: 0; font-size: 15px; }
.platform-main .alta-introduction > p { max-width: 60ch; }
.sil-quant-shell ~ main .eyebrow { display: none; }
.overview-heading { align-items: center; gap: 8px 16px; }
.overview-heading h1 { flex-basis: auto; }
.overview-lead { margin-top: 14px; gap: 16px; }
.overview-strategy-summary { font-size: 15px; line-height: 1.6; }
.overview-strategy-risk { margin-top: 8px; }
.overview-lead .interface-details { margin: 0; }
.overview-strategy-link { margin: 0; }
.research-heading h1 { font-size: clamp(24px, 2.2vw, 32px); }
.research-heading p { max-width: 50ch; }
.research-evidence { flex-wrap: wrap; }
.research-caution { margin-block: 12px; }
.research-note { line-height: 1.6; }
.strategy-heading h2 { font-size: clamp(24px, 2vw, 32px); line-height: 1.2; text-wrap: balance; }
.research-method-columns { gap: 28px; }
.research-method-columns .interface-details { margin: 0; }
.research-jump { display: none !important; }
.public-feed-status { font-size: 12px; margin-bottom: 12px; padding-block: 8px; }
.public-feed-status summary { cursor: pointer; min-height: 44px; align-content: center; color: var(--sil-muted); list-style-position: inside; }
.public-feed-status[data-state=delayed] summary { color: var(--sil-ink); }
.research-section[hidden] { display: none !important; }
.research-heading #research-settings { margin: 0; }
.research-heading #research-settings > summary { margin-left: auto; }
.research-heading #research-settings[open] { flex: 1 1 100%; }
.public-feed-status p { max-width: 70ch; margin: 8px 0; }
#public-feed-status { padding-block: 0; margin-bottom: 12px; font-size: 12px; }
#public-feed-status > details { padding: 0; margin: 0; border: 0; }
.dashboard-load-status { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 16px max(16px, var(--sil-gutter)); padding: 16px; border: 1px solid var(--sil-line); background: var(--sil-surface); color: var(--sil-ink); font: 400 14px/1.6 var(--sil-font); }
.dashboard-load-status span { flex: 1 1 240px; max-width: 65ch; }
.dashboard-load-status button { min-width: 64px; min-height: 44px; border: 1px solid var(--sil-line-strong); border-radius: 6px; padding-inline: 16px; background: var(--sil-surface); color: var(--sil-accent); font: 550 14px/1.4 var(--sil-font); cursor: pointer; }
.dashboard-load-status button:focus-visible { outline: 2px solid var(--sil-focus); outline-offset: 3px; }
.dashboard-load-status button:disabled { color: var(--sil-muted); cursor: wait; }
.mobile-workspace-nav a { color: var(--sil-muted); }
.mobile-workspace-nav a.active { color: var(--sil-accent); background: var(--sil-wash); border-radius: 6px; }
.mobile-workspace-nav a:focus-visible { outline: 2px solid var(--sil-focus); outline-offset: -3px; }
.strategy-research #research-settings { padding: 0; border: 0; }
@media (max-width: 900px) {
  :root { --sil-bottom-nav: calc(60px + env(safe-area-inset-bottom, 0px)); }
  html { scroll-padding-bottom: calc(var(--sil-bottom-nav) + 16px); }
  body:has(.sil-quant-shell) { padding-bottom: 0; }
  .sil-global-header .mobile-menu-button { display: none !important; }
  :is(.sil-quant-shell #workspace-navigation, #workspace-navigation.mobile-workspace-nav) { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); position: fixed; z-index: 120; inset: auto 0 0; width: 100%; height: var(--sil-bottom-nav); box-sizing: border-box; gap: 0; padding: 4px max(8px, env(safe-area-inset-right, 0px)) env(safe-area-inset-bottom, 0px) max(8px, env(safe-area-inset-left, 0px)); border: 0; border-top: 1px solid var(--sil-line); border-radius: 0; background: var(--sil-chrome); box-shadow: none; }
  :is(.sil-quant-shell #workspace-navigation, #workspace-navigation.mobile-workspace-nav) a { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; min-width: 0; min-height: 52px; padding: 3px 2px; font: 550 12px/1.25 var(--sil-font); text-decoration: none; overflow-wrap: normal; white-space: normal; text-align: center; }
  #workspace-navigation.mobile-workspace-nav { position: sticky; top: auto; bottom: 0; }
  :is(.sil-quant-shell #workspace-navigation, #workspace-navigation.mobile-workspace-nav) a::before { inset: 3px 4px; }
  :is(.sil-quant-shell #workspace-navigation, #workspace-navigation.mobile-workspace-nav) a::after { display: none; }
  #workspace-navigation svg { display: block; width: 19px; height: 19px; flex: 0 0 auto; }
  #workspace-navigation .workspace-label-wide { display: none; }
  #workspace-navigation .workspace-label-compact { display: inline; }
  html[data-strategy-research=true] :is(.sil-quant-shell #workspace-navigation, #workspace-navigation.mobile-workspace-nav) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-strategy-research=true] :is(.sil-quant-shell #workspace-navigation, #workspace-navigation.mobile-workspace-nav) a { font-size: 13px; padding-inline: 8px; }
  .sil-quant-shell .connection-state { flex: 0 0 auto; }
  .sil-quant-shell #strategy-switcher { flex: 1 1 auto; min-width: 0; }
  /* One mobile context control, aligned with the shared chrome rather than
     a miniature desktop form field. Reserve room for two-line names. */
  html[data-ui-mode="precision-ledger"] { --sil-subbar-height: 60px; }
  .sil-quant-shell #strategy-selector {
    width: 100%; max-width: none; height: auto; min-height: 48px;
    grid-template-columns: 44px minmax(0, 1fr) 20px; gap: 10px;
    padding: 3px 7px; border: 1px solid var(--sil-line); border-radius: 6px;
    background: var(--sil-surface); box-shadow: none; overflow: visible;
    color: var(--sil-ink); text-align: left; touch-action: manipulation;
  }
  .sil-quant-shell #strategy-selector:is(:hover, :active, [aria-expanded="true"]) {
    border-color: var(--sil-line-strong); background: var(--sil-wash); box-shadow: none;
  }
  .sil-quant-shell #strategy-selector:focus-visible {
    outline: 2px solid var(--sil-focus); outline-offset: 2px;
  }
  .sil-quant-shell #strategy-active-code {
    display: flex; align-items: center; justify-content: flex-start;
    width: 44px; min-width: 0; height: 24px; margin: 0; padding: 0;
    border: 0; border-right: 1px solid var(--sil-line-strong); border-radius: 0;
    background: transparent; color: var(--sil-accent);
    font: 650 12px/1 var(--sil-font); letter-spacing: .02em;
  }
  .sil-quant-shell #strategy-selector .strategy-trigger-copy {
    display: grid; width: 100%; min-width: 0; justify-items: start; gap: 0;
  }
  .sil-quant-shell #strategy-active-name {
    font: 550 14px/1.3 var(--sil-font); letter-spacing: 0;
    white-space: normal; overflow-wrap: anywhere; overflow: visible; text-overflow: clip;
  }
  .sil-quant-shell #strategy-active-tagline { display: none; }
  .sil-quant-shell #strategy-selector .strategy-trigger-meta { width: 20px; gap: 0; padding: 0; }
  .sil-quant-shell #strategy-switch-action { width: 20px; min-width: 20px; height: 20px; }
  .sil-quant-shell #strategy-switch-action img { width: 18px; height: 18px; opacity: 1; }
  .sil-quant-shell .connection-state { font-weight: 550; }
  /* Keep the open menu's reading scale in the same family as its trigger. */
  #strategy-sidebar .strategy-sidebar-option .strategy-option-code { font-size: 12px; letter-spacing: .02em; }
  #strategy-sidebar .strategy-sidebar-option .strategy-option-copy strong { font-size: 14px; }
  #system-card { min-height: 0 !important; display: grid; grid-template-columns: minmax(0, 1fr) 52px; gap: 12px; padding-block: 20px !important; }
  #system-card .card-heading { grid-column: 1; margin: 0; }
  #system-card .health-orbit { grid-column: 2; grid-row: 1; width: 48px !important; height: 48px !important; min-height: 0 !important; margin: 0 !important; }
  #system-card .health-list, #system-card .interface-details { grid-column: 1 / -1; margin: 0; }
  #system-card .health-message { margin: 0; }
  #system-card #system-title { font-size: 22px; }
  .strategy-research .research-section { padding-block: 24px; }
  .strategy-research .research-section h2 { font-size: 22px; line-height: 1.3; }
  .strategy-research .research-controls { gap: 12px; }
  .strategy-research select { min-height: 44px; font-size: 16px; }
  .strategy-research .research-note { font-size: 13px; }
  .research-evidence { gap: 8px 12px; padding-block: 12px; }
  .research-evidence #research-refresh { min-height: 44px; }
  .research-evidence > span:nth-child(2) { font-size: 12px; }
  .strategy-research .research-heading { gap: 8px; }
  .strategy-research .research-heading p { margin-block: 6px 0; }
  .strategy-research .research-evidence { padding-block: 6px; }
  .strategy-research > .research-caution { padding: 8px 0; margin-block: 8px; background: none; }
  .sil-quant-shell ~ main .performance-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; }
  .sil-quant-shell ~ main .performance-actions { width: auto; }
  .sil-quant-shell ~ main .range-sync { width: auto; min-height: 44px; padding-inline: 12px; font-size: 12px; }
  .sil-quant-shell ~ main #performance .chart-card > .card-heading { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; }
  .sil-quant-shell ~ main #performance .chart-card > .card-heading > div { flex: 0 1 auto; min-width: 0; }
  .sil-quant-shell ~ main #performance .chart-card .chart-header-controls { margin-left: auto; width: auto; }
}
@media (max-width: 600px) {
  :root { --sil-gutter: 16px; --sil-header-height: 92px; }
  .sil-global-header { grid-template-rows: 48px 44px; }
  .sil-platform-chrome .sil-context-bar { display: none; }
  .platform-main .platform-intro { text-align: left; justify-items: start; align-items: start; gap: 20px; padding: 28px 0 24px; }
  .platform-main .platform-intro h1 { text-align: left; font-size: 32px; line-height: 1.18; }
  .platform-main .platform-intro h1 span { display: block; }
  .platform-main .platform-intro h1 span + span { margin-top: 4px; }
  .platform-main .intro-copy p:first-child { font-size: 15px; }
  .platform-main .intro-copy p + p { font-size: 14px; }
  .platform-main .line-entry { padding: 22px 20px; }
  .platform-main .entry-heading { margin-bottom: 12px; }
  .platform-main .entry-heading h2 { font-size: 24px; }
  .platform-main .entry-thesis { margin-block: 8px; padding-top: 0; border-top: 0; font-size: 20px; }
  .platform-main .entry-description { font-size: 14px; margin-block: 10px 16px; }
  .platform-main .entry-footer { margin-top: 16px; gap: 12px; }
  .platform-main .sil-resume-context { font-size: 12px; margin-top: 10px; }
  .platform-main .section-heading h2, .platform-main .alta-section h2 { font-size: 24px; line-height: 1.25; }
  .platform-main .research-section { padding-block: 28px; }
  .platform-main .research-lab { padding: 20px 16px; }
  .platform-main .stage-list { gap: 6px; }
  .platform-main .stage-list button { min-height: 64px; padding: 8px 2px; }
  .platform-main .stage-detail { padding-block: 20px; }
  .platform-main .stage-detail h3 { font-size: 22px; }
  .platform-main .stage-detail p { font-size: 14px; }
  .overview-heading h1 { flex: 1 1 190px; font-size: 24px; line-height: 1.25; }
  .overview-heading .status-pill { font-size: 11px; padding: 5px 8px; }
  .overview-strategy-summary { font-size: 15px; }
  .overview-strategy-risk { font-size: 13px; line-height: 1.55; }
  .overview-returns { margin-top: 18px; }
  .overview-chart-controls { gap: 8px; }
  .overview-chart-controls a { min-height: 44px; }
  .overview-chart-plot { height: 124px; }
  .overview-chart-dates { font-size: 12px; }
  .performance-toolbar .performance-intro h1, .position-workspace-copy h1 { font-size: 24px; }
  .performance-toolbar .performance-intro p, .position-workspace-copy p { font-size: 14px; }
  #main .card-heading h2 { font-size: 22px; line-height: 1.3; }
  #strategy-brief .brief-primary { gap: 6px; }
  #strategy-brief .brief-facts { margin-block: 12px; }
  #strategy-brief .interface-details { grid-column: 1 / -1; width: 100%; margin: 0; }
  .strategy-research { box-sizing: border-box; width: 100%; padding-top: 16px; padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px)); }
  .strategy-research .research-heading { gap: 0 12px; }
  .strategy-research #public-feed-status { margin: 0; }
  .strategy-research #public-feed-status summary { min-height: 36px; }
  .strategy-research .research-heading p { font-size: 15px; }
  .strategy-research .research-pair-stats { gap: 12px; }
  .strategy-research .research-heatmap { min-width: 0; }
  .strategy-research .research-heatmap th { font-size: 11px; letter-spacing: 0; }
  .strategy-research .research-heatmap td button { min-height: 44px; }
}
@media (max-height: 480px) and (min-width: 601px) and (max-width: 900px) {
  :root { --sil-header-height: 56px; --sil-bottom-nav: calc(52px + env(safe-area-inset-bottom, 0px)); }
  :is(.sil-quant-shell #workspace-navigation, #workspace-navigation.mobile-workspace-nav) a { flex-direction: row; gap: 8px; min-height: 44px; }
}
@media (max-width: 360px) {
  /* Full names take priority at the narrowest widths. Codes remain available
     in the chooser; do not squeeze the strategy into three clipped lines. */
  .sil-quant-shell #strategy-selector { grid-template-columns: minmax(0, 1fr) 20px; gap: 8px; }
  .sil-quant-shell #strategy-active-code { display: none; }
}
@media print {
  #workspace-navigation { display: none !important; }
  body:has(.sil-quant-shell) { padding-bottom: 0; }
}
