/* ==========================================================================
   Canoli colour tokens: the Canoli-brand counterpart of tokens.css.
   Every value here comes from canoli-tokens.json, mode "Damson bright"
   (the design system's working candidate; WP-E shipped the logo and app
   icon against it). Nothing in this file is a Nibblr hue.

   This file is NOT linked directly. The brand registry selects it at
   runtime through its :tokens-css entry, so exactly one token sheet is
   loaded per brand and every first-party stylesheet resolves against it.

   THE NAME SET MUST STAY IDENTICAL TO tokens.css. Same 104 custom
   properties, no more and no fewer, in the same order and grouping.
   A name defined in one sheet but not the other is not a cosmetic gap:
   var(--x) with no definition resolves to nothing and the element loses
   its colour entirely. A test asserts exact name parity.

   The three-role contract is inherited unchanged: X is identity (fills,
   borders, icons, chart marks), X-bg is the tint (8 digit hex, always
   15% = 0x26, composited over whatever surface it lands on), X-text is
   the only legal label colour on X-bg. Never X as a label on its own
   tint; never X-text on the solid identity colour.

   Names with no Canoli counterpart are derived from the Canoli palette
   only, never carried across from Nibblr. Each derivation is annotated
   inline with its Canoli source.
   The CSS hex guard enforces vars-not-hexes across all of it.
   ========================================================================== */

