@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;

    /* Body & Navigation */
    --background-body: var(--gb-dark);
    --background-nav: var(--gb-dark1);
    --color-nav: var(--gb-light4);

    /* Backgrounds */
    --background-subnav: var(--gb-dark2);
    --background-subnav-tab-active: var(--gb-dark1);
    --background-control: var(--gb-dark1);
    --background-section: var(--gb-dark1);
    --background-light: var(--gb-dark-soft);

    /* Borders */
    --border-medium: var(--gb-dark2);
    --border-dark: var(--gb-dark3);

    /* Typography */
    --color-primary: var(--gb-light4);
    --color-secondary: var(--gb-light3);
    --color-muted: var(--gb-light4);
    --color-faint: var(--gb-gray);
    --color-strong: var(--gb-light);

    /* Links */
    --link: var(--gb-bright-aqua);
    --link-hover: var(--gb-aqua);

    /* Buttons */
    --button-primary-background: var(--gb-faded-aqua);
    --button-primary-color: var(--gb-light);
    --button-secondary-background: var(--gb-dark);
    --button-secondary-color: var(--gb-light4);
    --button-secondary-muted: var(--gb-dark4);
    --button-success-bg: var(--gb-dark);
    --button-success-color: var(--gb-bright-aqua);
    --button-danger-bg: var(--gb-dark);
    --button-danger-color: var(--gb-bright-red);
    --button-toolbar: var(--gb-light3);

    /* Shadows */
    --shadow-color: rgb(0 0 0 / 30%);
    --shadow-color-heavy: rgb(0 0 0 / 40%);

    /* Selection */
    --selected-background: var(--background-control);
    --selected-color: var(--gb-bright-purple);
    --selected-border: var(--gb-purple);

    /* Highlights */
    --hl-blue: var(--blue-950);
    --hl-gray: var(--gb-dark2);
    --hl-green: var(--lime-950);
    --hl-orange: var(--orange-950);
    --hl-purple: var(--purple-950);
    --hl-red: var(--red-950);
    --hl-slate: var(--gb-dark1);
    --hl-yellow: var(--yellow-950);

    /* Status */
    --color-danger: var(--gb-bright-red);
    --color-success: var(--gb-bright-green);
    --color-accent: var(--gb-bright-purple);
    --color-accent-strong: var(--gb-bright-purple);
    --urgent: var(--gb-bright-orange);

    /* Alerts */
    --alert-success-bg: var(--green-950);
    --alert-success-border: var(--green-900);
    --alert-success-color: var(--gb-bright-green);
    --alert-danger-bg: var(--red-950);
    --alert-danger-border: var(--red-900);
    --alert-danger-color: var(--gb-bright-red);

    /* Editor marks */
    --mark-yellow: var(--yellow-950);
    --mark-green: var(--lime-950);
    --mark-red: var(--red-950);
    --mark-purple: var(--purple-950);
    --mark-orange: var(--orange-950);
    --mark-citation: var(--gb-dark1);
    --mark-gray: var(--gb-dark2);
    --search-highlight: var(--yellow-900);
    --search-highlight-current: var(--amber-800);

    /* Labels */
    --label-gray: var(--gb-dark1);

    /* Tables */
    --background-table-header: var(--hl-gray);
  }
}
