@memobit/themes 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -52,20 +52,37 @@ selected chips, tabs and ticked checkboxes look.
52
52
  `npm run build:authored` fails when
53
53
 
54
54
  - a token some classic theme sets is not produced by the bridge, since it would leak
55
- through from the classic theme still loaded underneath, or
56
- - a role the bridge or recipes read is not produced by a theme.
57
-
58
- It also reports text/background pairs below their contrast target (4.5:1, 3:1 for
59
- placeholders) without failing, while authored themes reproduce classic ones as they were.
55
+ through from the classic theme still loaded underneath,
56
+ - a role the bridge or recipes read is not produced by a theme,
57
+ - a theme names a font that neither its `fonts.url` nor its classic entry loads, or
58
+ - a new theme has a text/background pair below its contrast target (4.5:1, 3:1 for
59
+ placeholders).
60
+
61
+ An authored version of a classic theme only reports contrast below target, since it
62
+ reproduces the classic theme as it was.
63
+
64
+ ### Two kinds of authored theme
65
+
66
+ - **A new theme** (an id with no classic entry) is a theme in its own right: the build gives
67
+ it a stylesheet at `dist/themes/<id>.css`, served and loaded on demand like the classic
68
+ ones, a registry entry (with `apps` as its recommended apps) and a picker swatch, all in
69
+ the generated `src/authoredThemes.ts`. New themes come first in `THEME_CONFIGS`, so an app
70
+ listed in a theme's `apps` starts on it, light before dark. Apps pick them up by bumping
71
+ this package; nothing changes in the app.
72
+ - **An authored version of a classic theme** (same id, e.g. `sandy-parchment`) applies under
73
+ that classic theme while `data-theme-engine="authored"` is set, for side-by-side
74
+ comparison in the theme lab (`@memobit/libs/theme-lab`).
60
75
 
61
76
  ### Adding a theme
62
77
 
63
- 1. Add `src/authored/<id>.ts` exporting an `AuthoredTheme`, with the classic theme's id.
64
- 2. Add it to `AUTHORED_THEMES` in `scripts/build-authored.ts`.
65
- 3. Run `npm run build`. Its stylesheet lands in `dist/authored/<id>.css` and in
66
- `dist/authored.css`.
78
+ 1. Draft it in `src/authored/concepts/<id>.ts` (an `AuthoredTheme` with `apps` and a
79
+ `description`) and run `npm run preview:concepts`. It writes `dist/concepts.html`: every
80
+ app theme and draft drawn as a small screen of its app, with its contrast report. Sample
81
+ content per app lives in `scripts/authored/samples.ts`.
82
+ 2. Once chosen, move it to `src/authored/<id>.ts` and run `npm run build`.
67
83
 
68
- The theme's fonts are still loaded through the classic theme's `THEME_CONFIGS` entry.
84
+ To start from a classic theme instead, `npm run port:classic -- <id>` drafts
85
+ `src/authored/<id>.ts` from its stylesheet.
69
86
 
70
87
  ## Classic themes
71
88
 
