/* NodeForge — design tokens v3 */
:root {
  /* Backgrounds */
  --bg: #080b10;
  --bg-2: #0c1019;
  --surface: #101521;
  --surface-2: #161d2c;
  --surface-3: #1d2640;

  /* Borders */
  --border: #1e2737;
  --border-subtle: #161e2d;
  --border-focus: rgba(91,156,255,.5);

  /* Text */
  --text: #dde4ef;
  --text-muted: #8795ae;
  --text-dim: #5e6f88;

  /* Accent */
  --accent: #5b9cff;
  --accent-hover: #7ab3ff;
  --accent-muted: rgba(91,156,255,.12);
  --accent-border: rgba(91,156,255,.28);

  /* Статусы: одни на все скины, с брендом не пересекаются */
  --ok: #4ade80;
  --ok-muted: rgba(74,222,128,.1);
  --ok-border: rgba(74,222,128,.28);
  --warn: #f5a524;
  --warn-muted: rgba(245,165,36,.1);
  --warn-border: rgba(245,165,36,.3);
  --err: #f8717f;
  --err-muted: rgba(248,113,127,.1);
  --err-border: rgba(248,113,127,.3);
  --info: #7cb7ff;
  --info-muted: rgba(124,183,255,.1);
  --info-border: rgba(124,183,255,.28);
  --step: #a78bfa;

  /* Button */
  --btn-bg: var(--accent);
  --btn-text: #050c1e;

  /* Sidebar */
  --sidebar-w: 240px;

  /* Radius */
  --r-xs: 4px;
  --r-sm: 6px;
  --r: 10px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;

  /* Shadows */
  --shadow-card: 0 1px 0 var(--border-subtle), 0 4px 16px rgba(0,0,0,.18);
  --shadow-float: 0 20px 60px rgba(0,0,0,.5), 0 4px 20px rgba(0,0,0,.3);

  /* Шкала шрифта: 6 ступеней, других размеров в панели нет */
  --fs-xs: 12px;
  --fs-sm: 13px;
  --fs-md: 14px;
  --fs-lg: 16px;
  --fs-xl: 20px;
  --fs-2xl: 28px;

  /* Шкала отступов */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;

  /* Typography */
  --font: "Twemoji Country Flags","Inter","SF Pro Text","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-mono: "Twemoji Country Flags","JetBrains Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

html[data-theme="light"] {
  --ok: #187a41;
  --ok-muted: rgba(24,122,65,.1);
  --ok-border: rgba(24,122,65,.34);
  --warn: #9a5f00;
  --warn-muted: rgba(154,95,0,.1);
  --warn-border: rgba(154,95,0,.36);
  --err: #c42b2b;
  --err-muted: rgba(196,43,43,.08);
  --err-border: rgba(196,43,43,.34);
  --info: #1d5fc4;
  --info-muted: rgba(29,95,196,.08);
  --info-border: rgba(29,95,196,.3);
}

body {
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--bg);
  color: var(--text);
}

body.workspace {
  background:
    radial-gradient(ellipse 900px 500px at 70% -100px, rgba(50,90,180,.07), transparent),
    radial-gradient(ellipse 600px 400px at -50px 100%, rgba(40,130,100,.04), transparent),
    var(--bg);
}
