/* Graphide design tokens. Values come from the Graphide app's own built-in themes: "Graphide Light" (marble) in :root and
   "Graphide Dark" (ink) under [data-theme=dark]. Every colour in the stylesheets is one of these variables, so a theme is
   defined in exactly one place. Hairlines are translucent (white or black alpha) as in the app, never solid greys. */
:root{
  color-scheme:light;
  /* ground */
  --page:#f7f9f8;--chrome:#eef2f1;--panel:#ffffff;--raised:#ffffff;--field:#f1f4f3;--sunken:#e7edea;--select:#d5e3df;
  --ground:#f1f4f3;--ground-dot:#0000001f;
  /* lines and ink */
  --line:#0000002b;--line-soft:#00000017;
  --text:#24313a;--bright:#0f1420;--muted:#556070;--faint:#8a949c;
  /* accent: Graphide mint */
  --accent:#2a7a6e;--accent-soft:#347d72;--accent-strong:#22675d;--accent-hover:#22675d;--accent-held:#1b544c;--on-accent:#ffffff;
  --hover:#24313a0f;--hover-strong:#24313a1f;
  --accent-wash:#2a7a6e0c;--accent-selected:#bde2d9;--focus:#2a7a6e80;--glow:#2a7a6e40;
  /* status */
  --success:#1a7f37;--warning:#8a5c00;--error:#c0392b;--info:#4c6cb7;--orange:#ae541d;
  --success-wash:#1a7f370c;--warning-wash:#8a5c0012;--error-wash:#c0392b12;--info-wash:#4c6cb70c;
  --error-edge:#c0392b55;--warning-edge:#8a5c0055;
  /* node and tag hues (Graphide edge / agent colours) */
  --hue-rust:#2a7a6e;--hue-blue:#0b62c4;--hue-green:#26741a;--hue-gold:#a14a08;
  --hue-rust-wash:#2a7a6e0c;--hue-blue-wash:#0b62c412;--hue-green-wash:#26741a14;--hue-gold-wash:#a14a0812;
  --edge-rest:#347d7299;--edge-lit:#22675d;
  /* floating surfaces */
  --scrim:#9aa7a559;--shadow:#00000033;--shadow-soft:#0000001a;
  --menu-shadow:0 12px 36px #0000002e,0 1px 0 #00000010;
  --media:#0a1218;--media-ink:#dae1e6;--media-play:#ffffffe6;
}
:root[data-theme=dark]{
  color-scheme:dark;
  --page:#0a1218;--chrome:#070d12;--panel:#131e26;--raised:#1f2c35;--field:#101a21;--sunken:#0d161c;--select:#18242c;
  --ground:#070d12;--ground-dot:#ffffff1a;
  --line:#ffffff14;--line-soft:#ffffff0d;
  --text:#bcc6cd;--bright:#dae1e6;--muted:#8795a0;--faint:#52616b;
  --accent:#4fa396;--accent-soft:#79b0a8;--accent-strong:#3f8a7e;--accent-hover:#62b3a6;--accent-held:#3f8a7e;--on-accent:#04120f;
  --hover:#bcc6cd0f;--hover-strong:#bcc6cd1c;
  --accent-wash:#4fa39624;--accent-selected:#4fa39652;--focus:#4fa39666;--glow:#4fa39673;
  --success:#4ec9b0;--warning:#e3b341;--error:#f48771;--info:#8aaeff;--orange:#f18747;
  --success-wash:#4ec9b017;--warning-wash:#e3b34119;--error-wash:#f4877119;--info-wash:#8aaeff1a;
  --error-edge:#f4877166;--warning-edge:#e3b34166;
  --hue-rust:#4fa396;--hue-blue:#69b8ff;--hue-green:#7fd664;--hue-gold:#e3b341;
  --hue-rust-wash:#4fa39624;--hue-blue-wash:#69b8ff1f;--hue-green-wash:#7fd66420;--hue-gold-wash:#e3b34120;
  --edge-rest:#79b0a88c;--edge-lit:#6dbcb0;
  --scrim:#0a121899;--shadow:#00000059;--shadow-soft:#00000040;
  --menu-shadow:0 14px 44px #00000080,0 0 0 1px #ffffff0a;
  --media:#070d12;--media-ink:#dae1e6;--media-play:#dae1e6e6;
}
