/* Human Layer Design System — generated from tokens.json by scripts/build_tokens.py. Do not edit by hand. */
:root, [data-theme="dark"] {
  --orange: #f69f19;
  --green: #3fb984;
  --neutral-primary: #070501;
  --neutral-secondary: #020805;
  --purple: #9139f6;
  --gold: #e4b300;
  --slate: #7f9fb1;
  --surface-page: var(--neutral-primary);
  --surface-card: #12100b;
  --surface-raised: #22201c;
  --surface-sunken: var(--neutral-secondary);
  --text-primary: #ffffff;
  --text-secondary: #d6d3cc;
  --text-muted: #a8a49a;
  --border-subtle: #2a2720;
  --border-control: #77705f;
  --brand-fill: var(--orange);
  --brand-fill-hover: #fdb43f;
  --on-brand: var(--neutral-primary);
  --brand-text: var(--orange);
  --brand-wash: #513303;
  --secondary-fill: var(--green);
  --secondary-text: var(--green);
  --secondary-wash: #101f11;
  --tier-platinum: #b07dfa;
  --tier-gold: var(--gold);
  --tier-silver: var(--slate);
  --tier-platinum-wash: #2a1547;
  --tier-gold-wash: #2b2300;
  --tier-silver-wash: #1b232a;
  --logo-ink: #24211c;
  --danger: #ff6b5e;
  --focus-ring: var(--orange);
  --shadow-overlay: 0 16px 40px rgba(0,0,0,.55);
}
[data-theme="light"] {
  --surface-page: #ffffff;
  --surface-card: #ffffff;
  --surface-raised: #f7f4f0;
  --surface-sunken: #efede8;
  --text-primary: var(--neutral-primary);
  --text-secondary: #3d3a33;
  --text-muted: #6b675e;
  --border-subtle: #e6e3dc;
  --border-control: #858074;
  --brand-fill-hover: #e8920a;
  --brand-text: #a35f00;
  --brand-wash: #fff3dc;
  --secondary-text: #1f7a52;
  --secondary-wash: #e6f6ee;
  --tier-platinum: #7a24e0;
  --tier-gold: #7d6200;
  --tier-silver: #4f6d7e;
  --tier-platinum-wash: #f3eafe;
  --tier-gold-wash: #fcf4d6;
  --tier-silver-wash: #eef3f6;
  --danger: #c4321f;
  --focus-ring: #a35f00;
  --shadow-overlay: 0 16px 40px rgba(7,5,1,.14);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --border-width: 1px;
  --focus-width: 2px;
  --ring-width: 6px;
  --font-sans: "Geist", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.display { font-family: var(--font-sans); font-size: 56px; font-weight: 700; line-height: 1.05; letter-spacing: -0.03em; }
.h1 { font-family: var(--font-sans); font-size: 40px; font-weight: 700; line-height: 1.1; letter-spacing: -0.025em; }
.h2 { font-family: var(--font-sans); font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; }
.h3 { font-family: var(--font-sans); font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.stat { font-family: var(--font-sans); font-size: 32px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; }
.stat-sm { font-family: var(--font-sans); font-size: 20px; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; }
.body { font-family: var(--font-sans); font-size: 16px; font-weight: 400; line-height: 1.5; }
.body-sm { font-family: var(--font-sans); font-size: 14px; font-weight: 400; line-height: 1.45; }
.label { font-family: var(--font-sans); font-size: 13px; font-weight: 500; line-height: 1.3; }
.caption { font-family: var(--font-sans); font-size: 12px; font-weight: 400; line-height: 1.4; }
@font-face { font-family: "Geist"; src: url("fonts/Geist-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist"; src: url("fonts/Geist-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist"; src: url("fonts/Geist-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist"; src: url("fonts/Geist-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
