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

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

  > header {
    --element-font: var(--theme-font-heading);
    --element-color-lead: var(--theme-color-lead);
    --element-color-icon: var(--theme-color-icon);
    --element-gap: var(--size-tiny) var(--size-small);
    --element-gap-icon: var(--size-small);
    --element-title-font-size: var(--size-large);
    --element-title-text-decoration: var(--theme-title-text-decoration);
    --element-title-text-decoration-color: var(--theme-title-text-decoration-color);
    --element-title-underline-offset: var(--theme-title-underline-offset);
    --element-title-underline-thickness: var(--theme-title-underline-thickness);
  }

  > footer {
    --element-color: var(--theme-color-footer-text);
    --element-gap: var(--size-medium);
    --element-border-color: var(--theme-color-shadow);
    --element-color-active: var(--theme-color-active);
    --element-border-radius: var(--theme-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(--theme-font-header-nav);
    --element-font-icon: var(--theme-font-icon);
    --element-color-form-labels: var(--theme-color-navigation-form-button);
    --element-color-form-placeholder: var(--theme-color-navigation-form-placeholder);
    --element-color-form-active: var(--theme-color-active);
    --element-padding-inline-bar-links: var(--size-small);
    --element-padding-inline-search-input: var(--size-tiny);
    --element-background-bar-items: var(--theme-background-navigation-blocks);
    --element-border-color-bar-items: var(--theme-color-shadow);
    --element-border-radius-bar: var(--theme-border-radius);
    --element-box-shadow-bar-items: var(--theme-box-shadow);
  }

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

  .banner {
    --element-gap: var(--common-gap-with-smaller-vertical);
    --element-background: var(--theme-background-banner);
    --element-border-radius: var(--theme-border-radius);
    --element-shadow-size: var(--size-tiny);
  }

  .blocks {
    --element-background: var(--theme-background-block);
    --element-gap: var(--common-gap);
    --element-gap-inner: var(--common-gap-with-smaller-vertical);
    --element-padding: var(--size-medium);
    --element-border-radius: var(--theme-border-radius);
  }

  .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(--theme-background-card-meta);
    --element-background-contents: var(--theme-background-card-contents);
    --element-font-title: var(--theme-font-heading);
    --element-font-link-note: var(--theme-font-link-note);
    --element-box-shadow: var(--theme-box-shadow);
    --element-border-radius: var(--theme-border-radius);
    --element-color: var(--theme-color-card-text);
    --element-link-color: var(--theme-color-card-link);
    --element-link-color-active: var(--theme-color-active);
    --element-link-color-visited: var(--theme-color-card-link-visited);
  }

  .choice-example {
    --element-item-spacing: var(--size-small);
    --element-item-spacing-inner: var(--size-tiny);
    --element-item-spacing-right: var(--size-medium);
    --element-border-color: var(--theme-color-separator);
    --element-border-radius: var(--theme-border-radius);
    --element-color-description: var(--theme-color-description);
  }

  .dialog {
    --element-background-dialog: var(--theme-background-page);
    --element-background-curtain: var(--theme-color-curtain);
    --element-color-closer: var(--theme-color-dialog-closer);
    --element-color-shadow: var(--theme-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(--theme-border-radius);
    --element-zindex: var(--zindex-modal);
  }

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

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

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

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

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

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

  .list-concise {
    --element-gap: var(--size-small);
    --element-padding: var(--size-small);
    --element-color-separator: var(--theme-color-separator);
    --element-color-link: var(--theme-color-link);
    --element-border-radius: var(--theme-border-radius);
  }

  .list-verbose {
    --element-item-spacing: var(--size-small);
  }

  .pages-navigation {
    --element-padding-top: var(--size-large);
    --element-padding-inner: var(--size-medium);
    --element-gap: var(--size-tiny);
    --element-color-link: var(--theme-color-link);
    --element-color-separator: var(--theme-color-separator);
    --element-color-text: var(--theme-color-description);
  }

  .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(--theme-color-shadow);
    --element-color-accent: var(--theme-color-todo);
    --element-border-radius: var(--theme-border-radius);
  }

  .table {
    --element-column-spacing: var(--size-medium);
    --element-row-padding-vertical: var(--size-small);
    --element-row-spacing-related: var(--size-tiny);
    --element-border-color: var(--theme-color-separator);
    --element-description-color: var(--theme-color-description);
  }

  .tabs {
    --element-background: var(--theme-background-block);
    --element-background-closer: var(--theme-background-page);
    --element-background-toggle: var(--theme-color-shadow);
    --element-border-radius-content: var(--theme-border-radius);
    --element-border-radius-title: var(--theme-border-radius);
    --element-color-curtain: var(--theme-color-curtain);
    --element-color-icon: var(--theme-color-tabs-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(--theme-color-tabs-secondary);
    --element-color-toggle: var(--theme-color-tabs-toggle);
    --element-border-radius: var(--theme-border-radius);
  }

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

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

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

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

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

  & a[data-flags] {
    --element-font-label: var(--theme-font-label);
    --element-color-flag: var(--theme-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(--theme-border-radius);
    --element-box-shadow: var(--theme-box-shadow);
    --element-border: var(--theme-border-map);
    --element-popup-background: var(--theme-background-page);
    --element-color-marker-inside: var(--theme-color-map-marker-fill);
    --element-color-marker-border: var(--theme-color-map-marker-outline);
    --element-color-text-popup: var(--theme-color-text);
    --element-color-text-primary: var(--theme-color-map-text);
    --element-font: var(--theme-font-map);
    --element-popup-gap: var(--size-small);
  }
}
