/* Single semantic map; generated defaults match js/palette-source.mjs. */
:root {
 color-scheme:light;
 --theme-surface-page:#f3f4f6;
 --theme-surface-panel:#ffffff;
 --theme-surface-nested:#eceef1;
 --theme-surface-control:#e4e7eb;
 --theme-surface-active:#dde1f9;
 --theme-on-active:#00174b;
 --theme-text-primary:#282c38;
 --theme-text-secondary:#494b53;
 --theme-text-muted:#5d5e67;
 --theme-text-disabled:#8f909a;
 --theme-on-accent:#ffffff;
 --theme-divider:#cdd1d8;
 --color-dynamic:#0053db;
 --color-dynamic-secondary:#595e72;
 --theme-tertiary:#745470;
 --palette-icon:#0053db;
 --palette-hue:272.2193057766202;
 --palette-seed-light:#2563eb;
 --palette-seed-dark:#2563eb;
 --theme-icon:var(--palette-icon);
 --theme-accent:var(--color-dynamic);
 --theme-text-inverse:var(--theme-on-accent);
 --theme-success:#16844f; --theme-warning:#986512; --theme-danger:#c52e41;
 --theme-overlay:rgb(15 23 20 / .48);
 --theme-elevation:0 12px 36px rgb(15 23 20 / .14);
 --theme-border-subtle:var(--theme-divider);
 --theme-focus-ring:0 0 0 3px color-mix(in srgb,var(--theme-icon) 35%,transparent);
 --theme-border:var(--theme-divider); --theme-border-soft:var(--theme-divider);
 --theme-border-strong:var(--theme-accent);
 --theme-text:var(--theme-text-primary); --theme-text-main:var(--theme-text-primary);
 --theme-muted:var(--theme-text-muted); --theme-color:var(--theme-accent);
 --theme-bg-primary:var(--theme-surface-page); --theme-surface-muted:var(--theme-surface-nested);
 --theme-surface-elevated:var(--theme-surface-panel); --theme-accent-contrast:var(--theme-on-accent);
 --theme-accent-soft:var(--theme-surface-active); --theme-shadow:var(--theme-elevation);
}
html.dark {
 color-scheme:dark;
 --theme-surface-page:#191b20;
 --theme-surface-panel:#24272d;
 --theme-surface-nested:#2c3037;
 --theme-surface-control:#343941;
 --theme-surface-active:#414659;
 --theme-on-active:#dbe1ff;
 --theme-text-primary:#ebedfe;
 --theme-text-secondary:#cbcbd5;
 --theme-text-muted:#babbc5;
 --theme-text-disabled:#82838c;
 --theme-on-accent:#002a78;
 --theme-divider:#50555f;
 --color-dynamic:#b4c5ff;
 --color-dynamic-secondary:#c1c5dd;
 --theme-tertiary:#e2bbdb;
 --palette-icon:#b4c5ff;
 --palette-hue:272.2193057766202;
 --palette-seed-light:#2563eb;
 --palette-seed-dark:#2563eb;
 --theme-success:#6adca3; --theme-warning:#f1c675; --theme-danger:#ffa3ad;
 --theme-overlay:rgb(12 18 15 / .62);
}
/* Совместимость со старым именованием генерируется по явной карте ролей.
   Не добавляйте новые независимые палитры в компоненты. */
