/* Web fonts are loaded from base.html, NOT with @import here.
 *
 * A CSS @import blocks rendering until it resolves, and this file is the first
 * stylesheet in <head> — so an unreachable fonts.googleapis.com painted nothing
 * at all until the browser gave up. Measured on a network that blackholes the
 * TCP connect (DNS resolves, connect never completes): server responded in
 * 0.6s, domComplete at 75.3s. A blank admin for 75 seconds, to fetch fonts that
 * every --font-* below already has a full fallback chain for.
 *
 * Keep it that way: never re-add an @import for a resource the UI works without.
 */

:root {
  /* Brand core */
  --carnelian:         #B31B1B;
  --carnelian-deep:    #8C1515;
  --carnelian-bright:  #E4002B;

  /* Neutrals */
  --ink:               #121417;
  --ink-2:             #2A2D33;
  --graphite:          #4A4F57;
  --concrete:          #8A8F98;
  --mist:              #C7CAD1;
  --stone:             #E3E5E9;
  --fog:               #EFF0F3;
  --paper:             #F7F6F2;
  --paper-2:           #FBFAF6;
  --white:             #FFFFFF;

  /* Urban accents */
  --blueprint:         #1E4DD8;
  --blueprint-soft:    #D9E1F7;
  --sodium:            #F4A02C;
  --sodium-soft:       #FBE8C6;
  --chlorophyll:       #2E7D4F;
  --chlorophyll-soft:  #D4E4D8;
  --slate-blue:        #2B3A55;

  /* Semantic */
  --fg-1:              var(--ink);
  --fg-2:              var(--ink-2);
  --fg-3:              var(--graphite);
  --fg-4:              var(--concrete);
  --fg-inverse:        var(--paper);
  --fg-brand:          var(--carnelian);
  --fg-link:           var(--carnelian-deep);

  --bg-1:              var(--paper);
  --bg-2:              var(--paper-2);
  --bg-3:              var(--fog);
  --bg-4:              var(--stone);
  --bg-inverse:        var(--ink);
  --bg-brand:          var(--carnelian);

  /* Status */
  --status-info:       var(--blueprint);
  --status-success:    var(--chlorophyll);
  --status-warning:    var(--sodium);
  --status-danger:     var(--carnelian-bright);

  /* Borders */
  --border-hair:       rgba(18, 20, 23, 0.08);
  --border-soft:       rgba(18, 20, 23, 0.14);
  --border-firm:       rgba(18, 20, 23, 0.24);
  --border-ink:        var(--ink);

  /* Typography */
  --font-display:  'Fraunces', 'Times New Roman', Georgia, serif;
  --font-sans:     'Inter Tight', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --font-mono:     'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  /* Type scale */
  --fs-xs:    0.8125rem;
  --fs-sm:    0.9375rem;
  --fs-base:  1.0625rem;
  --fs-md:    1.25rem;
  --fs-lg:    1.5rem;
  --fs-xl:    1.875rem;
  --fs-2xl:   2.375rem;

  /* Weights */
  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semi:    600;
  --fw-bold:    700;

  /* Spacing */
  --sp-1:   0.25rem;
  --sp-2:   0.5rem;
  --sp-3:   0.75rem;
  --sp-4:   1rem;
  --sp-5:   1.5rem;
  --sp-6:   2rem;
  --sp-7:   3rem;
  --sp-8:   4rem;

  /* Radii */
  --r-sm:   2px;
  --r-md:   4px;
  --r-lg:   8px;
  --r-xl:   14px;
  --r-pill: 999px;

  /* Shadows */
  --shadow-1: 0 1px 0 rgba(18,20,23,0.04), 0 1px 2px rgba(18,20,23,0.04);
  --shadow-2: 0 1px 0 rgba(18,20,23,0.04), 0 6px 16px -6px rgba(18,20,23,0.10);
  --shadow-3: 0 2px 0 rgba(18,20,23,0.04), 0 18px 40px -12px rgba(18,20,23,0.18);

  /* Motion */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast:      120ms;
  --dur-base:      220ms;

  /* Layout */
  --sidebar-w-expanded:  240px;
  --sidebar-w-collapsed: 68px;
  --sidebar-w:           var(--sidebar-w-expanded);
  --header-h:      52px;
}
