/* Axiom Alpha: shared research interface. Existing cb tokens remain compatible. */
:root {
  --cb-primary: #225eab;
  --cb-primary-active: #194b8a;
  --cb-ink: #142a43;
  --cb-body: #475569;
  --cb-muted: #606d7e;
  --cb-muted-soft: #697789;
  --cb-canvas: #f7f8fa;
  --cb-surface-soft: #eef1f5;
  --cb-surface-card: #ffffff;
  --cb-surface-strong: #e9edf3;
  --cb-surface-dark: #142a43;
  --cb-surface-dark-elevated: #20364f;
  --cb-hairline: #d5dce5;
  --cb-hairline-soft: #e5e9ef;
  --cb-up: #15734d;
  --cb-growth: #15734d;
  --cb-growth-bright: #15734d;
  --cb-quality: #225eab;
  --cb-quality-bright: #225eab;
  --cb-value: #85610b;
  --cb-value-bright: #85610b;
  --cb-momentum: #b23c3c;
  --cb-momentum-bright: #b23c3c;
  --cb-risk: #6c4f9b;
  --cb-risk-bright: #6c4f9b;
  --accent-glow: rgba(34,94,171,.18);
  --nav-bg: #ffffff;
  --nav-text: #475569;
  --nav-hover: #eef1f5;
  --shadow-card: 0 1px 3px rgba(20,42,67,.05);
  --shadow-pop: 0 12px 32px rgba(20,42,67,.12);
  --r-xl: 16px;
  --r-pill: 8px;
  --aa-rule: #bbc8d7;
  --aa-panel: #ffffff;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --cb-primary: #8eb9f0;
  --cb-primary-active: #aacdf5;
  --cb-on-primary: #0a0b0d;
  --cb-ink: #ffffff;
  --cb-body: #a8acb3;
  --cb-muted: #8f949d;
  --cb-muted-soft: #7c828a;
  --cb-canvas: #0a0b0d;
  --cb-surface-soft: #0a0b0d;
  --cb-surface-card: #16181c;
  --cb-surface-strong: #1c1f24;
  --cb-surface-dark: #0a0b0d;
  --cb-surface-dark-elevated: #16181c;
  --cb-hairline: #2a2d33;
  --cb-hairline-soft: #1c1f24;
  --cb-up: #83d5ae;
  --cb-growth: #83d5ae;
  --cb-growth-bright: #83d5ae;
  --cb-quality: #8eb9f0;
  --cb-quality-bright: #8eb9f0;
  --cb-value: #e1c176;
  --cb-value-bright: #e1c176;
  --cb-momentum: #f4a6a6;
  --cb-momentum-bright: #f4a6a6;
  --cb-risk: #c7b2ee;
  --cb-risk-bright: #c7b2ee;
  --nav-bg: #0a0b0d;
  --nav-text: #a8acb3;
  --nav-hover: #16181c;
  --nav-border: #2a2d33;
  --accent-glow: rgba(142,185,240,.18);
  --shadow-card: 0 1px 3px rgba(0,0,0,.55);
  --shadow-pop: 0 12px 32px rgba(0,0,0,.68);
  --aa-rule: #3a3f47;
  --aa-panel: #16181c;
}
html[data-theme="light"] { color-scheme: light; }
:root, html[data-theme="dark"] {
  --bg-color:var(--cb-canvas);
  --surface:var(--cb-surface-card);
  --surface-hover:var(--cb-surface-strong);
  --surface-border:var(--cb-hairline);
  --text-primary:var(--cb-ink);
  --text-secondary:var(--cb-body);
  --brand-dark:var(--cb-surface-dark);
  --brand-light:var(--cb-ink);
}
body .topnav { height:64px; backdrop-filter:none; -webkit-backdrop-filter:none; }
body .topnav-inner { max-width:none; gap:8px; }
body .topnav-logo { gap:10px; min-height:44px; padding:4px 6px; border-radius:8px; }
body .topnav-logo img { width:28px; height:28px; object-fit:contain; padding:0; background:none; border-radius:0; }
body .topnav-logo span { font-size:16px; font-weight:700; letter-spacing:-.02em; }
body .topnav .topnav-search input { border-radius:8px; border-color:var(--cb-hairline); background:var(--cb-canvas); height:44px; }
body .topnav .topnav-search input:focus { box-shadow:0 0 0 3px var(--accent-glow); }
body .topnav-iconbtn, body .topnav-auth-btn { min-height:44px; border-radius:8px; }
body .topnav-iconbtn { min-width:44px; }
body .topnav-link { min-height:44px; border-radius:6px; }
body .topnav-auth-signup { color:var(--cb-on-primary); }
body .topnav-dropdown-menu { border-radius:10px; }
body .topnav-dropdown-menu a { min-height:44px; }
body .hamburger { width:44px; height:44px; padding:12px; border:1px solid var(--cb-hairline); border-radius:8px; }
body .topnav-mobile { top:64px; max-height:calc(100dvh - 80px); border-radius:0 0 12px 12px; padding-bottom:max(12px, env(safe-area-inset-bottom)); }
body .topnav-mobile a { min-height:44px; }
body .btn { border-radius:8px; font-weight:600; box-shadow:none; }
body .btn:active { transform:none; }
body .btn-outline { background:transparent; color:var(--cb-ink); border-color:var(--cb-hairline); }
body .btn-outline:hover { background:var(--cb-surface-strong); border-color:var(--aa-rule); color:var(--cb-ink); }
html[data-theme] body .auth-left {
  background:var(--cb-surface-soft);
  background-image:none;
  border-right:1px solid var(--cb-hairline);
  --cb-ink:inherit;
}
html[data-theme="light"] body .auth-left {
  --cb-ink:#142a43;
  --cb-body:#475569;
  --cb-muted:#606d7e;
  --cb-surface-soft:#eef1f5;
}
html[data-theme="dark"] body .auth-left {
  --cb-ink:#ffffff;
  --cb-body:#a8acb3;
  --cb-muted:#8f949d;
  --cb-surface-soft:#0a0b0d;
}
body .auth-left::after { display:none; }
html[data-theme] body .auth-left p.lede { color:var(--cb-body); }
body .auth-left h2 { font-weight:500; line-height:1.2; }
body .auth-brand img { filter:none; }
body .auth-brand img, body .co-brand img, body .pr-brand img, .aa-sheet-brand img, .aa-footer-brand img { object-fit:contain; }
/* The original cream mark needs its black backing when light is explicitly selected. */
html[data-theme="light"] body .topnav-logo img,
html[data-theme="light"] body .auth-brand img,
html[data-theme="light"] body .co-brand img,
html[data-theme="light"] body .pr-brand img,
html[data-theme="light"] .aa-sheet-brand img,
html[data-theme="light"] .aa-footer-brand img,
html[data-theme="light"] .footer-logo { background:#0a0b0d; border-radius:4px; padding:2px; }
body .hub .start-card { background:var(--cb-surface-soft); border-color:var(--cb-hairline); }
body .hub .start-title { font-weight:600; }
body .hub .start-actions a, body .hub .empty-actions a { border-radius:6px; min-height:44px; display:inline-flex; align-items:center; }
body .hub #tp-tabs { flex-wrap:wrap; min-width:0; }
body .up-badge { position:static; align-self:flex-start; margin-bottom:14px; color:var(--cb-on-primary); }
body .co-brand img { width:22px; height:22px; }
body .topnav-mobile { bottom:auto; box-shadow:var(--shadow-pop); }
.aa-skip-link { position:fixed; top:8px; left:16px; z-index:1000; transform:translateY(-150%); padding:12px 18px; border-radius:6px; background:var(--cb-ink); color:var(--cb-canvas); }
.aa-skip-link:focus { transform:none; }
#main-content { scroll-margin-top:88px; }
.aa-data-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:12px 24px; margin:12px 0; font-size:.78rem; }
.aa-data-grid > div { min-width:0; }
.aa-data-grid dt { color:var(--cb-muted); margin-bottom:4px; }
.aa-data-grid dd { color:var(--cb-ink); margin:0; overflow-wrap:anywhere; }
.aa-data-note { color:var(--cb-body); font-size:.75rem; line-height:1.6; margin:10px 0 0; }
#research-context { padding:20px; border:1px solid var(--cb-hairline); border-radius:12px; background:var(--cb-surface-card); }
.footer-identity { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; min-width:0; }
.footer-identity > span:last-child { flex:1 1 220px; }
.footer-links a { display:inline-flex; align-items:center; min-height:44px; }
body .site-footer.aa-footer { display:block; background:var(--nav-bg); margin-top:32px; padding:40px max(20px, calc((100% - 1160px) / 2)); border-top:1px solid var(--cb-hairline); }
.aa-footer-grid { display:grid; grid-template-columns:minmax(240px, 2fr) repeat(2, minmax(0, 1fr)); gap:32px; }
.aa-footer-brand { display:flex; align-items:center; gap:10px; font-weight:600; font-size:17px; color:var(--cb-ink); text-decoration:none; }
.aa-footer-brand img { width:32px; height:32px; }
.aa-footer-note { font-size:13px; line-height:1.6; color:var(--cb-muted); max-width:34ch; margin-top:14px; }
.aa-footer-nav h2 { font-size:12px; text-transform:uppercase; font-weight:600; letter-spacing:.08em; margin-bottom:10px; }
.aa-footer-nav a { display:block; width:fit-content; font-size:13px; color:var(--cb-body); line-height:1.8; padding:5px 0; text-decoration:none; }
.aa-footer-nav a:hover { color:var(--cb-primary); text-decoration:underline; text-underline-offset:3px; }
.aa-footer-bottom { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; border-top:1px solid var(--cb-hairline-soft); margin-top:32px; padding-top:18px; font-size:12px; color:var(--cb-muted); }
@media(max-width:1100px) {
  body .topnav-inner { gap:8px; }
  body .topnav-search { max-width:none; margin-left:4px; }
}
@media(max-width:600px) {
  body .topnav { padding:0 12px; height:56px; }
  body .topnav-logo span { font-size:16px; }
  body .topnav-logo img { width:26px; height:28px; }
  body .topnav-search { display:block; flex:1; margin:0 4px; min-width:0; }
  body .topnav-mobile { top:56px; max-height:calc(100dvh - 72px); }
  .aa-footer-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; }
  .aa-footer-identity { grid-column:1 / -1; }
  .aa-footer-note { max-width:44ch; }
  .aa-footer-nav a { min-height:36px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
