/* ================================================================================
   New Axiom AI — shared brand tokens for the standalone pages (/signin, /signup,
   /forgot-password, legal, shared, ...).

   CANONICAL SOURCE: web/index.html. Every custom property below is extracted
   VERBATIM from its three token regions:
     1. the first :root block          -> tier palette, radii, --mono/--serif
     2. the warm-paper :root override  -> neutrals, accent family, --shadow, --sans
     3. the @media (prefers-color-scheme: dark) :root overrides (incl. the audited
        dark --ok-* band and color-scheme: dark)
   Do NOT retune values here. tests/test_newaxiom_brand_pages.py parses BOTH files
   and fails on any name/value drift; if index.html changes, change this file to
   match (never the other way around).
   ================================================================================ */
:root {
  --bg:        #FAF9F5;   /* warm off-white canvas */
  --surface:   #FFFFFF;
  --surface-2: #F0EEE6;   /* cream insets */
  --surface-3: #E7E4D8;
  --ink:       #34322D;   /* warm near-black */
  --text:      #34322D;
  --text-2:    #4C4A44;
  --muted:     #6E6C68;
  --muted-2:   #66645E;
  --border:    #E3E0D5;
  --border-2:  #ECE9DF;
  --accent:     #1E7FE0;  /* discovery azure, the app blue */
  --accent-ink: #135FB8;  /* darker azure for link text on cream */
  --accent-soft: rgba(30,127,224,.12);
  /* Sidebar row states, shared with index.html (drift-gated). Measured against the
     #F0EEE6 rail: hover 1.259, active 1.389 -- the old neutral hover sat at 1.096. */
  --row-hover:  rgba(30,127,224,.20);
  --row-active: rgba(30,127,224,.28);
  --ink-btn:    #135FB8;  /* primary / send: the deeper app blue */
  --ink-btn-h:  #0F4E99;
  --user-bubble:#F0EEE5;

  /* honest tier palette — semantic, kept distinct from the accent */
  --ok-bg:#E3F3EA;   --ok-fg:#1F6B43;   --ok-bd:#C1E4CE;  --ok-dot:#2E9E60;
  --no-bg:#FBE9E6;   --no-fg:#B23A2E;   --no-bd:#F2C9C1;  --no-dot:#DC4B3E;
  --heu-bg:#FBF1DA;  --heu-fg:#8A6416;  --heu-bd:#EEDBA8; --heu-dot:#D19A2A;
  --sl-bg:#E9EFF6;   --sl-fg:#556579;   --sl-bd:#D3DFEC;  --sl-dot:#8496AC;
  --teal-bg:#DCF0F0; --teal-fg:#1E6D68; --teal-bd:#BEE1DF; --teal-dot:#2E9089;

  --radius: 14px;
  --radius-sm: 9px;
  --shadow: 0 4px 24px rgba(61,57,41,.08), 0 1px 3px rgba(61,57,41,.06);
  --mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --serif: "Libre Baskerville", Georgia, "Times New Roman", serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --bg:        #0E1621;
    --surface:   #16202E;
    --surface-2: #1B2635;
    --surface-3: #24344A;
    --ink:       #E7EEF8;
    --text:      #E7EEF8;
    --text-2:    #C7D3E2;
    --muted:     #9FB2C8;
    --muted-2:   #A9BACE;
    --border:    #2C3D55;
    --border-2:  #263449;
    --accent:      #4D9DE8;
    --accent-ink:  #8FC0F2; /* link ink LIGHTENS in dark, not darkens */
    --accent-soft: rgba(77, 157, 232, .16);
    --row-hover:  rgba(77, 157, 232, .22);
    --row-active: rgba(77, 157, 232, .34);
    --ink-btn:    #2568B4;
    --ink-btn-h:  #2F7FD4;
    --user-bubble: #24344A;
    --shadow: 0 4px 24px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .35);
    /* the audited dark verified-green band (light --ok-fg is unreadable on dark) */
    --ok-bg: #14301F; --ok-fg: #62B98A; --ok-bd: #265C3B; --ok-dot: #2E9E60;
  }
}

/* ---------------- base layer (pages keep only their LAYOUT css inline) ---------------- */
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 15.5px/1.55 var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--accent-ink); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ---------------- shared page chrome ---------------- */
/* slim header: diamond emblem + wordmark + right-aligned link slot */
.brand-top {
  display: flex; align-items: center; gap: 10px;
  padding: 14px clamp(16px, 4vw, 28px);
  color: var(--ink); font-weight: 600;
}
.brand-top a { text-decoration: none; color: inherit; }
.brand-top .brand-links {
  margin-left: auto; display: flex; align-items: center; gap: 18px;
  font-size: 14px; font-weight: 500;
}
.brand-top .brand-links a { color: var(--accent-ink); }

.brand-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.brand-foot {
  color: var(--muted-2); font-size: 12.5px; line-height: 1.6;
  text-align: center; padding: 26px 16px 34px;
}
.brand-foot a { color: inherit; }

/* prose column: never wider than a comfortable reading measure */
.brand-measure { max-width: 72ch; margin-left: auto; margin-right: auto; }

@media (pointer: coarse) {
  .brand-top .brand-links a, .brand-foot a {
    display: inline-flex; align-items: center; min-height: 44px;
  }
}
