/* GENERATED from design/brand-tokens.json by tools/gen_brand_css.mjs — do not edit by hand;
   run `node tools/gen_brand_css.mjs`. The canonical values live in design/brand-tokens.json. */
.k-entry {
  --brand-blue: #2F5FF6;
  --brand-blue-hover: #1F44C9;
  --brand-blue-active: #173BAF;
  --brand-blue-tint: #EEF2FF;
  --brand-blue-selection: #DCE6FF;
  --brand-blue-soft: #AFC2FF;
  --brand-yellow: #F5C518;
  --brand-yellow-deep: #7C6208;
  --brand-yellow-soft: #FEF6D5;
  --brand-live: #0F9E8B;
  --brand-live-deep: #0B7365;
  --brand-live-tint: #E4F5F1;
  --brand-ink: #0B1220;
  --brand-ink-line: #1E293B;
  --brand-ink-selected: #1C2A4A;
  --brand-night: #0B1A3F;
  --brand-night-text: #C4D1E5;
  --brand-night-muted: #8FA3C7;
  --brand-canvas: #FFFFFF;
  --brand-raised: #F8FAFD;
  --brand-white: #FFFFFF;
  --brand-slate-700: #334155;
  --brand-slate-600: #475569;
  --brand-slate-500: #64748B;
  --brand-slate-450: #8492A6;
  --brand-slate-400: #94A3B8;
  --brand-slate-300: #CBD5E1;
  --brand-slate-200: #E2E8F0;
  --brand-slate-100: #EEF2F7;
  --brand-good: #1B7F4D;
  --brand-good-deep: #15703F;
  --brand-good-soft: #E4F1EA;
  --brand-warn: #B7791F;
  --brand-warn-deep: #7E5410;
  --brand-warn-soft: #F7EDD8;
  --brand-crit: #C0362C;
  --brand-crit-deep: #A62C23;
  --brand-crit-soft: #F7E3E0;
  --brand-pal-1: #2F5FF6;
  --brand-pal-2: #D85A30;
  --brand-pal-3: #0F7A52;
  --brand-pal-4: #A05E03;
  --brand-pal-5: #8A63D2;
  --brand-pal-6: #0E7490;
  --brand-pal-7: #C2366B;
  --brand-pal-8: #64748B;
  --brand-blue-rgb: 47 95 246;
  --brand-blue-hover-rgb: 31 68 201;
  --brand-blue-active-rgb: 23 59 175;
  --brand-blue-tint-rgb: 238 242 255;
  --brand-blue-selection-rgb: 220 230 255;
  --brand-blue-soft-rgb: 175 194 255;
  --brand-yellow-rgb: 245 197 24;
  --brand-yellow-deep-rgb: 124 98 8;
  --brand-yellow-soft-rgb: 254 246 213;
  --brand-live-rgb: 15 158 139;
  --brand-live-deep-rgb: 11 115 101;
  --brand-live-tint-rgb: 228 245 241;
  --brand-ink-rgb: 11 18 32;
  --brand-ink-line-rgb: 30 41 59;
  --brand-ink-selected-rgb: 28 42 74;
  --brand-night-rgb: 11 26 63;
  --brand-night-text-rgb: 196 209 229;
  --brand-night-muted-rgb: 143 163 199;
  --brand-canvas-rgb: 255 255 255;
  --brand-raised-rgb: 248 250 253;
  --brand-white-rgb: 255 255 255;
  --brand-slate-700-rgb: 51 65 85;
  --brand-slate-600-rgb: 71 85 105;
  --brand-slate-500-rgb: 100 116 139;
  --brand-slate-450-rgb: 132 146 166;
  --brand-slate-400-rgb: 148 163 184;
  --brand-slate-300-rgb: 203 213 225;
  --brand-slate-200-rgb: 226 232 240;
  --brand-slate-100-rgb: 238 242 247;
  --brand-good-rgb: 27 127 77;
  --brand-good-deep-rgb: 21 112 63;
  --brand-good-soft-rgb: 228 241 234;
  --brand-warn-rgb: 183 121 31;
  --brand-warn-deep-rgb: 126 84 16;
  --brand-warn-soft-rgb: 247 237 216;
  --brand-crit-rgb: 192 54 44;
  --brand-crit-deep-rgb: 166 44 35;
  --brand-crit-soft-rgb: 247 227 224;
  --brand-pal-1-rgb: 47 95 246;
  --brand-pal-2-rgb: 216 90 48;
  --brand-pal-3-rgb: 15 122 82;
  --brand-pal-4-rgb: 160 94 3;
  --brand-pal-5-rgb: 138 99 210;
  --brand-pal-6-rgb: 14 116 144;
  --brand-pal-7-rgb: 194 54 107;
  --brand-pal-8-rgb: 100 116 139;
  --brand-font-display: 'Hanken Grotesk', system-ui, sans-serif;
  --brand-font-body: 'Hanken Grotesk', system-ui, sans-serif;
  --brand-font-headline: 'Inter Tight', 'Hanken Grotesk', sans-serif;
  --brand-r-btn: 3px;
  --brand-r-chip: 3px;
  --brand-r-tag: 3px;
  --brand-r-input: 3px;
  --brand-r-card: 4px;
  --brand-r-lg: 6px;
  --brand-r-fab: 6px;
  --brand-space-1: 4px;
  --brand-space-2: 8px;
  --brand-space-3: 12px;
  --brand-space-4: 16px;
  --brand-space-5: 20px;
  --brand-space-6: 24px;
  --brand-space-7: 28px;
  --brand-space-8: 32px;
  --brand-space-12: 48px;
  --brand-e1: 0 1px 2px rgba(11,18,32,.05);
  --brand-e2: 0 6px 18px rgba(11,18,32,.07);
  --brand-e3: 0 14px 34px rgba(11,18,32,.10);
  --brand-type-display-size: 24px;
  --brand-type-display-line: 32px;
  --brand-type-display-weight: 600;
  --brand-type-display-tracking: -0.01em;
  --brand-type-title-size: 18px;
  --brand-type-title-line: 26px;
  --brand-type-title-weight: 600;
  --brand-type-heading-size: 15px;
  --brand-type-heading-line: 22px;
  --brand-type-heading-weight: 600;
  --brand-type-body-size: 14px;
  --brand-type-body-line: 20px;
  --brand-type-body-weight: 400;
  --brand-type-body-strong-size: 14px;
  --brand-type-body-strong-line: 20px;
  --brand-type-body-strong-weight: 500;
  --brand-type-small-size: 13px;
  --brand-type-small-line: 18px;
  --brand-type-small-weight: 400;
  --brand-type-caption-size: 12px;
  --brand-type-caption-line: 16px;
  --brand-type-caption-weight: 500;
  --brand-type-headline-size: 40px;
  --brand-type-headline-line: 44px;
  --brand-type-headline-weight: 600;
  --brand-type-headline-tracking: -0.035em;
  --brand-type-headline-family: var(--brand-font-headline);
  --brand-type-hero-size: 52px;
  --brand-type-hero-line: 54px;
  --brand-type-hero-weight: 600;
  --brand-type-hero-tracking: -0.035em;
  --brand-type-hero-family: var(--brand-font-headline);
  --brand-type-eyebrow-size: 13px;
  --brand-type-eyebrow-line: 16px;
  --brand-type-eyebrow-weight: 600;
  --brand-type-eyebrow-tracking: 0.08em;
  --brand-type-step-tile-size: 17px;
  --brand-type-step-tile-line: 20px;
  --brand-type-step-tile-weight: 600;
  --brand-type-step-tile-tracking: -0.02em;
  --brand-type-step-tile-family: var(--brand-font-headline);
  --brand-type-code-size: 24px;
  --brand-type-code-line: 32px;
  --brand-type-code-weight: 600;
  --brand-type-code-family: var(--brand-font-headline);
  --brand-weight-regular: 400;
  --brand-weight-medium: 500;
  --brand-weight-semibold: 600;
  --brand-layout-sidebar-width: 232px;
  --brand-layout-sidebar-mini: 68px;
  --brand-layout-content-max: 1200px;
  --brand-layout-gutter: 32px;
  --brand-layout-control-height: 32px;
  --brand-layout-control-height-sm: 28px;
  --brand-layout-nav-item: 32px;
  --brand-layout-row-table: 44px;
  --brand-layout-row-list: 56px;
  --brand-layout-drawer-width: 576px;
  --brand-layout-control-height-lg: 44px;
  --brand-layout-code-box: 56px;
  --brand-layout-entry-form-max: 440px;
  --brand-layout-preview-sidebar: 200px;
  --brand-layout-step-tile: 40px;
  --brand-layout-grid-cell: 48px;
  --brand-opacity-disabled: 0.5;
  --brand-text-primary: var(--brand-ink);
  --brand-text-secondary: var(--brand-slate-600);
  --brand-text-tertiary: var(--brand-slate-500);
  --brand-text-link: var(--brand-blue);
  --brand-text-on-accent: var(--brand-white);
  --brand-icon-muted: var(--brand-slate-400);
  --brand-accent: var(--brand-blue);
  --brand-accent-hover: var(--brand-blue-hover);
  --brand-accent-tint-text: var(--brand-blue-active);
  --brand-focus-ring: var(--brand-blue);
  --brand-surface-page: var(--brand-canvas);
  --brand-surface-card: var(--brand-white);
  --brand-surface-subtle: var(--brand-raised);
  --brand-surface-hover: var(--brand-slate-100);
  --brand-surface-selected: var(--brand-blue-tint);
  --brand-surface-selected-strong: var(--brand-blue-selection);
  --brand-suggestion-bg: var(--brand-raised);
  --brand-progress-track: var(--brand-slate-100);
  --brand-progress-done: var(--brand-good);
  --brand-progress-pending: var(--brand-blue-soft);
  --brand-border-default: var(--brand-slate-200);
  --brand-border-strong: var(--brand-slate-300);
  --brand-border-control: var(--brand-slate-450);
  --brand-scrim: rgba(11,18,32,0.32);
  --brand-toast-bg: var(--brand-ink);
  --brand-toast-text: var(--brand-white);
  --brand-status-good-text: var(--brand-good-deep);
  --brand-status-good-bg: var(--brand-good-soft);
  --brand-status-warn-text: var(--brand-warn-deep);
  --brand-status-warn-bg: var(--brand-warn-soft);
  --brand-status-crit-text: var(--brand-crit-deep);
  --brand-status-crit-bg: var(--brand-crit-soft);
  --brand-status-crit-solid: var(--brand-crit);
  --brand-text-on-danger: var(--brand-white);
  --brand-status-live-text: var(--brand-live-deep);
  --brand-status-live-bg: var(--brand-live-tint);
  --brand-status-live-dot: var(--brand-live);
  --brand-highlight-bg: var(--brand-yellow-soft);
  --brand-highlight-text: var(--brand-yellow-deep);
  --brand-highlight-mark: var(--brand-yellow);
  --brand-text-on-highlight: var(--brand-ink);
  --brand-sidebar-bg: var(--brand-ink);
  --brand-sidebar-text: var(--brand-slate-300);
  --brand-sidebar-text-muted: var(--brand-slate-400);
  --brand-sidebar-text-strong: var(--brand-white);
  --brand-sidebar-hover: var(--brand-ink-line);
  --brand-sidebar-selected: var(--brand-ink-selected);
  --brand-sidebar-accent: var(--brand-blue-soft);
  --brand-sidebar-border: var(--brand-ink-line);
  --brand-surface-night: var(--brand-night);
  --brand-text-on-night: var(--brand-night-text);
  --brand-text-on-night-muted: var(--brand-night-muted);
}

