/* ==========================================================================
   LimitBreakers Athletics — design tokens
   Consumed by the shared app chrome (@whitestone/core/styles/app.css), which
   reads ONLY these variables. Variable NAMES stay `--ws-*`; the VALUES are
   LimitBreakers'. Cloned from whitestone-hub-tokens.css (Oct 13, 2026); every
   token name kept.

   Every value here is literal. No token aliases another token: an alias
   resolves where it is DECLARED, not where it is used, which has silently
   broken a themed surface before (see beyond-letters-tokens.css's own
   header). Repetition is the cheaper mistake.

   Palette: LB black #0A0A0B, white #F7F7F5, electric cobalt #2B4CFF (hover
   #5C78FF). The rail is near-black with cobalt icons and active bar; the
   content area is a light neutral off-white. Cobalt carries text on white
   (5.9:1, AA); on the black rail text accents lift to #5C78FF (5.3:1).
   The primary button is a cobalt fill with a white label. Red is reserved
   for errors and danger; the warm chip stays orange for "needs a look".
   ========================================================================== */

:root {
  /* --- Palette --- */
  --ws-stone:       #EEEEEC; /* cool panels, table headers */
  --ws-olive:       #2B4CFF; /* fills with a light label (avatar, active chip, done dot): cobalt, 5.9:1 with white */
  --ws-olive-deep:  #1F38C7; /* small accent text: links, success, "current" meta. 8.3:1 on white */
  --ws-sage:        #2B4CFF; /* cobalt as a decorative fill */
  --ws-pebble:      #DCDCD8; /* strokes, dividers. NEVER text */
  --ws-ivory:       #F7F7F5; /* default background: LB white */
  --ws-ink:         #0A0A0B; /* text: LB black */
  --ws-terracotta:  #E5484D; /* signal red: error tints, attention when not overridden */

  /* --- Support tints --- */
  --ws-limestone:      #F1F1EF; /* cards, hover, light panels */
  --ws-gray-warm:      #5E5E63; /* secondary text; 6.1:1 on the off-white */
  --ws-sage-light:     #5C78FF;
  --ws-sage-lighter:   #DDE3FF;
  --ws-terracotta-deep:#B42318; /* the text-safe red: errors, danger. 6.5:1 on white */

  --ws-cream:  #F7F7F5; /* same off-white as --ws-ivory: one ground colour, two names */
  --ws-paper:  #FFFFFF;

  /* --- Semantic aliases (literal values, deliberately not var()) --- */
  --ws-bg:              #F7F7F5;
  --ws-surface:         #EEEEEC;
  --ws-surface-light:   #F1F1EF;
  --ws-text:            #0A0A0B;
  --ws-text-secondary:  #5E5E63;
  --ws-accent:          #2B4CFF;
  --ws-accent-bright:   #5C78FF;
  --ws-stroke:          #DCDCD8;
  --ws-stroke-focus:    #2B4CFF;
  --ws-pop:             #2B4CFF;

  /* --- Actions --- */
  --ws-btn-primary-bg:     #2B4CFF; /* cobalt fill... */
  --ws-btn-primary-text:   #FFFFFF; /* ...white label (5.9:1) */
  --ws-btn-primary-hover:  #5C78FF;
  /* The emphasis button is the black fill with a white label. */
  --ws-btn-emphasis-bg:    #0A0A0B;
  --ws-btn-emphasis-text:  #F7F7F5;
  --ws-btn-secondary-text: #0A0A0B;
  --ws-btn-secondary-stroke: #DCDCD8;

  /* --- Status chips: tinted fill + dark text --- */
  --ws-chip-positive-bg:   #E3F2E6;
  --ws-chip-positive-text: #1E5B2E;
  --ws-chip-neutral-bg:    #EEEEEC;
  --ws-chip-neutral-text:  #5E5E63;
  --ws-chip-stroke:        #DCDCD8;
  --ws-chip-warm-bg:       #FFE6D5;
  --ws-chip-warm-text:     #A3410F;

  /* Not part of core's --ws-chip-* vocabulary today (app.css only styles
     .chip / .chip.positive / .chip.warm), kept as literal reference values
     so whoever adds those chip variants to core does not have to re-derive
     them. Not wired into any component class by this file. */
  --ws-chip-urgent-bg:     #FBE1DE;
  --ws-chip-urgent-text:   #B42318;
  --ws-chip-info-bg:       #E4E9FF;
  --ws-chip-info-text:     #1F38C7;

  /* Graphite: the secondary accent, for rules and underlines (the role the
     other client files give navy). No dedicated --ws-* slot exists for a
     second accent today; stored as reference tokens for hand-authored
     screens (e.g. a report's section rule). */
  --ws-navy:       #1C1C20;
  --ws-navy-2:     #151518;
  --ws-navy-soft:  #EEEEEC;

  /* --- Typography ---
     Barlow Condensed (600/700) for display, Barlow for text, both linked in
     app/layout.tsx. Display sets in uppercase (see app/globals.css's
     typography override). */
  --ws-font-display: 'Barlow Condensed', 'Arial Narrow', system-ui, sans-serif;
  --ws-font-body: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ws-tracking-display: 0.01em;
  --ws-tracking-kicker: 0.18em;

  /* --- Shape and space --- */
  --ws-radius-card: 12px;
  --ws-radius-pill: 999px;
  --ws-radius-swatch: 6px;
  --ws-stroke-width: 1px;
  --ws-hit-target: 44px;

  /* --- Elevation. Ink-based, never neutral gray. --- */
  --ws-shadow-sm: 0 1px 2px rgba(10, 10, 11, 0.05);
  --ws-shadow-md: 0 2px 4px rgba(10, 10, 11, 0.05), 0 12px 28px -10px rgba(10, 10, 11, 0.12);
  --ws-shadow-lg: 0 4px 10px rgba(10, 10, 11, 0.06), 0 28px 56px -16px rgba(10, 10, 11, 0.18);

  /* --- Motion. Platform defaults, restated literally rather than left to
     inherit. Same numbers as packages/core/styles/app.css's own :root
     scale, so this is value-neutral. --- */
  --ws-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ws-ease-out: cubic-bezier(0.16, 1, 0.30, 1);
  --ws-dur-fast: 130ms;
  --ws-dur: 200ms;
  --ws-dur-slow: 320ms;

  /* --- Strata mark courses, light context --- */
  --ws-course-1: #2B4CFF;
  --ws-course-2: #0A0A0B;
  --ws-course-3: #EEEEEC;
  /* "Powered by Whitestone" cairn, in LB's colors (black, cobalt, gray);
     see core powered-by.tsx */
  --ws-pwd-1: #0A0A0B;
  --ws-pwd-2: #2B4CFF;
  --ws-pwd-3: #9A9AA0;

  /* -------------------------------------------------------------------
     THEME STRUCTURE TOKENS (packages/core/styles/app.css)
     Every token in core's WS-THEME-STRUCTURE-TOKENS block, restated here,
     so tools/fixtures/theme-tokens-fixture.mjs's rule ("a client file
     overrides every token core declares, not just colour") holds.
     ------------------------------------------------------------------- */
  --ws-radius: 8px;
  --ws-radius-sm: 6px;
  --ws-radius-avatar: 50%;

  --ws-btn-transform: none;
  --ws-btn-tracking: normal;
  --ws-btn-weight: 700;

  --ws-input-border-sides: 1px;
  --ws-input-border-bottom: 1px;
  --ws-input-bg: #FFFFFF;
  --ws-input-radius: 8px;
  --ws-input-padding-x: 14px;

  --ws-font-label: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ws-label-tracking: 0.06em;
  --ws-body-weight: 400;

  --ws-hairline: 1px solid #DCDCD8;
  --ws-elevation: 0 8px 24px rgba(10, 10, 11, 0.10);
}

/* Dark-fill context: the near-black rail (the sidenav; see app/globals.css),
   not a generic dark fill. Literal values, restated for the same reason as
   above: on black the accent lifts to #5C78FF or it sinks into the rail. */
.ws-on-dark {
  --ws-text:           #F7F7F5;
  --ws-text-secondary: #A9A9AF;
  --ws-accent:         #5C78FF;
  --ws-accent-bright:  #5C78FF;
  --ws-stroke:         rgba(247, 247, 245, 0.22);
  --ws-course-1: #5C78FF;
  --ws-course-2: #F7F7F5;
  --ws-course-3: #6E6E75;
  --ws-pwd-1: #5C78FF;
  --ws-pwd-2: #F7F7F5;
  --ws-pwd-3: #6E6E75;
  color: #F7F7F5;
}
