/* Geist Sans + Geist Mono (variable, 100-900) — copied from vercel/geist-font */
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url('/static/vendor/fonts/Geist-Variable.woff2') format('woff2-variations');}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url('/static/vendor/fonts/GeistMono-Variable.woff2') format('woff2-variations');}
/* AurumDesk color tokens. Dark graphite is the DEFAULT theme; light is an explicit scope.
   Gold is a functional accent — never a component background wash. */
:root{
  /* base graphite scale */
  --graphite-950:#0A0B0D;
  --graphite-925:#0E1013;
  --graphite-900:#131519;
  --graphite-850:#181B20;
  --graphite-800:#1D2026;
  --graphite-700:#202329;
  --graphite-600:#292D34;
  --graphite-400:#3A3F48;
  /* base ivory/text scale */
  --ivory:#F7F5EF;
  --grey-300:#B4B7BE;
  --grey-500:#7D828C;
  /* gold scale */
  --gold-400:#E8C76C;
  --gold-500:#D4AF55;
  --gold-700:#A67C22;
  --gold-soft:rgba(212,175,85,0.12);
  --gold-ink:#171205;
  /* signal hues */
  --green-500:#2DBE78;
  --red-500:#E65C62;
  --amber-500:#E5A94D;
  --blue-500:#5A9DEA;

  /* semantic: surfaces */
  --bg-app:var(--graphite-950);
  --bg-sunken:var(--graphite-925);
  --surface-1:var(--graphite-900);
  --surface-2:var(--graphite-850);
  --surface-hover:var(--graphite-800);
  --surface-active:#22262D;
  /* semantic: lines */
  --line-1:var(--graphite-600);
  --line-2:var(--graphite-700);
  /* semantic: text */
  --text-1:var(--ivory);
  --text-2:var(--grey-300);
  --text-3:var(--grey-500);
  --text-disabled:#565B64;
  --text-on-accent:var(--gold-ink);
  /* semantic: accent */
  --accent:var(--gold-500);
  --accent-bright:var(--gold-400);
  --accent-soft:var(--gold-soft);
  --link:var(--gold-400);
  --link-hover:#F2D98A;
  /* semantic: signals (never colour-only — pair with icon/label) */
  --positive:var(--green-500);
  --positive-soft:rgba(45,190,120,0.12);
  --negative:var(--red-500);
  --negative-soft:rgba(230,92,98,0.13);
  --warning:var(--amber-500);
  --warning-soft:rgba(229,169,77,0.13);
  --info:var(--blue-500);
  --info-soft:rgba(90,157,234,0.13);
  /* charts */
  --chart-up:var(--green-500);
  --chart-down:var(--red-500);
  --chart-line:var(--gold-500);
  --chart-grid:rgba(247,245,239,0.05);
  --chart-axis:var(--grey-500);
  --chart-crosshair:rgba(247,245,239,0.28);
  --scrim:rgba(6,7,8,0.62);
}
[data-theme="light"]{
  --bg-app:#F5F4F0;
  --bg-sunken:#EFEEE9;
  --surface-1:#FFFFFF;
  --surface-2:#FAFAF8;
  --surface-hover:#F1F0EB;
  --surface-active:#EAE9E3;
  --line-1:#DFDED9;
  --line-2:#E8E7E1;
  --text-1:#161719;
  --text-2:#5E626A;
  --text-3:#83878F;
  --text-disabled:#A6A9AF;
  --text-on-accent:#FFFDF6;
  --accent:#A67C22;
  --accent-bright:#8A6318;
  --accent-soft:rgba(166,124,34,0.10);
  --link:#A67C22;
  --link-hover:#7C5A12;
  --positive:#178A55;
  --positive-soft:rgba(23,138,85,0.10);
  --negative:#CE4A50;
  --negative-soft:rgba(206,74,80,0.10);
  --warning:#A4741B;
  --warning-soft:rgba(164,116,27,0.12);
  --info:#3D71B8;
  --info-soft:rgba(61,113,184,0.10);
  --chart-up:#178A55;
  --chart-down:#CE4A50;
  --chart-line:#A67C22;
  --chart-grid:rgba(22,23,25,0.06);
  --chart-axis:#83878F;
  --chart-crosshair:rgba(22,23,25,0.30);
  --scrim:rgba(22,23,25,0.35);
}
:root{
  --font-sans:'Geist','Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-mono:'Geist Mono','JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
  /* scale — dense terminal sizing; body is 13px inside the app, 16px on marketing pages */
  --text-2xs:11px;
  --text-xs:12px;
  --text-sm:13px;
  --text-md:14px;
  --text-lg:16px;
  --text-xl:18px;
  --text-2xl:22px;
  --text-3xl:28px;
  --text-4xl:36px;
  --text-display:52px;
  /* weights (variable axis) */
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;
  /* leading */
  --leading-tight:1.2;
  --leading-snug:1.35;
  --leading-normal:1.5;
  --leading-relaxed:1.65;
  /* tracking */
  --tracking-tight:-0.02em;
  --tracking-normal:0;
  --tracking-caps:0.08em;
  /* numerals: financial figures use --font-mono at these sizes */
  --num-lg:20px;
  --num-md:14px;
  --num-sm:12.5px;
}
:root{
  /* 4px base scale */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-7:32px; --sp-8:40px; --sp-9:48px; --sp-10:64px;
  /* radii — restrained, institutional */
  --radius-sm:4px;
  --radius-md:6px;
  --radius-lg:8px;
  --radius-xl:12px;
  --radius-pill:999px;
  /* borders */
  --border-1:1px solid var(--line-1);
  --border-2:1px solid var(--line-2);
  /* elevation: mostly surface-colour steps; shadows stay faint */
  --shadow-1:0 1px 2px rgba(0,0,0,0.35);
  --shadow-2:0 4px 14px rgba(0,0,0,0.35);
  --shadow-pop:0 12px 32px rgba(0,0,0,0.5);
  /* app shell */
  --sidebar-w:248px;
  --sidebar-w-collapsed:72px;
  --topbar-h:56px;
  --content-max:1480px;
  --page-gutter:24px;
  --panel-gap:16px;
  /* table density */
  --row-h-compact:32px;
  --row-h-comfortable:40px;
  /* motion — subtle, purposeful */
  --dur-fast:120ms; /* @kind other */
  --dur-base:180ms; /* @kind other */
  --dur-slow:280ms; /* @kind other */
  --ease-out:cubic-bezier(0.2,0.8,0.2,1); /* @kind other */
  --ease-in-out:cubic-bezier(0.45,0,0.25,1); /* @kind other */
  /* layers */
  --z-sticky:40; /* @kind other */
  --z-overlay:60; /* @kind other */
  --z-toast:80; /* @kind other */
  /* min touch target */
  --hit-min:44px;
}
body{margin:0;background:var(--bg-app);color:var(--text-1);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:3px}
::selection{background:rgba(212,175,85,0.28)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}
*{scrollbar-width:thin;scrollbar-color:var(--line-1) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background-color:var(--line-1);border-radius:999px;border:2px solid transparent;background-clip:content-box}
.tnum{font-variant-numeric:tabular-nums}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}