:root {
  --brand-gold: #FFD66B; /* accent/highlight (butter), the AI and highlight accent */
  --brand-gold-hover: #E0A11A; /* derived: the darker butter rung the system already holds (Damson accent/highlight) */
  --brand-espresso: #241426; /* derived: core/slab, the darkest brand plane */
  --brand-cocoa: #4A2A4E; /* derived: core/ink-soft, the mid rung of the ink ladder */
  --brand-parchment: #FAF4EF; /* derived: core/on-ink, the warm off-white of the system */
  --brand-clay: #715575; /* derived: core/ink-muted, tertiary text and decorative marks */
  --brand-terracotta: #FF5A75; /* derived: accent/punch, the failure accent terracotta stood for */
  --accent-teal: #FFD66B; /* accent/highlight; teal was already collapsed onto the highlight accent */
  --accent-teal-hover: #E0A11A; /* derived: darker butter rung, matches --brand-gold-hover */
  --accent-teal-light: #FFD66B26; /* accent/highlight at 15% (= source/canoli-bg) */
  --accent-teal-text: #6E4A00; /* accent/highlight-text */
  --accent-orange: #B27A0E; /* derived: semantic/warning, the amber identity of the system */
  --accent-orange-light: #B27A0E26; /* semantic/warning-bg */
  --accent-orange-text: #6E4A00; /* semantic/warning-text */
  --bg-primary: #FDFBFA; /* core/shell */
  --bg-surface: #FFFFFF; /* core/surface */
  --bg-muted: #F5EAE0; /* core/surface-muted */
  --bg-sidebar: #241426; /* core/slab */
  --bg-sidebar-hover: #362638; /* derived: core/slab lifted by the same +0x12 per channel step Nibblr used */
  --bg-secondary: #F5EAE0; /* core/surface-muted; matched --bg-muted in Nibblr too */
  --border-primary: #EADCCB; /* core/line */
  --border-divider: #F2E7DA; /* core/line-soft */
  --text-primary: #241426; /* core/ink */
  --decorative-muted: #715575; /* derived: core/ink-muted, "tertiary text and decorative marks" */
  --text-on-dark: #FAF4EF; /* core/on-ink */
  --status-pass: #2C7A4B; /* semantic/pass */
  --status-pass-bg: #2C7A4B26; /* semantic/pass-bg */
  --status-pass-text: #135C33; /* semantic/pass-text */
  --status-fail: #A81B33; /* semantic/fail */
  --status-fail-bg: #A81B3326; /* semantic/fail-bg */
  --status-fail-text: #7A0F22; /* semantic/fail-text */
  --status-warning: #B27A0E; /* semantic/warning */
  --status-warning-bg: #B27A0E26; /* semantic/warning-bg */
  --status-warning-text: #6E4A00; /* semantic/warning-text */
  --confidence-high: #2C7A4B; /* derived: semantic/pass, the role confidence-high already shared */
  --confidence-high-text: #135C33; /* derived: semantic/pass-text */
  --confidence-medium: #B27A0E; /* derived: semantic/warning */
  --confidence-medium-text: #6E4A00; /* derived: semantic/warning-text */
  --confidence-low: #A81B33; /* derived: semantic/fail */
  --confidence-low-text: #7A0F22; /* derived: semantic/fail-text */
  --source-cofid: #2E7E82;
  --source-cofid-bg: #2E7E8226;
  --source-cofid-text: #174F52;
  --source-canadian: #B0426A;
  --source-canadian-bg: #B0426A26;
  --source-canadian-text: #7A1F42;
  --source-norwegian: #2E6FA0;
  --source-norwegian-bg: #2E6FA026;
  --source-norwegian-text: #1A4E77;
  --source-swedish: #9B4E8C;
  --source-swedish-bg: #9B4E8C26;
  --source-swedish-text: #5F2C55;
  --source-frida: #C05621;
  --source-frida-bg: #C0562126;
  --source-frida-text: #7C3310;
  --source-composite: #6B5B70;
  --source-composite-bg: #6B5B7026;
  --source-composite-text: #403647;
  --source-pro: #FFD66B; /* source/canoli: the Curated badge, named after the brand */
  --source-pro-bg: #FFD66B26; /* source/canoli-bg */
  --source-pro-text: #6E4A00; /* source/canoli-text */
  --source-user: #9B7BA0;
  --source-user-bg: #9B7BA026;
  --source-user-text: #4A2A4E;
  --source-ai: #7A3F6D;
  --source-ai-bg: #7A3F6D26;
  --source-ai-text: #4E2245;
  --info: #2E6FA0; /* semantic/info */
  --info-bg: #2E6FA026; /* semantic/info-bg */
  --info-text: #1A4E77; /* semantic/info-text */
  --bg-panel: #FBF7F3; /* step 3: quiet panel / track background; derived by stepping core/shell 26% toward core/surface-muted, the same fraction of the ladder Nibblr used */
  --status-fail-hover: #7A0F22; /* step 3: darkened fail for destructive-button hover; the next rung down the fail ladder (semantic/fail-text's value), within 2 units of semantic/fail darkened by Nibblr's 0.72 factor */
  --status-pass-soft: #2C7A4B0F; /* step 3: faintest pass tint (row flags, hovers) */
  --status-pass-strong: #2C7A4B40; /* step 3: strong pass tint (active borders) */
  --status-warning-soft: #B27A0E0F; /* step 3: faintest warning tint */
  --status-warning-strong: #B27A0E40; /* step 3: strong warning tint */
  --status-fail-soft: #A81B330F; /* step 3: faintest fail tint */
  --gold-soft: #FFD66B0F; /* step 3: faintest highlight tint */
  --gold-tint: #FFD66B24; /* step 3: highlight tint (badges, focus shadows) */
  --gold-selected: #FFD66B33; /* step 3: highlight selection background */
  --gold-strong: #FFD66B40; /* step 3: strong highlight tint (selection hover) */
  --badge-lilac-bg: #B79CFF26; /* step 3: categorical lilac badge plate; series/lilac at the contract's 15% */
  --badge-lilac-text: #5F2C55; /* step 3: categorical lilac badge label; source/swedish-text, the only solved label colour the system holds for a violet tint */
  --crm-score-0: #715575; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. core/ink-muted, the neutral unscored rung */
  --crm-score-1: #7CB8FF; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. series/sky */
  --crm-score-2: #B79CFF; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. series/lilac */
  --crm-score-3: #9B4E8C; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. source/swedish, the deep violet rung */
  --crm-score-4: #FFD66B; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. series/butter */
  --crm-score-5: #2E7E82; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. source/cofid, the deep teal-green rung */
  --crm-score-6: #6FDFB8; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. series/mint */
  --crm-score-7: #C05621; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. source/frida, the deep amber-orange rung */
  --crm-score-8: #2E6FA0; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. source/norwegian, the deep blue rung */
  --crm-score-9: #B0426A; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours. source/canadian, the deep rose rung; accent/punch is reserved for compliance failure */
  --border-soft: #F2E7DA; /* core/line-soft */
  --text-on-dark-subtle: #CBB8CF; /* core/on-ink-muted */
  --cream: #FAF4EF; /* step 3: cream card/panel surface, also cream text on the slab. core/on-ink carries both jobs */
  --cream-deep: #F5EAE0; /* step 3: deeper cream (table heads). core/surface-muted, whose stated role is table headers and muted strips */
  --cream-border: #EADCCB; /* step 3: border on cream surfaces. core/line */
  --cream-tag: #F5E5CA; /* step 3: tag/chip background on cream. core/blush, the system's warm tint plane */
  --text-deep: #4A2A4E; /* step 3: body text on cream surfaces. core/ink-soft, the secondary text rung */
  --text-label: #715575; /* step 3: labels, breadcrumbs, section eyebrows. core/ink-muted, the tertiary text rung */
  --tag-amber-bg: #FFD66B26; /* step 3: editorial amber tag plate; accent/highlight at 15%. Canoli holds one highlight accent and butter replaced citron everywhere */
  --tag-amber-text: #6E4A00; /* step 3: editorial amber tag label; accent/highlight-text, solved against that exact tint */
  --decorative-off: #715575; /* step 3: muted/off badge state. core/ink-muted; it is a label colour on a light surface, so the lighter on-slab neutral cannot serve here */

  /* Typefaces (design system section 4): Jost display, Figtree UI, DM
     Mono data. DM Mono is the one family shared with Nibblr. The webfont
     request lives in the registry as :google-fonts-url. */
  --font-primary: 'Figtree', sans-serif;
  --font-display: 'Jost', sans-serif;
  --font-mono: 'DM Mono', monospace;

  /* Shape (design system section 5): radius lg 28 for the floating rail,
     pill 999 for the active nav row, and the rail is inset from the page
     edge so the shell shows around it. This is the shape difference the
     Canoli frames show, expressed as tokens rather than forked CSS. */
  --radius-nav-item: 999px;
  --radius-sidebar: 28px;
  --sidebar-inset: 16px;
  /* The active nav row is a SOLID butter pill with slab ink on it, not a
     tint: accent/highlight filled, core/ink as the label. */
  --nav-active-fill: #FFD66B;
  --nav-active-label: #241426;
}
