:root {
  color-scheme: dark;
  --ops-color-scheme: dark;
  --ops-bg-frame: #090E18;
  --ops-bg-canvas: #090E18;
  --ops-bg-panel: #0E1522;
  --ops-bg-plane: #0E1522;
  --ops-plane-item-hover: #1A2438;
  --ops-plane-item-hover-line: rgba(169, 193, 234, 0.149);
  --ops-bg-surface: #131B2C;
  --ops-bg-surface-hover: #1A2438;
  --ops-bg-surface-press: #212D45;
  --ops-bg-sunken: #060A12;
  --ops-bg-field: #060A12;
  --ops-bg-tabbar: #090E18;
  --ops-hover-wash: rgba(169, 193, 234, 0.08);
  --ops-line-default: rgba(169, 193, 234, 0.149);
  --ops-line-row: rgba(169, 193, 234, 0.09);
  --ops-line-strong: #777B83;
  --ops-line-strong-hover: rgba(255, 255, 255, 0.75);
  --ops-btn-bg: #1A2438;
  --ops-btn-bg-hover: #212D45;
  --ops-btn-bg-press: #28354F;
  --ops-text-primary: #EEF2F8;
  --ops-text-secondary: #C3CEDD;
  --ops-text-tertiary: #9DACC2;
  --ops-text-placeholder: #94A3BA;
  --ops-text-disabled: #63728C;
  --ops-text-on-category: #111A2B;
  --ops-text-on-status: #111A2B;
  --ops-text-on-gradient: #FFFFFF;
  --ops-on-gradient-good: #3DD68C;
  --ops-on-gradient-warn: #F2B54A;
  --ops-on-gradient-bad: #FF7D7D;
  --ops-accent-primary: #007A52;
  --ops-accent-primary-hover: #00845A;
  --ops-accent-primary-press: #00663F;
  --ops-accent-on-primary: #FFFFFF;
  --ops-accent-link: #6FB4FF;
  --ops-selected-bg: #EEF2F8;
  --ops-selected-text: #111A2B;
  --ops-focus: #EEF2F8;
  --ops-status-good: #3DD68C;
  --ops-status-warn: #F2B54A;
  --ops-status-bad: #FF7D7D;
  --ops-status-info: #6FB4FF;
  --ops-status-good-wash: rgba(61, 214, 140, 0.16);
  --ops-status-good-hover: #7BE3B0;
  --ops-status-warn-wash: rgba(242, 181, 74, 0.16);
  --ops-status-bad-wash: rgba(255, 125, 125, 0.16);
  --ops-status-info-wash: rgba(111, 180, 255, 0.16);
  --ops-badge-bg: #C42115;
  --ops-badge-text: #FFFFFF;
  --ops-class-performance: #3DD68C;
  --ops-class-semi-private: #6FB4FF;
  --ops-class-power-hour: #F2B54A;
  --ops-class-volleyball: #B29CFF;
  --ops-nav-bg: #090E18;
  --ops-nav-active-bg: #131B2C;
  --ops-nav-text: #A9B6CB;
  --ops-nav-text-active: #FFFFFF;
  --ops-nav-marker: #3DD68C;
  --ops-nav-line: #090E18;
  --ops-logo-mark: #00D68F;
  --ops-scrim: rgba(11, 18, 32, 0.6);
  --ops-veil-far: rgba(6, 11, 20, 0.18);
  --ops-veil-near: rgba(6, 11, 20, 0.46);
  --ops-shadow-over: rgba(0, 0, 0, 0.45);
  --ops-shadow-card: 0 0 0 0 transparent;
  --ops-category-green: #61BD4F;
  --ops-category-blue: #579DFF;
  --ops-category-purple: #C377E0;
  --ops-category-pink: #FF78CB;
  --ops-category-yellow: #F5CD47;
  --ops-category-red: #EB5A46;
  --ops-category-teal: #22D3EE;
  --ops-category-orange: #FF9F1A;
  --ops-category-grey: #8FA3BF;
  --ops-person-jon: #FF9F1A;
  --ops-person-kendra: #22D3EE;
  --ops-person-staff: #C9A7FF;
  --ops-series-active-memberships: #9F8FEF;
  --ops-series-fall-enrollments: #B8E986;
  --ops-series-camps-clinics: #7DD3FC;
  --ops-series-outreach: #2DD4BF;
  --ops-series-rocks: #E2B657;
  --ops-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3BA' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --ops-icon-chevron-strong: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23EEF2F8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --ops-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3BA' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.2-4.2'/%3E%3C/svg%3E");

  --ops-bucket-get: var(--ops-category-green);
  --ops-bucket-serve: var(--ops-category-blue);
  --ops-bucket-ops: var(--ops-category-purple);
  --ops-bucket-grow: var(--ops-category-pink);
  --ops-bucket-none: var(--ops-category-grey);
  --ops-series-revenue: var(--ops-status-good);
  --ops-series-lessons: var(--ops-category-blue);
  --ops-series-active-athletes: var(--ops-category-teal);
  --ops-series-new-athletes: var(--ops-category-pink);
  --ops-series-coach-hours: var(--ops-category-orange);
  --ops-series-networking: var(--ops-category-purple);

  --ops-board-gradient-def: linear-gradient(165deg, #1E4D8C 0%, #0E2A4A 50%, #0E3A32 100%);
  --ops-board-gradient-get: linear-gradient(165deg, #0E6B4C 0%, #0C2E44 70%);
  --ops-board-gradient-serve: linear-gradient(165deg, #0C4A6E 0%, #0E2A4A 70%);
  --ops-board-gradient-ops: linear-gradient(165deg, #3D2E6B 0%, #0E2A4A 68%);
  --ops-board-gradient-growth: linear-gradient(165deg, #6B2D5B 0%, #1A2744 70%);
  --ops-board-gradient-none: linear-gradient(165deg, #0B5563 0%, #0F1B32 70%);
  --ops-board-gradient-dusk: linear-gradient(165deg, #15305E 0%, #0B1730 60%);
  --ops-board-gradient-sea: linear-gradient(165deg, #0B5563 0%, #0E2A4A 70%);
  --ops-board-shade: rgba(7, 16, 36, 0.5);
}

:root[data-ops-theme="light"] {
  color-scheme: light;
  --ops-color-scheme: light;
  --ops-bg-frame: #F5F7FA;
  --ops-bg-canvas: #F5F7FA;
  --ops-bg-panel: #FFFFFF;
  --ops-bg-plane: #EDF1F6;
  --ops-plane-item-hover: #FFFFFF;
  --ops-plane-item-hover-line: #808B9C;
  --ops-bg-surface: #FFFFFF;
  --ops-bg-surface-hover: #EDF1F6;
  --ops-bg-surface-press: #E2E8F0;
  --ops-bg-sunken: #E2E8F0;
  --ops-bg-field: #FFFFFF;
  --ops-bg-tabbar: #FFFFFF;
  --ops-hover-wash: rgba(12, 19, 34, 0.04);
  --ops-line-default: #DDE3EA;
  --ops-line-row: #E7ECF2;
  --ops-line-strong: #808B9C;
  --ops-line-strong-hover: #3D4757;
  --ops-btn-bg: #FFFFFF;
  --ops-btn-bg-hover: #EDF1F6;
  --ops-btn-bg-press: #E2E8F0;
  --ops-text-primary: #0C1322;
  --ops-text-secondary: #3D4757;
  --ops-text-tertiary: #5A6578;
  --ops-text-placeholder: #5A6578;
  --ops-text-disabled: #8792A2;
  --ops-text-on-category: #0C1322;
  --ops-text-on-status: #FFFFFF;
  --ops-text-on-gradient: #FFFFFF;
  --ops-accent-primary: #007A52;
  --ops-accent-primary-hover: #006B47;
  --ops-accent-primary-press: #005C3E;
  --ops-accent-on-primary: #FFFFFF;
  --ops-accent-link: #1D4ED8;
  --ops-selected-bg: #0C1322;
  --ops-selected-text: #FFFFFF;
  --ops-focus: #0C1322;
  --ops-status-good: #007A52;
  --ops-status-warn: #96540A;
  --ops-status-bad: #C42115;
  --ops-status-info: #1D4ED8;
  --ops-status-good-wash: rgba(0, 122, 82, 0.12);
  --ops-status-good-hover: #006B47;
  --ops-status-warn-wash: rgba(150, 84, 10, 0.1);
  --ops-status-bad-wash: rgba(196, 33, 21, 0.1);
  --ops-status-info-wash: rgba(29, 78, 216, 0.1);
  --ops-badge-bg: #C42115;
  --ops-badge-text: #FFFFFF;
  --ops-class-performance: #007A52;
  --ops-class-semi-private: #1D4ED8;
  --ops-class-power-hour: #96540A;
  --ops-class-volleyball: #6D4FD8;
  --ops-nav-bg: #090E18;
  --ops-nav-active-bg: #131B2C;
  --ops-nav-text: #3D4757;
  --ops-nav-text-active: #0C1322;
  --ops-nav-marker: #007A52;
  --ops-nav-line: #090E18;
  --ops-logo-mark: #007A52;
  --ops-scrim: rgba(12, 19, 34, 0.4);
  --ops-veil-far: rgba(12, 19, 34, 0.08);
  --ops-veil-near: rgba(12, 19, 34, 0.22);
  --ops-shadow-over: rgba(12, 19, 34, 0.18);
  --ops-shadow-card: 0 1px 2px rgba(16, 24, 40, 0.05), 0 1px 3px rgba(16, 24, 40, 0.05);
  --ops-category-green: #4F9947;
  --ops-category-blue: #4D89DF;
  --ops-category-purple: #B16ECE;
  --ops-category-pink: #CD64A9;
  --ops-category-yellow: #9C873C;
  --ops-category-red: #E95946;
  --ops-category-teal: #1C94AC;
  --ops-category-orange: #BC7A1F;
  --ops-category-grey: #788AA4;
  --ops-person-jon: #BC7A1F;
  --ops-person-kendra: #1C94AC;
  --ops-person-staff: #927DBF;
  --ops-series-active-memberships: #8A7DD2;
  --ops-series-fall-enrollments: #729260;
  --ops-series-camps-clinics: #558FAF;
  --ops-series-outreach: #249890;
  --ops-series-rocks: #9F8449;
  --ops-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6578' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --ops-icon-chevron-strong: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230C1322' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --ops-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6578' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.2-4.2'/%3E%3C/svg%3E");
}

/* The left menu keeps the dark colours in light. Written by scripts/menu-dark.mjs from the two lists above and the
   aliases in the sheets: run it again after changing a colour or an alias, never edit below this line by hand. */
:root[data-ops-theme="light"] #menu {
  color-scheme: dark;
  --ops-color-scheme: dark;
  --ops-bg-frame: #090E18;
  --ops-bg-canvas: #090E18;
  --ops-bg-panel: #0E1522;
  --ops-bg-plane: #0E1522;
  --ops-plane-item-hover: #1A2438;
  --ops-plane-item-hover-line: rgba(169, 193, 234, 0.149);
  --ops-bg-surface: #131B2C;
  --ops-bg-surface-hover: #1A2438;
  --ops-bg-surface-press: #212D45;
  --ops-bg-sunken: #060A12;
  --ops-bg-field: #060A12;
  --ops-bg-tabbar: #090E18;
  --ops-hover-wash: rgba(169, 193, 234, 0.08);
  --ops-line-default: rgba(169, 193, 234, 0.149);
  --ops-line-row: rgba(169, 193, 234, 0.09);
  --ops-line-strong: #777B83;
  --ops-line-strong-hover: rgba(255, 255, 255, 0.75);
  --ops-btn-bg: #1A2438;
  --ops-btn-bg-hover: #212D45;
  --ops-btn-bg-press: #28354F;
  --ops-text-primary: #EEF2F8;
  --ops-text-secondary: #C3CEDD;
  --ops-text-tertiary: #9DACC2;
  --ops-text-placeholder: #94A3BA;
  --ops-text-disabled: #63728C;
  --ops-text-on-category: #111A2B;
  --ops-text-on-status: #111A2B;
  --ops-text-on-gradient: #FFFFFF;
  --ops-accent-primary: #007A52;
  --ops-accent-primary-hover: #00845A;
  --ops-accent-primary-press: #00663F;
  --ops-accent-on-primary: #FFFFFF;
  --ops-accent-link: #6FB4FF;
  --ops-selected-bg: #EEF2F8;
  --ops-selected-text: #111A2B;
  --ops-focus: #EEF2F8;
  --ops-status-good: #3DD68C;
  --ops-status-warn: #F2B54A;
  --ops-status-bad: #FF7D7D;
  --ops-status-info: #6FB4FF;
  --ops-status-good-wash: rgba(61, 214, 140, 0.16);
  --ops-status-good-hover: #7BE3B0;
  --ops-status-warn-wash: rgba(242, 181, 74, 0.16);
  --ops-status-bad-wash: rgba(255, 125, 125, 0.16);
  --ops-status-info-wash: rgba(111, 180, 255, 0.16);
  --ops-badge-bg: #C42115;
  --ops-badge-text: #FFFFFF;
  --ops-class-performance: #3DD68C;
  --ops-class-semi-private: #6FB4FF;
  --ops-class-power-hour: #F2B54A;
  --ops-class-volleyball: #B29CFF;
  --ops-nav-bg: #090E18;
  --ops-nav-active-bg: #131B2C;
  --ops-nav-text: #A9B6CB;
  --ops-nav-text-active: #FFFFFF;
  --ops-nav-marker: #3DD68C;
  --ops-nav-line: #090E18;
  --ops-logo-mark: #00D68F;
  --ops-scrim: rgba(11, 18, 32, 0.6);
  --ops-veil-far: rgba(6, 11, 20, 0.18);
  --ops-veil-near: rgba(6, 11, 20, 0.46);
  --ops-shadow-over: rgba(0, 0, 0, 0.45);
  --ops-shadow-card: 0 0 0 0 transparent;
  --ops-category-green: #61BD4F;
  --ops-category-blue: #579DFF;
  --ops-category-purple: #C377E0;
  --ops-category-pink: #FF78CB;
  --ops-category-yellow: #F5CD47;
  --ops-category-red: #EB5A46;
  --ops-category-teal: #22D3EE;
  --ops-category-orange: #FF9F1A;
  --ops-category-grey: #8FA3BF;
  --ops-person-jon: #FF9F1A;
  --ops-person-kendra: #22D3EE;
  --ops-person-staff: #C9A7FF;
  --ops-series-active-memberships: #9F8FEF;
  --ops-series-fall-enrollments: #B8E986;
  --ops-series-camps-clinics: #7DD3FC;
  --ops-series-outreach: #2DD4BF;
  --ops-series-rocks: #E2B657;
  --ops-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3BA' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --ops-icon-chevron-strong: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23EEF2F8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --ops-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3BA' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.2-4.2'/%3E%3C/svg%3E");
  --ops-bucket-get: var(--ops-category-green);
  --ops-bucket-serve: var(--ops-category-blue);
  --ops-bucket-ops: var(--ops-category-purple);
  --ops-bucket-grow: var(--ops-category-pink);
  --ops-bucket-none: var(--ops-category-grey);
  --ops-series-revenue: var(--ops-status-good);
  --ops-series-lessons: var(--ops-category-blue);
  --ops-series-active-athletes: var(--ops-category-teal);
  --ops-series-new-athletes: var(--ops-category-pink);
  --ops-series-coach-hours: var(--ops-category-orange);
  --ops-series-networking: var(--ops-category-purple);
}
/* Text that sets no colour of its own inherits the page's: give the menu the dark look's text colour to hand down. */
:where(:root[data-ops-theme="light"]) #menu { color: var(--ops-text-primary); }

:where(:root[data-ops-theme="light"]) #menu {
  --page: var(--ops-bg-canvas);
  --panel: var(--ops-bg-panel);
  --raised: var(--ops-bg-surface);
  --cardbg: var(--ops-bg-surface);
  --cardline: var(--ops-line-default);
  --line: var(--ops-line-default);
  --line2: var(--ops-line-strong);
  --t1: var(--ops-text-primary);
  --t2: var(--ops-text-secondary);
  --t3: var(--ops-text-tertiary);
  --green: var(--ops-status-good);
  --green-soft: var(--ops-status-good-wash);
  --gold: var(--ops-accent-primary);
  --gold-edge: var(--ops-accent-primary);
  --gold-ink: var(--ops-accent-on-primary);
  --warn: var(--ops-status-warn);
  --red: var(--ops-status-bad);
  --green-dark: var(--green);
  --ink: var(--ops-text-on-status);
  --ink-fg: var(--t1);
  --text: var(--t1);
  --sub: var(--t2);
  --muted: var(--t3);
  --surface: var(--page);
  --card: var(--panel);
  --well: var(--raised);
  --danger: var(--red);
  --danger-wash: var(--ops-status-bad-wash);
  --good-wash: var(--green-soft);
  --warn-wash: var(--ops-status-warn-wash);
  --metric-hero: var(--green);
  --info: var(--ops-status-info);
  --info-wash: var(--ops-status-info-wash);
}
:where(html.ops-navy[data-ops-theme="light"]) #menu {
  --pv-frame: var(--ops-bg-canvas);
  --pv-panel: var(--ops-bg-panel);
  --pv-raised: var(--ops-bg-surface);
  --pv-raised2: var(--ops-bg-surface-hover);
  --pv-edge: var(--ops-line-strong);
  --pv-edge-card: var(--ops-line-default);
  --pv-float: 0 1px 0 transparent inset, 0 14px 34px var(--ops-shadow-over);
  --pv-div: var(--ops-line-default);
  --pv-t1: var(--ops-text-primary);
  --pv-t2: var(--ops-text-secondary);
  --pv-t3: var(--ops-text-tertiary);
  --pv-green: var(--ops-accent-primary);
  --pv-good: var(--ops-status-good);
  --pv-green-hover: var(--ops-accent-primary-hover);
  --pv-ink: var(--ops-accent-on-primary);
  --pv-ink-cat: var(--ops-text-on-category);
  --pv-ink-sel: var(--ops-selected-text);
  --pv-c-get: var(--ops-bucket-get);
  --pv-c-serve: var(--ops-bucket-serve);
  --pv-c-ops: var(--ops-bucket-ops);
  --pv-c-grow: var(--ops-bucket-grow);
  --pv-c-none: var(--ops-bucket-none);
  --pv-p-jon: var(--ops-person-jon);
  --pv-p-kendra: var(--ops-person-kendra);
  --pv-p-staff: var(--ops-person-staff);
  --pv-late: var(--ops-status-bad);
  --sea-fill: var(--ops-bg-surface-hover);
  --sea-fill-hover: var(--ops-bg-surface-press);
  --sea-edge: var(--ops-text-tertiary);
  --pv-focus: inset 0 0 0 1.5px var(--ops-focus);
  --pv-focus-ink: inset 0 0 0 1.5px var(--ops-accent-on-primary);
  --pv-off: var(--ops-text-disabled);
  --st-ok: var(--ops-status-good);
  --st-warn: var(--ops-status-warn);
  --st-risk: var(--ops-status-bad);
  --st-park: var(--ops-text-tertiary);
  --att: var(--ops-status-bad);
  --wk-page: var(--ops-bg-canvas);
  --wk-col: var(--ops-bg-plane);
  --wk-col-today: var(--ops-bg-surface);
  --wk-head: var(--ops-bg-surface);
  --wk-head-today: var(--ops-bg-surface-hover);
  --wk-hour: var(--ops-line-default);
  --wk-half: var(--ops-hover-wash);
  --wk-line: var(--ops-line-default);
  --wk-head: var(--ops-bg-surface-hover);
  --wk-due: var(--ops-bg-plane);
  --wk-col: var(--ops-bg-plane);
  --wk-head-today: var(--ops-bg-surface-press);
  --wk-due-today: var(--ops-bg-surface);
  --wk-col-today: var(--ops-bg-surface);
  --fr-page: var(--ops-bg-canvas);
  --fr-menu: var(--ops-bg-canvas);
  --fr-menu-hover: var(--ops-hover-wash);
  --fr-menu-active: var(--ops-nav-active-bg);
  --fr-canvas: var(--ops-bg-canvas);
  --fr-side: var(--ops-bg-panel);
  --fr-rule: var(--ops-nav-line);
  --mast-bg: var(--ops-bg-surface);
  --mast-rule: var(--ops-nav-marker);
  --mast-t1: var(--ops-text-primary);
  --mast-t2: var(--ops-text-secondary);
  --mast-t3: var(--ops-text-secondary);
  --mast-ctl: var(--ops-bg-field);
  --mast-ctl-hover: var(--ops-bg-surface-hover);
  --mast-ctl-edge: var(--ops-line-strong);
  --dpm-surface: var(--ops-bg-surface);
  --dpm-line: var(--ops-line-strong);
  --dpm-ink: var(--ops-text-primary);
  --dpm-ink-2: var(--ops-text-secondary);
  --frame: var(--ops-bg-canvas);
  --page: var(--ops-bg-canvas);
  --surface: var(--ops-bg-surface);
  --raised: var(--ops-bg-surface);
  --line: var(--ops-line-default);
  --t1: var(--ops-text-primary);
  --t2: var(--ops-text-secondary);
  --t3: var(--ops-text-tertiary);
  --green: var(--ops-status-good);
  --ink: var(--ops-text-on-category);
  --c-get: var(--ops-bucket-get);
  --c-serve: var(--ops-bucket-serve);
  --c-ops: var(--ops-bucket-ops);
  --c-growth: var(--ops-bucket-grow);
  --c-none: var(--ops-bucket-none);
  --jon: var(--ops-person-jon);
  --kendra: var(--ops-person-kendra);
  --staff: var(--ops-person-staff);
  --red: var(--ops-status-bad);
  --amber: var(--ops-status-warn);
  --ok: var(--ops-status-good);
  --gold: var(--ops-status-warn);
  --list: var(--ops-bg-surface);
  --card: var(--ops-bg-surface);
  --cardh: var(--ops-bg-surface-hover);
  --field: var(--ops-bg-field);
  --edge: var(--ops-line-default);
  --hover: var(--ops-hover-wash);
  --over: 0 12px 32px var(--ops-shadow-over);
  --g-def: var(--ops-board-gradient-def);
  --g-get: var(--ops-board-gradient-get);
  --g-serve: var(--ops-board-gradient-serve);
  --g-ops: var(--ops-board-gradient-ops);
  --g-growth: var(--ops-board-gradient-growth);
  --g-none: var(--ops-board-gradient-none);
  --g-dusk: var(--ops-board-gradient-dusk);
  --g-sea: var(--ops-board-gradient-sea);
  --danger: var(--ops-status-bad);
  --dp3-danger: var(--ops-status-bad);
  --dp-crit-t: var(--ops-status-bad);
  --dp2-action: var(--ops-accent-primary);
  --dp2-gold: var(--ops-accent-primary);
}
:where(:root.dpt-app[data-ops-theme="light"]) #menu {
  --dp3-bg: var(--dp4-bg);
  --dp3-card: var(--dp4-card);
  --dp3-card-2: var(--dp4-card-2);
  --dp3-line: var(--dp4-line);
  --dp3-text: var(--dp4-text);
  --dp3-text-2: var(--dp4-text-2);
  --dp3-text-3: var(--dp4-text-3);
  --dp3-link: var(--dp4-link);
  --dp3-link-hover: var(--dp4-link-hover);
  --dp3-focus: var(--dp4-good);
  --dp2-page: var(--dp4-bg);
  --dp2-card: var(--dp4-card);
  --dp-surface: var(--dp4-bg);
  --dp-surface-raised: var(--dp4-card);
  --dp-text: var(--dp4-text);
  --dp-text-muted: var(--dp4-text-2);
  --dp-line: var(--dp4-line);
}
:where(:root.dpt-v5[data-ops-theme="light"]) #menu {
  --dp5-secondary-ink: var(--dp5-text-2);
  --dp5-secondary-ink-hover: var(--dp5-text);
  --dp5-focus: inset 0 0 0 1.5px var(--dp5-text);
  --dp5-focus-ink: inset 0 0 0 1.5px var(--dp5-primary-ink);
  --dp5-good: var(--dp5-green);
  --dp5-cat-performance: var(--dp5-green);
  --dp5-chart: var(--dp5-green);
  --dp5-chart-other: var(--dp5-text-2);
  --dp5-chart-axis: var(--dp5-text-3);
  --dp5-chart-base: var(--dp5-line);
  --dp5-chart-point: var(--dp5-text);
  --dp4-bg: var(--dp5-canvas);
  --dp4-card: var(--dp5-surface);
  --dp4-card-2: var(--dp5-raised);
  --dp4-line: var(--dp5-line);
  --dp4-field: var(--dp5-raised);
  --dp4-field-line: var(--dp5-raised);
  --dp4-tabbar: var(--dp5-tabbar);
  --dp4-text: var(--dp5-text);
  --dp4-text-2: var(--dp5-text-2);
  --dp4-text-3: var(--dp5-text-3);
  --dp4-placeholder: var(--dp5-placeholder);
  --dp4-good: var(--dp5-good);
  --dp4-watch: var(--dp5-warn);
  --dp4-bad: var(--dp5-bad);
  --dp4-link: var(--dp5-green);
  --dp4-link-hover: var(--dp5-green-hover);
  --dp4-green: var(--dp5-green);
  --dp4-gold: var(--dp5-primary);
  --dp4-gold-ink: var(--dp5-primary-ink);
  --dp4-primary: var(--dp5-primary);
  --dp4-primary-ink: var(--dp5-primary-ink);
  --dp4-primary-hover: var(--dp5-primary-hover);
  --dp3-bg: var(--dp5-canvas);
  --dp3-card: var(--dp5-surface);
  --dp3-card-2: var(--dp5-raised);
  --dp3-card-edge: var(--dp5-line);
  --dp3-line: var(--dp5-line);
  --dp3-line-strong: var(--dp5-line-strong);
  --dp3-text: var(--dp5-text);
  --dp3-text-2: var(--dp5-text-2);
  --dp3-text-3: var(--dp5-text-3);
  --dp3-accent: var(--dp5-green);
  --dp3-accent-hot: var(--dp5-green);
  --dp3-accent-hot-hover: var(--dp5-green-hover);
  --dp3-accent-hot-ink: var(--dp5-ink);
  --dp3-electric: var(--dp5-green);
  --dp3-electric-ink: var(--dp5-ink);
  --dp3-action: var(--dp5-primary);
  --dp3-action-ink: var(--dp5-primary-ink);
  --dp3-action-hover: var(--dp5-primary-hover);
  --dp3-neutral: var(--dp5-primary);
  --dp3-neutral-ink: var(--dp5-primary-ink);
  --dp3-neutral-hover: var(--dp5-primary-hover);
  --dp3-link: var(--dp5-green);
  --dp3-link-hover: var(--dp5-green-hover);
  --dp3-focus: var(--dp5-text);
  --dp3-ok: var(--dp5-good);
  --dp3-warn: var(--dp5-warn);
  --dp3-danger: var(--dp5-bad);
  --dp3-div-mid: var(--dp5-text-3);
  --dp3-div-neg: var(--dp5-bad);
  --dp3-seq-5: var(--dp5-green-hover);
  --dp3-score-optimal: var(--dp5-good);
  --dp3-score-fair: var(--dp5-warn);
  --dp3-score-low: var(--dp5-bad);
  --dp3-score-none: var(--dp5-text-3);
  --dp3-chart-1: var(--dp5-chart);
  --dp3-chart-2: var(--dp5-chart-other);
  --dp3-chart-3: var(--dp5-text-3);
  --dp3-chart-4: var(--dp5-chart-other);
  --dp3-chart-5: var(--dp5-chart-other);
  --dp3-chart-axis: var(--dp5-chart-axis);
  --dp3-chart-grid: var(--dp5-chart-base);
  --dp3-chart-other: var(--dp5-chart-other);
  --dp3-div-pos: var(--dp5-good);
  --dp3-seq-1: var(--dp5-green-tint);
  --dp3-seq-4: var(--dp5-green);
  --dp3-shadow-card: var(--dp5-shadow-card);
  --dp2-page: var(--dp5-canvas);
  --dp2-card: var(--dp5-surface);
  --dp2-well: var(--dp5-canvas);
  --dp2-glass: var(--dp5-raised);
  --dp2-hairline: var(--dp5-line);
  --dp2-hairline-soft: var(--dp5-line-canvas);
  --dp2-text: var(--dp5-text);
  --dp2-text-2: var(--dp5-text-2);
  --dp2-label: var(--dp5-text-3);
  --dp2-good: var(--dp5-good);
  --dp2-warn: var(--dp5-warn);
  --dp2-crit: var(--dp5-bad);
  --dp2-gold: var(--dp5-primary);
  --dp2-gold-ink: var(--dp5-primary-ink);
  --dp2-accent-text: var(--dp5-green);
  --dp2-action: var(--dp5-primary);
  --dp2-action-ink: var(--dp5-primary-ink);
  --dp2-action-hover: var(--dp5-primary-hover);
  --dp2-nav-item: var(--dp5-text-3);
  --dp2-nav-active: var(--dp5-green);
  --dp2-nav-border: var(--dp5-line-canvas);
  --dp2-nav-bg: var(--dp5-tabbar);
  --dp2-streak-on: var(--dp5-green);
  --dp-green-brand: var(--dp5-green);
  --dp-green-hover: var(--dp5-green-hover);
  --dp-green-text: var(--dp5-green);
  --dp-ink: var(--dp5-ink);
  --dp-ink-deep: var(--dp5-canvas);
  --dp-slate: var(--dp5-text-3);
  --dp-paper: var(--dp5-surface);
  --dp-mint: var(--dp5-green-tint);
  --dp-white: var(--dp5-text);
  --dp-border: var(--dp5-line);
  --dp-field-border: var(--dp5-line);
  --dp-field-hover: var(--dp5-line-strong);
  --dp-error: var(--dp5-bad);
  --dp-good: var(--dp5-good);
  --dp-good-t: var(--dp5-good);
  --dp-warn: var(--dp5-warn);
  --dp-warn-t: var(--dp5-warn);
  --dp-crit: var(--dp5-bad);
  --dp-crit-ink: var(--dp5-bad);
  --dp-crit-t: var(--dp5-bad);
  --dp-action: var(--dp5-primary);
  --dp-action-ink: var(--dp5-primary-ink);
  --dp-action-hover: var(--dp5-primary-hover);
  --dp-action-t: var(--dp5-green);
  --dp-action-t-ink: var(--dp5-ink);
  --dp-action-t-hover: var(--dp5-green-hover);
  --dp-attention: var(--dp5-warn);
  --dp-attention-ink: var(--dp5-ink);
  --dp-raised-dark: var(--dp5-raised);
  --dp-surface: var(--dp5-canvas);
  --dp-surface-raised: var(--dp5-surface);
  --dp-surface-sunken: var(--dp5-canvas);
  --dp-text: var(--dp5-text);
  --dp-text-muted: var(--dp5-text-2);
  --dp-line: var(--dp5-line);
  --dp-chrome: var(--dp5-canvas);
  --dp-chrome-green: var(--dp5-green);
  --dp-chrome-ink: var(--dp5-text);
}
:where(html.ops-navy.dpt-v5[data-ops-theme="light"]) #menu, :where(html.ops-navy[data-ops-theme="light"] body.dpt-dark) #menu, :where(html[data-ops-theme="light"] body.ops-navy.dpt-dark) #menu {
  --dp5-canvas: var(--ops-bg-canvas);
  --dp5-surface: var(--ops-bg-panel);
  --dp5-raised: var(--ops-bg-surface);
  --dp5-raised-hover: var(--ops-bg-surface-hover);
  --dp5-raised-press: var(--ops-bg-surface-press);
  --dp5-line: var(--ops-line-default);
  --dp5-line-canvas: var(--ops-line-default);
  --dp5-line-strong: var(--ops-line-strong);
  --dp5-line-card: var(--ops-line-default);
  --dp5-skel: var(--ops-bg-surface-hover);
  --dp5-tabbar: var(--ops-bg-canvas);
  --dp5-text: var(--ops-text-primary);
  --dp5-text-2: var(--ops-text-secondary);
  --dp5-text-3: var(--ops-text-tertiary);
  --dp5-placeholder: var(--ops-text-placeholder);
  --dp5-text-off: var(--ops-text-tertiary);
  --dp5-ink: var(--ops-text-on-category);
  --dp5-primary-ink: var(--ops-selected-text);
  --dp5-focus: inset 0 0 0 1.5px var(--ops-focus);
  --dp5-focus-ink: inset 0 0 0 1.5px var(--ops-selected-text);
  --dp5-shadow-card: inset 0 0 0 1px var(--ops-line-default), 0 1px 0 transparent inset, 0 14px 34px transparent;
  --dp5-green: var(--ops-status-good);
  --dp5-green-hover: var(--ops-status-good-hover);
  --dp5-bad: var(--ops-status-bad);
  --page: var(--ops-bg-canvas);
  --panel: var(--ops-bg-panel);
  --raised: var(--ops-bg-surface);
  --cardbg: var(--ops-bg-surface);
  --card: var(--ops-bg-surface);
  --well: var(--ops-bg-sunken);
  --surface: var(--ops-bg-canvas);
  --line: var(--ops-line-default);
  --line2: var(--ops-line-strong);
  --cardline: var(--ops-line-default);
  --t1: var(--ops-text-primary);
  --t2: var(--ops-text-secondary);
  --t3: var(--ops-text-tertiary);
  --text: var(--ops-text-primary);
  --sub: var(--ops-text-secondary);
  --muted: var(--ops-text-tertiary);
  --ink: var(--ops-text-on-status);
  --ink-fg: var(--ops-text-primary);
  --gold: var(--ops-accent-primary);
  --gold-edge: var(--ops-accent-primary);
  --dp2-action: var(--ops-accent-primary);
  --dp2-action-hover: var(--ops-accent-primary-hover);
  --dp2-gold: var(--ops-accent-primary);
  --gold-ink: var(--ops-accent-on-primary);
  --green: var(--ops-status-good);
  --green-dark: var(--ops-status-good);
  --red: var(--ops-status-bad);
  --danger: var(--ops-status-bad);
  --warn-wash: var(--ops-status-warn-wash);
  --danger-wash: var(--ops-status-bad-wash);
  --good-wash: var(--ops-status-good-wash);
  --dp3-text: var(--ops-text-primary);
  --dp3-text-2: var(--ops-text-secondary);
  --dp3-text-3: var(--ops-text-tertiary);
  --dp3-bg: var(--ops-bg-canvas);
  --dp3-card: var(--ops-bg-panel);
  --dp3-card-2: var(--ops-bg-sunken);
  --dp3-line: var(--ops-line-default);
  --dp3-line-strong: var(--ops-line-strong);
  --dp3-link: var(--ops-status-good);
  --dp3-focus: var(--ops-focus);
  --dp2-action-ink: var(--ops-accent-on-primary);
  --dp-text: var(--ops-text-primary);
  --dp-text-muted: var(--ops-text-secondary);
  --dp-line: var(--ops-line-default);
  --dp-surface: var(--ops-bg-canvas);
  --dp-surface-raised: var(--ops-bg-panel);
  --dp-surface-sunken: var(--ops-bg-sunken);
  --dp2-good: var(--ops-status-good);
  --dp2-hairline: var(--ops-line-default);
  --dp4-tabbar: var(--ops-bg-canvas);
  --dp5-chart: var(--ops-status-good);
  --dp5-good: var(--ops-status-good);
  --dp5-green-tint: var(--ops-status-good-wash);
  --dp5-hue-0: var(--ops-category-red);
  --dp5-hue-1: var(--ops-category-blue);
  --dp5-hue-2: var(--ops-category-purple);
  --dp5-hue-3: var(--ops-category-orange);
  --dp5-hue-4: var(--ops-category-pink);
  --dp5-hue-5: var(--ops-category-teal);
  --dp5-primary: var(--ops-selected-bg);
  --dp5-primary-hover: var(--ops-text-secondary);
  --dp5-warn: var(--ops-status-warn);
}
