/* Canonical workspace tokens. Legacy names are aliases during migration. */
:root {
  --ws-color-surface: #fff;
  --ws-color-rail: #f3f5f2;
  --ws-color-sunk: #f7f8f6;
  --ws-color-ink: #18231f;
  --ws-color-muted: #59655f;
  --ws-color-line: #e1e5e1;
  --ws-color-control: #7c8982;
  --ws-color-action: #0c7a5b;
  --ws-color-action-hover: #0a6249;
  --ws-color-mint: #dff3ea;
  --ws-color-danger: #a22c24;
  --ws-color-danger-bg: #fce9e7;
  --ws-color-attention: #795312;
  --ws-color-attention-bg: #fff0d7;
  --ws-color-info: #315c8a;
  --ws-color-info-bg: #eaf0fa;
  --ws-table-column-unit: 1%;
  --ws-search-width: 28rem;
  --ws-filter-width: 12rem;
  --ws-font-family:
    "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ws-type-title: 600 24px/30px var(--ws-font-family);
  --ws-type-heading: 600 16px/24px var(--ws-font-family);
  --ws-type-body: 400 14px/21px var(--ws-font-family);
  --ws-type-label: 600 13px/18px var(--ws-font-family);
  --ws-type-control: 600 14px/20px var(--ws-font-family);
  --ws-type-small: 400 12px/18px var(--ws-font-family);
  --ws-space-1: 4px;
  --ws-space-2: 8px;
  --ws-space-3: 12px;
  --ws-space-4: 16px;
  --ws-space-5: 20px;
  --ws-space-6: 24px;
  --ws-space-7: 28px;
  --ws-space-8: 32px;
  --ws-space-12: 48px;
  --ws-control-height: 40px;
  --ws-control-radius: 6px;
  --ws-card-radius: 10px;
  --ws-overlay-radius: 12px;
  --ws-icon-size: 20px;
  --ws-button-icon-size: 18px;
  --ws-page-width: 1376px;
  --ws-dialog-width: 640px;
  --ws-shadow-overlay: 0 12px 36px #18231f26;
  --ws-focus: 2px solid var(--ws-color-action);
  --ws-accent-blue: #5373a0;
  --ws-accent-purple: #7862a5;
  --ws-tint-blue: #eaf0fa;
  --ws-tint-purple: #eeebf8;
  --ws-motion-fast: 120ms;
  --ws-layer-menu: 50;
  --ws-layer-tooltip: 60;
  --ws-layout-side-narrow-min: 16rem;
  --ws-layout-side-narrow-max: 20rem;
  --ws-layout-side-wide-min: 20rem;
  --ws-layout-side-wide-max: 24rem;
  --ws-layout-grid-min-12: 12rem;
  --ws-layout-grid-min-16: 16rem;
  --ws-layout-grid-min-20: 20rem;
  --ws-layout-sticky-top: calc(var(--ws-space-12) + var(--ws-space-6));
  --ws-layout-split-narrow: minmax(0, 1fr) minmax(var(--ws-layout-side-narrow-min), var(--ws-layout-side-narrow-max));
  --ws-layout-split-wide: minmax(0, 1fr) minmax(var(--ws-layout-side-wide-min), var(--ws-layout-side-wide-max));
  --ws-layout-side-first-order: 0;
  --ws-layout-sticky-position: sticky;
}
@media (max-width: 760px), (pointer: coarse) {
  :root {
    --ws-control-height: 44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --ws-motion-fast: 0ms;
  }
}

/* Shared layout breakpoint. Native media conditions use a length literal;
   responsive custom-property values keep every layout factory on this token. */
@media (max-width: 760px) {
  :root {
    --ws-layout-split-narrow: minmax(0, 1fr);
    --ws-layout-split-wide: minmax(0, 1fr);
    --ws-layout-side-first-order: -1;
    --ws-layout-sticky-position: static;
  }
}
