html > body > #grid {
  --global-icon-font: var(--font-icon);
  --global-icon-color: var(--color-icon);
  --global-icon-gap: var(--size-tiny);

  --grid-gap: var(--common-gap);
  --grid-padding: var(--size-medium);

  > header {
    --element-font: var(--font-heading);
    --element-font-size: var(--size-large);
    --element-color-icon: var(--color-icon);
    --element-gap: var(--size-tiny) var(--size-small);
    --element-gap-icon: var(--size-small);
  }

  > footer {
    --element-color: var(--color-secondary);
    --element-gap: var(--size-medium);
    --element-border-color: var(--color-shadow);
    --element-color-active: var(--color-active);
    --element-border-radius: var(--common-border-radius);
  }

  > nav {
    --element-gap: var(--common-gap);
    --element-gap-links: var(--common-gap-with-smaller-vertical);
    --element-gap-bar: var(--size-small);
    --element-gap-form: var(--size-tiny);
    --element-font: var(--font-header-nav);
    --element-font-icon: var(--font-icon);
    --element-color-form-labels: var(--color-secondary);
    --element-color-form-active: var(--color-active);
    --element-padding-inline-bar-links: var(--size-small);
    --element-padding-inline-search-input: var(--size-tiny);
    --element-background-bar-items: var(--color-note-contents);
    --element-border-color-bar-items: var(--color-shadow);
    --element-border-radius-bar: var(--common-border-radius);
    --element-box-shadow-bar-items: var(--common-box-shadow);
  }

  > menu,
  > main > aside {
    --element-background: var(--color-background);
    --element-border-radius-content: var(--common-border-radius);
    --element-border-radius-title: var(--common-border-radius);
    --element-clip-path: none;
    --element-color-curtain: var(--color-curtain);
    --element-color-icon: var(--color-icon);
    --element-gap: var(--common-gap);
    --element-gap-content: var(--size-small);
    --element-padding-content: var(--size-medium);
    --element-padding-title: var(--size-tiny);
    --element-zindex-curtain: var(--zindex-curtain);
    --element-zindex-form: var(--zindex-modal);
    --element-title-text-decoration-line: var(--common-pseudolink-text-decoration-line);
    --element-title-text-decoration-style: var(--common-pseudolink-text-decoration-style);
    --element-title-text-decoration-thickness: var(--common-pseudolink-text-decoration-thickness);
    --element-title-text-underline-offset: var(--common-pseudolink-text-underline-offset);
    --element-color-secondary: var(--color-shadow);
    --element-color-toggle: var(--color-secondary);
    --element-border-radius: var(--common-border-radius);
  }

  > menu {
    --element-color-title: var(--color-link);
  }

  > main > aside {
    --element-color-title: var(--color-secondary);
  }

  .article {
    --element-gap: var(--common-gap);
    --element-cite-font: var(--font-cite);
    --element-cite-color: var(--color-secondary);
    --element-heading-font: var(--font-heading);
  }

  .board {
    --element-gap: var(--common-gap);
  }

  .card {
    --element-spacing-meta-x: var(--size-medium);
    --element-spacing-meta-y: var(--size-small);
    --element-spacing-contents-x: var(--size-medium);
    --element-spacing-contents-y: var(--size-medium);
    --element-background-meta: var(--background-card-meta);
    --element-background-contents: var(--color-note-contents);
    --element-font-title: var(--font-heading);
    --element-font-link-note: var(--font-link-note);
    --element-box-shadow: var(--common-box-shadow);
    --element-border-radius: var(--common-border-radius);
    --element-link-color: var(--color-link);
    --element-link-color-visited: var(--color-visited);
    --element-link-color-active: var(--color-active);
  }

  .dialog {
    --element-background-dialog: var(--color-background);
    --element-background-curtain: var(--color-curtain);
    --element-color-closer: var(--color-background);
    --element-color-shadow: var(--color-shadow);
    --element-gap: var(--size-medium);
    --element-opener-text-decoration-line: var(--common-pseudolink-text-decoration-line);
    --element-opener-text-decoration-style: var(--common-pseudolink-text-decoration-style);
    --element-opener-text-decoration-thickness: var(--common-pseudolink-text-decoration-thickness);
    --element-opener-text-underline-offset: var(--common-pseudolink-text-underline-offset);
    --element-border-radius: var(--common-border-radius);
    --element-zindex: var(--zindex-modal);
  }

  .features {
    --element-gap: var(--size-small);
    --element-padding-inline: var(--size-small);
    --element-border-color: var(--color-shadow);
    --element-color-link: var(--color-link);
    --element-border-radius: var(--common-border-radius);
  }

  .file {
    --element-color-secondary: var(--color-secondary);
    --element-border-radius: var(--common-border-radius);
    --element-gap: var(--size-small);
    --element-extension-background: var(--color-file-extension);
    --element-extension-font: var(--font-file-extension);
  }

  .floating-link {
    --element-zindex: var(--zindex-modal);
    --element-offset-bottom: var(--size-small);
    --element-background: var(--background-page);
    --element-padding-block: var(--size-medium);
    --element-padding-inline: var(--size-large);
    --element-color: var(--color-link);
    --element-border-size: var(--size-tiny);
    --element-border-color: var(--color-accent);
    --element-border-radius: var(--common-border-radius);
    --element-box-shadow-blur-radius: var(--size-large);
    --element-box-shadow-spread-radius: var(--size-medium);
    --element-box-shadow-color: var(--color-curtain);
  }

  .form-files {
    --element-spacing: var(--size-small);
    --element-color-active: var(--color-active);
    --element-font-icon: var(--global-icon-font);
  }

  .form-label {
    --element-gap: var(--common-gap);
  }

  .form-tabbed {
    --element-unselected-color: var(--color-link);
    --element-selected-background-color: var(--color-todo);
    --element-selected-padding-inline: var(--size-tiny);
    --element-selected-border-radius: var(--common-border-radius);
    --element-selected-shadow-color: var(--color-shadow);
  }

  .link {
    --element-gap: var(--size-small) var(--global-icon-gap);
    --element-color-shadow: var(--color-shadow);
    --element-border-radius: var(--common-border-radius);
    --element-border-width: var(--size-tiny);
    --element-preview-color: var(--color-secondary);
    --element-preview-border-color: var(--color-shadow);
    --element-preview-gap-vertical: var(--size-small);
    --element-preview-font-title: var(--font-heading);
  }

  .pagination {
    --element-gap: var(--common-gap);
  }

  .section-compact {
    --element-gap-small: var(--size-tiny);
    --element-gap-medium: var(--size-small);
    --element-gap-large: var(--size-medium);
    --element-color-secondary: var(--color-shadow);
    --element-color-accent: var(--color-todo);
    --element-border-radius: var(--common-border-radius);
  }

  .team {
    --element-padding: var(--size-medium);
    --element-gap: var(--size-small);
    --element-background-opaque: var(--color-background-opaque);
    --element-border-radius: var(--common-border-radius);
    --element-box-shadow: var(--common-box-shadow);
  }

  .thread {
    --element-gap: var(--common-gap-with-smaller-vertical);
    --element-indent: var(--size-medium);
  }

  & a[data-flags] {
    --element-font-label: var(--font-label);
    --element-color-flag: var(--color-todo);
  }

  & form,
  & form > section,
  & form > fieldset > fieldset {
    --element-gap: var(--common-gap);
    --element-gap-small: var(--size-tiny);
  }

  & map-view,
  & map-find,
  & map-add {
    --element-border-radius: var(--common-border-radius);
    --element-box-shadow: var(--common-box-shadow);
    --element-border: 1px solid var(--color-shadow);
    --element-color-marker-inside: var(--color-marker-inside);
    --element-color-marker-border: var(--color-marker-border);
    --element-color-text-popup: var(--color-primary);
    --element-color-text-dark: var(--color-primary);
    --element-font: var(--font-map);
    --element-popup-gap: var(--size-small);
  }
}
