/* Seshat design tokens — ported from docs/design/handoff-web/prototype/tokens.css.
   Two themes, scoped via .nfm-dark / .nfm-light wrappers on a .nfm ancestor
   (applied to <body>). Shared token names with the Android and TV builds.
   Fonts are loaded via <link> in app.html (DM Serif Display, Schibsted
   Grotesk, JetBrains Mono). */

.nfm {
  /* Type stack */
  --font-display: 'DM Serif Display', 'Times New Roman', serif;
  --font-sans: 'Schibsted Grotesk', -apple-system, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', monospace;

  /* Brand colors (theme-invariant) */
  --blue: #2280e0;
  --blue-deep: #0b1424;
  --gold: #d4a547;
  --green: #4fb573;
  --red: #e26a55;

  font-family: var(--font-sans);
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  color: var(--text);
  background: var(--bg);
}

.nfm-dark {
  --bg: #000000;
  --surface: #0b1424;
  --surface-2: #13223c;
  --surface-3: #1b2e4f;
  --line: rgba(255, 255, 255, 0.08);
  --line-strong: rgba(255, 255, 255, 0.16);
  --text: #f5f2ea;
  --text-dim: rgba(245, 242, 234, 0.62);
  --text-faint: rgba(245, 242, 234, 0.32);
  --blue: #2a8ae8;
  --gold: #e3b658;
  --green: #5fc084;
}

.nfm-light {
  --bg: #f4efe3; /* warm cream paper */
  --surface: #ffffff;
  --surface-2: #ece6d5;
  --surface-3: #dfd7c2;
  --line: rgba(11, 20, 36, 0.1);
  --line-strong: rgba(11, 20, 36, 0.22);
  --text: #0b1424;
  --text-dim: rgba(11, 20, 36, 0.62);
  --text-faint: rgba(11, 20, 36, 0.38);
  --blue: #1b6fcc;
  --gold: #a87822;
  --green: #2f8a4f;
}

/* Typography utilities */
.nfm .t-display {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.02;
}
.nfm .t-display-i {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.02;
}
.nfm .t-eyebrow {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.nfm .t-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: var(--text-dim);
}
.nfm .t-section {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
}
.nfm .t-body {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--text);
}

/* Surfaces */
.nfm .surface {
  background: var(--surface);
}
.nfm .surface-2 {
  background: var(--surface-2);
}
.nfm .hairline {
  border: 1px solid var(--line);
}
.nfm .hairline-t {
  border-top: 1px solid var(--line);
}
.nfm .hairline-b {
  border-bottom: 1px solid var(--line);
}

/* Scroll behavior inside the app shell */
.nfm *::-webkit-scrollbar {
  display: none;
}
.nfm * {
  scrollbar-width: none;
}
