/* Nexus design system v1 tokens. Every value is copied from the live site source (NexusGPT/nexus-landing @ c117cdb).
   The source file and line for each value is in the comment after it, and in SOURCES.md. */
@import url('../assets/fonts/fonts.css');
:root{
  /* color */
  --nx-page: #F6F8FB; /* components/v2/tokens.css:31 | Page background, light theme (the default) */
  --nx-card: #FFFFFF; /* components/v2/tokens.css:31 | Card and panel fill on the page */
  --nx-card-2: #EEF1F6; /* components/v2/tokens.css:31 | Second card fill, hover and inset rows */
  --nx-ink: #0E1116; /* components/v2/tokens.css:33 | Text and dark buttons on the light page */
  --nx-ink-2: rgba(14,17,22,.68); /* components/v2/tokens.css:33 | Secondary text */
  --nx-ink-3: rgba(14,17,22,.5); /* components/v2/tokens.css:33 | Tertiary text, labels */
  --nx-line: rgba(14,17,22,.10); /* components/v2/tokens.css:32 | Hairlines and borders */
  --nx-line-2: rgba(14,17,22,.18); /* components/v2/tokens.css:32 | Stronger border, ghost button on the page */
  --nx-night: #05070F; /* components/v2/v2.css:764 | Hero ground under the film; dark covers */
  --nx-dark-bg: #0B0B0C; /* components/v2/tokens.css:37 | Dark theme page */
  --nx-dark-card: #161618; /* components/v2/tokens.css:37 | Dark theme card */
  --nx-on-dark: #F5F3F0; /* components/v2/tokens.css:39 | Text on dark */
  --nx-on-dark-2: rgba(245,243,240,.72); /* components/v2/tokens.css:39 | Secondary text on dark */
  --nx-white: #FFFFFF; /* components/v2/tokens.css:5 | White pill, text over film */
  --nx-pill-ink: #171311; /* components/v2/tokens.css:4 | Text on the white pill (--ink-warm) */
  --nx-orange: #FF6600; /* components/v2/tokens.css:7 | Micro accent only: strike, dots, focus ring, carets */
  --nx-orange-on-white: #F26100; /* components/v2/platform/pa/pa.css:12 | Orange for small status marks on white (3:1) */
  --nx-blue: #2F5FD0; /* components/v2/platform/pa/pa.css:9 | Brand blue: silk depth, links in product UI, active path */
  --nx-blue-soft: #EEF3FB; /* components/v2/platform/pa/pa.css:9 | Pale blue fill */
  --nx-navy-ink: #1B2A44; /* components/v2/platform/pa/pa.css:10 | Product UI ink inside glass panels */
  --nx-navy-ink-2: #4A5873; /* components/v2/platform/pa/pa.css:10 | Product UI secondary ink */
  --nx-bubble-navy: linear-gradient(180deg,#22345A,#16233F); /* components/v2/platform/pa/chat.css:56 | The human message bubble */
  --nx-ok: #2E9B63; /* components/v2/platform/pa/pa.css:12 | Status: Live, running */
  --nx-wait: #C98A00; /* components/v2/platform/pa/pa.css:12 | Status: waiting */
  --nx-done-bg: #E3F4EA; /* components/v2/platform/pa/chat.css:157 | Done chip fill */
  --nx-done-ink: #1F7A4A; /* components/v2/platform/pa/chat.css:157 | Done chip text */
  --nx-silk-1: #F7FAFF; /* components/v2/gradient-engine.ts:9 | SilkBlue preset colour 1 */
  --nx-silk-2: #9DBDF2; /* components/v2/gradient-engine.ts:9 | SilkBlue preset colour 2 */
  --nx-silk-3: #2F5FD0; /* components/v2/gradient-engine.ts:9 | SilkBlue preset colour 3 */
  --nx-silk-mist-2: #E4EEFD; /* components/v2/gradient-engine.ts:9 | MistBlue preset colour 2 */
  --nx-silk-mist-3: #A9C8F5; /* components/v2/gradient-engine.ts:9 | MistBlue preset colour 3 */
  --nx-silk-deep-1: #06122B; /* components/v2/gradient-engine.ts:9 | DeepBlue preset colour 1 */
  --nx-silk-deep-2: #1C3F8C; /* components/v2/gradient-engine.ts:9 | DeepBlue preset colour 2 */
  --nx-on-silk: #F4F7FB; /* components/v2/v2.css:263 | Light text or light button on deep silk */
  --nx-on-silk-ink: #0A1422; /* components/v2/v2.css:263 | Text on the light button over silk */
  /* gradient */
  --nx-silk-card: linear-gradient(160deg,#F4F7FB,#CFDDF1 55%,#6F93C8); /* components/v2/tokens.css:44 | Static stand-in for a light silk card */
  --nx-silk-card-deep: linear-gradient(160deg,#070B14,#1D3354 60%,#7F9CC6); /* components/v2/tokens.css:45 | Static stand-in for a deep silk card */
  --nx-silk-numbers: linear-gradient(160deg,#F4F7FB,#CFDDF1 55%,#9DBDF2); /* components/v2/v2.css:561 | Numbers card silk fallback */
  --nx-hero-scrim: linear-gradient(180deg,rgba(5,7,15,.62) 0%,rgba(5,7,15,.62) 56px,rgba(5,7,15,.4) 96px,rgba(5,7,15,.1) 150px,rgba(5,7,15,0) 210px,rgba(5,7,15,0) 46%,rgba(5,7,15,.66) 64%,rgba(5,7,15,.84) 80%,#05070F 89%,#05070F 100%); /* components/v2/v2.css:766-769 | Scrim over any film or photo that carries text (the --u terms resolved at 1440 px) */
  /* font */
  --nx-serif: 'Libre Caslon Display', Georgia, serif; /* components/v2/tokens.css:15 | Titles and display (owner pick, state.tsx:14) */
  --nx-serif-text: 'Libre Caslon Text', Georgia, serif; /* components/v2/v2.css:340 | Stat numerals, italic serif moments */
  --nx-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; /* components/v2/tokens.css:8 | Body, UI, buttons */
  --nx-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; /* components/v2/tokens.css:9 | Labels, kickers, captions */
  /* type */
  --nx-serif-weight: 400; /* components/v2/tokens.css:15 | Caslon weight */
  --nx-serif-track: -.012em; /* components/v2/tokens.css:15 | Caslon letter spacing */
  --nx-fs-hero: clamp(28px, min(3.25vw, calc(5.8vh - 6px)), 52px); /* components/v2/v2.css:698 | Hero headline */
  --nx-fs-display: clamp(30px, min(3.8vw, calc(7vh - 8px)), 60px); /* components/v2/tokens.css:101 | Display */
  --nx-fs-h1: clamp(28px, min(3vw, 5vh), 48px); /* components/v2/tokens.css:102 | H1 */
  --nx-fs-h2: clamp(28px, min(3vw, 5vh), 44px); /* components/v2/tokens.css:114 | Section headline */
  --nx-lh-h2: 1.06; /* components/v2/tokens.css:91 | Section headline leading */
  --nx-fs-h3: clamp(19px, min(1.6vw, 2.8vh), 24px); /* components/v2/tokens.css:115 | Card title */
  --nx-lh-h3: 1.12; /* components/v2/tokens.css:92 | Card title leading */
  --nx-fs-body-lg: clamp(16px, calc(min(.25vw, .4vh) + 14.5px), 18px); /* components/v2/tokens.css:117 | Intro text (18 desktop, 16 phone) */
  --nx-lh-body-lg: 1.45; /* components/v2/tokens.css:117 | Intro leading */
  --nx-fs-body: clamp(16px, calc(.1vw + 15.5px), 17px); /* components/v2/tokens.css:118 | Body text */
  --nx-lh-body: 1.55; /* components/v2/tokens.css:118 | Body leading */
  --nx-fs-small: clamp(14px, calc(.08vw + 13.5px), 15px); /* components/v2/tokens.css:120 | Small text, never under 14 px */
  --nx-fs-label: clamp(12.5px, calc(.04vw + 12.2px), 13px); /* components/v2/tokens.css:119 | Mono labels */
  --nx-tr-label: .12em; /* components/v2/tokens.css:119 | Label tracking */
  --nx-fs-ui: 16px; /* components/v2/tokens.css:121 | Buttons, chat, table, prompt: one size */
  /* size */
  --nx-h-control: 46px; /* components/v2/tokens.css:121 | Button and input height */
  /* space */
  --nx-space-1: 4px; /* components/v2/tokens.css:83 */
  --nx-space-2: 8px; /* components/v2/tokens.css:83 */
  --nx-space-3: 12px; /* components/v2/tokens.css:83 */
  --nx-space-4: 16px; /* components/v2/tokens.css:83 */
  --nx-space-5: 24px; /* components/v2/tokens.css:83 */
  --nx-space-6: 32px; /* components/v2/tokens.css:83 */
  --nx-space-7: 48px; /* components/v2/tokens.css:83 */
  --nx-space-8: 64px; /* components/v2/tokens.css:83 */
  --nx-space-9: 96px; /* components/v2/tokens.css:83 */
  /* layout */
  --nx-gutter: clamp(16px, 4.2vw, 60px); /* components/v2/tokens.css:11 | Page side margin */
  --nx-max: 1176px; /* components/v2/tokens.css:11 | Content width */
  /* radius */
  --nx-r-card: 24px; /* components/v2/tokens.css:12 | Cards */
  --nx-r-small: 12px; /* components/v2/tokens.css:12 | Small panels */
  --nx-r-glass: 20px; /* components/v2/tokens.css:49 | Glass panel */
  --nx-r-pill: 999px; /* components/v2/v2.css:12 | Buttons, chips, tabs */
  /* shadow */
  --nx-shadow-glass: 0 20px 40px -28px rgba(14,30,60,.35); /* components/v2/tokens.css:49 | Glass panel on silk */
  --nx-shadow-chip: 0 1px 0 rgba(14,17,22,.06), 0 6px 16px -10px rgba(14,30,60,.35); /* components/v2/tokens.css:52 | White chip */
  --nx-shadow-card-deep: 0 30px 60px -40px rgba(10,20,34,.5); /* components/v2/v2.css:263 | Silk panel card */
  --nx-shadow-sheet: 0 -20px 50px -20px rgba(14,30,60,.35); /* blog-redesign/review/DS-AUDIT.md row 24 | Bottom sheet, lifts upward (v1.3) */
  --nx-reading: color-mix(in srgb,var(--nx-blue) 10%,var(--nx-page)); /* blog-redesign/review/DS-REAUDIT.md, item 5 | Paragraph being read: #E2E9F7 on the page, about 1.15:1 (v1.3.3) */
  /* motion */
  --nx-ease: cubic-bezier(.2,.7,.2,1); /* components/v2/tokens.css:13 | The one easing curve */
  --nx-reveal: .4s; /* components/v2/tokens.css:63 | Section reveal, rise 22 px */
  --nx-reveal-stagger: 40ms; /* components/v2/tokens.css:63 | Delay between items */
  --nx-strike-draw: .9s; /* components/v2/v2.css:70 | Orange strike draws in once, .6 s delay */
  --nx-logo-loop: 60s; /* components/v2/v2.css:76 | Logo ribbon loop (40 s on phones, v2.css:144) */
  /* silk */
  --nx-silk-filter: saturate(.55) contrast(.78) brightness(1.06); /* components/v2/tokens.css:71 | Faint finish on every silk */
  --nx-silk-veil: rgba(246,248,251,.42); /* components/v2/tokens.css:71 | Veil over silk */
  --nx-grain-opacity: .22; /* components/v2/tokens.css:71 | Grain over silk */

  /* v1.2: paper, charts, illustration, icons. Sources in SOURCES.md "v1.2 additions" */
  --nx-paper: #FFFFFF; /* kit rule | Document body page: white paper, ink text */
  --nx-chart-1: #2F5FD0; /* components/v2/hww/kit.ts:5 BL | Chart series 1, the brand blue */
  --nx-chart-2: #1B2A44; /* components/v2/platform/pa/pa.css:10 | Chart series 2, navy ink */
  --nx-chart-3: #9DBDF2; /* components/v2/gradient-engine.ts:9 | Chart series 3, silk blue */
  --nx-chart-4: rgba(14,17,22,.38); /* components/v2/hww/kit.ts:4 FAINT | Chart series 4, grey; also "other" */
  --nx-chart-area: linear-gradient(180deg,rgba(47,95,208,.22),rgba(47,95,208,0)); /* components/v2/hww/betterEveryRelease.ts:20-21 | Area under a line */
  --nx-chart-grid: rgba(14,17,22,.07); /* components/v2/hww/betterEveryRelease.ts:15 | Gridlines */
  --nx-chart-axis: rgba(14,17,22,.18); /* components/v2/hww/betterEveryRelease.ts:29 | Baseline and axis */
  --nx-chart-label: rgba(14,17,22,.55); /* components/v2/hww/kit.ts:4 INK3 | Axis and tick labels */
  --nx-ill-panel-shadow: 0 8px 18px rgba(14,30,60,.16); /* components/v2/hww/kit.ts:86 | Raised white panel in an illustration */
  --nx-ill-panel-border: rgba(14,17,22,.08); /* components/v2/hww/kit.ts:87 | Its 1 px border */
  --nx-ill-edge: rgba(27,42,68,.2); /* components/v2/platform/pa/pa.css:107 | Connector between nodes */
  --nx-ill-green: #16A34A; /* components/v2/hww/kit.ts:5 GR | Live dot in an illustration */
  --nx-ill-green-soft: #E9F6EE; /* components/v2/hww/kit.ts:5 GRS | Live pill fill */
  --nx-ill-green-ink: #15803D; /* components/v2/hww/kit.ts:5 GRT | Live pill text */
  --nx-ill-me: #DCE6F4; /* components/v2/platform/pa/pa.css:10 | Icon tile and initials disc fill */
  --nx-av-1: linear-gradient(135deg,#EAF0FB,#C9D7F3); /* components/v2/hww/sideBySide.ts:8 | Avatar 1, initials #2F5FD0 */
  --nx-av-2: linear-gradient(135deg,#EEEBFA,#D3CDF1); /* components/v2/hww/sideBySide.ts:8 | Avatar 2, initials #5B4FC4 */
  --nx-av-3: linear-gradient(135deg,#2A2F38,#0E1116); /* components/v2/hww/sideBySide.ts:8 | Avatar 3 (Nexus), initials white */
  --nx-icon-stroke: 1.8; /* components/v2/platform/screens/icons.tsx:2 | Line icon stroke on a 24 grid */
}

/* Dark theme: one switch, same names (tokens.css:36-41) */
[data-theme="dark"]{
  --nx-page: #0B0B0C; --nx-card: #161618; --nx-card-2: #1C1C1F;
  --nx-ink: #F5F3F0; --nx-ink-2: rgba(245,243,240,.72); --nx-ink-3: rgba(245,243,240,.5);
  --nx-line: rgba(255,255,255,.10); --nx-line-2: rgba(255,255,255,.18);
}
/* Base helpers every template uses */
.nx-serif{font-family:var(--nx-serif);font-weight:var(--nx-serif-weight);letter-spacing:var(--nx-serif-track)}
.nx-kicker{font:500 var(--nx-fs-label)/1.2 var(--nx-mono);letter-spacing:var(--nx-tr-label);text-transform:uppercase;color:var(--nx-ink-2)}
