@ -2654,9 +2654,6 @@ export const THEME_BASE_RECIPE_TOKENS = {
}
} ,
words : {
'gap-sm' : 'var(--space-2)' ,
'gap-md' : 'var(--space-2-5)' ,
'gap-lg' : 'var(--space-3)' ,
// xs is the small-control tier (inspector fields, swatches, chips, steppers):
// one step under `sm`. Replaces the ad-hoc 4px / var(--radius-2,4px) / 3px /
// var(--space-1) soup the inspector used for the same thing.
@ -2664,7 +2661,6 @@ export const THEME_BASE_RECIPE_TOKENS = {
'radius-sm' : 'var(--radius-md)' ,
'radius-md' : 'var(--radius-lg)' ,
'radius-lg' : 'var(--radius-xl)' ,
'max-inline-size' : '52rem' ,
'border-width' : 'var(--border-width)' ,
border : 'var(--color-border-subtle)' ,
'border-hover' : 'var(--color-border-default)' ,
@ -2675,7 +2671,6 @@ export const THEME_BASE_RECIPE_TOKENS = {
'font-size-sm' : 'var(--font-size-xs)' ,
'font-size-md' : 'var(--font-size-sm)' ,
'font-size-lg' : 'var(--font-size-md)' ,
'line-height' : 'var(--leading-ui)' ,
'focus-shadow' :
'0 0 0 var(--focus-ring-offset) var(--color-surface-default), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color)' ,
'invalid-border' : 'var(--color-risk-border)' ,
@ -2693,55 +2688,26 @@ export const THEME_BASE_RECIPE_TOKENS = {
// Per-swatch hue, set inline by the bubble/inspector color grids; the
// declared default is the surface bg (an unset swatch reads as empty).
swatch : 'var(--words-bg)' ,
'toolbar-gap' : 'var(--space-1)' ,
'toolbar-px-sm' : 'var(--space-2)' ,
'toolbar-px-md' : 'var(--space-2-5)' ,
'toolbar-px-lg' : 'var(--space-3)' ,
'toolbar-py-sm' : 'var(--space-1)' ,
'toolbar-py-md' : 'var(--space-1-5)' ,
'toolbar-py-lg' : 'var(--space-2)' ,
'toolbar-border' : 'var(--color-border-subtle)' ,
'toolbar-bg' : 'var(--color-surface-default)' ,
'button-size-sm' : 'var(--control-height-xs)' ,
'button-size-md' : 'var(--control-height-sm)' ,
'button-size-lg' : 'var(--control-height-md)' ,
'command-gap' : 'var(--space-1)' ,
'command-px' : 'var(--space-2)' ,
'command-radius' : 'var(--radius-md)' ,
'command-color' : 'var(--color-content-secondary)' ,
'command-border-hover' : 'var(--color-border-default)' ,
'command-bg-hover' : 'var(--color-surface-overlay)' ,
'command-color-hover' : 'var(--color-content-primary)' ,
'command-solid-color' : 'var(--color-content-on-solid)' ,
'placeholder-color' : 'var(--color-content-muted)' ,
'content-color' : 'var(--color-content-primary)' ,
'content-px-sm' : 'var(--space-3)' ,
'content-px-md' : 'var(--space-4)' ,
'content-px-lg' : 'var(--space-5)' ,
'content-py-sm' : 'var(--space-2-5)' ,
'content-py-md' : 'var(--space-3)' ,
'content-py-lg' : 'var(--space-4)' ,
'content-py-after-placeholder' : 'var(--space-1)' ,
'content-min-block-size-sm' : '10rem' ,
'content-min-block-size-md' : '13rem' ,
'content-min-block-size-lg' : '16rem' ,
'content-max-block-size-sm' : '50vh' ,
'content-max-block-size-md' : '60vh' ,
'content-max-block-size-lg' : '70vh' ,
// Soft silver gutter band — fixed tone, intentionally NOT
// theme-aware. Looks like the physical margin of a notebook
// regardless of the editor theme. Very light: `rail-bg` is a
// barely-there silver; `rail-border` is a touch stronger for
// the 1px edge.
'rail-bg' : '#f5f5f5' ,
'rail-border' : '#e3e3e3' ,
'selection-color' : 'var(--color-content-primary)' ,
// Document rhythm: airier than the default UI gap so blocks read
// as paragraphs in a document, not stacked form rows. Headings
// derive 1.5x of this for their top margin.
'block-gap' : 'var(--space-3)' ,
'heading-color' : 'var(--color-content-primary)' ,
'heading-font-size' : 'var(--font-size-lg)' ,
'heading-h1-font-size' : 'var(--font-size-xl)' ,
'heading-h2-font-size' : 'calc(var(--font-size-lg) + 4px)' ,
'heading-h3-font-size' : 'var(--font-size-lg)' ,
@ -2758,46 +2724,25 @@ export const THEME_BASE_RECIPE_TOKENS = {
'quote-border-width' : 'var(--border-width-thick)' ,
'quote-color' : 'var(--color-content-secondary)' ,
'list-padding-inline-start' : 'var(--space-5)' ,
'status-py' : 'var(--space-2)' ,
'status-color' : 'var(--color-content-muted)' ,
'status-font-size' : 'var(--font-size-xs)' ,
'status-error-color' : 'var(--color-risk-text)' ,
'transition-duration' : 'var(--duration-fast)' ,
'transition-ease' : 'var(--ease-default)' ,
'primary-solid' : 'var(--color-primary-solid)' ,
'primary-solid-hover' : 'var(--color-primary-solid-hover)' ,
'primary-text' : 'var(--color-primary-text)' ,
'secondary-solid' : 'var(--color-secondary-solid)' ,
'secondary-solid-hover' : 'var(--color-secondary-solid-hover)' ,
'secondary-text' : 'var(--color-secondary-text)' ,
'neutral-solid' : 'var(--color-neutral-solid)' ,
'neutral-solid-hover' : 'var(--color-neutral-solid-hover)' ,
'neutral-text' : 'var(--color-neutral-text)' ,
'affirm-solid' : 'var(--color-affirm-solid)' ,
'affirm-solid-hover' : 'var(--color-affirm-solid-hover)' ,
'affirm-text' : 'var(--color-affirm-text)' ,
'fulfill-solid' : 'var(--color-fulfill-solid)' ,
'fulfill-solid-hover' : 'var(--color-fulfill-solid-hover)' ,
'fulfill-track' : 'var(--color-fulfill-track)' ,
'fulfill-border' : 'var(--color-fulfill-border)' ,
'fulfill-text' : 'var(--color-fulfill-text)' ,
'risk-solid' : 'var(--color-risk-solid)' ,
'risk-solid-hover' : 'var(--color-risk-solid-hover)' ,
'risk-text' : 'var(--color-risk-text)' ,
'threat-solid' : 'var(--color-threat-solid)' ,
'threat-solid-hover' : 'var(--color-threat-solid-hover)' ,
'threat-text' : 'var(--color-threat-text)' ,
'loss-solid' : 'var(--color-loss-solid)' ,
'loss-solid-hover' : 'var(--color-loss-solid-hover)' ,
'loss-track' : 'var(--color-loss-track)' ,
'loss-border' : 'var(--color-loss-border)' ,
'loss-text' : 'var(--color-loss-text)' ,
// Restored after accidental sed-removal during switch migration.
// Consumed by words.css for code/link/blockquote color cues.
'primary-track' : 'var(--color-primary-track)' ,
'primary-border' : 'var(--color-primary-border)' ,
'secondary-track' : 'var(--color-secondary-track)' ,
'secondary-border' : 'var(--color-secondary-border)' ,
'neutral-track' : 'var(--color-neutral-track)' ,
'neutral-border' : 'var(--color-neutral-border)' ,
'affirm-track' : 'var(--color-affirm-track)' ,
@ -2806,67 +2751,6 @@ export const THEME_BASE_RECIPE_TOKENS = {
'risk-border' : 'var(--color-risk-border)' ,
'threat-track' : 'var(--color-threat-track)' ,
'threat-border' : 'var(--color-threat-border)' ,
// Private accent palette (TSC v2.1). 8 colors, 5 slots.
'_accent-solid' : {
declarations : [
{ value : 'var(--words-primary-solid)' , scope : 'host' } ,
{ value : 'var(--words-secondary-solid)' , scope : 'color:secondary' } ,
{ value : 'var(--words-neutral-solid)' , scope : 'color:neutral' } ,
{ value : 'var(--words-affirm-solid)' , scope : 'color:affirm' } ,
{ value : 'var(--words-fulfill-solid)' , scope : 'color:fulfill' } ,
{ value : 'var(--words-risk-solid)' , scope : 'color:risk' } ,
{ value : 'var(--words-threat-solid)' , scope : 'color:threat' } ,
{ value : 'var(--words-loss-solid)' , scope : 'color:loss' }
]
} ,
'_accent-solid-hover' : {
declarations : [
{ value : 'var(--words-primary-solid-hover)' , scope : 'host' } ,
{ value : 'var(--words-secondary-solid-hover)' , scope : 'color:secondary' } ,
{ value : 'var(--words-neutral-solid-hover)' , scope : 'color:neutral' } ,
{ value : 'var(--words-affirm-solid-hover)' , scope : 'color:affirm' } ,
{ value : 'var(--words-fulfill-solid-hover)' , scope : 'color:fulfill' } ,
{ value : 'var(--words-risk-solid-hover)' , scope : 'color:risk' } ,
{ value : 'var(--words-threat-solid-hover)' , scope : 'color:threat' } ,
{ value : 'var(--words-loss-solid-hover)' , scope : 'color:loss' }
]
} ,
'_accent-track' : {
declarations : [
{ value : 'var(--words-primary-track)' , scope : 'host' } ,
{ value : 'var(--words-secondary-track)' , scope : 'color:secondary' } ,
{ value : 'var(--words-neutral-track)' , scope : 'color:neutral' } ,
{ value : 'var(--words-affirm-track)' , scope : 'color:affirm' } ,
{ value : 'var(--words-fulfill-track)' , scope : 'color:fulfill' } ,
{ value : 'var(--words-risk-track)' , scope : 'color:risk' } ,
{ value : 'var(--words-threat-track)' , scope : 'color:threat' } ,
{ value : 'var(--words-loss-track)' , scope : 'color:loss' }
]
} ,
'_accent-border' : {
declarations : [
{ value : 'var(--words-primary-border)' , scope : 'host' } ,
{ value : 'var(--words-secondary-border)' , scope : 'color:secondary' } ,
{ value : 'var(--words-neutral-border)' , scope : 'color:neutral' } ,
{ value : 'var(--words-affirm-border)' , scope : 'color:affirm' } ,
{ value : 'var(--words-fulfill-border)' , scope : 'color:fulfill' } ,
{ value : 'var(--words-risk-border)' , scope : 'color:risk' } ,
{ value : 'var(--words-threat-border)' , scope : 'color:threat' } ,
{ value : 'var(--words-loss-border)' , scope : 'color:loss' }
]
} ,
'_accent-text' : {
declarations : [
{ value : 'var(--words-primary-text)' , scope : 'host' } ,
{ value : 'var(--words-secondary-text)' , scope : 'color:secondary' } ,
{ value : 'var(--words-neutral-text)' , scope : 'color:neutral' } ,
{ value : 'var(--words-affirm-text)' , scope : 'color:affirm' } ,
{ value : 'var(--words-fulfill-text)' , scope : 'color:fulfill' } ,
{ value : 'var(--words-risk-text)' , scope : 'color:risk' } ,
{ value : 'var(--words-threat-text)' , scope : 'color:threat' } ,
{ value : 'var(--words-loss-text)' , scope : 'color:loss' }
]
}
} ,
'tags-input' : {
'gap-xs' : 'var(--space-1)' ,