/* THE THEME'S OWN PAIRS — the registry's shape, the theme's hand.
 *
 * quire.css is the design system's artifact and is never edited here; the
 * pairs the theme authors ahead of QDS (theme leads, QDS adopts) live in
 * this file, loaded right after it, in the same two forms: the attribute
 * for the page, the class for a box. The ladder check reads neither
 * quire*.css nor this file, since a pair IS the ladder being declared.
 * QDS takes a pair from here into its registry when it is settled.
 */
:root[data-theme="grey-light"],
.theme-grey-light {
	color-scheme: dark;
	--surface-canvas: #3e3e41;
	--surface-plane: #444447;
	--surface-base: #4a4a4d;
	--surface-subtle: #47474a;
	--surface-navigation: #3e3e41;
	--surface-raised: #515154;
	--surface-hover: #5a5a5d;
	--surface-selected: #626266;
	--surface-track: #5a5a5d;
	--surface-track-selected: #6a6a6e;
	--text-primary: #ebebf6;
	--text-secondary: #cfcfd8;
	--text-muted: #b7b7c0;
	--text-subtle: #8d8d95;
	--text-disabled: #767680;
	--border-subtle: #56565a;
	--border-default: #616166;
	--border-strong: #7a7a80;
	--border-control: #9b9ba3;
	--accent: #a9b7ff; 
	--accent-contrast: #090909;
	--accent-muted: #2a2f5a;
	--code-surface: #47474a;
	--code-plain: #ebebf6;
	--code-comment: #a8a8b0;
	--code-punctuation: #b0b0b8;
	--code-line-highlight: #5a5a5d;
	--focus: #d9d9d9;
	--ai-mark: #fe9db1;
	--status-danger-text: #ffa196;
	--status-danger-surface: #482d2a;
	--status-danger-border: #b9655c;
	--status-warning-text: #f5ae39;
	--status-warning-surface: #42321d;
	--status-warning-border: #a67628;
	--status-success-text: #6ed889;
	--status-success-surface: #263b2a;
	--status-success-border: #4a925c;
	--status-info-text: #89c3fe;
	--status-info-surface: #253749;
	--status-info-border: #4984bf;
	--code-added: #99cda3;
	--code-removed: #edaaa2;
	--code-keyword: #c5b2eb;
	--code-string: #99cda3;
	--code-number: #ecad97;
	--code-function: #96c2f0;
	--code-type: #7cced2;
	--ink-alpha-weak: rgba(255, 255, 255, 0.06);
	--ink-alpha-soft: rgba(255, 255, 255, 0.12);
	--ink-alpha-medium: rgba(255, 255, 255, 0.24);
	--ink-alpha-strong: rgba(255, 255, 255, 0.48);
	--surface-inverse: #ffffff;
	--surface-inverse-subtle: #e8e8e8;
	--text-inverse: #000000;
	--text-inverse-subtle: #5d5d5d;
	--border-inverse: #ababab;
	--font-weight-body: 420;
	--danger: #d15c53;
	--danger-hover: #e36c61;
	--elevation-contact-color: rgb(0 0 0 / 0.34);
	--elevation-ambient-color: rgb(0 0 0 / 0.22);
	--elevation-contact-strong-color: rgb(0 0 0 / 0.45);
	--elevation-ambient-strong-color: rgb(0 0 0 / 0.30);
	--opacity-scrim: 0.6;
	--step-surface-hover: 6%;
	--step-surface-selected: 10%;
	--step-surface-pressed: 16%;
	--step-track-selected: 8%;
	--step-border-subtle: 8%;
	--step-border-default: 12%;
	--step-border-strong: 19%;
	--canvas: var(--surface-canvas);
	--navigation: var(--surface-navigation);
	--surface: var(--surface-base);
	--border: var(--border-default);
	--scrim: rgb(0 0 0 / var(--opacity-scrim));
	--text: var(--text-primary);
	--elevation-stroke-color: var(--border-strong);
	--elevation-flat: none;
	--elevation-raised: 0 1px 2px var(--elevation-contact-color), 0 4px 12px var(--elevation-ambient-color);
	--elevation-raised-contained: 0 1px 2px var(--elevation-contact-color), 0 4px 12px var(--elevation-ambient-color);
	--elevation-control: 0 0.5px 0.5px var(--elevation-contact-color);
	--elevation-floating: 0 4px 12px var(--elevation-contact-color), 0 12px 32px var(--elevation-ambient-color);
	--elevation-overlay: 0 8px 24px var(--elevation-contact-strong-color), 0 24px 64px var(--elevation-ambient-strong-color);
	--elevation-page: 0 0 24px var(--elevation-ambient-color);
	--shadow-overlay: var(--elevation-overlay);
}
:root[data-theme="grey-dark"],
.theme-grey-dark {
	color-scheme: dark;
	--surface-canvas: #000000;
	--surface-plane: #000000;
	--surface-base: #111113;
	--surface-subtle: #161618;
	--surface-navigation: #000000;
	--surface-raised: #1a1a1c;
	--surface-hover: #232326;
	--surface-selected: #2b2b2f;
	--surface-track: #232326;
	--surface-track-selected: #353539;
	--text-primary: #8d8d95;
	--text-secondary: #7c7c84;
	--text-muted: #6c6c74;
	--text-subtle: #56565c;
	--text-disabled: #45454a;
	--border-subtle: #151517;
	--border-default: #222225;
	--border-strong: #38383c;
	--border-control: #5c5c62;
	--accent: #6b7fff;
	--accent-contrast: #ffffff;
	--accent-muted: #1c2050;
	--code-surface: #060607;
	--code-plain: #8d8d95;
	--code-comment: #5e5e66;
	--code-punctuation: #66666e;
	--code-line-highlight: #2a2a2d;
	--focus: #d9d9d9;
	--ai-mark: #fe9db1;
	--status-danger-text: #ffa196;
	--status-danger-surface: #482d2a;
	--status-danger-border: #b9655c;
	--status-warning-text: #f5ae39;
	--status-warning-surface: #42321d;
	--status-warning-border: #a67628;
	--status-success-text: #6ed889;
	--status-success-surface: #263b2a;
	--status-success-border: #4a925c;
	--status-info-text: #89c3fe;
	--status-info-surface: #253749;
	--status-info-border: #4984bf;
	--code-added: #99cda3;
	--code-removed: #edaaa2;
	--code-keyword: #c5b2eb;
	--code-string: #99cda3;
	--code-number: #ecad97;
	--code-function: #96c2f0;
	--code-type: #7cced2;
	--ink-alpha-weak: rgba(255, 255, 255, 0.06);
	--ink-alpha-soft: rgba(255, 255, 255, 0.12);
	--ink-alpha-medium: rgba(255, 255, 255, 0.24);
	--ink-alpha-strong: rgba(255, 255, 255, 0.48);
	--surface-inverse: #ffffff;
	--surface-inverse-subtle: #e8e8e8;
	--text-inverse: #000000;
	--text-inverse-subtle: #5d5d5d;
	--border-inverse: #ababab;
	--font-weight-body: 420;
	--danger: #d15c53;
	--danger-hover: #e36c61;
	--elevation-contact-color: rgb(0 0 0 / 0.34);
	--elevation-ambient-color: rgb(0 0 0 / 0.22);
	--elevation-contact-strong-color: rgb(0 0 0 / 0.45);
	--elevation-ambient-strong-color: rgb(0 0 0 / 0.30);
	--opacity-scrim: 0.6;
	--step-surface-hover: 6%;
	--step-surface-selected: 10%;
	--step-surface-pressed: 16%;
	--step-track-selected: 8%;
	--step-border-subtle: 8%;
	--step-border-default: 12%;
	--step-border-strong: 19%;
	--canvas: var(--surface-canvas);
	--navigation: var(--surface-navigation);
	--surface: var(--surface-base);
	--border: var(--border-default);
	--scrim: rgb(0 0 0 / var(--opacity-scrim));
	--text: var(--text-primary);
	--elevation-stroke-color: var(--border-strong);
	--elevation-flat: none;
	--elevation-raised: 0 1px 2px var(--elevation-contact-color), 0 4px 12px var(--elevation-ambient-color);
	--elevation-raised-contained: 0 1px 2px var(--elevation-contact-color), 0 4px 12px var(--elevation-ambient-color);
	--elevation-control: 0 0.5px 0.5px var(--elevation-contact-color);
	--elevation-floating: 0 4px 12px var(--elevation-contact-color), 0 12px 32px var(--elevation-ambient-color);
	--elevation-overlay: 0 8px 24px var(--elevation-contact-strong-color), 0 24px 64px var(--elevation-ambient-strong-color);
	--elevation-page: 0 0 24px var(--elevation-ambient-color);
	--shadow-overlay: var(--elevation-overlay);
}
:root[data-theme="news-light"],
.theme-news-light {
	color-scheme: light;
	--surface-canvas: #dbdde1;
	--surface-plane: #dbdde1;
	--surface-base: #e8eaee;
	--surface-subtle: #d4d6da;
	--surface-navigation: #dfe1e5;
	--surface-raised: #f4f5f7;
	--surface-hover: #d1d3d7;
	--surface-selected: #ccced2;
	--surface-track: #d4d6da;
	--surface-track-selected: #e3e5e9;
	--text-primary: #212327;
	--text-secondary: #404246;
	--text-muted: #5b5d61;
	--text-subtle: #9c9ea2;
	--text-disabled: #b0b2b6;
	--border-subtle: #d7d9dd;
	--border-default: #c0c2c6;
	--border-strong: #94969a;
	--border-control: #696b6f;
	--accent: #b3122b;
	--accent-contrast: #ffffff;
	--accent-muted: #f3d9dd;
	--focus: #2e2e2e;
	--ai-mark: #dd2767;
	--status-danger-text: #ab000f;
	--status-danger-surface: #fee7e4;
	--status-danger-border: #c1554c;
	--status-warning-text: #795000;
	--status-warning-surface: #ffe9cd;
	--status-warning-border: #a56f05;
	--status-success-text: #006c2f;
	--status-success-surface: #d6f7dc;
	--status-success-border: #2c924c;
	--status-info-text: #005b9f;
	--status-info-surface: #e0effe;
	--status-info-border: #2c7fcb;
	--code-surface: #d6d8dc;
	--code-plain: #232323;
	--code-comment: #656565;
	--code-punctuation: #6a6a6a;
	--code-added: #236938;
	--code-removed: #8b3f38;
	--code-line-highlight: #c8cace;
	--code-keyword: #634a8b;
	--code-string: #236938;
	--code-number: #894228;
	--code-function: #235c91;
	--code-type: #00666b;
	--ink-alpha-weak: rgba(33, 35, 39, 0.06);
	--ink-alpha-soft: rgba(33, 35, 39, 0.12);
	--ink-alpha-medium: rgba(33, 35, 39, 0.24);
	--ink-alpha-strong: rgba(33, 35, 39, 0.48);
	--surface-inverse: #202226;
	--surface-inverse-subtle: #2a2c30;
	--text-inverse: #e4e6ea;
	--text-inverse-subtle: #b4b6ba;
	--border-inverse: #45474b;
	--danger: #a52a26;
	--danger-hover: #901114;
	--elevation-contact-color: rgb(20 19 18 / 0.12);
	--elevation-ambient-color: rgb(20 19 18 / 0.08);
	--elevation-contact-strong-color: rgb(20 19 18 / 0.18);
	--elevation-ambient-strong-color: rgb(20 19 18 / 0.14);
	--opacity-scrim: 0.32;
	--font-weight-body: 440;
	--step-surface-hover: 6%;
	--step-surface-selected: 10%;
	--step-surface-pressed: 16%;
	--step-track-selected: 12%;
	--step-border-subtle: 4%;
	--step-border-default: 9%;
	--step-border-strong: 15%;
	--surface-floating: #f4f5f7;
	--canvas: var(--surface-canvas);
	--navigation: var(--surface-navigation);
	--surface: var(--surface-base);
	--border: var(--border-default);
	--scrim: rgb(0 0 0 / var(--opacity-scrim));
	--text: var(--text-primary);
	--elevation-stroke-color: var(--border-strong);
	--elevation-flat: none;
	--elevation-raised: 0 1px 2px var(--elevation-contact-color), 0 4px 12px var(--elevation-ambient-color);
	--elevation-raised-contained: 0 1px 2px var(--elevation-contact-color), 0 4px 12px var(--elevation-ambient-color);
	--elevation-control: 0 0.5px 0.5px var(--elevation-contact-color);
	--elevation-floating: 0 4px 12px var(--elevation-contact-color), 0 12px 32px var(--elevation-ambient-color);
	--elevation-overlay: 0 8px 24px var(--elevation-contact-strong-color), 0 24px 64px var(--elevation-ambient-strong-color);
	--elevation-page: 0 0 24px var(--elevation-ambient-color);
	--shadow-overlay: var(--elevation-overlay);
}
:root[data-theme="news-dark"],
.theme-news-dark {
	color-scheme: dark;
	--surface-canvas: #121418;
	--surface-plane: #1a1c20;
	--surface-base: #1e2024;
	--surface-subtle: #14161a;
	--surface-navigation: #090b0f;
	--surface-raised: #1f2125;
	--surface-hover: #282a2e;
	--surface-selected: #2d2f33;
	--surface-track: #282a2e;
	--surface-track-selected: #2d2f33;
	--text-primary: #dcdee2;
	--text-secondary: #c2c4c8;
	--text-muted: #acaeb2;
	--text-subtle: #6a6c70;
	--text-disabled: #595b5f;
	--border-subtle: #25272b;
	--border-default: #303236;
	--border-strong: #434549;
	--border-control: #717377;
	--accent: #ff6b7a;
	--accent-contrast: #1c1e22;
	--accent-muted: #4a2a30;
	--focus: #d9d9d9;
	--ai-mark: #fe9db1;
	--status-danger-text: #ffa196;
	--status-danger-surface: #482d2a;
	--status-danger-border: #b9655c;
	--status-warning-text: #f5ae39;
	--status-warning-surface: #42321d;
	--status-warning-border: #a67628;
	--status-success-text: #6ed889;
	--status-success-surface: #263b2a;
	--status-success-border: #4a925c;
	--status-info-text: #89c3fe;
	--status-info-surface: #253749;
	--status-info-border: #4984bf;
	--code-surface: #0c0e12;
	--code-plain: #e6e6e6;
	--code-comment: #949494;
	--code-punctuation: #9e9e9e;
	--code-added: #99cda3;
	--code-removed: #edaaa2;
	--code-line-highlight: #212327;
	--code-keyword: #c5b2eb;
	--code-string: #99cda3;
	--code-number: #ecad97;
	--code-function: #96c2f0;
	--code-type: #7cced2;
	--ink-alpha-weak: rgba(228, 230, 234, 0.06);
	--ink-alpha-soft: rgba(228, 230, 234, 0.12);
	--ink-alpha-medium: rgba(228, 230, 234, 0.24);
	--ink-alpha-strong: rgba(228, 230, 234, 0.48);
	--surface-inverse: #e6e8ec;
	--surface-inverse-subtle: #cfd1d5;
	--text-inverse: #191b1f;
	--text-inverse-subtle: #535559;
	--border-inverse: #929498;
	--font-weight-body: 420;
	--danger: #d15c53;
	--danger-hover: #e36c61;
	--elevation-contact-color: rgb(0 0 0 / 0.34);
	--elevation-ambient-color: rgb(0 0 0 / 0.22);
	--elevation-contact-strong-color: rgb(0 0 0 / 0.45);
	--elevation-ambient-strong-color: rgb(0 0 0 / 0.30);
	--opacity-scrim: 0.6;
	--step-surface-hover: 6%;
	--step-surface-selected: 10%;
	--step-surface-pressed: 16%;
	--step-track-selected: 8%;
	--step-border-subtle: 8%;
	--step-border-default: 12%;
	--step-border-strong: 19%;
	--canvas: var(--surface-canvas);
	--navigation: var(--surface-navigation);
	--surface: var(--surface-base);
	--border: var(--border-default);
	--scrim: rgb(0 0 0 / var(--opacity-scrim));
	--text: var(--text-primary);
	--elevation-stroke-color: var(--border-strong);
	--elevation-flat: none;
	--elevation-raised: 0 1px 2px var(--elevation-contact-color), 0 4px 12px var(--elevation-ambient-color);
	--elevation-raised-contained: 0 1px 2px var(--elevation-contact-color), 0 4px 12px var(--elevation-ambient-color);
	--elevation-control: 0 0.5px 0.5px var(--elevation-contact-color);
	--elevation-floating: 0 4px 12px var(--elevation-contact-color), 0 12px 32px var(--elevation-ambient-color);
	--elevation-overlay: 0 8px 24px var(--elevation-contact-strong-color), 0 24px 64px var(--elevation-ambient-strong-color);
	--elevation-page: 0 0 24px var(--elevation-ambient-color);
	--shadow-overlay: var(--elevation-overlay);
}
:root,
.theme-neutral-light {
	--surface-canvas: #dedbd5;
	--surface-plane: #dedbd5;
	--surface-navigation: #dedbd5;
	--surface-base: #efece6;
	--surface-floating: #faf9f7;
}
:root[data-theme="paper-light"],
.theme-paper-light {
	--surface-floating: #f8ecd8;
	--surface-navigation: var(--surface-canvas); 
}
:root[data-theme="terminal-light"],
.theme-terminal-light {
	--surface-floating: var(--surface-base);
}
:root:is([data-theme$="-dark"], [data-theme^="grey-"]),
.theme-neutral-dark, .theme-paper-dark, .theme-terminal-dark, .theme-grey-light, .theme-grey-dark, .theme-news-dark {
	--surface-floating: color-mix(in oklab, var(--surface-base), var(--text-primary) var(--step-surface-hover));
}
:root[data-theme="grey-dark"],
.theme-grey-dark {
	--surface-floating: #1e1e21;
}
:root[data-theme="grey-dark"][data-lines="on"] {
	--surface-base: #000000;
	--surface-subtle: #060607;
}
:root:is([data-theme$="-dark"], [data-theme^="grey-"]),
.theme-neutral-dark, .theme-paper-dark, .theme-terminal-dark, .theme-grey-light, .theme-grey-dark, .theme-news-dark {
	--toggle-knob-ink: var(--text-primary); 
}