html { background-color: var(--theme-surface-page); }
html body { background-color: var(--theme-surface-page); color: var(--theme-text-primary); }
html :where(input, textarea, select) { accent-color: var(--theme-accent); }
html:root body .theme-builder-grid.theme-builder-single { grid-template-columns: minmax(0, 1fr); }
:root {
    --adaptive-background: var(--theme-surface-page);
    --vmesta-monet-canvas: var(--theme-surface-page);
    --msg-bg: var(--theme-surface-page);
    --history-bg: var(--theme-surface-page);
    --page-theme-background: var(--theme-surface-page);
    --global-search-page: var(--theme-surface-page);
    --theme-catalog-page: var(--theme-surface-page);
    --vmesta-route-reference-surface: var(--theme-surface-panel);
    --adaptive-surface: var(--theme-surface-panel);
    --adaptive-card-tint: var(--theme-surface-panel);
    --adaptive-ui-panel: var(--theme-surface-panel);
    --vmesta-ui-panel: var(--theme-surface-panel);
    --vmesta-unified-surface: var(--theme-surface-panel);
    --vmesta-post-surface: var(--theme-surface-panel);
    --vmesta-post-surface-hover: var(--theme-surface-panel);
    --vmesta-rail-surface: var(--theme-surface-panel);
    --vmesta-feed-surface: var(--theme-surface-panel);
    --vmesta-full-panel: var(--theme-surface-panel);
    --vmesta-messages-surface: var(--theme-surface-panel);
    --vmesta-left-reference-surface: var(--theme-surface-panel);
    --standard-panel: var(--theme-surface-panel);
    --msg-panel: var(--theme-surface-panel);
    --vmesta-monet-surface: var(--theme-surface-panel);
    --vmesta-monet-profile-surface: var(--theme-surface-panel);
    --vmesta-tone-1: var(--theme-surface-panel);
    --room-tone-1: var(--theme-surface-panel);
    --bg-card: var(--theme-surface-panel);
    --notice-bg: var(--theme-surface-panel);
    --share-bg: var(--theme-surface-panel);
    --share-panel: var(--theme-surface-panel);
    --analytics-panel: var(--theme-surface-panel);
    --viewer-theme-surface: var(--theme-surface-panel);
    --viewer-sticky-surface: var(--theme-surface-panel);
    --viewer-discussion-panel: var(--theme-surface-panel);
    --viewer-feed-surface: var(--theme-surface-panel);
    --big-post-surface: var(--theme-surface-panel);
    --achievement-surface: var(--theme-surface-panel);
    --signal-panel: var(--theme-surface-panel);
    --global-search-bg: var(--theme-surface-panel);
    --track-panel: var(--theme-surface-panel);
    --theme-catalog-panel: var(--theme-surface-panel);
    --vm-theme-panel: var(--theme-surface-panel);
    --mobile-profile-panel: var(--theme-surface-panel);
    --room-readable-panel: var(--theme-surface-panel);
    --identity-surface: var(--theme-surface-panel);
    --call-surface: var(--theme-surface-panel);
    --adaptive-surface-2: var(--theme-surface-nested);
    --adaptive-soft-tint: var(--theme-surface-nested);
    --adaptive-card-tint-strong: var(--theme-surface-nested);
    --adaptive-ui-modal: var(--theme-surface-nested);
    --vmesta-ui-soft: var(--theme-surface-nested);
    --vmesta-unified-inner: var(--theme-surface-nested);
    --vmesta-post-inner: var(--theme-surface-nested);
    --vmesta-full-panel-soft: var(--theme-surface-nested);
    --vmesta-menu-surface: var(--theme-surface-nested);
    --standard-panel-soft: var(--theme-surface-nested);
    --msg-panel-strong: var(--theme-surface-nested);
    --msg-menu-surface: var(--theme-surface-nested);
    --msg-search-shell-surface: var(--theme-surface-nested);
    --msg-composer-surface: var(--theme-surface-nested);
    --msg-poll-surface: var(--theme-surface-nested);
    --vmesta-monet-inner: var(--theme-surface-nested);
    --vmesta-tone-2: var(--theme-surface-nested);
    --room-tone-2: var(--theme-surface-nested);
    --history-soft: var(--theme-surface-nested);
    --sticker-suggest-surface: var(--theme-surface-nested);
    --msg-bubble-in: var(--theme-surface-nested);
    --notice-soft: var(--theme-surface-nested);
    --analytics-soft: var(--theme-surface-nested);
    --viewer-theme-elevated: var(--theme-surface-nested);
    --viewer-discussion-elevated: var(--theme-surface-nested);
    --viewer-feed-soft: var(--theme-surface-nested);
    --big-post-elevated: var(--theme-surface-nested);
    --achievement-surface-soft: var(--theme-surface-nested);
    --signal-panel-soft: var(--theme-surface-nested);
    --global-search-soft: var(--theme-surface-nested);
    --track-detail: var(--theme-surface-nested);
    --theme-catalog-soft: var(--theme-surface-nested);
    --vm-theme-soft: var(--theme-surface-nested);
    --mobile-profile-soft: var(--theme-surface-nested);
    --room-readable-soft: var(--theme-surface-nested);
    --identity-soft: var(--theme-surface-nested);
    --call-surface-soft: var(--theme-surface-nested);
    --vmesta-unified-strong: var(--theme-surface-control);
    --vmesta-post-inner-strong: var(--theme-surface-control);
    --vmesta-feed-active: var(--theme-surface-control);
    --standard-active: var(--theme-surface-control);
    --adaptive-ui-active: var(--theme-surface-control);
    --msg-menu-soft: var(--theme-surface-control);
    --msg-search-field-surface: var(--theme-surface-control);
    --msg-poll-option-surface: var(--theme-surface-control);
    --vmesta-monet-strong: var(--theme-surface-control);
    --vmesta-tone-3: var(--theme-surface-control);
    --room-tone-3: var(--theme-surface-control);
    --monet-poll-voters: var(--theme-surface-control);
    --viewer-theme-subtle: var(--theme-surface-control);
    --viewer-discussion-card: var(--theme-surface-control);
    --viewer-discussion-bar: var(--theme-surface-control);
    --viewer-comment-input: var(--theme-surface-control);
    --big-post-soft: var(--theme-surface-control);
    --bg-hover: var(--theme-surface-control);
    --track-strong: var(--theme-surface-control);
    --msg-bubble-out: var(--theme-surface-control);
    --call-control: var(--theme-surface-control);
    --msg-menu-active: var(--theme-surface-active);
    --msg-poll-option-active: var(--theme-surface-active);
    --vmesta-tone-4: var(--theme-surface-active);
    --room-tone-4: var(--theme-surface-active);
    --monet-poll-track: var(--theme-surface-active);
    --monet-poll-voter-row: var(--theme-surface-active);
    --msg-poll-answer-deep: var(--theme-surface-active);
    --call-active: var(--theme-surface-active);
    --vmesta-ui-ink: var(--theme-text-primary);
    --vmesta-ui-text: var(--theme-text-primary);
    --vmesta-unified-ink: var(--theme-text-primary);
    --standard-text-active: var(--theme-text-primary);
    --adaptive-text-active: var(--theme-text-primary);
    --adaptive-text-strong: var(--theme-text-primary);
    --adaptive-text: var(--theme-text-primary);
    --msg-text: var(--theme-text-primary);
    --history-text: var(--theme-text-primary);
    --vmesta-monet-ink: var(--theme-text-primary);
    --notice-text: var(--theme-text-primary);
    --share-text: var(--theme-text-primary);
    --analytics-text: var(--theme-text-primary);
    --viewer-feed-text: var(--theme-text-primary);
    --achievement-text: var(--theme-text-primary);
    --signal-text: var(--theme-text-primary);
    --global-search-text: var(--theme-text-primary);
    --track-text: var(--theme-text-primary);
    --theme-catalog-text: var(--theme-text-primary);
    --vm-theme-ink: var(--theme-text-primary);
    --mobile-profile-ink: var(--theme-text-primary);
    --room-readable-ink: var(--theme-text-primary);
    --identity-text: var(--theme-text-primary);
    --call-text: var(--theme-text-primary);
    --text-main: var(--theme-text-primary);
    --standard-text-secondary: var(--theme-text-secondary);
    --adaptive-text-secondary: var(--theme-text-secondary);
    --call-secondary: var(--theme-text-secondary);
    --vmesta-ui-muted: var(--theme-text-muted);
    --vmesta-unified-muted: var(--theme-text-muted);
    --standard-text-passive: var(--theme-text-muted);
    --adaptive-text-passive: var(--theme-text-muted);
    --adaptive-text-muted: var(--theme-text-muted);
    --adaptive-muted: var(--theme-text-muted);
    --msg-muted: var(--theme-text-muted);
    --history-muted: var(--theme-text-muted);
    --vmesta-monet-muted: var(--theme-text-muted);
    --notice-muted: var(--theme-text-muted);
    --share-muted: var(--theme-text-muted);
    --analytics-muted: var(--theme-text-muted);
    --achievement-muted: var(--theme-text-muted);
    --signal-muted: var(--theme-text-muted);
    --global-search-muted: var(--theme-text-muted);
    --track-muted: var(--theme-text-muted);
    --theme-catalog-muted: var(--theme-text-muted);
    --vm-theme-muted: var(--theme-text-muted);
    --mobile-profile-muted: var(--theme-text-muted);
    --room-readable-muted: var(--theme-text-muted);
    --identity-muted: var(--theme-text-muted);
    --emoji-picker-muted: var(--theme-text-muted);
    --call-muted: var(--theme-text-muted);
    --adaptive-border: var(--theme-divider);
    --adaptive-ui-line: var(--theme-divider);
    --vmesta-ui-line: var(--theme-divider);
    --vmesta-unified-line: var(--theme-divider);
    --vmesta-post-line: var(--theme-divider);
    --standard-line: var(--theme-divider);
    --msg-line: var(--theme-divider);
    --msg-border: var(--theme-divider);
    --history-border: var(--theme-divider);
    --vmesta-monet-line: var(--theme-divider);
    --notice-border: var(--theme-divider);
    --share-line: var(--theme-divider);
    --analytics-line: var(--theme-divider);
    --viewer-feed-line: var(--theme-divider);
    --achievement-line: var(--theme-divider);
    --signal-line: var(--theme-divider);
    --global-search-line: var(--theme-divider);
    --track-line: var(--theme-divider);
    --theme-catalog-line: var(--theme-divider);
    --vm-theme-line: var(--theme-divider);
    --identity-line: var(--theme-divider);
    --emoji-picker-line: var(--theme-divider);
    --call-line: var(--theme-divider);
    --vmesta-ui-primary: var(--theme-accent);
    --adaptive-ui-line-strong: var(--theme-accent);
    --msg-accent: var(--theme-accent);
    --vmesta-tone-5: var(--theme-accent);
    --room-tone-5: var(--theme-accent);
    --emoji-picker-accent: var(--theme-accent);
    --unified-transfer-accent: var(--theme-accent);
    --mobile-profile-accent: var(--theme-accent);
    --accent-color: var(--theme-accent);
    --space-missing-accent: var(--theme-accent);
    --video-accent: var(--theme-accent);
    --share-accent: var(--theme-accent);
    --vm-theme-accent: var(--theme-accent);
    --vm-theme-line-strong: var(--theme-accent);
    --call-accent: var(--theme-accent);
    --track-accent: var(--theme-accent);
    --messenger-search-accent: var(--theme-accent);
    --identity-accent: var(--theme-accent);
    --vmesta-video-accent: var(--theme-accent);
    --menu-icon-color: var(--theme-icon);
    --call-success: var(--theme-success);
    --call-warning: var(--theme-warning);
    --call-danger: var(--theme-danger);
    --recording-danger: var(--theme-danger);
    --adaptive-bg-light: var(--theme-surface-page);
    --adaptive-surface-light: var(--theme-surface-panel);
    --adaptive-surface-2-light: var(--theme-surface-nested);
    --adaptive-control-light: var(--theme-surface-control);
    --adaptive-active-light: var(--theme-surface-active);
    --adaptive-border-light: var(--theme-divider);
    --adaptive-bg-dark: var(--theme-surface-page);
    --adaptive-surface-dark: var(--theme-surface-panel);
    --adaptive-surface-2-dark: var(--theme-surface-nested);
    --adaptive-control-dark: var(--theme-surface-control);
    --adaptive-active-dark: var(--theme-surface-active);
    --adaptive-border-dark: var(--theme-divider);
    --adaptive-glow: color-mix(in srgb, var(--theme-accent) 14%, transparent);
    --adaptive-glow-light: color-mix(in srgb, var(--theme-accent) 12%, transparent);
    --adaptive-glow-dark: color-mix(in srgb, var(--theme-accent) 12%, transparent);
    --page-theme-glow: color-mix(in srgb, var(--theme-accent) 12%, transparent);
    --vmesta-loader-soft: color-mix(in srgb, var(--theme-accent) 12%, transparent);
    --msg-accent-soft: color-mix(in srgb, var(--theme-accent) 12%, transparent);
    --emoji-picker-outline-soft: color-mix(in srgb, var(--theme-accent) 12%, transparent);
    --vmesta-loader-accent: var(--theme-accent);
}

