The studio's theme stylesheet: the (token × surface × mode) matrix as attribute rules. Emits the app
baseline (from the MUI adapter) for both modes plus the grid/header surface overrides (derived from the
same MUI themes), so a container selects its cell purely by setting data-sxl-theme-mode /
data-sxl-theme-surface. Inject once at the studio root; stable across the light/dark toggle (both modes
are always present).
explicit is the host's own token values (ExplicitTokens), addressed per (surface × mode) cell.
Each cell is merged into the surface it names AND consulted by that surface's derivations, so a host color
participates in the math instead of being computed over. This is emitted in sxl-app — NOT the
sxl-overrides layer a TokenThemeProvider uses — which is why it can be surface-aware: an override-layer
rule keyed on [mode] alone outranks (by layer, not specificity) the [mode][surface="header"] rules
below, so it would flatten every surface at once.
The studio's theme stylesheet: the
(token × surface × mode)matrix as attribute rules. Emits the app baseline (from the MUI adapter) for both modes plus thegrid/headersurface overrides (derived from the same MUI themes), so a container selects its cell purely by settingdata-sxl-theme-mode/data-sxl-theme-surface. Inject once at the studio root; stable across the light/dark toggle (both modes are always present).explicitis the host's own token values (ExplicitTokens), addressed per(surface × mode)cell. Each cell is merged into the surface it names AND consulted by that surface's derivations, so a host color participates in the math instead of being computed over. This is emitted insxl-app— NOT thesxl-overrideslayer aTokenThemeProvideruses — which is why it can be surface-aware: an override-layer rule keyed on[mode]alone outranks (by layer, not specificity) the[mode][surface="header"]rules below, so it would flatten every surface at once.