@@ -1,4 +1,4 @@
1
- :root[data-theme-engine='authored'][data-theme='sandy-parchment']{color-scheme:light;--font-body:'Figtree', 'Avenir Next', sans-serif;--font-display:'Newsreader', Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, 'JetBrains Mono', Menlo, Consolas, monospace;--display-style:italic;--display-weight:500;--display-size:var(--font-size-xl);--display-transform:none;--display-tracking:normal;--label-weight:500;--label-transform:uppercase;--label-tracking:0.18em;--header-weight:500;--canvas-layers:radial-gradient(120% 100% at 0% 0%, #f8ecd0 0%, #e8d7af 45%, #cbb383 100%);--surface-canvas:#f4ecdc;--surface-card:rgba(255, 248, 230, 0.95);--surface-raised:#f4ead2;--surface-raised-alt:rgba(255, 241, 207, 0.42);--surface-overlay:#f4ead2;--surface-overlay-card:rgba(255, 248, 230, 0.72);--surface-sunken:#e4d4a7;--control-hover:#ead8ae;--surface-hover:color-mix(in oklab, #c66f22 8%, transparent);--surface-stripe:#efe0bd;--rating-empty:color-mix(in oklab, #e4d4a7 85%, #20160d);--surface-selected:color-mix(in oklab, #c66f22 18%, transparent);--surface-blur:blur(22px) saturate(1.4);--text-strong:#20160d;--text-default:#423929;--text-soft:#635847;--text-muted:#7e725f;--text-subtle:#817664;--text-link:#a85b1c;--text-link-hover:#cf792c;--border-subtle:rgba(90, 68, 34, 0.18);--border-default:rgba(88, 67, 34, 0.22);--border-strong:rgba(88, 67, 34, 0.22);--border-card:rgba(255, 252, 240, 0.8);--border-card-hover:rgba(255, 252, 240, 0.8);--field-bg:#f4ead2;--field-bg-focus:#f8efd8;--field-bg-disabled:color-mix(in oklab, #f4ead2 94%, #20160d);--field-fg:#423929;--field-border:rgba(88, 67, 34, 0.28);--field-border-hover:#b7884d;--field-border-focus:#c66f22;--field-placeholder:#817664;--field-label:#7e725f;--field-ring:color-mix(in oklab, #c66f22 24%, transparent);--tone-neutral-solid:#20160d;--tone-neutral-solid-hover:color-mix(in oklab, #20160d 70%, #423929);--tone-neutral-on-solid:#fff8e9;--tone-neutral-soft:#ead8ae;--tone-neutral-soft-hover:color-mix(in oklab, #ead8ae 92%, #20160d);--tone-neutral-on-soft:#20160d;--tone-neutral-border:rgba(88, 67, 34, 0.22);--tone-neutral-text:#635847;--tone-accent-solid:#c66f22;--tone-accent-solid-hover:#a85618;--tone-accent-on-solid:#fff8e9;--tone-accent-soft:color-mix(in oklab, #c66f22 16%, transparent);--tone-accent-soft-hover:color-mix(in oklab, #c66f22 24%, transparent);--tone-accent-on-soft:color-mix(in oklab, #c66f22 80%, #20160d);--tone-accent-border:color-mix(in oklab, #c66f22 40%, transparent);--tone-accent-text:#c66f22;--tone-success-solid:#3f7d45;--tone-success-solid-hover:#326738;--tone-success-on-solid:#fff8e9;--tone-success-soft:color-mix(in oklab, #3f7d45 16%, transparent);--tone-success-soft-hover:color-mix(in oklab, #3f7d45 24%, transparent);--tone-success-on-soft:color-mix(in oklab, #3f7d45 80%, #20160d);--tone-success-border:color-mix(in oklab, #3f7d45 40%, transparent);--tone-success-text:#3f7d45;--tone-warning-solid:#b68432;--tone-warning-solid-hover:#9a6a25;--tone-warning-on-solid:#fff8e9;--tone-warning-soft:color-mix(in oklab, #b68432 16%, transparent);--tone-warning-soft-hover:color-mix(in oklab, #b68432 24%, transparent);--tone-warning-on-soft:#8a5f1e;--tone-warning-border:color-mix(in oklab, #b68432 40%, transparent);--tone-warning-text:#8a5f1e;--tone-danger-solid:#9f2f2f;--tone-danger-solid-hover:#842525;--tone-danger-on-solid:#fff8e9;--tone-danger-soft:color-mix(in oklab, #9f2f2f 16%, transparent);--tone-danger-soft-hover:color-mix(in oklab, #9f2f2f 24%, transparent);--tone-danger-on-soft:color-mix(in oklab, #9f2f2f 80%, #20160d);--tone-danger-border:color-mix(in oklab, #9f2f2f 40%, transparent);--tone-danger-text:#9f2f2f;--accent-glow:#df9048;--selected-bg:var(--tone-neutral-solid);--selected-bg-hover:var(--tone-neutral-solid-hover);--selected-fg:var(--tone-neutral-on-solid);--selected-border:var(--tone-neutral-solid);--selected-solid:var(--tone-neutral-solid);--selected-solid-fg:var(--tone-neutral-on-solid);--shadow-color:color-mix(in oklab, #20160d 18%, transparent);--shadow-color-strong:color-mix(in oklab, #20160d 28%, transparent);--shadow-sm:0 1px 0 rgba(255, 252, 240, 0.9) inset, 0 0 0 1px rgba(31, 24, 17, 0.08), 0 18px 40px -20px rgba(60, 40, 20, 0.45);--shadow-md:0 18px 40px rgba(68, 50, 23, 0.14), 0 2px 8px rgba(68, 50, 23, 0.1);--shadow-lg:0 28px 80px rgba(34, 29, 22, 0.32), 0 6px 18px rgba(34, 29, 22, 0.2);--scrim:rgba(34, 29, 22, 0.42);--body-background:var(--canvas-layers), var(--surface-canvas);--body-background-base:var(--surface-canvas);--body-background-wash:var(--canvas-layers), var(--surface-canvas);--body-background-glow:none;--body-color:var(--text-default);--body-color-accent:var(--text-strong);--body-color-muted:var(--text-muted);--body-title-color:var(--text-strong);--body-sub-title-color:var(--text-soft);--body-accent-color:var(--tone-accent-text);--body-danger-color:var(--tone-danger-text);--backdrop-color:var(--scrim);--box-shadow:var(--shadow-color);--text-shadow:var(--shadow-color);--border-color:var(--border-strong);--delimiter-color:var(--border-subtle);--links-color:var(--text-link);--links-hover-color:var(--text-link-hover);--font-family:var(--font-body);--font-family-sans:var(--font-body);--font-family-display:var(--font-display);--font-family-mono:var(--font-mono);--header-background-color:var(--surface-raised);--header-border-bottom-color:var(--border-subtle);--header-color:var(--text-strong);--header-font-weight:var(--header-weight);--button-default-background-color:var(--surface-raised);--button-default-border-color:var(--border-default);--button-default-color:var(--text-default);--button-default-hover-background-color:var(--control-hover);--button-default-hover-border-color:var(--field-border-hover);--button-default-hover-color:var(--text-strong);--button-ghost-background-color:transparent;--button-ghost-border-color:transparent;--button-ghost-color:var(--text-soft);--button-ghost-hover-background-color:var(--control-hover);--button-ghost-hover-border-color:transparent;--button-ghost-hover-color:var(--text-strong);--button-plain-color:var(--text-soft);--button-plain-hover-color:var(--text-strong);--button-info-background-color:var(--tone-accent-solid);--button-info-border-color:var(--tone-accent-solid);--button-info-color:var(--tone-accent-on-solid);--button-info-hover-background-color:var(--tone-accent-solid-hover);--button-info-hover-border-color:var(--tone-accent-solid-hover);--button-info-hover-color:var(--tone-accent-on-solid);--toast-info-background-color:#c66f22;--toast-info-border-color:color-mix(in oklab, #c66f22 75%, #fff8e9);--toast-info-color:#fff8e9;--progress-info-bar-border-color:var(--tone-accent-solid);--progress-info-bar-fill-color:var(--tone-accent-solid);--rating-color-info:var(--tone-accent-solid);--card-tint-info-background:var(--tone-accent-soft);--button-success-background-color:var(--tone-success-solid);--button-success-border-color:var(--tone-success-solid);--button-success-color:var(--tone-success-on-solid);--button-success-hover-background-color:var(--tone-success-solid-hover);--button-success-hover-border-color:var(--tone-success-solid-hover);--button-success-hover-color:var(--tone-success-on-solid);--toast-success-background-color:#3f7d45;--toast-success-border-color:color-mix(in oklab, #3f7d45 75%, #fff8e9);--toast-success-color:#fff8e9;--progress-success-bar-border-color:var(--tone-success-solid);--progress-success-bar-fill-color:var(--tone-success-solid);--rating-color-success:var(--tone-success-solid);--card-tint-success-background:var(--tone-success-soft);--button-warning-background-color:var(--tone-warning-solid);--button-warning-border-color:var(--tone-warning-solid);--button-warning-color:var(--tone-warning-on-solid);--button-warning-hover-background-color:var(--tone-warning-solid-hover);--button-warning-hover-border-color:var(--tone-warning-solid-hover);--button-warning-hover-color:var(--tone-warning-on-solid);--toast-warning-background-color:#b68432;--toast-warning-border-color:color-mix(in oklab, #b68432 75%, #fff8e9);--toast-warning-color:#fff8e9;--progress-warning-bar-border-color:var(--tone-warning-solid);--progress-warning-bar-fill-color:var(--tone-warning-solid);--rating-color-warning:var(--tone-warning-solid);--card-tint-warning-background:var(--tone-warning-soft);--button-danger-background-color:var(--tone-danger-solid);--button-danger-border-color:var(--tone-danger-solid);--button-danger-color:var(--tone-danger-on-solid);--button-danger-hover-background-color:var(--tone-danger-solid-hover);--button-danger-hover-border-color:var(--tone-danger-solid-hover);--button-danger-hover-color:var(--tone-danger-on-solid);--toast-danger-background-color:#9f2f2f;--toast-danger-border-color:color-mix(in oklab, #9f2f2f 75%, #fff8e9);--toast-danger-color:#fff8e9;--progress-danger-bar-border-color:var(--tone-danger-solid);--progress-danger-bar-fill-color:var(--tone-danger-solid);--rating-color-danger:var(--tone-danger-solid);--card-tint-danger-background:var(--tone-danger-soft);--progress-bar-background-color:var(--surface-sunken);--progress-bar-color:var(--text-default);--progress-default-bar-border-color:var(--border-strong);--progress-default-bar-fill-color:var(--tone-neutral-solid);--rating-empty-color:var(--rating-empty);--rating-empty-label-color:var(--text-muted);--rating-half-rate-empty-color:var(--rating-empty);--card-tint-default-background:var(--surface-raised-alt);--card-accent-color:var(--tone-accent-text);--card-backdrop-filter:var(--surface-blur);--card-background-accent-color:var(--surface-raised-alt);--card-background-color:var(--surface-card);--card-border-accent-color:var(--tone-accent-solid);--card-border-color:var(--border-card);--card-box-shadow:var(--shadow-md);--card-color:var(--text-default);--card-footer-background-color:var(--surface-raised-alt);--card-footer-color:var(--text-soft);--card-hover-border-color:var(--border-card-hover);--card-surface-box-shadow:var(--shadow-sm);--card-title-color:var(--text-strong);--card-title-font-family:var(--font-display);--card-title-font-size:var(--display-size);--card-title-font-style:var(--display-style);--card-title-font-weight:var(--display-weight);--card-title-letter-spacing:var(--display-tracking);--card-title-text-transform:var(--display-transform);--modal-backdrop-filter:var(--surface-blur);--modal-background-color:var(--surface-overlay-card);--modal-body-color:var(--text-default);--modal-border-color:var(--border-card);--modal-box-shadow:var(--shadow-lg);--modal-box-shadow-hover:var(--shadow-lg);--modal-color:var(--text-default);--modal-footer-background-color:var(--surface-raised-alt);--modal-header-background-color:var(--surface-raised-alt);--modal-header-color:var(--text-strong);--modal-surface-box-shadow:var(--shadow-lg);--modal-title-color:var(--text-strong);--modal-title-font-family:var(--font-body);--modal-title-font-size:var(--font-size-sm);--modal-title-font-style:normal;--modal-title-font-weight:500;--modal-title-letter-spacing:0.18em;--modal-title-text-transform:uppercase;--drawer-background-color:var(--surface-overlay-card);--drawer-header-background-color:var(--surface-raised-alt);--drawer-border-color:var(--border-card);--drawer-shadow:var(--shadow-lg);--form-control-background-color:var(--field-bg);--form-control-border-color:var(--field-border);--form-control-color:var(--field-fg);--form-control-focus-background-color:var(--field-bg-focus);--form-control-focus-border-color:var(--field-border-focus);--form-control-focus-color:var(--field-fg);--form-control-focus-ring:var(--field-ring);--form-control-error-background-color:color-mix(in oklab, var(--tone-danger-solid) 6%, var(--field-bg));--form-control-error-border-color:var(--tone-danger-solid);--form-control-error-color:var(--tone-danger-text);--form-control-success-background-color:color-mix(in oklab, var(--tone-success-solid) 7%, var(--field-bg));--form-control-success-border-color:var(--tone-success-solid);--form-control-success-color:var(--tone-success-text);--form-control-font-family:var(--font-body);--form-control-label-color:var(--field-label);--form-control-label-font-size:var(--font-size-xs);--form-control-label-font-weight:var(--label-weight);--form-control-label-letter-spacing:var(--label-tracking);--form-control-label-text-transform:var(--label-transform);--form-control-placeholder-color:var(--field-placeholder);--form-control-selection-background-color:var(--selected-solid);--form-control-selection-border-color:var(--selected-solid);--form-control-selection-color:var(--selected-solid-fg);--form-control-selection-label-color:var(--text-default);--datepicker-input-background-color:var(--field-bg);--dropdown-border-color:var(--field-border);--dropdown-header-background-color:var(--field-bg);--dropdown-header-border-focus-color:var(--field-border-focus);--dropdown-header-color:var(--field-fg);--dropdown-options-background-color:var(--surface-overlay);--dropdown-options-color:var(--text-default);--dropdown-options-hover-background-color:var(--surface-hover);--dropdown-options-hover-color:var(--text-strong);--dropdown-options-selected-background-color:var(--surface-selected);--dropdown-options-selected-color:var(--text-strong);--dropdown-action-background-color:var(--surface-raised-alt);--dropdown-action-color:var(--text-link);--dropdown-action-hover-background-color:var(--surface-hover);--dropdown-action-hover-color:var(--text-link-hover);--dropdown-chips-background-color:var(--selected-bg);--dropdown-chips-border-color:var(--selected-border);--dropdown-chips-color:var(--selected-fg);--dropdown-chips-hover-background-color:var(--selected-bg-hover);--slider-track-background-color:var(--surface-sunken);--slider-track-border-color:var(--field-border);--slider-track-hover-background-color:var(--control-hover);--slider-track-hover-border-color:var(--field-border-hover);--slider-thumb-background-color:var(--tone-accent-solid);--slider-thumb-border-color:var(--tone-accent-solid);--slider-thumb-hover-background-color:var(--tone-accent-solid-hover);--slider-thumb-hover-border-color:var(--tone-accent-solid-hover);--calendar-background-color:var(--surface-overlay);--calendar-border-color:var(--border-default);--calendar-day-color:var(--text-soft);--calendar-day-disabled-color:var(--text-subtle);--calendar-day-hover-background-color:var(--control-hover);--calendar-day-selected-background-color:var(--tone-accent-solid);--calendar-day-selected-color:var(--tone-accent-on-solid);--calendar-day-today-border-color:var(--tone-accent-solid);--calendar-day-weekend-color:var(--text-muted);--calendar-header-background-color:var(--surface-raised-alt);--calendar-header-color:var(--text-strong);--chip-hover-background-color:var(--surface-hover);--chip-hover-border-color:var(--border-strong);--chip-hover-color:var(--text-strong);--chip-selected-background-color:var(--selected-bg);--chip-selected-border-color:var(--selected-border);--chip-selected-color:var(--selected-fg);--chip-selected-count-color:color-mix(in oklab, var(--selected-fg) 72%, transparent);--list-alternate-background-color:var(--surface-stripe);--list-hover-background-color:var(--surface-hover);--tabs-active-background-color:var(--selected-bg);--tabs-active-color:var(--selected-fg);--tabs-inactive-background-color:transparent;--tabs-inactive-color:var(--text-muted);--tooltip-background-color:var(--tone-neutral-solid);--tooltip-border-color:var(--tone-neutral-solid);--tooltip-color:var(--tone-neutral-on-solid);--popover-background-color:var(--surface-overlay);--popover-border-color:var(--border-default);--popover-color:var(--text-default);--popover-arrow-color:var(--border-default);--loader-border-color:var(--tone-accent-soft);--loader-border-top-color:var(--tone-accent-solid);--tour-hud-accent-color:var(--tone-accent-solid);--note-container-effect-background-color:var(--tone-accent-soft);--note-container-effect-color:var(--tone-accent-on-soft);--note-container-effect-border-left-color:var(--tone-accent-solid);--glow-box-shadow-color:0 0 16px color-mix(in oklab, var(--tone-accent-solid) 45%, transparent);--glow-hover-border-color:var(--tone-accent-border);--infuse-effect-before-background:linear-gradient(90deg, var(--tone-accent-solid), var(--accent-glow));--infuse-effect-hover-border-color:var(--tone-accent-solid);--infuse-effect-hover-box-shadow-color:color-mix(in oklab, var(--tone-accent-solid) 35%, transparent);--up-lift-effect-before-background:linear-gradient(135deg, var(--tone-accent-solid), var(--accent-glow));--up-lift-effect-box-shadow-color:var(--shadow-color-strong);--up-lift-effect-hover-border-color:var(--tone-accent-solid);--up-lift-effect-hover-box-shadow-color:color-mix(in oklab, var(--tone-accent-solid) 35%, transparent)}
1
+ :root[data-theme-engine='authored'][data-theme='sandy-parchment']{color-scheme:light;--font-body:'Figtree', 'Avenir Next', sans-serif;--font-display:'Newsreader', Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, 'JetBrains Mono', Menlo, Consolas, monospace;--display-style:italic;--display-weight:500;--display-size:var(--font-size-xl);--display-transform:none;--display-tracking:normal;--label-weight:500;--label-transform:uppercase;--label-tracking:0.18em;--header-weight:500;--canvas-layers:radial-gradient(120% 100% at 0% 0%, #f8ecd0 0%, #e8d7af 45%, #cbb383 100%);--surface-canvas:#f4ecdc;--surface-card:rgba(255, 248, 230, 0.95);--surface-raised:#f4ead2;--surface-raised-alt:rgba(255, 241, 207, 0.42);--surface-overlay:#f4ead2;--button-fill:#f4ead2;--surface-overlay-card:rgba(255, 248, 230, 0.72);--surface-sunken:#e4d4a7;--control-hover:#ead8ae;--surface-hover:color-mix(in oklab, #c66f22 8%, transparent);--surface-stripe:#efe0bd;--rating-empty:color-mix(in oklab, #e4d4a7 85%, #20160d);--surface-selected:color-mix(in oklab, #c66f22 18%, transparent);--surface-blur:blur(22px) saturate(1.4);--text-strong:#20160d;--text-default:#423929;--text-soft:#635847;--text-muted:#7e725f;--text-subtle:#817664;--text-link:#a85b1c;--text-link-hover:#cf792c;--border-subtle:rgba(90, 68, 34, 0.18);--border-default:rgba(88, 67, 34, 0.22);--border-strong:rgba(88, 67, 34, 0.22);--border-card:rgba(255, 252, 240, 0.8);--border-card-hover:rgba(255, 252, 240, 0.8);--field-bg:#f4ead2;--field-bg-focus:#f8efd8;--field-bg-disabled:color-mix(in oklab, #f4ead2 94%, #20160d);--field-fg:#423929;--field-border:rgba(88, 67, 34, 0.28);--field-border-hover:#b7884d;--field-border-focus:#c66f22;--field-placeholder:#817664;--field-label:#7e725f;--field-ring:color-mix(in oklab, #c66f22 24%, transparent);--tone-neutral-solid:#20160d;--tone-neutral-solid-hover:color-mix(in oklab, #20160d 70%, #423929);--tone-neutral-on-solid:#fff8e9;--tone-neutral-soft:#ead8ae;--tone-neutral-soft-hover:color-mix(in oklab, #ead8ae 92%, #20160d);--tone-neutral-on-soft:#20160d;--tone-neutral-border:rgba(88, 67, 34, 0.22);--tone-neutral-text:#635847;--tone-accent-solid:#c66f22;--tone-accent-mark:#c66f22;--tone-accent-solid-hover:#a85618;--tone-accent-on-solid:#fff8e9;--tone-accent-soft:color-mix(in oklab, #c66f22 16%, transparent);--tone-accent-soft-hover:color-mix(in oklab, #c66f22 24%, transparent);--tone-accent-on-soft:color-mix(in oklab, #c66f22 80%, #20160d);--tone-accent-border:color-mix(in oklab, #c66f22 40%, transparent);--tone-accent-text:#c66f22;--tone-success-solid:#3f7d45;--tone-success-mark:#3f7d45;--tone-success-solid-hover:#326738;--tone-success-on-solid:#fff8e9;--tone-success-soft:color-mix(in oklab, #3f7d45 16%, transparent);--tone-success-soft-hover:color-mix(in oklab, #3f7d45 24%, transparent);--tone-success-on-soft:color-mix(in oklab, #3f7d45 80%, #20160d);--tone-success-border:color-mix(in oklab, #3f7d45 40%, transparent);--tone-success-text:#3f7d45;--tone-warning-solid:#b68432;--tone-warning-mark:#b68432;--tone-warning-solid-hover:#9a6a25;--tone-warning-on-solid:#fff8e9;--tone-warning-soft:color-mix(in oklab, #b68432 16%, transparent);--tone-warning-soft-hover:color-mix(in oklab, #b68432 24%, transparent);--tone-warning-on-soft:#8a5f1e;--tone-warning-border:color-mix(in oklab, #b68432 40%, transparent);--tone-warning-text:#8a5f1e;--tone-danger-solid:#9f2f2f;--tone-danger-mark:#9f2f2f;--tone-danger-solid-hover:#842525;--tone-danger-on-solid:#fff8e9;--tone-danger-soft:color-mix(in oklab, #9f2f2f 16%, transparent);--tone-danger-soft-hover:color-mix(in oklab, #9f2f2f 24%, transparent);--tone-danger-on-soft:color-mix(in oklab, #9f2f2f 80%, #20160d);--tone-danger-border:color-mix(in oklab, #9f2f2f 40%, transparent);--tone-danger-text:#9f2f2f;--accent-glow:#df9048;--selected-bg:var(--tone-neutral-solid);--selected-bg-hover:var(--tone-neutral-solid-hover);--selected-fg:var(--tone-neutral-on-solid);--selected-border:var(--tone-neutral-solid);--selected-solid:var(--tone-neutral-solid);--selected-solid-fg:var(--tone-neutral-on-solid);--shadow-color:color-mix(in oklab, color-mix(in oklab, #20160d 40%, transparent) 45%, transparent);--shadow-color-strong:color-mix(in oklab, color-mix(in oklab, #20160d 40%, transparent) 62%, transparent);--shadow-sm:0 1px 0 rgba(255, 252, 240, 0.9) inset, 0 0 0 1px rgba(31, 24, 17, 0.08), 0 18px 40px -20px rgba(60, 40, 20, 0.45);--shadow-md:0 18px 40px rgba(68, 50, 23, 0.14), 0 2px 8px rgba(68, 50, 23, 0.1);--shadow-lg:0 28px 80px rgba(34, 29, 22, 0.32), 0 6px 18px rgba(34, 29, 22, 0.2);--scrim:rgba(34, 29, 22, 0.42);--body-background:var(--canvas-layers), var(--surface-canvas);--body-background-base:var(--surface-canvas);--body-background-wash:var(--canvas-layers), var(--surface-canvas);--body-background-glow:none;--body-color:var(--text-default);--body-color-accent:var(--text-strong);--body-color-muted:var(--text-muted);--body-title-color:var(--text-strong);--body-sub-title-color:var(--text-soft);--body-accent-color:var(--tone-accent-text);--body-danger-color:var(--tone-danger-text);--backdrop-color:var(--scrim);--box-shadow:var(--shadow-color);--text-shadow:var(--shadow-color);--border-color:var(--border-strong);--delimiter-color:var(--border-subtle);--links-color:var(--text-link);--links-hover-color:var(--text-link-hover);--font-family:var(--font-body);--font-family-sans:var(--font-body);--font-family-display:var(--font-display);--font-family-mono:var(--font-mono);--header-background-color:var(--surface-raised);--header-border-bottom-color:var(--border-subtle);--header-color:var(--text-strong);--header-font-weight:var(--header-weight);--button-default-background-color:var(--button-fill);--button-default-border-color:var(--border-default);--button-default-color:var(--text-default);--button-default-hover-background-color:var(--control-hover);--button-default-hover-border-color:var(--field-border-hover);--button-default-hover-color:var(--text-strong);--button-ghost-background-color:transparent;--button-ghost-border-color:transparent;--button-ghost-color:var(--text-soft);--button-ghost-hover-background-color:var(--control-hover);--button-ghost-hover-border-color:transparent;--button-ghost-hover-color:var(--text-strong);--button-plain-color:var(--text-soft);--button-plain-hover-color:var(--text-strong);--button-info-background-color:var(--tone-accent-solid);--button-info-border-color:var(--tone-accent-mark);--button-info-color:var(--tone-accent-on-solid);--button-info-hover-background-color:var(--tone-accent-solid-hover);--button-info-hover-border-color:var(--tone-accent-mark);--button-info-hover-color:var(--tone-accent-on-solid);--toast-info-background-color:#c66f22;--toast-info-border-color:color-mix(in oklab, #c66f22 75%, #fff8e9);--toast-info-color:#fff8e9;--progress-info-bar-border-color:var(--tone-accent-mark);--progress-info-bar-fill-color:var(--tone-accent-mark);--rating-color-info:var(--tone-accent-mark);--card-tint-info-background:var(--tone-accent-soft);--button-success-background-color:var(--tone-success-solid);--button-success-border-color:var(--tone-success-mark);--button-success-color:var(--tone-success-on-solid);--button-success-hover-background-color:var(--tone-success-solid-hover);--button-success-hover-border-color:var(--tone-success-mark);--button-success-hover-color:var(--tone-success-on-solid);--toast-success-background-color:#3f7d45;--toast-success-border-color:color-mix(in oklab, #3f7d45 75%, #fff8e9);--toast-success-color:#fff8e9;--progress-success-bar-border-color:var(--tone-success-mark);--progress-success-bar-fill-color:var(--tone-success-mark);--rating-color-success:var(--tone-success-mark);--card-tint-success-background:var(--tone-success-soft);--button-warning-background-color:var(--tone-warning-solid);--button-warning-border-color:var(--tone-warning-mark);--button-warning-color:var(--tone-warning-on-solid);--button-warning-hover-background-color:var(--tone-warning-solid-hover);--button-warning-hover-border-color:var(--tone-warning-mark);--button-warning-hover-color:var(--tone-warning-on-solid);--toast-warning-background-color:#b68432;--toast-warning-border-color:color-mix(in oklab, #b68432 75%, #fff8e9);--toast-warning-color:#fff8e9;--progress-warning-bar-border-color:var(--tone-warning-mark);--progress-warning-bar-fill-color:var(--tone-warning-mark);--rating-color-warning:var(--tone-warning-mark);--card-tint-warning-background:var(--tone-warning-soft);--button-danger-background-color:var(--tone-danger-solid);--button-danger-border-color:var(--tone-danger-mark);--button-danger-color:var(--tone-danger-on-solid);--button-danger-hover-background-color:var(--tone-danger-solid-hover);--button-danger-hover-border-color:var(--tone-danger-mark);--button-danger-hover-color:var(--tone-danger-on-solid);--toast-danger-background-color:#9f2f2f;--toast-danger-border-color:color-mix(in oklab, #9f2f2f 75%, #fff8e9);--toast-danger-color:#fff8e9;--progress-danger-bar-border-color:var(--tone-danger-mark);--progress-danger-bar-fill-color:var(--tone-danger-mark);--rating-color-danger:var(--tone-danger-mark);--card-tint-danger-background:var(--tone-danger-soft);--progress-bar-background-color:var(--surface-sunken);--progress-bar-color:var(--text-default);--progress-default-bar-border-color:var(--border-strong);--progress-default-bar-fill-color:var(--text-muted);--rating-empty-color:var(--rating-empty);--rating-empty-label-color:var(--text-muted);--rating-half-rate-empty-color:var(--rating-empty);--card-tint-default-background:var(--surface-raised-alt);--card-accent-color:var(--tone-accent-text);--card-backdrop-filter:var(--surface-blur);--card-background-accent-color:var(--surface-raised-alt);--card-background-color:var(--surface-card);--card-border-accent-color:var(--tone-accent-mark);--card-border-color:var(--border-card);--card-box-shadow:var(--shadow-md);--card-color:var(--text-default);--card-footer-background-color:var(--surface-raised-alt);--card-footer-color:var(--text-soft);--card-hover-border-color:var(--border-card-hover);--card-surface-box-shadow:var(--shadow-sm);--card-title-color:var(--text-strong);--card-title-font-family:var(--font-display);--card-title-font-size:var(--display-size);--card-title-font-style:var(--display-style);--card-title-font-weight:var(--display-weight);--card-title-letter-spacing:var(--display-tracking);--card-title-text-transform:var(--display-transform);--modal-backdrop-filter:var(--surface-blur);--modal-background-color:var(--surface-overlay-card);--modal-body-color:var(--text-default);--modal-border-color:var(--border-card);--modal-box-shadow:var(--shadow-lg);--modal-box-shadow-hover:var(--shadow-lg);--modal-color:var(--text-default);--modal-footer-background-color:var(--surface-raised-alt);--modal-header-background-color:var(--surface-raised-alt);--modal-header-color:var(--text-strong);--modal-surface-box-shadow:var(--shadow-lg);--modal-title-color:var(--text-strong);--modal-title-font-family:var(--font-body);--modal-title-font-size:var(--font-size-sm);--modal-title-font-style:normal;--modal-title-font-weight:500;--modal-title-letter-spacing:0.18em;--modal-title-text-transform:uppercase;--drawer-background-color:var(--surface-overlay-card);--drawer-header-background-color:var(--surface-raised-alt);--drawer-border-color:var(--border-card);--drawer-shadow:var(--shadow-lg);--form-control-background-color:var(--field-bg);--form-control-border-color:var(--field-border);--form-control-color:var(--field-fg);--form-control-focus-background-color:var(--field-bg-focus);--form-control-focus-border-color:var(--field-border-focus);--form-control-focus-color:var(--field-fg);--form-control-focus-ring:var(--field-ring);--form-control-error-background-color:color-mix(in oklab, var(--tone-danger-solid) 6%, var(--field-bg));--form-control-error-border-color:var(--tone-danger-mark);--form-control-error-color:var(--tone-danger-text);--form-control-success-background-color:color-mix(in oklab, var(--tone-success-solid) 7%, var(--field-bg));--form-control-success-border-color:var(--tone-success-mark);--form-control-success-color:var(--tone-success-text);--form-control-font-family:var(--font-body);--form-control-label-color:var(--field-label);--form-control-label-font-size:var(--font-size-xs);--form-control-label-font-weight:var(--label-weight);--form-control-label-letter-spacing:var(--label-tracking);--form-control-label-text-transform:var(--label-transform);--form-control-placeholder-color:var(--field-placeholder);--form-control-selection-background-color:var(--selected-solid);--form-control-selection-border-color:var(--selected-solid);--form-control-selection-color:var(--selected-solid-fg);--form-control-selection-label-color:var(--text-default);--datepicker-input-background-color:var(--field-bg);--dropdown-border-color:var(--field-border);--dropdown-header-background-color:var(--field-bg);--dropdown-header-border-focus-color:var(--field-border-focus);--dropdown-header-color:var(--field-fg);--dropdown-options-background-color:var(--surface-overlay);--dropdown-options-color:var(--text-default);--dropdown-options-hover-background-color:var(--surface-hover);--dropdown-options-hover-color:var(--text-strong);--dropdown-options-selected-background-color:var(--surface-selected);--dropdown-options-selected-color:var(--text-strong);--dropdown-action-background-color:var(--surface-raised-alt);--dropdown-action-color:var(--text-link);--dropdown-action-hover-background-color:var(--surface-hover);--dropdown-action-hover-color:var(--text-link-hover);--dropdown-chips-background-color:var(--selected-bg);--dropdown-chips-border-color:var(--selected-border);--dropdown-chips-color:var(--selected-fg);--dropdown-chips-hover-background-color:var(--selected-bg-hover);--slider-track-background-color:var(--surface-sunken);--slider-track-border-color:var(--field-border);--slider-track-hover-background-color:var(--control-hover);--slider-track-hover-border-color:var(--field-border-hover);--slider-thumb-background-color:var(--tone-accent-mark);--slider-thumb-border-color:var(--tone-accent-mark);--slider-thumb-hover-background-color:var(--tone-accent-solid-hover);--slider-thumb-hover-border-color:var(--tone-accent-solid-hover);--calendar-background-color:var(--surface-overlay);--calendar-border-color:var(--border-default);--calendar-day-color:var(--text-soft);--calendar-day-disabled-color:var(--text-subtle);--calendar-day-hover-background-color:var(--control-hover);--calendar-day-selected-background-color:var(--tone-accent-solid);--calendar-day-selected-color:var(--tone-accent-on-solid);--calendar-day-today-border-color:var(--tone-accent-mark);--calendar-day-weekend-color:var(--text-muted);--calendar-header-background-color:var(--surface-raised-alt);--calendar-header-color:var(--text-strong);--chip-hover-background-color:var(--surface-hover);--chip-hover-border-color:var(--border-strong);--chip-hover-color:var(--text-strong);--chip-selected-background-color:var(--selected-bg);--chip-selected-border-color:var(--selected-border);--chip-selected-color:var(--selected-fg);--chip-selected-count-color:color-mix(in oklab, var(--selected-fg) 72%, transparent);--list-alternate-background-color:var(--surface-stripe);--list-hover-background-color:var(--surface-hover);--tabs-active-background-color:var(--selected-bg);--tabs-active-color:var(--selected-fg);--tabs-inactive-background-color:transparent;--tabs-inactive-color:var(--text-muted);--tooltip-background-color:var(--tone-neutral-solid);--tooltip-border-color:var(--tone-neutral-solid);--tooltip-color:var(--tone-neutral-on-solid);--popover-background-color:var(--surface-overlay);--popover-border-color:var(--border-default);--popover-color:var(--text-default);--popover-arrow-color:var(--border-default);--loader-border-color:var(--tone-accent-soft);--loader-border-top-color:var(--tone-accent-mark);--tour-hud-accent-color:var(--tone-accent-mark);--note-container-effect-background-color:var(--tone-accent-soft);--note-container-effect-color:var(--tone-accent-on-soft);--note-container-effect-border-left-color:var(--tone-accent-mark);--glow-box-shadow-color:0 0 16px color-mix(in oklab, var(--tone-accent-mark) 45%, transparent);--glow-hover-border-color:var(--tone-accent-border);--infuse-effect-before-background:linear-gradient(90deg, var(--tone-accent-mark), var(--accent-glow));--infuse-effect-hover-border-color:var(--tone-accent-mark);--infuse-effect-hover-box-shadow-color:color-mix(in oklab, var(--tone-accent-mark) 35%, transparent);--up-lift-effect-before-background:linear-gradient(135deg, var(--tone-accent-mark), var(--accent-glow));--up-lift-effect-box-shadow-color:var(--shadow-color-strong);--up-lift-effect-hover-border-color:var(--tone-accent-mark);--up-lift-effect-hover-box-shadow-color:color-mix(in oklab, var(--tone-accent-mark) 35%, transparent)}
2
2
  /*
3
3
  * Component recipes for the authored themes. Badge and Chip take a tone and one shared set
4
4
  * of roles (soft background, ink on soft, border), so a "success" badge, a selected
package/dist/authored.css CHANGED
@@ -1,4 +1,4 @@
1
- :root[data-theme-engine='authored'][data-theme='sandy-parchment']{color-scheme:light;--font-body:'Figtree', 'Avenir Next', sans-serif;--font-display:'Newsreader', Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, 'JetBrains Mono', Menlo, Consolas, monospace;--display-style:italic;--display-weight:500;--display-size:var(--font-size-xl);--display-transform:none;--display-tracking:normal;--label-weight:500;--label-transform:uppercase;--label-tracking:0.18em;--header-weight:500;--canvas-layers:radial-gradient(120% 100% at 0% 0%, #f8ecd0 0%, #e8d7af 45%, #cbb383 100%);--surface-canvas:#f4ecdc;--surface-card:rgba(255, 248, 230, 0.95);--surface-raised:#f4ead2;--surface-raised-alt:rgba(255, 241, 207, 0.42);--surface-overlay:#f4ead2;--surface-overlay-card:rgba(255, 248, 230, 0.72);--surface-sunken:#e4d4a7;--control-hover:#ead8ae;--surface-hover:color-mix(in oklab, #c66f22 8%, transparent);--surface-stripe:#efe0bd;--rating-empty:color-mix(in oklab, #e4d4a7 85%, #20160d);--surface-selected:color-mix(in oklab, #c66f22 18%, transparent);--surface-blur:blur(22px) saturate(1.4);--text-strong:#20160d;--text-default:#423929;--text-soft:#635847;--text-muted:#7e725f;--text-subtle:#817664;--text-link:#a85b1c;--text-link-hover:#cf792c;--border-subtle:rgba(90, 68, 34, 0.18);--border-default:rgba(88, 67, 34, 0.22);--border-strong:rgba(88, 67, 34, 0.22);--border-card:rgba(255, 252, 240, 0.8);--border-card-hover:rgba(255, 252, 240, 0.8);--field-bg:#f4ead2;--field-bg-focus:#f8efd8;--field-bg-disabled:color-mix(in oklab, #f4ead2 94%, #20160d);--field-fg:#423929;--field-border:rgba(88, 67, 34, 0.28);--field-border-hover:#b7884d;--field-border-focus:#c66f22;--field-placeholder:#817664;--field-label:#7e725f;--field-ring:color-mix(in oklab, #c66f22 24%, transparent);--tone-neutral-solid:#20160d;--tone-neutral-solid-hover:color-mix(in oklab, #20160d 70%, #423929);--tone-neutral-on-solid:#fff8e9;--tone-neutral-soft:#ead8ae;--tone-neutral-soft-hover:color-mix(in oklab, #ead8ae 92%, #20160d);--tone-neutral-on-soft:#20160d;--tone-neutral-border:rgba(88, 67, 34, 0.22);--tone-neutral-text:#635847;--tone-accent-solid:#c66f22;--tone-accent-solid-hover:#a85618;--tone-accent-on-solid:#fff8e9;--tone-accent-soft:color-mix(in oklab, #c66f22 16%, transparent);--tone-accent-soft-hover:color-mix(in oklab, #c66f22 24%, transparent);--tone-accent-on-soft:color-mix(in oklab, #c66f22 80%, #20160d);--tone-accent-border:color-mix(in oklab, #c66f22 40%, transparent);--tone-accent-text:#c66f22;--tone-success-solid:#3f7d45;--tone-success-solid-hover:#326738;--tone-success-on-solid:#fff8e9;--tone-success-soft:color-mix(in oklab, #3f7d45 16%, transparent);--tone-success-soft-hover:color-mix(in oklab, #3f7d45 24%, transparent);--tone-success-on-soft:color-mix(in oklab, #3f7d45 80%, #20160d);--tone-success-border:color-mix(in oklab, #3f7d45 40%, transparent);--tone-success-text:#3f7d45;--tone-warning-solid:#b68432;--tone-warning-solid-hover:#9a6a25;--tone-warning-on-solid:#fff8e9;--tone-warning-soft:color-mix(in oklab, #b68432 16%, transparent);--tone-warning-soft-hover:color-mix(in oklab, #b68432 24%, transparent);--tone-warning-on-soft:#8a5f1e;--tone-warning-border:color-mix(in oklab, #b68432 40%, transparent);--tone-warning-text:#8a5f1e;--tone-danger-solid:#9f2f2f;--tone-danger-solid-hover:#842525;--tone-danger-on-solid:#fff8e9;--tone-danger-soft:color-mix(in oklab, #9f2f2f 16%, transparent);--tone-danger-soft-hover:color-mix(in oklab, #9f2f2f 24%, transparent);--tone-danger-on-soft:color-mix(in oklab, #9f2f2f 80%, #20160d);--tone-danger-border:color-mix(in oklab, #9f2f2f 40%, transparent);--tone-danger-text:#9f2f2f;--accent-glow:#df9048;--selected-bg:var(--tone-neutral-solid);--selected-bg-hover:var(--tone-neutral-solid-hover);--selected-fg:var(--tone-neutral-on-solid);--selected-border:var(--tone-neutral-solid);--selected-solid:var(--tone-neutral-solid);--selected-solid-fg:var(--tone-neutral-on-solid);--shadow-color:color-mix(in oklab, #20160d 18%, transparent);--shadow-color-strong:color-mix(in oklab, #20160d 28%, transparent);--shadow-sm:0 1px 0 rgba(255, 252, 240, 0.9) inset, 0 0 0 1px rgba(31, 24, 17, 0.08), 0 18px 40px -20px rgba(60, 40, 20, 0.45);--shadow-md:0 18px 40px rgba(68, 50, 23, 0.14), 0 2px 8px rgba(68, 50, 23, 0.1);--shadow-lg:0 28px 80px rgba(34, 29, 22, 0.32), 0 6px 18px rgba(34, 29, 22, 0.2);--scrim:rgba(34, 29, 22, 0.42);--body-background:var(--canvas-layers), var(--surface-canvas);--body-background-base:var(--surface-canvas);--body-background-wash:var(--canvas-layers), var(--surface-canvas);--body-background-glow:none;--body-color:var(--text-default);--body-color-accent:var(--text-strong);--body-color-muted:var(--text-muted);--body-title-color:var(--text-strong);--body-sub-title-color:var(--text-soft);--body-accent-color:var(--tone-accent-text);--body-danger-color:var(--tone-danger-text);--backdrop-color:var(--scrim);--box-shadow:var(--shadow-color);--text-shadow:var(--shadow-color);--border-color:var(--border-strong);--delimiter-color:var(--border-subtle);--links-color:var(--text-link);--links-hover-color:var(--text-link-hover);--font-family:var(--font-body);--font-family-sans:var(--font-body);--font-family-display:var(--font-display);--font-family-mono:var(--font-mono);--header-background-color:var(--surface-raised);--header-border-bottom-color:var(--border-subtle);--header-color:var(--text-strong);--header-font-weight:var(--header-weight);--button-default-background-color:var(--surface-raised);--button-default-border-color:var(--border-default);--button-default-color:var(--text-default);--button-default-hover-background-color:var(--control-hover);--button-default-hover-border-color:var(--field-border-hover);--button-default-hover-color:var(--text-strong);--button-ghost-background-color:transparent;--button-ghost-border-color:transparent;--button-ghost-color:var(--text-soft);--button-ghost-hover-background-color:var(--control-hover);--button-ghost-hover-border-color:transparent;--button-ghost-hover-color:var(--text-strong);--button-plain-color:var(--text-soft);--button-plain-hover-color:var(--text-strong);--button-info-background-color:var(--tone-accent-solid);--button-info-border-color:var(--tone-accent-solid);--button-info-color:var(--tone-accent-on-solid);--button-info-hover-background-color:var(--tone-accent-solid-hover);--button-info-hover-border-color:var(--tone-accent-solid-hover);--button-info-hover-color:var(--tone-accent-on-solid);--toast-info-background-color:#c66f22;--toast-info-border-color:color-mix(in oklab, #c66f22 75%, #fff8e9);--toast-info-color:#fff8e9;--progress-info-bar-border-color:var(--tone-accent-solid);--progress-info-bar-fill-color:var(--tone-accent-solid);--rating-color-info:var(--tone-accent-solid);--card-tint-info-background:var(--tone-accent-soft);--button-success-background-color:var(--tone-success-solid);--button-success-border-color:var(--tone-success-solid);--button-success-color:var(--tone-success-on-solid);--button-success-hover-background-color:var(--tone-success-solid-hover);--button-success-hover-border-color:var(--tone-success-solid-hover);--button-success-hover-color:var(--tone-success-on-solid);--toast-success-background-color:#3f7d45;--toast-success-border-color:color-mix(in oklab, #3f7d45 75%, #fff8e9);--toast-success-color:#fff8e9;--progress-success-bar-border-color:var(--tone-success-solid);--progress-success-bar-fill-color:var(--tone-success-solid);--rating-color-success:var(--tone-success-solid);--card-tint-success-background:var(--tone-success-soft);--button-warning-background-color:var(--tone-warning-solid);--button-warning-border-color:var(--tone-warning-solid);--button-warning-color:var(--tone-warning-on-solid);--button-warning-hover-background-color:var(--tone-warning-solid-hover);--button-warning-hover-border-color:var(--tone-warning-solid-hover);--button-warning-hover-color:var(--tone-warning-on-solid);--toast-warning-background-color:#b68432;--toast-warning-border-color:color-mix(in oklab, #b68432 75%, #fff8e9);--toast-warning-color:#fff8e9;--progress-warning-bar-border-color:var(--tone-warning-solid);--progress-warning-bar-fill-color:var(--tone-warning-solid);--rating-color-warning:var(--tone-warning-solid);--card-tint-warning-background:var(--tone-warning-soft);--button-danger-background-color:var(--tone-danger-solid);--button-danger-border-color:var(--tone-danger-solid);--button-danger-color:var(--tone-danger-on-solid);--button-danger-hover-background-color:var(--tone-danger-solid-hover);--button-danger-hover-border-color:var(--tone-danger-solid-hover);--button-danger-hover-color:var(--tone-danger-on-solid);--toast-danger-background-color:#9f2f2f;--toast-danger-border-color:color-mix(in oklab, #9f2f2f 75%, #fff8e9);--toast-danger-color:#fff8e9;--progress-danger-bar-border-color:var(--tone-danger-solid);--progress-danger-bar-fill-color:var(--tone-danger-solid);--rating-color-danger:var(--tone-danger-solid);--card-tint-danger-background:var(--tone-danger-soft);--progress-bar-background-color:var(--surface-sunken);--progress-bar-color:var(--text-default);--progress-default-bar-border-color:var(--border-strong);--progress-default-bar-fill-color:var(--tone-neutral-solid);--rating-empty-color:var(--rating-empty);--rating-empty-label-color:var(--text-muted);--rating-half-rate-empty-color:var(--rating-empty);--card-tint-default-background:var(--surface-raised-alt);--card-accent-color:var(--tone-accent-text);--card-backdrop-filter:var(--surface-blur);--card-background-accent-color:var(--surface-raised-alt);--card-background-color:var(--surface-card);--card-border-accent-color:var(--tone-accent-solid);--card-border-color:var(--border-card);--card-box-shadow:var(--shadow-md);--card-color:var(--text-default);--card-footer-background-color:var(--surface-raised-alt);--card-footer-color:var(--text-soft);--card-hover-border-color:var(--border-card-hover);--card-surface-box-shadow:var(--shadow-sm);--card-title-color:var(--text-strong);--card-title-font-family:var(--font-display);--card-title-font-size:var(--display-size);--card-title-font-style:var(--display-style);--card-title-font-weight:var(--display-weight);--card-title-letter-spacing:var(--display-tracking);--card-title-text-transform:var(--display-transform);--modal-backdrop-filter:var(--surface-blur);--modal-background-color:var(--surface-overlay-card);--modal-body-color:var(--text-default);--modal-border-color:var(--border-card);--modal-box-shadow:var(--shadow-lg);--modal-box-shadow-hover:var(--shadow-lg);--modal-color:var(--text-default);--modal-footer-background-color:var(--surface-raised-alt);--modal-header-background-color:var(--surface-raised-alt);--modal-header-color:var(--text-strong);--modal-surface-box-shadow:var(--shadow-lg);--modal-title-color:var(--text-strong);--modal-title-font-family:var(--font-body);--modal-title-font-size:var(--font-size-sm);--modal-title-font-style:normal;--modal-title-font-weight:500;--modal-title-letter-spacing:0.18em;--modal-title-text-transform:uppercase;--drawer-background-color:var(--surface-overlay-card);--drawer-header-background-color:var(--surface-raised-alt);--drawer-border-color:var(--border-card);--drawer-shadow:var(--shadow-lg);--form-control-background-color:var(--field-bg);--form-control-border-color:var(--field-border);--form-control-color:var(--field-fg);--form-control-focus-background-color:var(--field-bg-focus);--form-control-focus-border-color:var(--field-border-focus);--form-control-focus-color:var(--field-fg);--form-control-focus-ring:var(--field-ring);--form-control-error-background-color:color-mix(in oklab, var(--tone-danger-solid) 6%, var(--field-bg));--form-control-error-border-color:var(--tone-danger-solid);--form-control-error-color:var(--tone-danger-text);--form-control-success-background-color:color-mix(in oklab, var(--tone-success-solid) 7%, var(--field-bg));--form-control-success-border-color:var(--tone-success-solid);--form-control-success-color:var(--tone-success-text);--form-control-font-family:var(--font-body);--form-control-label-color:var(--field-label);--form-control-label-font-size:var(--font-size-xs);--form-control-label-font-weight:var(--label-weight);--form-control-label-letter-spacing:var(--label-tracking);--form-control-label-text-transform:var(--label-transform);--form-control-placeholder-color:var(--field-placeholder);--form-control-selection-background-color:var(--selected-solid);--form-control-selection-border-color:var(--selected-solid);--form-control-selection-color:var(--selected-solid-fg);--form-control-selection-label-color:var(--text-default);--datepicker-input-background-color:var(--field-bg);--dropdown-border-color:var(--field-border);--dropdown-header-background-color:var(--field-bg);--dropdown-header-border-focus-color:var(--field-border-focus);--dropdown-header-color:var(--field-fg);--dropdown-options-background-color:var(--surface-overlay);--dropdown-options-color:var(--text-default);--dropdown-options-hover-background-color:var(--surface-hover);--dropdown-options-hover-color:var(--text-strong);--dropdown-options-selected-background-color:var(--surface-selected);--dropdown-options-selected-color:var(--text-strong);--dropdown-action-background-color:var(--surface-raised-alt);--dropdown-action-color:var(--text-link);--dropdown-action-hover-background-color:var(--surface-hover);--dropdown-action-hover-color:var(--text-link-hover);--dropdown-chips-background-color:var(--selected-bg);--dropdown-chips-border-color:var(--selected-border);--dropdown-chips-color:var(--selected-fg);--dropdown-chips-hover-background-color:var(--selected-bg-hover);--slider-track-background-color:var(--surface-sunken);--slider-track-border-color:var(--field-border);--slider-track-hover-background-color:var(--control-hover);--slider-track-hover-border-color:var(--field-border-hover);--slider-thumb-background-color:var(--tone-accent-solid);--slider-thumb-border-color:var(--tone-accent-solid);--slider-thumb-hover-background-color:var(--tone-accent-solid-hover);--slider-thumb-hover-border-color:var(--tone-accent-solid-hover);--calendar-background-color:var(--surface-overlay);--calendar-border-color:var(--border-default);--calendar-day-color:var(--text-soft);--calendar-day-disabled-color:var(--text-subtle);--calendar-day-hover-background-color:var(--control-hover);--calendar-day-selected-background-color:var(--tone-accent-solid);--calendar-day-selected-color:var(--tone-accent-on-solid);--calendar-day-today-border-color:var(--tone-accent-solid);--calendar-day-weekend-color:var(--text-muted);--calendar-header-background-color:var(--surface-raised-alt);--calendar-header-color:var(--text-strong);--chip-hover-background-color:var(--surface-hover);--chip-hover-border-color:var(--border-strong);--chip-hover-color:var(--text-strong);--chip-selected-background-color:var(--selected-bg);--chip-selected-border-color:var(--selected-border);--chip-selected-color:var(--selected-fg);--chip-selected-count-color:color-mix(in oklab, var(--selected-fg) 72%, transparent);--list-alternate-background-color:var(--surface-stripe);--list-hover-background-color:var(--surface-hover);--tabs-active-background-color:var(--selected-bg);--tabs-active-color:var(--selected-fg);--tabs-inactive-background-color:transparent;--tabs-inactive-color:var(--text-muted);--tooltip-background-color:var(--tone-neutral-solid);--tooltip-border-color:var(--tone-neutral-solid);--tooltip-color:var(--tone-neutral-on-solid);--popover-background-color:var(--surface-overlay);--popover-border-color:var(--border-default);--popover-color:var(--text-default);--popover-arrow-color:var(--border-default);--loader-border-color:var(--tone-accent-soft);--loader-border-top-color:var(--tone-accent-solid);--tour-hud-accent-color:var(--tone-accent-solid);--note-container-effect-background-color:var(--tone-accent-soft);--note-container-effect-color:var(--tone-accent-on-soft);--note-container-effect-border-left-color:var(--tone-accent-solid);--glow-box-shadow-color:0 0 16px color-mix(in oklab, var(--tone-accent-solid) 45%, transparent);--glow-hover-border-color:var(--tone-accent-border);--infuse-effect-before-background:linear-gradient(90deg, var(--tone-accent-solid), var(--accent-glow));--infuse-effect-hover-border-color:var(--tone-accent-solid);--infuse-effect-hover-box-shadow-color:color-mix(in oklab, var(--tone-accent-solid) 35%, transparent);--up-lift-effect-before-background:linear-gradient(135deg, var(--tone-accent-solid), var(--accent-glow));--up-lift-effect-box-shadow-color:var(--shadow-color-strong);--up-lift-effect-hover-border-color:var(--tone-accent-solid);--up-lift-effect-hover-box-shadow-color:color-mix(in oklab, var(--tone-accent-solid) 35%, transparent)}
1
+ :root[data-theme-engine='authored'][data-theme='sandy-parchment']{color-scheme:light;--font-body:'Figtree', 'Avenir Next', sans-serif;--font-display:'Newsreader', Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, 'JetBrains Mono', Menlo, Consolas, monospace;--display-style:italic;--display-weight:500;--display-size:var(--font-size-xl);--display-transform:none;--display-tracking:normal;--label-weight:500;--label-transform:uppercase;--label-tracking:0.18em;--header-weight:500;--canvas-layers:radial-gradient(120% 100% at 0% 0%, #f8ecd0 0%, #e8d7af 45%, #cbb383 100%);--surface-canvas:#f4ecdc;--surface-card:rgba(255, 248, 230, 0.95);--surface-raised:#f4ead2;--surface-raised-alt:rgba(255, 241, 207, 0.42);--surface-overlay:#f4ead2;--button-fill:#f4ead2;--surface-overlay-card:rgba(255, 248, 230, 0.72);--surface-sunken:#e4d4a7;--control-hover:#ead8ae;--surface-hover:color-mix(in oklab, #c66f22 8%, transparent);--surface-stripe:#efe0bd;--rating-empty:color-mix(in oklab, #e4d4a7 85%, #20160d);--surface-selected:color-mix(in oklab, #c66f22 18%, transparent);--surface-blur:blur(22px) saturate(1.4);--text-strong:#20160d;--text-default:#423929;--text-soft:#635847;--text-muted:#7e725f;--text-subtle:#817664;--text-link:#a85b1c;--text-link-hover:#cf792c;--border-subtle:rgba(90, 68, 34, 0.18);--border-default:rgba(88, 67, 34, 0.22);--border-strong:rgba(88, 67, 34, 0.22);--border-card:rgba(255, 252, 240, 0.8);--border-card-hover:rgba(255, 252, 240, 0.8);--field-bg:#f4ead2;--field-bg-focus:#f8efd8;--field-bg-disabled:color-mix(in oklab, #f4ead2 94%, #20160d);--field-fg:#423929;--field-border:rgba(88, 67, 34, 0.28);--field-border-hover:#b7884d;--field-border-focus:#c66f22;--field-placeholder:#817664;--field-label:#7e725f;--field-ring:color-mix(in oklab, #c66f22 24%, transparent);--tone-neutral-solid:#20160d;--tone-neutral-solid-hover:color-mix(in oklab, #20160d 70%, #423929);--tone-neutral-on-solid:#fff8e9;--tone-neutral-soft:#ead8ae;--tone-neutral-soft-hover:color-mix(in oklab, #ead8ae 92%, #20160d);--tone-neutral-on-soft:#20160d;--tone-neutral-border:rgba(88, 67, 34, 0.22);--tone-neutral-text:#635847;--tone-accent-solid:#c66f22;--tone-accent-mark:#c66f22;--tone-accent-solid-hover:#a85618;--tone-accent-on-solid:#fff8e9;--tone-accent-soft:color-mix(in oklab, #c66f22 16%, transparent);--tone-accent-soft-hover:color-mix(in oklab, #c66f22 24%, transparent);--tone-accent-on-soft:color-mix(in oklab, #c66f22 80%, #20160d);--tone-accent-border:color-mix(in oklab, #c66f22 40%, transparent);--tone-accent-text:#c66f22;--tone-success-solid:#3f7d45;--tone-success-mark:#3f7d45;--tone-success-solid-hover:#326738;--tone-success-on-solid:#fff8e9;--tone-success-soft:color-mix(in oklab, #3f7d45 16%, transparent);--tone-success-soft-hover:color-mix(in oklab, #3f7d45 24%, transparent);--tone-success-on-soft:color-mix(in oklab, #3f7d45 80%, #20160d);--tone-success-border:color-mix(in oklab, #3f7d45 40%, transparent);--tone-success-text:#3f7d45;--tone-warning-solid:#b68432;--tone-warning-mark:#b68432;--tone-warning-solid-hover:#9a6a25;--tone-warning-on-solid:#fff8e9;--tone-warning-soft:color-mix(in oklab, #b68432 16%, transparent);--tone-warning-soft-hover:color-mix(in oklab, #b68432 24%, transparent);--tone-warning-on-soft:#8a5f1e;--tone-warning-border:color-mix(in oklab, #b68432 40%, transparent);--tone-warning-text:#8a5f1e;--tone-danger-solid:#9f2f2f;--tone-danger-mark:#9f2f2f;--tone-danger-solid-hover:#842525;--tone-danger-on-solid:#fff8e9;--tone-danger-soft:color-mix(in oklab, #9f2f2f 16%, transparent);--tone-danger-soft-hover:color-mix(in oklab, #9f2f2f 24%, transparent);--tone-danger-on-soft:color-mix(in oklab, #9f2f2f 80%, #20160d);--tone-danger-border:color-mix(in oklab, #9f2f2f 40%, transparent);--tone-danger-text:#9f2f2f;--accent-glow:#df9048;--selected-bg:var(--tone-neutral-solid);--selected-bg-hover:var(--tone-neutral-solid-hover);--selected-fg:var(--tone-neutral-on-solid);--selected-border:var(--tone-neutral-solid);--selected-solid:var(--tone-neutral-solid);--selected-solid-fg:var(--tone-neutral-on-solid);--shadow-color:color-mix(in oklab, color-mix(in oklab, #20160d 40%, transparent) 45%, transparent);--shadow-color-strong:color-mix(in oklab, color-mix(in oklab, #20160d 40%, transparent) 62%, transparent);--shadow-sm:0 1px 0 rgba(255, 252, 240, 0.9) inset, 0 0 0 1px rgba(31, 24, 17, 0.08), 0 18px 40px -20px rgba(60, 40, 20, 0.45);--shadow-md:0 18px 40px rgba(68, 50, 23, 0.14), 0 2px 8px rgba(68, 50, 23, 0.1);--shadow-lg:0 28px 80px rgba(34, 29, 22, 0.32), 0 6px 18px rgba(34, 29, 22, 0.2);--scrim:rgba(34, 29, 22, 0.42);--body-background:var(--canvas-layers), var(--surface-canvas);--body-background-base:var(--surface-canvas);--body-background-wash:var(--canvas-layers), var(--surface-canvas);--body-background-glow:none;--body-color:var(--text-default);--body-color-accent:var(--text-strong);--body-color-muted:var(--text-muted);--body-title-color:var(--text-strong);--body-sub-title-color:var(--text-soft);--body-accent-color:var(--tone-accent-text);--body-danger-color:var(--tone-danger-text);--backdrop-color:var(--scrim);--box-shadow:var(--shadow-color);--text-shadow:var(--shadow-color);--border-color:var(--border-strong);--delimiter-color:var(--border-subtle);--links-color:var(--text-link);--links-hover-color:var(--text-link-hover);--font-family:var(--font-body);--font-family-sans:var(--font-body);--font-family-display:var(--font-display);--font-family-mono:var(--font-mono);--header-background-color:var(--surface-raised);--header-border-bottom-color:var(--border-subtle);--header-color:var(--text-strong);--header-font-weight:var(--header-weight);--button-default-background-color:var(--button-fill);--button-default-border-color:var(--border-default);--button-default-color:var(--text-default);--button-default-hover-background-color:var(--control-hover);--button-default-hover-border-color:var(--field-border-hover);--button-default-hover-color:var(--text-strong);--button-ghost-background-color:transparent;--button-ghost-border-color:transparent;--button-ghost-color:var(--text-soft);--button-ghost-hover-background-color:var(--control-hover);--button-ghost-hover-border-color:transparent;--button-ghost-hover-color:var(--text-strong);--button-plain-color:var(--text-soft);--button-plain-hover-color:var(--text-strong);--button-info-background-color:var(--tone-accent-solid);--button-info-border-color:var(--tone-accent-mark);--button-info-color:var(--tone-accent-on-solid);--button-info-hover-background-color:var(--tone-accent-solid-hover);--button-info-hover-border-color:var(--tone-accent-mark);--button-info-hover-color:var(--tone-accent-on-solid);--toast-info-background-color:#c66f22;--toast-info-border-color:color-mix(in oklab, #c66f22 75%, #fff8e9);--toast-info-color:#fff8e9;--progress-info-bar-border-color:var(--tone-accent-mark);--progress-info-bar-fill-color:var(--tone-accent-mark);--rating-color-info:var(--tone-accent-mark);--card-tint-info-background:var(--tone-accent-soft);--button-success-background-color:var(--tone-success-solid);--button-success-border-color:var(--tone-success-mark);--button-success-color:var(--tone-success-on-solid);--button-success-hover-background-color:var(--tone-success-solid-hover);--button-success-hover-border-color:var(--tone-success-mark);--button-success-hover-color:var(--tone-success-on-solid);--toast-success-background-color:#3f7d45;--toast-success-border-color:color-mix(in oklab, #3f7d45 75%, #fff8e9);--toast-success-color:#fff8e9;--progress-success-bar-border-color:var(--tone-success-mark);--progress-success-bar-fill-color:var(--tone-success-mark);--rating-color-success:var(--tone-success-mark);--card-tint-success-background:var(--tone-success-soft);--button-warning-background-color:var(--tone-warning-solid);--button-warning-border-color:var(--tone-warning-mark);--button-warning-color:var(--tone-warning-on-solid);--button-warning-hover-background-color:var(--tone-warning-solid-hover);--button-warning-hover-border-color:var(--tone-warning-mark);--button-warning-hover-color:var(--tone-warning-on-solid);--toast-warning-background-color:#b68432;--toast-warning-border-color:color-mix(in oklab, #b68432 75%, #fff8e9);--toast-warning-color:#fff8e9;--progress-warning-bar-border-color:var(--tone-warning-mark);--progress-warning-bar-fill-color:var(--tone-warning-mark);--rating-color-warning:var(--tone-warning-mark);--card-tint-warning-background:var(--tone-warning-soft);--button-danger-background-color:var(--tone-danger-solid);--button-danger-border-color:var(--tone-danger-mark);--button-danger-color:var(--tone-danger-on-solid);--button-danger-hover-background-color:var(--tone-danger-solid-hover);--button-danger-hover-border-color:var(--tone-danger-mark);--button-danger-hover-color:var(--tone-danger-on-solid);--toast-danger-background-color:#9f2f2f;--toast-danger-border-color:color-mix(in oklab, #9f2f2f 75%, #fff8e9);--toast-danger-color:#fff8e9;--progress-danger-bar-border-color:var(--tone-danger-mark);--progress-danger-bar-fill-color:var(--tone-danger-mark);--rating-color-danger:var(--tone-danger-mark);--card-tint-danger-background:var(--tone-danger-soft);--progress-bar-background-color:var(--surface-sunken);--progress-bar-color:var(--text-default);--progress-default-bar-border-color:var(--border-strong);--progress-default-bar-fill-color:var(--text-muted);--rating-empty-color:var(--rating-empty);--rating-empty-label-color:var(--text-muted);--rating-half-rate-empty-color:var(--rating-empty);--card-tint-default-background:var(--surface-raised-alt);--card-accent-color:var(--tone-accent-text);--card-backdrop-filter:var(--surface-blur);--card-background-accent-color:var(--surface-raised-alt);--card-background-color:var(--surface-card);--card-border-accent-color:var(--tone-accent-mark);--card-border-color:var(--border-card);--card-box-shadow:var(--shadow-md);--card-color:var(--text-default);--card-footer-background-color:var(--surface-raised-alt);--card-footer-color:var(--text-soft);--card-hover-border-color:var(--border-card-hover);--card-surface-box-shadow:var(--shadow-sm);--card-title-color:var(--text-strong);--card-title-font-family:var(--font-display);--card-title-font-size:var(--display-size);--card-title-font-style:var(--display-style);--card-title-font-weight:var(--display-weight);--card-title-letter-spacing:var(--display-tracking);--card-title-text-transform:var(--display-transform);--modal-backdrop-filter:var(--surface-blur);--modal-background-color:var(--surface-overlay-card);--modal-body-color:var(--text-default);--modal-border-color:var(--border-card);--modal-box-shadow:var(--shadow-lg);--modal-box-shadow-hover:var(--shadow-lg);--modal-color:var(--text-default);--modal-footer-background-color:var(--surface-raised-alt);--modal-header-background-color:var(--surface-raised-alt);--modal-header-color:var(--text-strong);--modal-surface-box-shadow:var(--shadow-lg);--modal-title-color:var(--text-strong);--modal-title-font-family:var(--font-body);--modal-title-font-size:var(--font-size-sm);--modal-title-font-style:normal;--modal-title-font-weight:500;--modal-title-letter-spacing:0.18em;--modal-title-text-transform:uppercase;--drawer-background-color:var(--surface-overlay-card);--drawer-header-background-color:var(--surface-raised-alt);--drawer-border-color:var(--border-card);--drawer-shadow:var(--shadow-lg);--form-control-background-color:var(--field-bg);--form-control-border-color:var(--field-border);--form-control-color:var(--field-fg);--form-control-focus-background-color:var(--field-bg-focus);--form-control-focus-border-color:var(--field-border-focus);--form-control-focus-color:var(--field-fg);--form-control-focus-ring:var(--field-ring);--form-control-error-background-color:color-mix(in oklab, var(--tone-danger-solid) 6%, var(--field-bg));--form-control-error-border-color:var(--tone-danger-mark);--form-control-error-color:var(--tone-danger-text);--form-control-success-background-color:color-mix(in oklab, var(--tone-success-solid) 7%, var(--field-bg));--form-control-success-border-color:var(--tone-success-mark);--form-control-success-color:var(--tone-success-text);--form-control-font-family:var(--font-body);--form-control-label-color:var(--field-label);--form-control-label-font-size:var(--font-size-xs);--form-control-label-font-weight:var(--label-weight);--form-control-label-letter-spacing:var(--label-tracking);--form-control-label-text-transform:var(--label-transform);--form-control-placeholder-color:var(--field-placeholder);--form-control-selection-background-color:var(--selected-solid);--form-control-selection-border-color:var(--selected-solid);--form-control-selection-color:var(--selected-solid-fg);--form-control-selection-label-color:var(--text-default);--datepicker-input-background-color:var(--field-bg);--dropdown-border-color:var(--field-border);--dropdown-header-background-color:var(--field-bg);--dropdown-header-border-focus-color:var(--field-border-focus);--dropdown-header-color:var(--field-fg);--dropdown-options-background-color:var(--surface-overlay);--dropdown-options-color:var(--text-default);--dropdown-options-hover-background-color:var(--surface-hover);--dropdown-options-hover-color:var(--text-strong);--dropdown-options-selected-background-color:var(--surface-selected);--dropdown-options-selected-color:var(--text-strong);--dropdown-action-background-color:var(--surface-raised-alt);--dropdown-action-color:var(--text-link);--dropdown-action-hover-background-color:var(--surface-hover);--dropdown-action-hover-color:var(--text-link-hover);--dropdown-chips-background-color:var(--selected-bg);--dropdown-chips-border-color:var(--selected-border);--dropdown-chips-color:var(--selected-fg);--dropdown-chips-hover-background-color:var(--selected-bg-hover);--slider-track-background-color:var(--surface-sunken);--slider-track-border-color:var(--field-border);--slider-track-hover-background-color:var(--control-hover);--slider-track-hover-border-color:var(--field-border-hover);--slider-thumb-background-color:var(--tone-accent-mark);--slider-thumb-border-color:var(--tone-accent-mark);--slider-thumb-hover-background-color:var(--tone-accent-solid-hover);--slider-thumb-hover-border-color:var(--tone-accent-solid-hover);--calendar-background-color:var(--surface-overlay);--calendar-border-color:var(--border-default);--calendar-day-color:var(--text-soft);--calendar-day-disabled-color:var(--text-subtle);--calendar-day-hover-background-color:var(--control-hover);--calendar-day-selected-background-color:var(--tone-accent-solid);--calendar-day-selected-color:var(--tone-accent-on-solid);--calendar-day-today-border-color:var(--tone-accent-mark);--calendar-day-weekend-color:var(--text-muted);--calendar-header-background-color:var(--surface-raised-alt);--calendar-header-color:var(--text-strong);--chip-hover-background-color:var(--surface-hover);--chip-hover-border-color:var(--border-strong);--chip-hover-color:var(--text-strong);--chip-selected-background-color:var(--selected-bg);--chip-selected-border-color:var(--selected-border);--chip-selected-color:var(--selected-fg);--chip-selected-count-color:color-mix(in oklab, var(--selected-fg) 72%, transparent);--list-alternate-background-color:var(--surface-stripe);--list-hover-background-color:var(--surface-hover);--tabs-active-background-color:var(--selected-bg);--tabs-active-color:var(--selected-fg);--tabs-inactive-background-color:transparent;--tabs-inactive-color:var(--text-muted);--tooltip-background-color:var(--tone-neutral-solid);--tooltip-border-color:var(--tone-neutral-solid);--tooltip-color:var(--tone-neutral-on-solid);--popover-background-color:var(--surface-overlay);--popover-border-color:var(--border-default);--popover-color:var(--text-default);--popover-arrow-color:var(--border-default);--loader-border-color:var(--tone-accent-soft);--loader-border-top-color:var(--tone-accent-mark);--tour-hud-accent-color:var(--tone-accent-mark);--note-container-effect-background-color:var(--tone-accent-soft);--note-container-effect-color:var(--tone-accent-on-soft);--note-container-effect-border-left-color:var(--tone-accent-mark);--glow-box-shadow-color:0 0 16px color-mix(in oklab, var(--tone-accent-mark) 45%, transparent);--glow-hover-border-color:var(--tone-accent-border);--infuse-effect-before-background:linear-gradient(90deg, var(--tone-accent-mark), var(--accent-glow));--infuse-effect-hover-border-color:var(--tone-accent-mark);--infuse-effect-hover-box-shadow-color:color-mix(in oklab, var(--tone-accent-mark) 35%, transparent);--up-lift-effect-before-background:linear-gradient(135deg, var(--tone-accent-mark), var(--accent-glow));--up-lift-effect-box-shadow-color:var(--shadow-color-strong);--up-lift-effect-hover-border-color:var(--tone-accent-mark);--up-lift-effect-hover-box-shadow-color:color-mix(in oklab, var(--tone-accent-mark) 35%, transparent)}
2
2
  /*
3
3
  * Component recipes for the authored themes. Badge and Chip take a tone and one shared set
4
4
  * of roles (soft background, ink on soft, border), so a "success" badge, a selected
@@ -1,4 +1,39 @@
1
+ import { PreviewToken } from './previewPalettes';
2
+ import { ThemeConfig } from './themeConfig';
1
3
  export declare const AUTHORED_THEMES: readonly [{
4
+ readonly id: "ascend-contour-night";
5
+ readonly label: "Contour Night";
6
+ }, {
7
+ readonly id: "ascend-contour";
8
+ readonly label: "Contour";
9
+ }, {
10
+ readonly id: "pocket-chip";
11
+ readonly label: "Chip";
12
+ }, {
13
+ readonly id: "pocket-receipt";
14
+ readonly label: "Receipt";
15
+ }, {
16
+ readonly id: "readout-highlighter";
17
+ readonly label: "Highlighter";
18
+ }, {
19
+ readonly id: "readout-night-reader";
20
+ readonly label: "Night Reader";
21
+ }, {
22
+ readonly id: "recall-calling-card";
23
+ readonly label: "Calling Card";
24
+ }, {
25
+ readonly id: "recall-stage-light";
26
+ readonly label: "Stage Light";
27
+ }, {
2
28
  readonly id: "sandy-parchment";
3
29
  readonly label: "Sandy Parchment";
30
+ }, {
31
+ readonly id: "tasks-deep-work";
32
+ readonly label: "Deep Work";
33
+ }, {
34
+ readonly id: "tasks-legal-pad";
35
+ readonly label: "Legal Pad";
4
36
  }];
37
+ export declare const AUTHORED_THEME_CONFIGS: ThemeConfig[];
38
+ export declare const AUTHORED_LIGHT_THEMES: readonly string[];
39
+ export declare const AUTHORED_PREVIEW_PALETTES: Readonly<Record<string, Readonly<Record<PreviewToken, string>>>>;
@@ -1,6 +1,199 @@
1
1
  // src/authoredThemes.ts
2
- var AUTHORED_THEMES = [{
3
- id: "sandy-parchment",
4
- label: "Sandy Parchment"
5
- }];
6
- export { AUTHORED_THEMES };
2
+ var AUTHORED_THEMES = [
3
+ {
4
+ id: "ascend-contour-night",
5
+ label: "Contour Night"
6
+ },
7
+ {
8
+ id: "ascend-contour",
9
+ label: "Contour"
10
+ },
11
+ {
12
+ id: "pocket-chip",
13
+ label: "Chip"
14
+ },
15
+ {
16
+ id: "pocket-receipt",
17
+ label: "Receipt"
18
+ },
19
+ {
20
+ id: "readout-highlighter",
21
+ label: "Highlighter"
22
+ },
23
+ {
24
+ id: "readout-night-reader",
25
+ label: "Night Reader"
26
+ },
27
+ {
28
+ id: "recall-calling-card",
29
+ label: "Calling Card"
30
+ },
31
+ {
32
+ id: "recall-stage-light",
33
+ label: "Stage Light"
34
+ },
35
+ {
36
+ id: "sandy-parchment",
37
+ label: "Sandy Parchment"
38
+ },
39
+ {
40
+ id: "tasks-deep-work",
41
+ label: "Deep Work"
42
+ },
43
+ {
44
+ id: "tasks-legal-pad",
45
+ label: "Legal Pad"
46
+ }
47
+ ];
48
+ var AUTHORED_THEME_CONFIGS = [
49
+ {
50
+ value: "ascend-contour",
51
+ label: "Contour",
52
+ fontUrl: "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500..700&family=Public+Sans:wght@400;500;600;700&display=swap",
53
+ recommendedApps: ["Ascend"]
54
+ },
55
+ {
56
+ value: "ascend-contour-night",
57
+ label: "Contour Night",
58
+ fontUrl: "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500..700&family=Public+Sans:wght@400;500;600;700&display=swap",
59
+ recommendedApps: ["Ascend"]
60
+ },
61
+ {
62
+ value: "pocket-receipt",
63
+ label: "Receipt",
64
+ fontUrl: "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap",
65
+ recommendedApps: ["Pocket"]
66
+ },
67
+ {
68
+ value: "pocket-chip",
69
+ label: "Chip",
70
+ fontUrl: "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap",
71
+ recommendedApps: ["Pocket"]
72
+ },
73
+ {
74
+ value: "readout-highlighter",
75
+ label: "Highlighter",
76
+ fontUrl: "https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,400..700;1,7..72,400&family=Source+Sans+3:wght@400;500;600;700&display=swap",
77
+ recommendedApps: ["Readout"]
78
+ },
79
+ {
80
+ value: "readout-night-reader",
81
+ label: "Night Reader",
82
+ fontUrl: "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Newsreader:ital,opsz,wght@0,6..72,400..700;1,6..72,400&display=swap",
83
+ recommendedApps: ["Readout"]
84
+ },
85
+ {
86
+ value: "recall-calling-card",
87
+ label: "Calling Card",
88
+ fontUrl: "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap",
89
+ recommendedApps: ["Recall"]
90
+ },
91
+ {
92
+ value: "recall-stage-light",
93
+ label: "Stage Light",
94
+ fontUrl: "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Mulish:wght@400;500;600;700&display=swap",
95
+ recommendedApps: ["Recall"]
96
+ },
97
+ {
98
+ value: "tasks-legal-pad",
99
+ label: "Legal Pad",
100
+ fontUrl: "https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;500;600;700;800&display=swap",
101
+ recommendedApps: ["Tasks"]
102
+ },
103
+ {
104
+ value: "tasks-deep-work",
105
+ label: "Deep Work",
106
+ fontUrl: "https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap",
107
+ recommendedApps: ["Tasks"]
108
+ }
109
+ ];
110
+ var AUTHORED_LIGHT_THEMES = [
111
+ "ascend-contour",
112
+ "pocket-receipt",
113
+ "readout-highlighter",
114
+ "recall-calling-card",
115
+ "tasks-legal-pad"
116
+ ];
117
+ var AUTHORED_PREVIEW_PALETTES = {
118
+ "ascend-contour": {
119
+ "--body-background": "#eef1ed",
120
+ "--body-accent-color": "#1c5893",
121
+ "--body-color-muted": "#55635b",
122
+ "--card-background-color": "rgba(252, 253, 251, 0.95)",
123
+ "--header-background-color": "#ffffff",
124
+ "--header-border-bottom-color": "rgba(22, 35, 29, 0.09)"
125
+ },
126
+ "ascend-contour-night": {
127
+ "--body-background": "#111816",
128
+ "--body-accent-color": "#8cc0f0",
129
+ "--body-color-muted": "#93a39a",
130
+ "--card-background-color": "rgba(23, 33, 30, 0.96)",
131
+ "--header-background-color": "#121a17",
132
+ "--header-border-bottom-color": "rgba(214, 224, 218, 0.08)"
133
+ },
134
+ "pocket-receipt": {
135
+ "--body-background": "#efefeb",
136
+ "--body-accent-color": "#0a6464",
137
+ "--body-color-muted": "#5a5a5a",
138
+ "--card-background-color": "#fbfbf8",
139
+ "--header-background-color": "#ffffff",
140
+ "--header-border-bottom-color": "rgba(18, 18, 18, 0.1)"
141
+ },
142
+ "pocket-chip": {
143
+ "--body-background": "#121417",
144
+ "--body-accent-color": "#e0b25a",
145
+ "--body-color-muted": "#9a968d",
146
+ "--card-background-color": "#1a1d22",
147
+ "--header-background-color": "#15171b",
148
+ "--header-border-bottom-color": "rgba(243, 241, 236, 0.08)"
149
+ },
150
+ "readout-highlighter": {
151
+ "--body-background": "#f4f4f1",
152
+ "--body-accent-color": "#24357f",
153
+ "--body-color-muted": "#5d626a",
154
+ "--card-background-color": "#fdfdfb",
155
+ "--header-background-color": "#ffffff",
156
+ "--header-border-bottom-color": "rgba(27, 29, 33, 0.08)"
157
+ },
158
+ "readout-night-reader": {
159
+ "--body-background": "#0f1216",
160
+ "--body-accent-color": "#62cbc3",
161
+ "--body-color-muted": "#939da7",
162
+ "--card-background-color": "#161b21",
163
+ "--header-background-color": "#12161b",
164
+ "--header-border-bottom-color": "rgba(212, 219, 225, 0.08)"
165
+ },
166
+ "recall-calling-card": {
167
+ "--body-background": "#eef0f4",
168
+ "--body-accent-color": "#7a570e",
169
+ "--body-color-muted": "#5a6380",
170
+ "--card-background-color": "#ffffff",
171
+ "--header-background-color": "#ffffff",
172
+ "--header-border-bottom-color": "rgba(20, 27, 46, 0.09)"
173
+ },
174
+ "recall-stage-light": {
175
+ "--body-background": "#0e0f1c",
176
+ "--body-accent-color": "#e8c46a",
177
+ "--body-color-muted": "#a39c90",
178
+ "--card-background-color": "#171828",
179
+ "--header-background-color": "#121322",
180
+ "--header-border-bottom-color": "rgba(246, 241, 230, 0.08)"
181
+ },
182
+ "tasks-legal-pad": {
183
+ "--body-background": "#f7f3dc",
184
+ "--body-accent-color": "#24499a",
185
+ "--body-color-muted": "#525c76",
186
+ "--card-background-color": "#fffef6",
187
+ "--header-background-color": "#ffffff",
188
+ "--header-border-bottom-color": "rgba(24, 33, 58, 0.1)"
189
+ },
190
+ "tasks-deep-work": {
191
+ "--body-background": "#101317",
192
+ "--body-accent-color": "#8fb0ff",
193
+ "--body-color-muted": "#98a1ad",
194
+ "--card-background-color": "#171b21",
195
+ "--header-background-color": "#13161b",
196
+ "--header-border-bottom-color": "rgba(220, 225, 232, 0.08)"
197
+ }
198
+ };
199
+ export { AUTHORED_LIGHT_THEMES, AUTHORED_PREVIEW_PALETTES, AUTHORED_THEMES, AUTHORED_THEME_CONFIGS };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { applyAuthoredEngine, AUTHORED_ENGINE_VALUE, clearAuthoredEngine, THEME_ENGINE_ATTRIBUTE } from './authoredEngine';
2
2
  export { AUTHORED_THEMES } from './authoredThemes';
3
- export { previewPalettes, type PreviewToken } from './previewPalettes';
4
- export { FAVORITE_THEMES, getThemeAppearance, getThemeConfig, LIGHT_THEMES, THEME_CONFIGS, type ThemeAppearance, type ThemeConfig } from './themeConfig';
3
+ export { type PreviewToken } from './previewPalettes';
4
+ export { getThemeAppearance, getThemeConfig, LIGHT_THEMES, previewPalettes, THEME_CONFIGS } from './registry';
5
+ export { FAVORITE_THEMES, type ThemeAppearance, type ThemeConfig } from './themeConfig';
5
6
  /** Where the Vite plugin writes each theme's stylesheet, relative to the app's base URL. */
6
7
  export declare const THEME_ASSET_DIR = "memobit-themes";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { AUTHORED_ENGINE_VALUE, THEME_ENGINE_ATTRIBUTE, applyAuthoredEngine, clearAuthoredEngine } from "./authoredEngine.js";
2
2
  import { AUTHORED_THEMES } from "./authoredThemes.js";
3
- import { previewPalettes } from "./previewPalettes.js";
4
- import { FAVORITE_THEMES, LIGHT_THEMES, THEME_CONFIGS, getThemeAppearance, getThemeConfig } from "./themeConfig.js";
3
+ import { FAVORITE_THEMES } from "./themeConfig.js";
4
+ import { LIGHT_THEMES, THEME_CONFIGS, getThemeAppearance, getThemeConfig, previewPalettes } from "./registry.js";
5
5
  // src/index.ts
6
6
  /** Where the Vite plugin writes each theme's stylesheet, relative to the app's base URL. */
7
7
  var THEME_ASSET_DIR = "memobit-themes";
@@ -0,0 +1,7 @@
1
+ import { PreviewToken } from './previewPalettes';
2
+ import { ThemeAppearance, ThemeConfig } from './themeConfig';
3
+ export declare const THEME_CONFIGS: ThemeConfig[];
4
+ export declare const LIGHT_THEMES: Set<string>;
5
+ export declare const previewPalettes: Readonly<Record<string, Readonly<Record<PreviewToken, string>>>>;
6
+ export declare const getThemeAppearance: (themeValue: string) => ThemeAppearance;
7
+ export declare const getThemeConfig: (themeValue: string) => ThemeConfig | undefined;
@@ -0,0 +1,13 @@
1
+ import { AUTHORED_LIGHT_THEMES, AUTHORED_PREVIEW_PALETTES, AUTHORED_THEME_CONFIGS } from "./authoredThemes.js";
2
+ import { previewPalettes as previewPalettes$1 } from "./previewPalettes.js";
3
+ import { LIGHT_THEMES as LIGHT_THEMES$1, THEME_CONFIGS as THEME_CONFIGS$1 } from "./themeConfig.js";
4
+ // src/registry.ts
5
+ var THEME_CONFIGS = [...AUTHORED_THEME_CONFIGS, ...THEME_CONFIGS$1];
6
+ var LIGHT_THEMES = /* @__PURE__ */ new Set([...LIGHT_THEMES$1, ...AUTHORED_LIGHT_THEMES]);
7
+ var previewPalettes = {
8
+ ...previewPalettes$1,
9
+ ...AUTHORED_PREVIEW_PALETTES
10
+ };
11
+ var getThemeAppearance = (themeValue) => LIGHT_THEMES.has(themeValue) ? "light" : "dark";
12
+ var getThemeConfig = (themeValue) => THEME_CONFIGS.find((config) => config.value === themeValue);
13
+ export { LIGHT_THEMES, THEME_CONFIGS, getThemeAppearance, getThemeConfig, previewPalettes };
@@ -78,7 +78,6 @@ var THEME_CONFIGS = [
78
78
  label: "Sandy Parchment",
79
79
  recommendedApps: [
80
80
  "Shelf",
81
- "Ascend",
82
81
  "Basket",
83
82
  "CookBook",
84
83
  "HUB",
@@ -124,7 +123,6 @@ var THEME_CONFIGS = [
124
123
  recommendedApps: [
125
124
  "Impulse",
126
125
  "Garage",
127
- "Ascend",
128
126
  "Basket",
129
127
  "CookBook",
130
128
  "Resume",
@@ -167,7 +165,6 @@ var THEME_CONFIGS = [
167
165
  {
168
166
  value: "citrus-vital",
169
167
  label: "Citrus Vital",
170
- recommendedApps: [],
171
168
  fontUrl: "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600;700;800&display=swap",
172
169
  fontUrlDisplay: "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700&display=swap"
173
170
  },
@@ -175,7 +172,6 @@ var THEME_CONFIGS = [
175
172
  value: "horizon-amber",
176
173
  label: "Horizon Amber",
177
174
  recommendedApps: [
178
- "Ascend",
179
175
  "Garage",
180
176
  "Basket",
181
177
  "HUB",
@@ -222,7 +218,6 @@ var THEME_CONFIGS = [
222
218
  {
223
219
  value: "slate-focus",
224
220
  label: "Slate Focus",
225
- recommendedApps: ["Tasks"],
226
221
  fontUrl: "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
227
222
  },
228
223
  {
@@ -254,7 +249,7 @@ var THEME_CONFIGS = [
254
249
  {
255
250
  value: "crawler-dusk",
256
251
  label: "Crawler Dusk",
257
- recommendedApps: ["Ascend", "NutriTrack"],
252
+ recommendedApps: ["NutriTrack"],
258
253
  fontUrl: "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&display=swap",
259
254
  fontUrlDisplay: "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&display=swap"
260
255
  },
@@ -367,7 +362,6 @@ var THEME_CONFIGS = [
367
362
  recommendedApps: [
368
363
  "Atlas of Time",
369
364
  "Garage",
370
- "Ascend",
371
365
  "Basket",
372
366
  "CookBook",
373
367
  "Resume",
@@ -387,21 +381,18 @@ var THEME_CONFIGS = [
387
381
  {
388
382
  value: "kindred-ink",
389
383
  label: "Kindred Ink",
390
- recommendedApps: ["Recall"],
391
384
  fontUrl: "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600;700;800&display=swap",
392
385
  fontUrlDisplay: "https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap"
393
386
  },
394
387
  {
395
388
  value: "lamplight",
396
389
  label: "Lamplight",
397
- recommendedApps: ["Readout"],
398
390
  fontUrl: "https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@300;400;500;600;700&display=swap",
399
391
  fontUrlDisplay: "https://fonts.googleapis.com/css2?family=Literata:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap"
400
392
  },
401
393
  {
402
394
  value: "indigo-stitch",
403
395
  label: "Indigo Stitch",
404
- recommendedApps: ["Pocket"],
405
396
  fontUrl: "https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;500;600;700&display=swap",
406
397
  fontUrlDisplay: "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap"
407
398
  },
@@ -440,10 +431,4 @@ var LIGHT_THEMES = /* @__PURE__ */ new Set([
440
431
  "terracotta-kitchen",
441
432
  "vital-aurora"
442
433
  ]);
443
- var getThemeAppearance = (themeValue) => {
444
- return LIGHT_THEMES.has(themeValue) ? "light" : "dark";
445
- };
446
- var getThemeConfig = (themeValue) => {
447
- return THEME_CONFIGS.find((config) => config.value === themeValue);
448
- };
449
- export { FAVORITE_THEMES, LIGHT_THEMES, THEME_CONFIGS, getThemeAppearance, getThemeConfig };
434
+ export { FAVORITE_THEMES, LIGHT_THEMES, THEME_CONFIGS };