/* Matranga Codeworks — generated from tokens.json */
@font-face { font-family: "Bricolage Grotesque"; src: url("fonts/BricolageGrotesque-VariableFont_opsz-wdth-wght.8d92ea393c69.woff2") format("woff2"); font-weight: 100 1000; font-style: normal; font-display: swap; }
@font-face { font-family: "Spline Sans Mono"; src: url("fonts/SplineSansMono-VariableFont_wght.f9a85224777b.woff2") format("woff2"); font-weight: 100 1000; font-style: normal; font-display: swap; }
@font-face { font-family: "Spline Sans Mono"; src: url("fonts/SplineSansMono-Italic-VariableFont_wght.df9d02527439.woff2") format("woff2"); font-weight: 100 1000; font-style: italic; font-display: swap; }
:root, [data-theme="light"] {
  --acc: #2e5d46;
  --acc2: #234838;
  --acc3: #6fb894;
  --acc-b: #c7794e;
  --acc-b-ink: #1a1917;
  --hatch: rgba(0, 0, 0, 0.07);
  --hatchw: rgba(255, 255, 255, 0.03);
  --paper: #e8e6dd;
  --paper-2: #efede4;
  --ink: #1a1917;
  --ink-2: #3b382f;
  --ink-3: #56534a;
  --muted: #69665c;
  --muted-2: #8a8578;
  --rule: #c7c4b8;
  --rule-2: #d8d4c7;
  --rule-dark: #4a4740;
  --rule-dark-2: #3a3a35;
  --on-dark: #e8e6dd;
  --on-dark-2: #cfcbbf;
  --btn-ink: #f4f1e8;
  --field: #f7f6f1;
  --control-border: var(--muted);
  --row-selected: #dce5dd;
  --scrim: rgba(26, 25, 23, 0.55);
  --info: #33408a;
  --info-bg: #e0e2ec;
  --success: var(--acc2);
  --success-bg: #d9e4da;
  --warning: #7f4520;
  --warning-bg: #f0e0cf;
  --danger: #8a2b2b;
  --danger-bg: #f0dbd6;
  --neutral: var(--ink-3);
  --neutral-bg: #dfdcd2;
  --shadow-btn: 5px 5px 0 #1a1917;
  --shadow-btn-pressed: 2px 2px 0 #1a1917;
  --shadow-ghost: 3px 3px 0 #1a1917;
  --shadow-card-hover: 6px 6px 0 #2e5d46;
  --shadow-lift: 8px 8px 0 #2e5d46;
  --shadow-spec: 12px 12px 0 #2e5d46;
  --shadow-tip: 0 8px 24px rgba(0, 0, 0, 0.18);
  --shadow-control: 3px 3px 0 #1a1917;
  --shadow-control-pressed: 1px 1px 0 #1a1917;
  --shadow-menu: 4px 4px 0 #1a1917;
  --shadow-toast: 4px 4px 0 #2e5d46;
  --shadow-dialog: 10px 10px 0 #1a1917;
}
:root {
  --wrap-max: 1220px;
  --gutter-min: 1.25rem;
  --gutter-max: 4rem;
  --card-pad: 1.5rem;
  --gap-cards: 1.2rem;
  --gap-tiers: 1.4rem;
  --eyebrow-xs: 1.6rem;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-none: 0;
  --radius-bar: 4px;
  --radius-round: 50%;
  --border-hair: 1px;
  --border-frame: 2px;
  --border-accent: 3px;
  --border-cap: 4px;
  --control-sm: 32px;
  --control-md: 40px;
  --control-lg: 48px;
  --sidenav-w: 240px;
  --appbar-h: 56px;
  --measure-form: 40rem;
  --z-sticky: 10;
  --z-dropdown: 50;
  --z-dialog: 80;
  --z-toast: 90;
  --font-sans: "Bricolage Grotesque", system-ui, sans-serif;
  --font-mono: "Spline Sans Mono", ui-monospace, monospace;
}
.display-mega { font-family: var(--font-sans); font-size: 6rem; font-weight: 700; line-height: 0.95; letter-spacing: -0.035em; }
.display-hero { font-family: var(--font-sans); font-size: 5.6rem; font-weight: 700; line-height: 0.98; letter-spacing: -0.035em; }
.display-page { font-family: var(--font-sans); font-size: 5rem; font-weight: 700; line-height: 0.99; letter-spacing: -0.035em; }
.display-xl { font-family: var(--font-sans); font-size: 4rem; font-weight: 700; line-height: 0.98; letter-spacing: -0.035em; }
.pullquote-xl { font-family: var(--font-sans); font-size: 4.4rem; font-weight: 700; line-height: 1.02; letter-spacing: -0.035em; }
.heading-lg { font-family: var(--font-sans); font-size: 3.6rem; font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
.spec-price { font-family: var(--font-sans); font-size: 3.4rem; font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
.heading-md { font-family: var(--font-sans); font-size: 3.2rem; font-weight: 700; line-height: 1.05; letter-spacing: -0.025em; }
.heading-sm { font-family: var(--font-sans); font-size: 2.6rem; font-weight: 700; line-height: 1.08; letter-spacing: -0.025em; }
.heading-xs { font-family: var(--font-sans); font-size: 2.4rem; font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; }
.heading-xxs { font-family: var(--font-sans); font-size: 2.1rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; }
.text-body { font-family: var(--font-sans); font-size: 19px; font-weight: 400; line-height: 1.6; }
.text-lead { font-family: var(--font-sans); font-size: 1.4rem; font-weight: 400; line-height: 1.5; }
.text-copy-l { font-family: var(--font-sans); font-size: 1.28rem; font-weight: 400; line-height: 1.55; }
.text-prose { font-family: var(--font-sans); font-size: 1.08rem; font-weight: 400; line-height: 1.6; }
.text-copy { font-family: var(--font-sans); font-size: 1.05rem; font-weight: 400; line-height: 1.5; }
.ledger-title { font-family: var(--font-sans); font-size: 1.55rem; font-weight: 700; letter-spacing: -0.02em; }
.belief-title { font-family: var(--font-sans); font-size: 1.45rem; font-weight: 700; letter-spacing: -0.02em; }
.wordmark { font-family: var(--font-sans); font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: -0.02em; }
.route-title { font-family: var(--font-sans); font-size: 1.35rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; }
.faq-question { font-family: var(--font-sans); font-size: 1.25rem; font-weight: 600; line-height: 1.35; letter-spacing: -0.015em; }
.card-title { font-family: var(--font-sans); font-size: 1.2rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; }
.button { font-family: var(--font-sans); font-size: 1rem; font-weight: 600; }
.nav { font-family: var(--font-sans); font-size: 0.95rem; font-weight: 500; }
.mono-price { font-family: var(--font-mono); font-size: 1rem; font-weight: 400; }
.mono-eyebrow { font-family: var(--font-mono); font-size: 0.78rem; font-weight: 400; letter-spacing: 0.14em; }
.mono-status { font-family: var(--font-mono); font-size: 0.74rem; font-weight: 400; letter-spacing: 0.06em; }
.mono-caption { font-family: var(--font-mono); font-size: 0.72rem; font-weight: 400; letter-spacing: 0.1em; }
.mono-note { font-family: var(--font-mono); font-size: 0.7rem; font-weight: 400; line-height: 1.5; }
.mono-label { font-family: var(--font-mono); font-size: 0.66rem; font-weight: 400; letter-spacing: 0.14em; }
.app-page-title { font-family: var(--font-sans); font-size: 1.625rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.025em; }
.app-title { font-family: var(--font-sans); font-size: 1.125rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.015em; }
.app-body { font-family: var(--font-sans); font-size: 0.9375rem; font-weight: 400; line-height: 1.5; }
.app-small { font-family: var(--font-sans); font-size: 0.8125rem; font-weight: 400; line-height: 1.45; }
.app-control { font-family: var(--font-sans); font-size: 0.875rem; font-weight: 600; line-height: 1.2; }
.app-stat { font-family: var(--font-sans); font-size: 2rem; font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
.app-data { font-family: var(--font-mono); font-size: 0.8125rem; font-weight: 400; line-height: 1.4; }
.app-label { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 400; line-height: 1.3; letter-spacing: 0.12em; }
