:root {
    --ink: #132821;
    --ink-soft: #3f554d;
    --muted: #6f817a;
    --paper: #f7f5ef;
    --paper-deep: #eeeae0;
    --white: #fffefa;
    --green: #1e6a55;
    --green-dark: #164f40;
    --green-light: #dbe9df;
    --lime: #d7e76a;
    --amber: #e7ad58;
    --line: #d9ded8;
    --danger: #a95d50;
    --danger-light: #f3dfdb;
    --shadow: 0 24px 70px rgba(25, 53, 44, .12);
    --radius: 18px;
    --editor-bg: #edf1ec;
    --canvas-bg: #f4f6f2;
    --canvas-grid: #c9d2cc;
    --node-fill: #fffefa;
    --node-stroke: #587066;
    --route-stroke: #31483f;
    --cycle-stroke: #7b6331;
    --label-bg: #f4f6f2;
    --field-bg: #fbfcf9;
    color-scheme: light;
}

:root[data-theme="dark"] {
    --ink: #e8eee9;
    --ink-soft: #bdcbc3;
    --muted: #8fa39a;
    --paper: #101915;
    --paper-deep: #16221d;
    --white: #17231e;
    --green: #68c4a7;
    --green-dark: #8bd7be;
    --green-light: #203e34;
    --lime: #c8dc72;
    --amber: #e7b867;
    --line: #34473f;
    --danger: #df8a7d;
    --danger-light: #4b2e2a;
    --shadow: 0 24px 70px rgba(0, 0, 0, .34);
    --editor-bg: #0d1512;
    --canvas-bg: #111c17;
    --canvas-grid: #3d5148;
    --node-fill: #1a2822;
    --node-stroke: #8aa298;
    --route-stroke: #d5e0da;
    --cycle-stroke: #d5ba72;
    --label-bg: #111c17;
    --field-bg: #121e19;
    color-scheme: dark;
}
