/* SpatialWork Design System — generated from tokens.json */
:root, [data-theme="dark"] {
  --sw-canvas: #0e0f12;
  --sw-chrome: #14171d;
  --sw-raised: #1b2029;
  --sw-overlay: #0e1117;
  --sw-panel: rgba(14, 17, 20, 0.94);
  --sw-glass: rgba(19, 22, 27, 0.6);
  --sw-glass-folded: rgba(15, 17, 21, 0.75);
  --sw-border: #262b34;
  --sw-border-strong: #2a2e37;
  --sw-grid-minor: #1a1d24;
  --sw-edge: rgba(255, 255, 255, 0.11);
  --sw-edge-hover: rgba(255, 255, 255, 0.24);
  --sw-hover-row: rgba(255, 255, 255, 0.05);
  --sw-hover: rgba(255, 255, 255, 0.06);
  --sw-fill-secondary: rgba(255, 255, 255, 0.07);
  --sw-hover-strong: rgba(255, 255, 255, 0.08);
  --sw-text: #e6e6e6;
  --sw-text-bright: #f3f6fb;
  --sw-text-2: #8a90a0;
  --sw-text-3: #7d879a;
  --sw-accent: #14b8a6;
  --sw-accent-text: #5eead4;
  --sw-on-accent: #0b0d10;
  --sw-accent-tint: rgba(20, 184, 166, 0.14);
  --sw-accent-select: rgba(20, 184, 166, 0.16);
  --sw-accent-border: rgba(20, 184, 166, 0.4);
  --sw-glass-border: rgba(94, 234, 212, 0.28);
  --sw-glass-divider: rgba(94, 234, 212, 0.45);
  --sw-success: #38c47e;
  --sw-warn: #d4a340;
  --sw-danger: #ff6b64;
  --sw-warn-tint: rgba(212, 163, 64, 0.16);
  --sw-danger-tint: rgba(255, 98, 64, 0.16);
  --sw-axis-x: #ff6b64;
  --sw-axis-y: #38c47e;
  --sw-axis-z: #60a5fa;
  --sw-chart-good: #38c47e;
  --sw-chart-warn: #d4a340;
  --sw-chart-critical: #ff5c57;
  --sw-chart-accent: #14b8a6;
  --sw-chart-violet: #a78bfa;
  --sw-chart-none: #8a90a0;
  --sw-chart-fold: #8fe0d9;
  --sw-chart-edit: #cdd6e2;
  --sw-chart-meta: #5b6672;
  --sw-cat-geometry: #7dd3fc;
  --sw-cat-data: #a78bfa;
  --sw-xray-rim: #5ad1ff;
  --sw-select-3d: var(--sw-accent-text);
  --sw-shadow-float: 0 18px 48px rgba(0, 0, 0, 0.55);
  --sw-shadow-glass: 0 0 40px rgba(20, 184, 166, 0.13), 0 22px 50px rgba(0, 0, 0, 0.5);
  --sw-shadow-selected: 0 0 0 1px #5eead4;
  --sw-shadow-row-selected: inset 2px 0 0 #14b8a6;
}
:root {
  --sw-space-1: 4px;
  --sw-space-2: 8px;
  --sw-space-3: 12px;
  --sw-space-4: 16px;
  --sw-space-5: 20px;
  --sw-space-6: 24px;
  --sw-space-8: 32px;
  --sw-radius-tag: 4px;
  --sw-radius-field: 5px;
  --sw-radius-icon: 6px;
  --sw-radius-control: 7px;
  --sw-radius-item: 8px;
  --sw-radius-nav: 10px;
  --sw-radius-bar: 12px;
  --sw-radius-panel: 13px;
  --sw-radius-card: 14px;
  --sw-radius-badge: 17px;
  --sw-radius-pill: 999px;
  --sw-topbar-height: 56px;
  --sw-rail-width: 72px;
  --sw-menu-width: 308px;
  --sw-inspector-width: 300px;
  --sw-blur-panel: 16px;
  --sw-blur-glass: 20px;
  --sw-z-viewport: 0;
  --sw-z-css3d: 1;
  --sw-z-hud: 2;
  --sw-z-panel: 8;
  --sw-z-chrome: 12;
  --sw-z-modebar: 70;
  --font-sans: 'Instrument Sans', system-ui, sans-serif;
}
.text-page-title { font-family: var(--font-sans); font-size: 30px; font-weight: 700; letter-spacing: -0.02em; }
.text-dialog-title { font-family: var(--font-sans); font-size: 15px; font-weight: 600; }
.text-panel-title { font-family: var(--font-sans); font-size: 13.5px; font-weight: 600; }
.text-card-title { font-family: var(--font-sans); font-size: 13.5px; font-weight: 600; letter-spacing: 0.02em; }
.text-body { font-family: var(--font-sans); font-size: 13px; font-weight: 400; }
.text-control { font-family: var(--font-sans); font-size: 12.5px; font-weight: 600; }
.text-small { font-family: var(--font-sans); font-size: 12px; font-weight: 400; }
.text-caption { font-family: var(--font-sans); font-size: 11px; font-weight: 400; }
.text-tag { font-family: var(--font-sans); font-size: 10.5px; font-weight: 600; }
.text-label { font-family: var(--font-sans); font-size: 10px; font-weight: 600; letter-spacing: 0.04em; }
.text-nav { font-family: var(--font-sans); font-size: 9.5px; font-weight: 500; }
.text-micro { font-family: var(--font-sans); font-size: 9px; font-weight: 600; letter-spacing: 0.08em; }
.text-readout { font-family: var(--font-sans); font-size: 30px; font-weight: 800; line-height: 1.05; }
.text-readout-meta { font-family: var(--font-sans); font-size: 11px; font-weight: 600; }
