/* ==========================================================================
   Forge Legislative Sim — design tokens
   Every color, type, and spacing value lives here as a CSS custom property.
   Theming (incl. a future dark mode) = override this one :root block.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap');

/* Local display face — two real weights: Light (300) and Regular (400, the
   heaviest Vanguardia file available). The Regular face is declared across the
   400–700 range so heading weights (e.g. 600) resolve to the *real* Regular
   glyphs with NO synthesized bold — we only ever render weights we have files
   for. (Experimental pairing with Geist; see --serif / --sans.) */
@font-face {
  font-family: "Vanguardia";
  src: url("../Vanguardia-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Vanguardia";
  src: url("../Vanguardia-Regular.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ---- Raw palette (Forge brand) ------------------------------------- */
  --gold:          #E5B337;
  --gold-soft:     #EFC767;
  --gold-deep:     #B88A20;
  --gold-wash:     rgba(229, 179, 55, 0.14);
  --gold-line:     rgba(229, 179, 55, 0.45);

  --navy-deep:     #11171A;
  --navy:          #16242B;
  --navy-2:        #1E2A32;

  --cream:         #F7F5F3;
  --cream-2:       #EDE9E4;
  --cream-3:       #E3DED6;
  --paper:         #FBF9F6;
  --page:          #F0EEE9;

  --ink:           #16242B;
  --ink-2:         #3A4A54;
  --ink-3:         #6B7880;
  --ink-4:         #9AA4AA;

  --teal:          #62BCCD;
  --teal-deep:     #3D8A98;
  --green:         #34A853;
  --green-soft:    #E4F4E7;
  --red:           #D93025;
  --red-soft:      #FBE6E4;
  --amber:         #EF9F27;
  --amber-soft:    #FBEFD9;
  --blue:          #378ADD;
  --blue-soft:     #E6F1FB;

  /* ---- Semantic surface / text (theme these for dark mode) ----------- */
  --bg-page:       var(--page);
  --bg-surface:    var(--paper);
  --bg-surface-2:  var(--cream-2);
  --bg-sunken:     var(--cream);
  --bg-overlay:    rgba(17, 23, 26, 0.42);
  --bg-cue:        #E7F0FB;   /* speech-bubble fill: light blue, so the chair never mistakes a member's line for their own. Solid (not translucent) to avoid tail-overlap artifacts. */
  --fg-cue:        #4A6785;   /* muted blue-grey text for speech bubbles */
  --border-cue:    #8FB6E2;   /* blue outline so the light bubble contrasts with the page */

  --fg:            var(--ink);
  --fg-muted:      var(--ink-2);
  --fg-subtle:     var(--ink-3);
  --fg-faint:      var(--ink-4);

  --border:        rgba(22, 36, 43, 0.12);
  --border-strong: rgba(22, 36, 43, 0.20);

  --accent:        var(--gold);
  --accent-deep:   var(--gold-deep);
  --accent-wash:   var(--gold-wash);
  --on-accent:     var(--navy-deep);

  /* ---- Bill-status colors (single source of truth) ------------------- */
  --status-upnext-fg:   var(--ink-3);   --status-upnext-bg:   var(--cream-2);
  --status-hearing-fg:  var(--teal-deep);--status-hearing-bg: #E1F2F5;
  --status-amending-fg: #7A5AA8;        --status-amending-bg: #EFEAF7;
  --status-voting-fg:   var(--amber);   --status-voting-bg:   var(--amber-soft);
  --status-passed-fg:   var(--green);   --status-passed-bg:   var(--green-soft);
  --status-failed-fg:   var(--red);     --status-failed-bg:   var(--red-soft);
  --status-tabled-fg:   var(--ink-2);   --status-tabled-bg:   var(--cream-3);
  --status-pending-fg:  var(--blue);    --status-pending-bg:  var(--blue-soft);

  /* ---- Type ---------------------------------------------------------- */
  /* Experimental pairing: Vanguardia (display) + Geist (sans). Revert --serif to
     "Cormorant Garamond" to undo. */
  --serif: "Vanguardia", "Cormorant Garamond", "EB Garamond", Georgia, serif;
  --sans:  "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --mono:  "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Script size scale — one variable the app rescales */
  --script-size: 30px;

  /* ---- Radii / shadow / motion --------------------------------------- */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-pill: 999px;

  --shadow-1: 0 1px 3px rgba(17,23,26,0.06), 0 1px 2px rgba(17,23,26,0.04);
  --shadow-2: 0 4px 16px -4px rgba(17,23,26,0.14);
  --shadow-3: 0 24px 64px -24px rgba(17,23,26,0.35), 0 6px 18px rgba(17,23,26,0.10);

  --ease: cubic-bezier(0.2, 0.7, 0.1, 1);
  --dur: 220ms;

  /* Layout */
  --header-h: 60px;
  --sidebar-w: 384px;
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--sans);
  color: var(--fg);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