/* entry-components.css — THE SOURCE of the entry-surface component rules (Daisy, 2026-10-14): Eyebrow, Highlight swipe,
   Headline, Night, Grid, StepTile and the swipe bar. Hand-written and STRICT-checked (UI_DESIGN_SYSTEM_STRICT): every size,
   weight, colour and space is a var(--brand-*). tools/gen_brand_css.mjs concatenates this file verbatim after the generated
   `.k-entry { --brand-* }` var block into BOTH dashboard/src/saas/entry.css and dashboard/public/kenli-entry.css, so
   `node tools/gen_brand_css.mjs --check` guards both copies against drift. Edit THIS file, never the generated ones.

   ENTRY SURFACES ONLY: the website, sign-up, onboarding. Records: design/kenli-design-system/components/{Eyebrow,Headline,
   Night,StepTile,Highlight}/README.md. Put the k-entry class on <body> (or the page's root); content inside a k-night
   must set position: relative. The classes are scoped `.k-entry .k-…`, matching primitives.css's
   `:is(.saas-root, .k-entry) .k-…`, so the Wilson route never sees them. The glow and swoosh geometry (the 900px circle,
   its offsets, the 112deg angle, the % stops) is decoration, not a measurement, so it stays literal here. */
.k-entry .k-eyebrow{display:inline-flex;align-items:center;gap:var(--brand-space-2);color:var(--brand-text-secondary);
  font-size:var(--brand-type-eyebrow-size);line-height:var(--brand-type-eyebrow-line);font-weight:var(--brand-type-eyebrow-weight);
  letter-spacing:var(--brand-type-eyebrow-tracking);text-transform:uppercase}
