/* Zoru brand colour tokens. Source: zoru.earth style.css + app index.css. Generated 2026-09-28. */
:root {
  /* Core */
  --numo-numo-green: #5DA92F; /* Brand gradient start. Site --brand-start, app --ng1. */
  --numo-numo-lime: #9BD46A; /* Brand gradient end. Site --brand-end, app --ng2, app emissions lozenge. */
  --numo-space: #060A14; /* Deep space. Dark page background on zoru.earth (--space). */
  --numo-space-light: #0C1224; /* Dark panels and the navy behind the logo (--space-light). */
  --numo-ink: #181D25; /* Body text on light surfaces (app --numo-ink). Also the text colour on the green CTA. */
  --numo-white: #FFFFFF; /* Cards and text on dark. */
  --numo-off-white: #F8F9FB; /* Light page sections on zoru.earth (--off-white). */
  --numo-app-surface: #F6F8FA; /* App page background behind white cards (--numo-surface-muted). */
  /* Neutrals */
  --numo-grey-50: #F4F5F7; /* --gray-50 */
  --numo-grey-100: #EAECF0; /* --gray-100 dividers */
  --numo-grey-200: #D0D5DD; /* --gray-200 */
  --numo-boundary: #D8DEE5; /* App card edge on white (--numo-boundary) */
  --numo-grey-300: #B0B8C8; /* --gray-300 */
  --numo-grey-400: #98A2B3; /* --gray-400 placeholder */
  --numo-grey-500: #667085; /* --gray-500 secondary text */
  --numo-muted: #515B69; /* App supporting text and control edges (--numo-muted) */
  --numo-grey-600: #475467; /* --gray-600 */
  --numo-grey-700: #344054; /* --gray-700 */
  --numo-grey-900: #101828; /* --gray-900 headings on light */
  --numo-sidebar: #181D25; /* App sidebar background (hsl 220 20% 12%) */
  /* Semantic */
  --numo-success: #2D8659; /* Muted forest green. Ticks, positive deltas, 'responded' (site + app --success). */
  --numo-success-dark: #236B47; /* Success ink on tinted chips. */
  --numo-complete: #1E5E1E; /* Saved/complete ink, 7.85:1 on white (app --numo-complete). */
  --numo-warning: #DAA520; /* Muted amber (app --warning, site amber dots). */
  --numo-warning-ink: #8B6508; /* Amber text on tinted chips. */
  --numo-error: #DC3545; /* Problem states (site). App destructive is hsl(0 84% 60%) = #EF4343. */
  --numo-next-blue: #2563EB; /* Current/next step accent in the app (--numo-next-blue). */
  --numo-attention-navy: #0A2540; /* Attention icon, badge fill, ink on light (--numo-attention). */
  --numo-deep-violet: #1A0F40; /* Pairs with navy on dark panels (--numo-violet). */
  /* Atmosphere (background only) */
  --numo-cosmic-violet: #5433FF; /* Cosmic canvas orbs at 4-7% opacity. Never text, never a CTA. */
  --numo-cosmic-blue: #20BDFF; /* Cosmic canvas orbs at 3-5% opacity; app --info. */
  --numo-aqua: #A5FECB; /* Shooting-star tails and 10% tint chips. Never solid fills. */
  /* Charts */
  --numo-chart-1: #5DA82E; /* Scope 1 / primary series (= Zoru Green) */
  --numo-chart-2: #9BD369; /* Scope 2 (= Zoru Lime) */
  --numo-chart-3: #2EB860; /* Scope 3 */
  --numo-chart-4: #9FC653; /* Fourth series */
  --numo-chart-5: #59B946; /* Fifth series */
  /* Gradients */
  --numo-gradient-brand: linear-gradient(90deg, #5DA92F, #9BD46A); /* Underlines, progress, wordmark accents. Site --brand-gradient. */
  --numo-gradient-primary: linear-gradient(135deg, #5DA92F, #9BD46A); /* Buttons. Text is Ink #181D25 (4.5:1+). White text on this fails AA at 14px. */
  --numo-gradient-violet: linear-gradient(160deg, #1A0F40, #2A1866); /* 'Estimated' badges, violet bento cards. White text. */
  --numo-gradient-navy: linear-gradient(160deg, #0A2540, #0D3460); /* 'Partly itemised' badges, navy bento cards. White text. */
  --numo-gradient-green: linear-gradient(160deg, #E8F5E9, #C8E6C9); /* Light green bento cards. Grey 900 text. */
  --numo-gradient-cream: linear-gradient(160deg, #FAF5EB, #F0E8D4); /* Cream bento cards. Grey 900 text. */
  --numo-gradient-photo: linear-gradient(180deg, rgba(6,10,20,.25), rgba(6,10,20,.6)); /* Laid over every full-bleed photo so white type stays legible. */
  --numo-gradient-dark: linear-gradient(135deg, #0F1623, #1A1040); /* Background of social cards and feature illustrations. */
  /* Type */
  --numo-font-body: "Inter", system-ui, -apple-system, sans-serif;
  --numo-font-heading: "IBM Plex Sans", "Inter", system-ui, sans-serif;
  --numo-tracking-tight: -0.04em; --numo-tracking-tighter: -0.055em;
  /* Shape */
  --numo-radius-control: 8px; --numo-radius-button: 10px; --numo-radius-card: 12px; --numo-radius-tile: 16px; --numo-radius-container: 22px; --numo-radius-photo: 24px; --numo-radius-pill: 100px;
  --numo-panel-shadow: 0 3px 12px rgba(24,29,37,.035); --numo-panel-shadow-hover: 0 6px 18px rgba(24,29,37,.06);
  --numo-cta-shadow: 0 4px 24px rgba(93,169,47,.3), 0 1px 3px rgba(0,0,0,.15);
  --numo-ease-out-expo: cubic-bezier(0.16,1,0.3,1); --numo-ease-smooth: cubic-bezier(0.4,0,0.2,1);
}
