/* V0.4.1B navigation, financial library, and typography refinements. */
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans-Variable.ttf?v=09966b") format("truetype");
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans-Italic-Variable.ttf?v=09966b") format("truetype");
  font-style: italic;
  font-weight: 300 800;
  font-display: swap;
}

:root {
  --display: var(--umbral-font-display);
  --sans: var(--umbral-font-body);
  --mono: var(--umbral-font-mono);
}

html,
body,
body * {
  font-family: "Open Sans", Arial, sans-serif !important;
}

:root[data-theme="light"],
[data-theme="light"] {
  --cream: var(--umbral-color-text);
  --soft: var(--umbral-color-text-soft);
  --muted: var(--umbral-color-text-muted);
  --ghost: var(--umbral-color-text-muted);
  --faint: var(--umbral-color-text-subtle);
  --text: var(--umbral-color-text);
  --text-soft: var(--umbral-color-text-soft);
  --text-muted: var(--umbral-color-text-muted);
  color: var(--umbral-color-text);
}

[data-theme="light"] body,
[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select {
  color: #171a18;
}

/* Wider, calmer left navigation. */
.command-shell {
  --rail-width: 340px;
  position: relative;
  grid-template-columns: var(--rail-width) minmax(0, 1fr) 320px;
}

.dashboard.rail-collapsed .command-shell {
  grid-template-columns: 0 minmax(0, 1fr) 320px;
}

.rail-brand .brand-button {
  display: grid;
  place-items: center;
  width: 90%;
  padding: .25rem 0;
}

.rail-brand .brand-button img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

.rail-menu-bar p {
  margin: 0 0 .18rem;
  color: var(--ghost);
  font-size: .7rem;
  font-weight: 650;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.rail-menu-bar h2 {
  margin: 0;
  color: var(--soft);
  font-size: 1.16rem;
  font-weight: 700;
  line-height: 1.2;
}

.rail-library-switch {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
}

.rail-footer a {
  color: var(--gold);
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.rail-header-meta p { font-size: .78rem; }
.rail-header-meta strong { font-size: 1.15rem; }
.rail-doc-row { min-height: 68px; }
.rail-doc-number { font-size: .76rem; font-weight: 700; }
.rail-doc-main strong { font-size: .96rem; font-weight: 650; line-height: 1.34; }
.rail-doc-main small { font-size: .78rem; line-height: 1.35; }
.rail-doc-state.available { background: var(--gold); }

[data-theme="light"] .document-rail,
[data-theme="light"] .rail-menu-bar h2,
[data-theme="light"] .rail-library-switch button,
[data-theme="light"] .rail-library-switch button[aria-pressed="true"],
[data-theme="light"] .rail-doc-row,
[data-theme="light"] .rail-doc-main strong,
[data-theme="light"] .rail-doc-main small,
[data-theme="light"] .rail-group-heading,
[data-theme="light"] .rail-header-meta p {
  color: #171a18;
}

[data-theme="light"] .rail-menu-bar p { color: #303833; }

/* Prevent the italic word from clipping at its trailing edge. */
.command-hero h1,
.command-hero .hero-line,
.command-hero h1 em {
  overflow: visible;
}

.command-hero h1 em {
  display: inline-block;
  padding-right: .16em;
  margin-right: -.16em;
}

/* Financials now opens with the same command language as every library. */
.financial-view { padding: 0; }

.financial-library-section {
  padding: clamp(1.5rem, 3vw, 2.8rem) clamp(1.4rem, 4vw, 3.4rem) 3rem;
}

.financial-header h2 {
  margin: 0;
  color: var(--soft);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  font-weight: 650;
}

/* Compact intelligence summary and more readable question composer. */
.intelligence-card { padding: .95rem 1rem; }
.intelligence-card .insight-heading { margin-bottom: .65rem; }
.intelligence-card .insight-stats p { padding: .48rem .3rem; }
.intelligence-card .insight-stats strong { font-size: 1.05rem; }
.intelligence-card .insight-stats span { font-size: .64rem; }

.question-composer .insight-heading span {
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .15em;
}

.question-composer p { font-size: .82rem; }
.question-composer textarea { font-size: .92rem; }
.question-actions button { font-size: .86rem; font-weight: 650; }

@media (max-width: 1400px) {
  .command-shell {
    --rail-width: 330px;
    grid-template-columns: var(--rail-width) minmax(0, 1fr) 306px;
  }
  .dashboard.rail-collapsed .command-shell { grid-template-columns: 0 minmax(0, 1fr) 306px; }
}

@media (max-width: 1120px) {
  .command-shell {
    --rail-width: 320px;
    grid-template-columns: var(--rail-width) minmax(0, 1fr);
  }
  .dashboard.rail-collapsed .command-shell { grid-template-columns: 0 minmax(0, 1fr); }
}

@media (max-width: 680px) {
  .financial-library-section { padding-inline: 1rem; }
}
