{
  "version": 1.1,
  "globalAttributes": [
    {
      "name": "data-palette",
      "description": "Coordinated page, surface, foreground, border, link and primary colours. Light/dark follows data-theme. Success, warning and error colours stay semantic. Default: default. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "default"
        },
        {
          "name": "mono"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-theme",
      "description": "Page and component colour scheme: auto follows the visitor's preference. Default: auto. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "auto"
        },
        {
          "name": "light"
        },
        {
          "name": "dark"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-accent",
      "description": "Primary actions, badges, alerts, native accent controls and checked switches. Links retain their theme colour. Explicit accents reset their foreground; omitted accents follow data-palette. Default: Palette primary. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "blue"
        },
        {
          "name": "violet"
        },
        {
          "name": "teal"
        },
        {
          "name": "green"
        },
        {
          "name": "orange"
        },
        {
          "name": "rose"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-shape",
      "description": "Styled controls, surfaces, navigation, media, code, choice labels, avatars and placeholders. Custom uses --re-custom-surface-radius, --re-custom-field-radius and --re-custom-action-radius (nonnegative lengths; .75rem defaults). Local presets reset all three groups. Default: rounded. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "square"
        },
        {
          "name": "subtle"
        },
        {
          "name": "rounded"
        },
        {
          "name": "pill"
        },
        {
          "name": "custom"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-fill",
      "description": "Button, badge and alert gradients; optional glass sheen. Does not change material. Default: gradient. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "gradient"
        },
        {
          "name": "solid"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-density",
      "description": "Control and surface padding, list and description spacing, card sections and layout spacing. Custom separates surface padding (--re-custom-surface-padding, 1rem), control padding multiplier (--re-custom-control-density, 1), and content spacing (--re-custom-content-space, 1rem). Minimum control heights are preserved; local presets reset all groups. Default: comfortable. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "compact"
        },
        {
          "name": "comfortable"
        },
        {
          "name": "spacious"
        },
        {
          "name": "custom"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-depth",
      "description": "Action and surface shadows. Text-control inset shadows are configured with data-controls. Default: subtle. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "flat"
        },
        {
          "name": "subtle"
        },
        {
          "name": "pronounced"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-motion",
      "description": "Action transitions, accordion expansion and chevron rotation (expressive adds a fade), press movement, decorative edges, custom spinners, switch transitions and skeleton shimmer. Reduced motion wins; native progress is browser-owned. Default: subtle. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "none"
        },
        {
          "name": "subtle"
        },
        {
          "name": "expressive"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-type",
      "description": "Page or subtree typography. Default: standard. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "compact"
        },
        {
          "name": "standard"
        },
        {
          "name": "large"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-border",
      "description": "Styled control and surface borders, table rules and navigation boundaries. Invalid-state and forced-colour boundaries take priority. Default: subtle. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "subtle"
        },
        {
          "name": "defined"
        },
        {
          "name": "none"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-contrast",
      "description": "Foreground and boundary contrast; optional glass becomes opaque. System preferences retain their component-specific priority. Default: auto. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "auto"
        },
        {
          "name": "more"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-tone",
      "description": "Override page and surface temperature without resetting the palette accent, links or foregrounds. Default: Palette surfaces. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "neutral"
        },
        {
          "name": "cool"
        },
        {
          "name": "warm"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-controls",
      "description": "Text input, select and textarea backing and inset shadow. Default: styled. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "styled"
        },
        {
          "name": "minimal"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-width",
      "description": "Page-container width. Narrow, Standard and Wide cap .container at 48rem, 75rem and 90rem. Full fills the parent with 1rem side padding. Custom uses --re-custom-max-width (75rem) and --re-custom-side-padding (1rem); max width includes padding, which is reduced in narrow containers. Local presets reset width/padding. Navbar width is configured separately. Default: standard. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "narrow"
        },
        {
          "name": "standard"
        },
        {
          "name": "wide"
        },
        {
          "name": "full"
        },
        {
          "name": "custom"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-table",
      "description": "Table stripes and grid lines; rule thickness follows data-border. Default: plain. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "plain"
        },
        {
          "name": "striped"
        },
        {
          "name": "bordered"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-size",
      "description": "Controls, menu actions, badges, alerts, accordion summaries, breadcrumbs, pagination, form labels, choice labels, spinners and avatars. Default: medium. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "small"
        },
        {
          "name": "medium"
        },
        {
          "name": "large"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-ratio",
      "description": "Image and video aspect ratio; auto retains natural proportions. Default: auto. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "auto"
        },
        {
          "name": "square"
        },
        {
          "name": "landscape"
        },
        {
          "name": "portrait"
        },
        {
          "name": "wide"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-fit",
      "description": "Image, video and avatar content within constrained dimensions. Default: cover. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "cover"
        },
        {
          "name": "contain"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-gap",
      "description": "Spacing in .grid, .row, .stack, .accordion, .pagination, .tabs and .toolbar; combines with density. Default: medium. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "none"
        },
        {
          "name": "small"
        },
        {
          "name": "medium"
        },
        {
          "name": "large"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-material",
      "description": "Solid surfaces by default; optional Glass or Soft UI surfaces and actions use their matching extension. Veil is deprecated and retained for existing sites. Explicit material boundaries stop another inherited material. Default: solid. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "solid"
        },
        {
          "name": "glass"
        },
        {
          "name": "veil"
        },
        {
          "name": "soft"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-edge",
      "description": "Decorative borders on buttons, .button links and cards. Shine sweeps on interaction; animated turns continuously. Native action inputs keep regular borders. Default: plain. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "plain"
        },
        {
          "name": "gradient"
        },
        {
          "name": "shine"
        },
        {
          "name": "animated"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-variant",
      "description": "Button, action-input, .button link, badge and alert semantic colour. Primary uses the inherited accent; local legacy button classes override inherited variants, while a valid action-level attribute takes precedence. Default: primary. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "primary"
        },
        {
          "name": "success"
        },
        {
          "name": "warning"
        },
        {
          "name": "danger"
        },
        {
          "name": "neutral"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-appearance",
      "description": "Badge and alert backing and border treatment. Does not configure buttons. Default: tinted. Inherited; applies to supported targets.",
      "values": [
        {
          "name": "tinted"
        },
        {
          "name": "solid"
        },
        {
          "name": "outline"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-navbar",
      "description": "Top navigation layout: standard brand and links, centered links, inset floating surface, or central brand with links on either side. Mobile retains the shared Menu button and popovers. Does not change sidebars. Default: standard. Inherited; applies to .top-menu only.",
      "values": [
        {
          "name": "standard"
        },
        {
          "name": "centered"
        },
        {
          "name": "floating"
        },
        {
          "name": "split"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-navbar-position",
      "description": "Static follows normal document flow. Sticky keeps the outer header at block-start of its scroll container; layout, palette and material remain independent. Put the wrapper in the scrolling page, outside short sections. Default: static. Inherited; applies to .navbar-header, standalone .top-menu and .app-shell > header.",
      "values": [
        {
          "name": "static"
        },
        {
          "name": "sticky"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-navbar-spacing",
      "description": "Flush removes the wrapper gap and Floating margins so a sticky bar meets the safe top edge. Spaced adds wrapper breathing room, reduced on small screens, and retains Floating margins. Default: spaced. Inherited; applies to .navbar-header and standalone .top-menu.",
      "values": [
        {
          "name": "flush"
        },
        {
          "name": "spaced"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-navbar-width",
      "description": "Contained follows the shared page width and navbar layout. Full fills its parent with a navbar surface while aligning its contents to the shared page width. Use a page-wide wrapper to reach both screen edges; app-shell toolbars retain their grid column. Default: contained. Inherited; applies to .navbar-header and .top-menu.",
      "values": [
        {
          "name": "contained"
        },
        {
          "name": "full"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-button-material",
      "description": "Optional button material extension. Default follows data-material at the action; explicit choices override general material for actions only. Liquid is transparent neutral glass without accent tint; movement follows data-motion. Veil is deprecated and retained for existing sites. Default: default. Inherited; native button/submit/reset actions and .button/.scroll-top links, excluding navigation toggles and dropdown controls.",
      "values": [
        {
          "name": "default"
        },
        {
          "name": "solid"
        },
        {
          "name": "glass"
        },
        {
          "name": "veil"
        },
        {
          "name": "soft"
        },
        {
          "name": "liquid"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    },
    {
      "name": "data-font",
      "description": "Body text, headings and native controls. Manrope is the framework default with system-ui/sans-serif fallback; its font stylesheet is optional. System uses system-ui/sans-serif even when Manrope is loaded. A local preset resets this choice; code remains monospace and --re-font-heading remains an optional heading override. Default: manrope. Inherited; page, section or individual text/control.",
      "values": [
        {
          "name": "manrope"
        },
        {
          "name": "system"
        }
      ],
      "references": [
        {
          "name": "RevaCSS attribute reference",
          "url": "http://revacss.eristavi.org/ai/attributes.md"
        }
      ]
    }
  ]
}
