/* Materials, type and geometry. See DESIGN.md for their intended roles. */
@font-face {
  font-family: 'Golos Text'; src: url('/static/fonts/golos-text.ttf') format('truetype');
  font-weight: 400 900; font-style: normal; font-display: swap;
}
:root {
  color-scheme: light;
  --font-ui: 'Golos Text', -apple-system, system-ui, sans-serif;
  --font-code: ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --bg: #e9edf1; --bg-edge: #dbe3e9; --canvas: #f4f6f8;
  --ink: #1d2833; --gray-100: #eef1f4; --gray-200: #dfe5ea;
  --gray-300: #cbd3dc; --gray-400: #97a4b1; --gray-500: #586979;
  --gray-600: #526170; --gray-700: #435362; --gray-800: #303f4d;
  --accent: #3469c2; --accent-ink: #2454a2; --accent-weak: rgba(52,105,194,.12);
  --ok: #21815b; --ok-ink: #1b6f4e; --err: #c24945; --err-ink: #a8322f;
  --warn: #b17b29; --warn-ink: #805718; --warn-weak: rgba(177,123,41,.10);
  --surface-solid: #ffffff; --surface-chip: rgba(255,255,255,.64);
  --panel: rgba(253,254,255,.97); --branch: rgba(227,233,239,.28);
  --glass-bg: rgba(248,251,254,.78); --glass-border: rgba(255,255,255,.86);
  --glass-blur: 24px; --glass-sat: 125%; --rim: rgba(255,255,255,.94);
  --node-border: #d4dce4; --connector: #9eacba; --scrim: rgba(28,40,53,.28);
  --primary: #293b4b; --primary-top: #3e5264; --primary-border: #273a4a;
  --primary-rim: rgba(255,255,255,.22); --on-primary: #fff; --on-accent: #fff;
  --shadow-color: rgba(25,43,60,.08);
  --shadow-sm: 0 2px 3px rgba(25,43,60,.04);
  --shadow-md: 0 4px 14px rgba(25,43,60,.06);
  --shadow-lg: 0 24px 80px rgba(19,34,49,.22);
  --glow: rgba(255,255,255,.6);
  --sidebar-w: 252px;
  --radius-sm: 7px; --radius-md: 10px; --radius-lg: 16px;
  --space-1: .25rem; --space-2: .5rem; --space-3: 1rem; --space-4: 1.5rem; --space-5: 2.25rem;
  --text-sm: .8125rem; --text-md: 1rem; --text-lg: 1.375rem;
  --ease: cubic-bezier(.2,.75,.25,1);
}
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --bg: #1a232c; --bg-edge: #111920; --canvas: #19222b;
    --ink: #eef3f7; --gray-100: #26323e; --gray-200: #34424f;
    --gray-300: #475767; --gray-400: #718394; --gray-500: #a3b2c1;
    --gray-600: #b5c2ce; --gray-700: #c8d3dd; --gray-800: #dae3eb;
    --accent: #87b4fa; --accent-ink: #a1c6ff; --accent-weak: rgba(135,180,250,.14);
    --ok: #70c59e; --ok-ink: #89d5b2; --err: #f18a83; --err-ink: #ffa29c;
    --warn: #d9b16c; --warn-ink: #edca8b; --warn-weak: rgba(217,177,108,.13);
    --surface-solid: #26323e; --surface-chip: rgba(255,255,255,.035);
    --panel: rgba(33,45,57,.98); --branch: rgba(255,255,255,.018);
    --glass-bg: rgba(32,45,58,.83); --glass-border: rgba(190,212,235,.13);
    --rim: rgba(214,233,250,.10); --node-border: #42515f; --connector: #596c7e;
    --scrim: rgba(4,10,16,.55); --primary: #cbd9e5; --primary-top: #e4edf4;
    --primary-border: #d0dde8; --primary-rim: rgba(255,255,255,.5);
    --on-primary: #1b2b39; --on-accent: #152334; --shadow-color: rgba(0,0,0,.18);
    --shadow-sm: 0 2px 3px rgba(0,0,0,.12);
    --shadow-md: 0 4px 14px rgba(0,0,0,.16);
    --shadow-lg: 0 24px 80px rgba(0,0,0,.46); --glow: rgba(207,228,250,.06);
  }
}
