/* Design tokens: single source for CSS visual values.
 * Components reference semantic roles or shared scales.
 * @font-face descriptors and responsive query thresholds are documented exceptions.
 */
:root{
  --fab-editor-grid-opacity: .3;
  --fab-shape-handle-radius: 6px;
  --fab-shape-hit-radius: 20px;

  /* Vision formation uses the fabrication palette; no independent colour set. */
  --formation-tree-canopy: var(--diagram-selection);
  --formation-tree-highlight: var(--diagram-lens-rim);
  --formation-tree-trunk: var(--diagram-template-outline);
  --formation-eye-fill: var(--diagram-lens-middle);
  --formation-eye-highlight: var(--diagram-lens-highlight);
  --formation-eye-outline: var(--diagram-template-outline);
  --formation-brain-fill: var(--diagram-surface-fallback);
  --formation-brain-outline: var(--diagram-lens-rim);
  --formation-path-left: var(--color-action);
  --formation-path-right: var(--diagram-selection);
  --formation-light: var(--diagram-focus);
  --formation-fold-opacity: .55;
  --formation-dim-photo-opacity: .18;
  --formation-ray-width: 1.5px;
  --formation-nerve-width: 3px;
  --formation-refraction-blur: 3.8;
  --formation-astigmatism-blur: 3.2;
  --formation-fault-blur: 4;
  --formation-scene-radius: var(--radius-18);

  --fab-axis-size: var(--size-88);
  --fab-axis-input-width: var(--size-48);
  --fab-axis-input-height: var(--size-24);
  --diagram-axis-ring-radius: 32;
  --diagram-axis-needle-radius: 26;
  --diagram-axis-tick-length: 3;
  --diagram-axis-major-tick-length: 5;
  --diagram-axis-knob-radius: 3;
  --diagram-axis-guide-opacity: .55;

  --diagram-profile-height: 112px;
  --diagram-profile-gap: var(--space-12);
  --diagram-profile-padding: var(--space-8);
  --diagram-profile-surface: var(--color-surface-subtle);
  --diagram-profile-radius: var(--radius-8);
  --diagram-profile-max-x-scale: 3.5;
  --diagram-profile-thickness-ratio: 1.4;
  --diagram-profile-curve-fill: .8;

  /* Optical diagram theme: also generates the SVG export adapter. */
  --diagram-lens-highlight: #f8fbfc;
  --diagram-lens-middle: #eaf3f6;
  --diagram-lens-edge: #d6e7ed;
  --diagram-lens-rim: #adcbd4;
  --diagram-lens-back: #c1d8e0;
  --diagram-lens-side: #afcbd5;
  --diagram-lens-side-light-variation: 4;
  --diagram-lens-gradient-midpoint: .55;
  --diagram-lens-highlight-x: -.12;
  --diagram-lens-highlight-y: -.14;
  --diagram-template-outline: #587781;
  --diagram-template-warning: var(--color-frame-warning);
  --diagram-focus: #bc8a32;
  --diagram-measurement: #b78130;
  --diagram-height-guide: #b38c4d;
  --diagram-frame-center: #6a929d;
  --diagram-missing-hatch: #cf6270;
  --diagram-missing-opacity: .5;
  --diagram-success: #277b6c;
  --diagram-selection: #6d9ba1;
  --diagram-surface-fallback: #f1f6f7;
  --diagram-fallback-outline: #b0c4cb;
  --diagram-mask-visible: white;
  --diagram-mask-hidden: black;
  --diagram-mesh-seam: .3px;
  --diagram-lens-rim-width: .8px;
  --diagram-template-width: 2px;
  --diagram-card-radius: 13px;
  --diagram-selection-width: 1.8px;
  --diagram-measurement-width: 1.8px;
  --diagram-guide-width: 1px;
  --diagram-guide-dash: 3 4;
  --diagram-focus-radius: 5.5px;
  --diagram-focus-width: 1.5px;
  --diagram-fallback-width: 1.1px;

  --opacity-disabled: .6;

  /* Semantic colours: use these first */
  --color-action: #287580;
  --color-black: black;
  --color-border: #e3eaed;
  --color-focus: #609ca5;
  --color-frame-outline: #527c84;
  --color-frame-warning: #b74759;
  --color-page: #f5f7f8;
  --color-selected: #eaf4f4;
  --color-surface: #fff;
  --color-surface-subtle: #f7f9fa;
  --color-text-muted: #607680;
  --color-text-primary: #293f4c;
  --color-text-secondary: #5e737e;
  --color-transparent: transparent;

  /* Preserved palette: exact existing diagram/UI shades; prefer semantic aliases in new work */
  --palette-0002: #0002;
  --palette-1b3656: #1b3656;
  --palette-20365930: #20365930;
  --palette-225d9f: #225d9f;
  --palette-23345130: #23345130;
  --palette-236e80: #236e80;
  --palette-24324d: #24324d;
  --palette-24324d08: #24324d08;
  --palette-24354b66: #24354b66;
  --palette-243f55: #243f55;
  --palette-244e88: #244e88;
  --palette-246974: #246974;
  --palette-253047: #253047;
  --palette-25355403: #25355403;
  --palette-253b46: #253b46;
  --palette-254e5b0d: #254e5b0d;
  --palette-26324a: #26324a;
  --palette-263c5b: #263c5b;
  --palette-263d6810: #263d6810;
  --palette-263f55: #263f55;
  --palette-276c60: #276c60;
  --palette-285db0: #285db0;
  --palette-2862d9: #2862d9;
  --palette-2867db: #2867db;
  --palette-286f7b: #286f7b;
  --palette-2875800c: #2875800c;
  --palette-29434d04: #29434d04;
  --palette-294c60: #294c60;
  --palette-2a6888: #2a6888;
  --palette-2c776e: #2c776e;
  --palette-2e485f: #2e485f;
  --palette-2e7188: #2e7188;
  --palette-304a6b: #304a6b;
  --palette-304c59: #304c59;
  --palette-304c65: #304c65;
  --palette-305787: #305787;
  --palette-306bd9: #306bd9;
  --palette-315b88: #315b88;
  --palette-315c8f: #315c8f;
  --palette-315f91: #315f91;
  --palette-315f94: #315f94;
  --palette-315f96: #315f96;
  --palette-32486a12: #32486a12;
  --palette-325d91: #325d91;
  --palette-3265a5: #3265a5;
  --palette-3269d5: #3269d5;
  --palette-326c98: #326c98;
  --palette-326dc5: #326dc5;
  --palette-326de1: #326de1;
  --palette-3370df: #3370df;
  --palette-34546c: #34546c;
  --palette-345775: #345775;
  --palette-345875: #345875;
  --palette-345b8c: #345b8c;
  --palette-345c79: #345c79;
  --palette-345c7e: #345c7e;
  --palette-346b87: #346b87;
  --palette-3470e0: #3470e0;
  --palette-3473dc: #3473dc;
  --palette-354d6820: #354d6820;
  --palette-355b7d: #355b7d;
  --palette-35795f: #35795f;
  --palette-35818a: #35818a;
  --palette-365d8e: #365d8e;
  --palette-365e7e: #365e7e;
  --palette-365f94: #365f94;
  --palette-366caf: #366caf;
  --palette-3672e4: #3672e4;
  --palette-375f94: #375f94;
  --palette-385b88: #385b88;
  --palette-385d8b: #385d8b;
  --palette-387b68: #387b68;
  --palette-3976e5: #3976e5;
  --palette-397c87: #397c87;
  --palette-398187: #398187;
  --palette-39858b: #39858b;
  --palette-3a5b82: #3a5b82;
  --palette-3a608e: #3a608e;
  --palette-3a74e0: #3a74e0;
  --palette-3b5d85: #3b5d85;
  --palette-3b6076: #3b6076;
  --palette-3b6079: #3b6079;
  --palette-3b69a3: #3b69a3;
  --palette-3c5f8a: #3c5f8a;
  --palette-3c73b5: #3c73b5;
  --palette-3d5c80: #3d5c80;
  --palette-3d628f: #3d628f;
  --palette-3d8791: #3d8791;
  --palette-405774: #405774;
  --palette-406696: #406696;
  --palette-408f98: #408f98;
  --palette-408f9815: #408f9815;
  --palette-416da7: #416da7;
  --palette-42536e: #42536e;
  --palette-425c7d: #425c7d;
  --palette-425d76: #425d76;
  --palette-42616e: #42616e;
  --palette-426386: #426386;
  --palette-426488: #426488;
  --palette-435b78: #435b78;
  --palette-446782: #446782;
  --palette-45627f: #45627f;
  --palette-45637b: #45637b;
  --palette-45678f: #45678f;
  --palette-46698e: #46698e;
  --palette-478c90: #478c90;
  --palette-48667c: #48667c;
  --palette-486a92: #486a92;
  --palette-486d9d: #486d9d;
  --palette-49627d: #49627d;
  --palette-496578: #496578;
  --palette-496c9a: #496c9a;
  --palette-4a657e: #4a657e;
  --palette-4a6888: #4a6888;
  --palette-4a6e9c: #4a6e9c;
  --palette-4a74ba: #4a74ba;
  --palette-4c6884: #4c6884;
  --palette-4c72b6: #4c72b6;
  --palette-4c9a7d: #4c9a7d;
  --palette-4d6583: #4d6583;
  --palette-4d77ad: #4d77ad;
  --palette-4d78af: #4d78af;
  --palette-527ebd: #527ebd;
  --palette-527fae: #527fae;
  --palette-536781: #536781;
  --palette-536b78: #536b78;
  --palette-536b86: #536b86;
  --palette-536c88: #536c88;
  --palette-536f8c: #536f8c;
  --palette-5379a6: #5379a6;
  --palette-537fb6: #537fb6;
  --palette-54759d: #54759d;
  --palette-547ba6: #547ba6;
  --palette-548ce9: #548ce9;
  --palette-557091: #557091;
  --palette-5579a6: #5579a6;
  --palette-566d89: #566d89;
  --palette-566f89: #566f89;
  --palette-58ac90: #58ac90;
  --palette-59708d: #59708d;
  --palette-59718e: #59718e;
  --palette-59728b: #59728b;
  --palette-5d7590: #5d7590;
  --palette-5d7da6: #5d7da6;
  --palette-5e748e: #5e748e;
  --palette-5f7089: #5f7089;
  --palette-5f7a9b: #5f7a9b;
  --palette-607796: #607796;
  --palette-607998: #607998;
  --palette-607b86: #607b86;
  --palette-607b8d: #607b8d;
  --palette-61768c: #61768c;
  --palette-617b91: #617b91;
  --palette-627680: #627680;
  --palette-627b96: #627b96;
  --palette-627c95: #627c95;
  --palette-637b93: #637b93;
  --palette-63a2af: #63a2af;
  --palette-647891: #647891;
  --palette-647a84: #647a84;
  --palette-647f9f: #647f9f;
  --palette-64838d: #64838d;
  --palette-658093: #658093;
  --palette-66758c: #66758c;
  --palette-667992: #667992;
  --palette-667fa6: #667fa6;
  --palette-687b95: #687b95;
  --palette-687d98: #687d98;
  --palette-6985a8: #6985a8;
  --palette-6987ad: #6987ad;
  --palette-6a7c94: #6a7c94;
  --palette-6a88b5: #6a88b5;
  --palette-6b8c95: #6b8c95;
  --palette-6d798d: #6d798d;
  --palette-6d819b: #6d819b;
  --palette-6e8192: #6e8192;
  --palette-6e819d: #6e819d;
  --palette-6e8297: #6e8297;
  --palette-6e849b: #6e849b;
  --palette-6e86a9: #6e86a9;
  --palette-6e92bd: #6e92bd;
  --palette-6e9b91: #6e9b91;
  --palette-6f8fb9: #6f8fb9;
  --palette-70839c: #70839c;
  --palette-70849e: #70849e;
  --palette-71839c: #71839c;
  --palette-71858e: #71858e;
  --palette-748096: #748096;
  --palette-758298: #758298;
  --palette-75899b: #75899b;
  --palette-7595cc: #7595cc;
  --palette-76869b: #76869b;
  --palette-76879c: #76879c;
  --palette-76a48c: #76a48c;
  --palette-76a5ad: #76a5ad;
  --palette-7890a4: #7890a4;
  --palette-7a8c9f: #7a8c9f;
  --palette-7b8ca2: #7b8ca2;
  --palette-7b8ca4: #7b8ca4;
  --palette-7b8da2: #7b8da2;
  --palette-7b8da5: #7b8da5;
  --palette-7c8da3: #7c8da3;
  --palette-7c8fa8: #7c8fa8;
  --palette-7d93b7: #7d93b7;
  --palette-7da1d0: #7da1d0;
  --palette-7f8fa0: #7f8fa0;
  --palette-7f8fa6: #7f8fa6;
  --palette-7f93b0: #7f93b0;
  --palette-806951: #806951;
  --palette-815615: #815615;
  --palette-8190a2: #8190a2;
  --palette-8194a6: #8194a6;
  --palette-82acf8: #82acf8;
  --palette-8490a4: #8490a4;
  --palette-8493aa: #8493aa;
  --palette-85520e: #85520e;
  --palette-855e2d: #855e2d;
  --palette-8593a8: #8593a8;
  --palette-8798b0: #8798b0;
  --palette-87a0c1: #87a0c1;
  --palette-886331: #886331;
  --palette-8892a4: #8892a4;
  --palette-8994a6: #8994a6;
  --palette-8996aa: #8996aa;
  --palette-8a97ab: #8a97ab;
  --palette-8a99af: #8a99af;
  --palette-8a9db7: #8a9db7;
  --palette-8aaef0: #8aaef0;
  --palette-8b95a7: #8b95a7;
  --palette-8b97a8: #8b97a8;
  --palette-8c98ab: #8c98ab;
  --palette-8c9eaf: #8c9eaf;
  --palette-8d9db4: #8d9db4;
  --palette-909aac: #909aac;
  --palette-90a1b8: #90a1b8;
  --palette-90b3e0: #90b3e0;
  --palette-916128: #916128;
  --palette-93a4bd: #93a4bd;
  --palette-94a3aa: #94a3aa;
  --palette-96a2b5: #96a2b5;
  --palette-97a2b3: #97a2b3;
  --palette-986419: #986419;
  --palette-98641b: #98641b;
  --palette-98a5b8: #98a5b8;
  --palette-99a3b4: #99a3b4;
  --palette-9aa5b6: #9aa5b6;
  --palette-9ba5b7: #9ba5b7;
  --palette-9ba7b9: #9ba7b9;
  --palette-9ca8bb: #9ca8bb;
  --palette-9caec2: #9caec2;
  --palette-9eafb5: #9eafb5;
  --palette-a0aabb: #a0aabb;
  --palette-a1aabb: #a1aabb;
  --palette-a2acbb: #a2acbb;
  --palette-a68a61: #a68a61;
  --palette-a6afbd: #a6afbd;
  --palette-a6b0bf: #a6b0bf;
  --palette-a84b56: #a84b56;
  --palette-a97b41: #a97b41;
  --palette-a9b1bd: #a9b1bd;
  --palette-aa8e69: #aa8e69;
  --palette-ad5a00: #ad5a00;
  --palette-ae2d59: #ae2d59;
  --palette-b25263: #b25263;
  --palette-b38032: #b38032;
  --palette-b38346: #b38346;
  --palette-b87918: #b87918;
  --palette-b9c5cc: #b9c5cc;
  --palette-bd913e: #bd913e;
  --palette-bdcfe5: #bdcfe5;
  --palette-bfd2f8: #bfd2f8;
  --palette-c3d2e3: #c3d2e3;
  --palette-c4d5e9: #c4d5e9;
  --palette-c5d5e5: #c5d5e5;
  --palette-c7d7e4: #c7d7e4;
  --palette-c7d8e5: #c7d8e5;
  --palette-c7dfe1: #c7dfe1;
  --palette-c8d6e2: #c8d6e2;
  --palette-c9d8e8: #c9d8e8;
  --palette-cad8e9: #cad8e9;
  --palette-cbd9e5: #cbd9e5;
  --palette-cbdce5: #cbdce5;
  --palette-cdd9e9: #cdd9e9;
  --palette-cddbea: #cddbea;
  --palette-ceddec: #ceddec;
  --palette-d2e0e8: #d2e0e8;
  --palette-d5dfec: #d5dfec;
  --palette-d5e1e9: #d5e1e9;
  --palette-d5e1ee: #d5e1ee;
  --palette-d6aa61: #d6aa61;
  --palette-d6e0ec: #d6e0ec;
  --palette-d6e5e7: #d6e5e7;
  --palette-d7e2e9: #d7e2e9;
  --palette-d9e2ee: #d9e2ee;
  --palette-db9092: #db9092;
  --palette-dbe7eb: #dbe7eb;
  --palette-dce3ed: #dce3ed;
  --palette-dce5e9: #dce5e9;
  --palette-dce8f8: #dce8f8;
  --palette-dde7f4: #dde7f4;
  --palette-ddeff1: #ddeff1;
  --palette-dfe5ef: #dfe5ef;
  --palette-dfedef: #dfedef;
  --palette-e0e7ed: #e0e7ed;
  --palette-e0e8f1: #e0e8f1;
  --palette-e0ecfc: #e0ecfc;
  --palette-e0f1f4: #e0f1f4;
  --palette-e1e7f1: #e1e7f1;
  --palette-e1e8eb: #e1e8eb;
  --palette-e1e8ee: #e1e8ee;
  --palette-e1e8f1: #e1e8f1;
  --palette-e1e8f2: #e1e8f2;
  --palette-e1e9f4: #e1e9f4;
  --palette-e1eaf9: #e1eaf9;
  --palette-e2e9f2: #e2e9f2;
  --palette-e2eaf0: #e2eaf0;
  --palette-e3e8f0: #e3e8f0;
  --palette-e3e9f1: #e3e9f1;
  --palette-e3edff: #e3edff;
  --palette-e4eaf2: #e4eaf2;
  --palette-e4eaf3: #e4eaf3;
  --palette-e4ecf6: #e4ecf6;
  --palette-e5eaf1: #e5eaf1;
  --palette-e5ebf4: #e5ebf4;
  --palette-e5effd: #e5effd;
  --palette-e6c57e: #e6c57e;
  --palette-e7ecf4: #e7ecf4;
  --palette-e7f0f5: #e7f0f5;
  --palette-e7f1ed: #e7f1ed;
  --palette-e8edf4: #e8edf4;
  --palette-e8eef6: #e8eef6;
  --palette-e9edf4: #e9edf4;
  --palette-e9eef5: #e9eef5;
  --palette-e9f3f7: #e9f3f7;
  --palette-eaf2fc: #eaf2fc;
  --palette-eaf2ff: #eaf2ff;
  --palette-eaf3f2: #eaf3f2;
  --palette-ebeff6: #ebeff6;
  --palette-ecddc7: #ecddc7;
  --palette-ed9f4c: #ed9f4c;
  --palette-edf0f5: #edf0f5;
  --palette-edf0f6: #edf0f6;
  --palette-edf1f3: #edf1f3;
  --palette-edf1f5: #edf1f5;
  --palette-edf1f6: #edf1f6;
  --palette-edf1f7: #edf1f7;
  --palette-edf3ff: #edf3ff;
  --palette-edf4ff: #edf4ff;
  --palette-edf5f5: #edf5f5;
  --palette-edf6f3: #edf6f3;
  --palette-edf7f3: #edf7f3;
  --palette-eef5fb: #eef5fb;
  --palette-eef5ff: #eef5ff;
  --palette-eef6f6: #eef6f6;
  --palette-efdfbf: #efdfbf;
  --palette-eff3f6: #eff3f6;
  --palette-eff3fa: #eff3fa;
  --palette-eff4fb: #eff4fb;
  --palette-eff5fd: #eff5fd;
  --palette-eff5ff: #eff5ff;
  --palette-eff6f6: #eff6f6;
  --palette-f0dfc7: #f0dfc7;
  --palette-f0f3f7: #f0f3f7;
  --palette-f0f4f5: #f0f4f5;
  --palette-f0f4f7: #f0f4f7;
  --palette-f0f5fb: #f0f5fb;
  --palette-f0f5fc: #f0f5fc;
  --palette-f1f5fb: #f1f5fb;
  --palette-f1f6f9: #f1f6f9;
  --palette-f1f6fb: #f1f6fb;
  --palette-f1f6ff: #f1f6ff;
  --palette-f2f4f6: #f2f4f6;
  --palette-f2f4f7: #f2f4f7;
  --palette-f2f5f9: #f2f5f9;
  --palette-f2f6fa: #f2f6fa;
  --palette-f2f6fd: #f2f6fd;
  --palette-f3f6fa: #f3f6fa;
  --palette-f3f7fc: #f3f7fc;
  --palette-f3f7fd: #f3f7fd;
  --palette-f4f7fc: #f4f7fc;
  --palette-f4f9f9: #f4f9f9;
  --palette-f5f7fa: #f5f7fa;
  --palette-f5f8fc: #f5f8fc;
  --palette-f5f9fa: #f5f9fa;
  --palette-f5f9fb: #f5f9fb;
  --palette-f5f9fc: #f5f9fc;
  --palette-f6f9fd: #f6f9fd;
  --palette-f7f9fc: #f7f9fc;
  --palette-f7faff: #f7faff;
  --palette-f9fbfd: #f9fbfd;
  --palette-faf6ef: #faf6ef;
  --palette-fafcfc: #fafcfc;
  --palette-fbfcfd: #fbfcfd;
  --palette-fcf0ee: #fcf0ee;
  --palette-fff0cc: #fff0cc;
  --palette-fff0d3: #fff0d3;
  --palette-fff3d9: #fff3d9;
  --palette-fff5df: #fff5df;
  --palette-fff5e9: #fff5e9;
  --palette-fff6e8: #fff6e8;
  --palette-fff9f0: #fff9f0;

  /* Dimensions: space / size / radius / stroke */
  --radius-10: 10px;
  --radius-11: 11px;
  --radius-12: 12px;
  --radius-13: 13px;
  --radius-14: 14px;
  --radius-15: 15px;
  --radius-16: 16px;
  --radius-18: 18px;
  --radius-25: 25px;
  --radius-3: 3px;
  --radius-4: 4px;
  --radius-5: 5px;
  --radius-6: 6px;
  --radius-7: 7px;
  --radius-8: 8px;
  --radius-9: 9px;
  --radius-round: 50%;
  --size-1: 1px;
  --size-100: 100px;
  --size-1000: 1000px;
  --size-1100: 1100px;
  --size-12: 12px;
  --size-13: 13px;
  --size-130: 130px;
  --size-140: 140px;
  --size-1440: 1440px;
  --size-145: 145px;
  --size-15: 15px;
  --size-150: 150px;
  --size-151: 151px;
  --size-158: 158px;
  --size-16: 16px;
  --size-160: 160px;
  --size-165: 165px;
  --size-170: 170px;
  --size-175: 175px;
  --size-18: 18px;
  --size-180: 180px;
  --size-1800: 1800px;
  --size-185: 185px;
  --size-190: 190px;
  --size-1900: 1900px;
  --size-2: 2px;
  --size-20: 20px;
  --size-200: 200px;
  --size-21: 21px;
  --size-210: 210px;
  --size-22: 22px;
  --size-220: 220px;
  --size-225: 225px;
  --size-23: 23px;
  --size-24: 24px;
  --size-240: 240px;
  --size-245: 245px;
  --size-25: 25px;
  --size-250: 250px;
  --size-255: 255px;
  --size-26: 26px;
  --size-265: 265px;
  --size-27: 27px;
  --size-270: 270px;
  --size-28: 28px;
  --size-280: 280px;
  --size-29: 29px;
  --size-292: 292px;
  --size-3: 3px;
  --size-30: 30px;
  --size-300: 300px;
  --size-310: 310px;
  --size-32: 32px;
  --size-325: 325px;
  --size-33: 33px;
  --size-34: 34px;
  --size-340: 340px;
  --size-345: 345px;
  --size-35: 35px;
  --size-350: 350px;
  --size-36: 36px;
  --size-360: 360px;
  --size-38: 38px;
  --size-380: 380px;
  --size-39: 39px;
  --size-390: 390px;
  --size-4: 4px;
  --size-40: 40px;
  --size-42: 42px;
  --size-43: 43px;
  --size-44: 44px;
  --size-440: 440px;
  --size-48: 48px;
  --size-5: 5px;
  --size-50: 50px;
  --size-500: 500px;
  --size-52: 52px;
  --size-540: 540px;
  --size-550: 550px;
  --size-56: 56px;
  --size-58: 58px;
  --size-6: 6px;
  --size-60: 60px;
  --size-62: 62px;
  --size-64: 64px;
  --size-640: 640px;
  --size-66: 66px;
  --size-68: 68px;
  --size-7: 7px;
  --size-700: 700px;
  --size-72: 72px;
  --size-720: 720px;
  --size-74: 74px;
  --size-75: 75px;
  --size-76: 76px;
  --size-760: 760px;
  --size-780: 780px;
  --size-8: 8px;
  --size-80: 80px;
  --size-850: 850px;
  --size-88: 88px;
  --size-880: 880px;
  --size-9: 9px;
  --size-90: 90px;
  --size-920: 920px;
  --size-94: 94px;
  --size-negative-15: -15px;
  --size-negative-4: -4px;
  --space-1: 1px;
  --space-10: 10px;
  --space-11: 11px;
  --space-12: 12px;
  --space-13: 13px;
  --space-14: 14px;
  --space-1440: 1440px;
  --space-15: 15px;
  --space-16: 16px;
  --space-17: 17px;
  --space-18: 18px;
  --space-19: 19px;
  --space-2: 2px;
  --space-20: 20px;
  --space-22: 22px;
  --space-23: 23px;
  --space-24: 24px;
  --space-26: 26px;
  --space-27: 27px;
  --space-28: 28px;
  --space-3: 3px;
  --space-32: 32px;
  --space-34: 34px;
  --space-4: 4px;
  --space-40: 40px;
  --space-5: 5px;
  --space-6: 6px;
  --space-7: 7px;
  --space-8: 8px;
  --space-9: 9px;
  --space-negative-1: -1px;
  --space-negative-7: -7px;
  --space-negative-8: -8px;
  --stroke-1: 1px;
  --stroke-1-5: 1.5px;
  --stroke-2: 2px;
  --stroke-3: 3px;

  /* Typography */
  --font-family-ui: Inter,LabSans,'PingFang SC','Microsoft YaHei',sans-serif;
  --font-family-diagram: LabSans,'Microsoft YaHei',sans-serif;
  --font-size-10: 10px;
  --font-size-11: 11px;
  --font-size-12: 12px;
  --font-size-13: 13px;
  --font-size-14: 14px;
  --font-size-15: 15px;
  --font-size-16: 16px;
  --font-size-17: 17px;
  --font-size-18: 18px;
  --font-size-19: 19px;
  --font-size-20: 20px;
  --font-size-21: 21px;
  --font-size-22: 22px;
  --font-size-23: 23px;
  --font-size-24: 24px;
  --font-size-26: 26px;
  --font-size-29: 29px;
  --font-size-34: 34px;
  --font-size-8: 8px;
  --font-size-9: 9px;
  --font-weight-400: 400;
  --font-weight-500: 500;
  --font-weight-600: 600;
  --font-weight-650: 650;
  --font-weight-700: 700;
  --font-weight-bold: bold;
  --line-height-1: 1;
  --line-height-1-3: 1.3;
  --line-height-1-4: 1.4;
  --line-height-1-5: 1.5;
  --line-height-1-6: 1.6;
  --line-height-1-65: 1.65;
  --line-height-1-7: 1.7;
  --line-height-1-8: 1.8;
  --line-height-1-85: 1.85;
  --line-height-1-9: 1.9;
  --tracking-0-3: .3px;
  --tracking-0-5: .5px;
  --tracking-1: 1px;
  --tracking-2: 2px;
  --tracking-2-5: 2.5px;
  --tracking-3: 3px;
  --tracking-negative-3: -3px;

  /* Shadows: exact existing elevation and state effects */
  --shadow-selected: 0 var(--size-1) var(--size-4) var(--palette-254e5b0d);
  --shadow-card: 0 var(--size-3) var(--size-16) var(--palette-29434d04);
  --shadow-focus: 0 0 0 var(--size-2) var(--palette-2875800c);
  --shadow-header: 0 var(--size-2) var(--size-12) var(--palette-24324d08);
  --shadow-focus-previous: 0 0 0 var(--size-2) var(--palette-408f9815);
  --shadow-selected-previous: 0 var(--size-2) var(--size-7) var(--palette-354d6820);
  --shadow-reorder-before: inset var(--size-negative-4) 0 var(--palette-3473dc);
  --shadow-reorder-after: inset var(--size-4) 0 var(--palette-3473dc);
  --shadow-anatomy-current: inset 0 0 0 var(--size-1) var(--palette-e6c57e);
  --shadow-toast: 0 var(--size-5) var(--size-25) var(--palette-20365930);
  --shadow-dialog: 0 var(--size-20) var(--size-90) var(--palette-23345130);
  --shadow-toggle: 0 var(--size-1) var(--size-3) var(--palette-0002);
  --shadow-segment-previous: 0 var(--size-1) var(--size-5) var(--palette-32486a12);
  --shadow-card-previous: 0 var(--size-3) var(--size-7) var(--palette-25355403);
  --shadow-mode-previous: 0 var(--size-2) var(--size-5) var(--palette-263d6810);

  /* Motion */
  --duration-150: .15s;
  --duration-200: .2s;
}

/* Cover test: teaching scene theme, shared with the optical diagrams. */
:root{
 --cover-page-width:1240px;
 --cover-sidebar-width:270px;
 --cover-scene-min:280px;
 --cover-readout-height:104px;
 --cover-eye-duration:650ms;
 --cover-guide-dash:4 6;
}

:root{
 --cover-stage-width:500px;
 --cover-paddle-edge:#151b1e;
 --cover-paddle-light:#3b464c;
 --cover-paddle-highlight:#59666c;
}

:root{
 --cover-lift-duration:600ms;
 --cover-lower-duration:600ms;
 --cover-transfer-duration:180ms;
 --cover-lead-duration:800ms;
 --cover-observe-duration:1800ms;
 --cover-prompt-duration:1800ms;
 --cover-glove-light:#e0edf0;
 --cover-glove-shade:#adccd3;
 --cover-glove-outline:#729ba6;
}

:root{
 --cover-scene-max-height:560px;
 --cover-sleeve-fill:var(--diagram-lens-middle);
}
