/* Sourcy app design system (v2), shared with the Sourcy Structural app and Sourcy Calcs. Light is the default;
   dark is elevated greys. The accent (Sourcy lagoon) is used sparingly. The older token names at the end alias the
   new ones so the 3D builder and result styles follow both themes. */
:root{
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Segoe UI",system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,"JetBrains Mono",monospace;
  --fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-15:15px;--fs-17:17px;--fs-22:22px;--fs-28:28px;
  --canvas:#ffffff;--chrome:#f7f7f8;--sunken:#f2f2f4;--raised:#ffffff;--hover:rgba(0,0,0,.04);--select:rgba(0,0,0,.06);
  --hair:rgba(0,0,0,.08);--hair-2:rgba(0,0,0,.12);--field:#ffffff;--field-line:rgba(0,0,0,.14);
  --ink:#1d1d1f;--ink-2:#55555b;--ink-3:#86868b;--ink-4:#aeaeb2;
  --accent:#0f8f9a;--accent-ink:#0b7680;--accent-soft:rgba(15,143,154,.10);--grad:linear-gradient(90deg,#2fc58a,#1aa6b7 55%,#2d8cf0);
  --ok:#1f9d55;--ok-soft:rgba(31,157,85,.10);--bad:#d93025;--bad-soft:rgba(217,48,37,.08);--warn:#b26a00;--warn-soft:rgba(178,106,0,.10);
  --primary:#1d1d1f;--primary-ink:#fff;
  --shadow-1:0 1px 1px rgba(0,0,0,.04),0 0 0 .5px rgba(0,0,0,.06);
  --shadow-pop:0 0 0 .5px rgba(0,0,0,.10),0 4px 12px rgba(0,0,0,.08),0 24px 48px -12px rgba(0,0,0,.18);
  --frost:rgba(255,255,255,.72);--side-bg:rgba(246,246,248,.86);
  --r-s:6px;--r-m:8px;--r-l:12px;--side:248px;--bar:48px;
  --spring:cubic-bezier(.32,.72,0,1);--ease:cubic-bezier(.25,.1,.25,1);
  color-scheme:light;
  /* older names, kept as aliases */
  --bg:var(--canvas);--bg2:var(--sunken);--panel:var(--raised);--line:var(--hair);--line2:var(--hair-2);
  --ink2:var(--ink-2);--ink3:var(--ink-3);--fail:var(--bad);--blue:#2d8cf0;--mint:#2fc58a;--cyan:#1aa6b7;
  --btn-bg:var(--primary);--btn-ink:var(--primary-ink);--btn-hover:color-mix(in srgb,var(--primary) 86%,var(--canvas));
  --font-body:var(--font);--font-display:var(--font);--font-mono:var(--mono);
}
[data-theme=dark]{
  --canvas:#1c1c1e;--chrome:#232325;--sunken:#161618;--raised:#2c2c2e;--hover:rgba(255,255,255,.05);--select:rgba(255,255,255,.09);
  --hair:rgba(255,255,255,.08);--hair-2:rgba(255,255,255,.13);--field:#2c2c2e;--field-line:rgba(255,255,255,.12);
  --ink:#f5f5f7;--ink-2:#c7c7cc;--ink-3:#8e8e93;--ink-4:#636366;
  --accent:#3cc4cf;--accent-ink:#5fd3dc;--accent-soft:rgba(60,196,207,.14);
  --ok:#32d74b;--ok-soft:rgba(50,215,75,.13);--bad:#ff453a;--bad-soft:rgba(255,69,58,.13);--warn:#ffb340;--warn-soft:rgba(255,179,64,.13);
  --primary:#f5f5f7;--primary-ink:#1c1c1e;
  --shadow-1:0 0 0 .5px rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.3);
  --shadow-pop:0 0 0 .5px rgba(255,255,255,.10),0 8px 24px rgba(0,0,0,.35),0 30px 60px -10px rgba(0,0,0,.5);
  --frost:rgba(36,36,38,.72);--side-bg:rgba(35,35,37,.88);color-scheme:dark;
}
