/* Public contract: skins change tokens; components consume them. Theme is orthogonal. */
:root{--ui-focus:#98c95b;--ui-radius-scale:1;--ui-peg:#c6dce9;--ui-peg-glow:#c6dce933;--ui-bg:#1a2c38;--ui-surface:#142b39;--ui-raised:#203b4d;--ui-text:#dce8ef;--ui-muted:#93acbb;--ui-border:#294455;--ui-accent:#b7f76b;--ui-accent-ink:#20331b;--ui-success:#b7f76b;--ui-danger:#f47b8a;--ui-radius:10px;--ui-shadow:none;--ui-font:Inter,Arial,sans-serif;--ui-space:12px;--ui-control-height:44px;--ui-border-width:1px;--ui-decoration:none;--ui-board-pattern:var(--ui-decoration)}
html[data-theme=light]{--ui-focus:#486b2a;--ui-peg:#48647b;--ui-peg-glow:#48647b33;--ui-bg:#f1f5f8;--ui-surface:#fff;--ui-raised:#edf3f7;--ui-text:#294454;--ui-muted:#587184;--ui-border:#d5e1e9;--ui-success:#467426;--ui-danger:#b6374d}
/* Compatibility aliases while legacy selectors migrate component by component. */
html[data-theme]{--ts-surface:var(--ui-surface);--ts-head:var(--ui-raised);--ts-hover:var(--ui-raised);--ts-line:var(--ui-border);--ts-text:var(--ui-text);--ts-muted:var(--ui-muted);--ts-current:var(--ui-success)}
/* A mode-aware tint shared by sidebar links and top navigation dropdowns. */
html[data-theme]{--ui-nav-hover:color-mix(in srgb,var(--ui-accent) 10%,var(--ui-surface))}
