/* ui · shape: Workbench · theme: Signal · nav: N4 · footer: F1 · tone: utilitarian */
:root {
 --font-display: "Space Grotesk", "Avenir Next", system-ui, sans-serif;
 --font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
 --font-mono: "IBM Plex Mono", ui-monospace, monospace;
 --color-paper: oklch(99% 0.005 250); --color-paper-2: oklch(96.5% 0.006 250);
 --color-ink: oklch(24% 0.015 260); --color-ink-2: oklch(45% 0.012 260);
 --color-accent: oklch(47% 0.19 258); --color-accent-hover: oklch(40% 0.19 258);
 --color-rule: oklch(84% 0.009 250); --color-rule-soft: oklch(91% 0.007 250); --color-focus: oklch(47% 0.19 258);
 --color-on-accent: oklch(99% 0.005 250); --color-disabled: oklch(92% 0.009 250);
 --color-green: oklch(39% 0.10 151); --color-blue: oklch(43% 0.16 258);
 --color-yellow: oklch(39% 0.075 80); --color-red: oklch(44% 0.17 25); --color-purple: oklch(42% 0.15 305);
 --color-pending: oklch(35% 0.11 55);
 --color-backdrop: oklch(24% 0.015 260 / 0.38);
 --space-3xs:4px; --space-2xs:8px; --space-xs:12px; --space-sm:16px; --space-md:24px; --space-lg:40px; --space-xl:64px;
 --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-lg:1.25rem; --text-xl:1.75rem; --text-2xl:2.25rem;
 --ease-out:cubic-bezier(.16,1,.3,1); --ease-in:cubic-bezier(.7,0,.84,0); --ease-in-out:cubic-bezier(.65,0,.35,1);
 --dur-fast:120ms; --dur-base:200ms; --dur-slow:320ms;
 --rule-hair:1px; --rule-thick:2px; --radius-none:0; --radius-sm:4px; --radius-md:8px; --radius-lg:14px;
 --size-touch:44px; --size-content:800px; --size-form:520px; --size-auth:440px; --size-dialog:480px; --size-dock:72px;
 --size-icon:20px; --size-icon-dock:24px; --size-badge-column:11.5rem; --size-row-action:5.5rem; --size-row-action-wide:12rem; --space-dialog-edge:16px;
}
/* Status signals: vivid fills with text labels. Do not soften. */
:root {
 --color-green-vivid:oklch(52% 0.20 145); --color-blue-vivid:oklch(51% 0.24 260);
 --color-yellow-vivid:oklch(87% 0.18 95); --color-red-vivid:oklch(53% 0.23 27); --color-purple-vivid:oklch(51% 0.25 305);
 --color-green-bg:oklch(95% 0.065 145); --color-blue-bg:oklch(95% 0.035 260);
 --color-pending-vivid:oklch(80% 0.17 58); --color-pending-bg:oklch(95% 0.09 60);
 --color-green-card:oklch(90% 0.11 145); --color-blue-card:oklch(89% 0.075 260); --color-yellow-card:oklch(93% 0.15 98);
 --color-red-card:oklch(87% 0.10 27); --color-purple-card:oklch(88% 0.085 305); --color-pending-card:oklch(88% 0.12 62);
 --color-yellow-bg:oklch(96% 0.12 95); --color-red-bg:oklch(95% 0.05 27); --color-purple-bg:oklch(95% 0.045 305);
}
/* Wheel picker: rows are --size-touch high (wheel.js ROW must match), five rows visible. */
:root {
 --size-wheel:calc(var(--size-touch) * 5); --size-wheel-pad:calc(var(--size-touch) * 2);
 --mask-wheel:linear-gradient(to bottom, transparent, var(--color-ink) 38%, var(--color-ink) 62%, transparent);
 --icon-home:url(/icons/home-outline.svg); --icon-checkmark-done:url(/icons/checkmark-done-outline.svg); --icon-people:url(/icons/people-outline.svg);
 --icon-train:url(/icons/train-outline.svg); --icon-settings:url(/icons/settings-outline.svg); --icon-exit:url(/icons/exit-outline.svg);
 --icon-grid:url(/icons/grid-outline.svg); --icon-list:url(/icons/menu-outline.svg); --icon-chevron:url(/icons/chevron-down-outline.svg);
 --icon-enter:url(/icons/enter-outline.svg); --icon-close:url(/icons/close-outline.svg); --icon-key:url(/icons/key-outline.svg);
}