.k-entry .k-eyebrow::before{content:"";flex:0 0 auto;width:var(--brand-space-2);height:var(--brand-space-2);
  background:var(--brand-highlight-mark);border-radius:1px}
.k-entry .k-eyebrow--on-night{color:var(--brand-text-on-night-muted)}
.k-entry .k-hl{color:inherit;
  background:linear-gradient(transparent 55%,rgb(var(--brand-yellow-rgb) / .55) 55%,rgb(var(--brand-yellow-rgb) / .55) 92%,transparent 92%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.k-entry .k-headline{margin:0;font-family:var(--brand-type-headline-family);font-size:var(--brand-type-headline-size);
  line-height:var(--brand-type-headline-line);font-weight:var(--brand-type-headline-weight);letter-spacing:var(--brand-type-headline-tracking)}
.k-entry .k-headline--hero{font-size:var(--brand-type-hero-size);line-height:var(--brand-type-hero-line);
  font-weight:var(--brand-type-hero-weight);letter-spacing:var(--brand-type-hero-tracking)}
.k-entry .k-night{position:relative;isolation:isolate;overflow:hidden;background-color:var(--brand-surface-night);color:var(--brand-text-on-night)}
.k-entry .k-night::before,.k-entry .k-night::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.k-entry .k-night::before{width:900px;height:900px;right:-300px;top:-480px;border-radius:50%;
  background:radial-gradient(circle,rgb(var(--brand-blue-rgb) / .55) 0%,rgb(var(--brand-blue-rgb) / .22) 32%,rgb(var(--brand-night-rgb) / 0) 62%)}
.k-entry .k-night::after{inset:0;
  background:linear-gradient(112deg,rgb(var(--brand-blue-rgb) / .22) 0%,rgb(var(--brand-blue-rgb) / .08) 34%,rgb(var(--brand-night-rgb) / 0) 58%)}
.k-entry .k-night__text-muted{color:var(--brand-text-on-night-muted)}
.k-entry .k-grid{--k-grid-line:rgb(var(--brand-white-rgb) / .06); /* ds-allow: grid line alpha is a decoration stop */
  background-image:linear-gradient(var(--k-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--k-grid-line) 1px,transparent 1px);
  background-size:var(--brand-layout-grid-cell) var(--brand-layout-grid-cell)}
.k-entry .k-grid--on-light{--k-grid-line:rgb(var(--brand-blue-rgb) / .06)} /* ds-allow: grid line alpha is a decoration stop */
.k-entry .k-step-tile{display:inline-grid;place-items:center;flex:none;width:var(--brand-layout-step-tile);height:var(--brand-layout-step-tile);
  background:var(--brand-accent);color:var(--brand-text-on-accent);border-radius:var(--brand-r-lg);
  font-family:var(--brand-type-step-tile-family);font-size:var(--brand-type-step-tile-size);line-height:var(--brand-type-step-tile-line);
  font-weight:var(--brand-type-step-tile-weight);letter-spacing:var(--brand-type-step-tile-tracking)}
.k-entry .k-swipe{position:absolute;z-index:1;background:rgb(var(--brand-yellow-rgb) / .75);border-radius:2px;
  mix-blend-mode:multiply;transform:rotate(-1deg);pointer-events:none}
