/* AllCDP tokens (дизайн-система AllCDP, Material 3) + page helpers.
   Светлая тема на :root, тёмная — по системной настройке и по явному переключателю. */
:root {
--primary:#006782;--on-primary:#ffffff;--primary-container:#bbe9ff;--on-primary-container:#001f29;--secondary:#4c616b;--on-secondary:#ffffff;--secondary-container:#cfe6f1;--on-secondary-container:#071e26;--tertiary:#9c4400;--on-tertiary:#ffffff;--tertiary-container:#ffdbcb;--on-tertiary-container:#341100;--error:#ba1a1a;--on-error:#ffffff;--error-container:#ffdad6;--on-error-container:#410002;--success:#006c4c;--on-success:#ffffff;--success-container:#89f8c7;--on-success-container:#002114;--warning:#725c00;--on-warning:#ffffff;--warning-container:#ffe08b;--on-warning-container:#231b00;--surface:#f7f9fc;--surface-dim:#d7dadd;--surface-bright:#f7f9fc;--surface-container-lowest:#ffffff;--surface-container-low:#f1f4f7;--surface-container:#ebeef1;--surface-container-high:#e5e8eb;--surface-container-highest:#e0e3e6;--on-surface:#181c1f;--on-surface-variant:#40484c;--outline:#70787d;--outline-variant:#c0c8cc;--inverse-surface:#2d3134;--inverse-on-surface:#eef1f4;--inverse-primary:#5dd5fc;--scrim:#000000;--focus-ring:#006782;
--table-header:var(--surface-container-low);--table-row:var(--surface-container-lowest);--table-row-alt:#f8fafb;--table-row-hover:#eef2f5;--table-row-selected:#e3f4fb;--table-grid:#dde3e7;--table-grid-strong:var(--outline-variant);
--score-1:#e6f4fa;--score-2:#bfe4f3;--score-3:#86cbe6;--score-4:#1f7a9c;--score-5:#00536a;--on-score-low:#181c1f;--on-score-high:#ffffff;
--data-1:#0072b2;--data-2:#b36b00;--data-3:#00845f;--data-4:#b4508a;--data-5:#5b6b78;--data-6:#7b5ea7;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
--radius-none:0px;--radius-xs:4px;--radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-xl:28px;--radius-full:999px;
--elevation-1:0 1px 2px 0 rgba(0,0,0,0.30), 0 1px 3px 1px rgba(0,0,0,0.15);--elevation-2:0 1px 2px 0 rgba(0,0,0,0.30), 0 2px 6px 2px rgba(0,0,0,0.15);--elevation-3:0 4px 8px 3px rgba(0,0,0,0.15), 0 1px 3px 0 rgba(0,0,0,0.30);--sticky-edge:6px 0 8px -6px rgba(16,24,32,0.28);--header-edge:0 6px 8px -6px rgba(16,24,32,0.22);
--control-s:32px;--control-m:40px;--control-l:48px;--row-compact:32px;--row-default:40px;--row-comfortable:52px;--cell-pad-compact:8px;--cell-pad-default:12px;--cell-pad-comfortable:16px;--topbar-h:64px;--facet-w:280px;--content-max:1440px;
--state-hover:0.08;--state-focus:0.10;--state-pressed:0.10;--state-dragged:0.16;--disabled-content:0.38;
--z-sticky-col:2;--z-sticky-header:3;--z-sticky-corner:4;--z-appbar:10;--z-menu:20;--z-dialog:40;
--font-sans:"Rubik", system-ui, sans-serif;--font-mono:"Rubik", system-ui, sans-serif;
color-scheme: light;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
--primary:#5dd5fc;--on-primary:#003545;--primary-container:#004d62;--on-primary-container:#bbe9ff;--secondary:#b3cad5;--on-secondary:#1e333c;--secondary-container:#354a53;--on-secondary-container:#cfe6f1;--tertiary:#ffb693;--on-tertiary:#552000;--tertiary-container:#783100;--on-tertiary-container:#ffdbcb;--error:#ffb4ab;--on-error:#690005;--error-container:#93000a;--on-error-container:#ffdad6;--success:#6cdbac;--on-success:#003826;--success-container:#005138;--on-success-container:#89f8c7;--warning:#e2c54b;--on-warning:#3b2f00;--warning-container:#564500;--on-warning-container:#ffe08b;--surface:#0f1417;--surface-dim:#0f1417;--surface-bright:#353a3d;--surface-container-lowest:#0a0f12;--surface-container-low:#181c1f;--surface-container:#1c2023;--surface-container-high:#262b2e;--surface-container-highest:#313539;--on-surface:#dfe3e7;--on-surface-variant:#c0c8cc;--outline:#8a9296;--outline-variant:#40484c;--inverse-surface:#dfe3e7;--inverse-on-surface:#2d3134;--inverse-primary:#006782;--focus-ring:#5dd5fc;
--table-header:var(--surface-container);--table-row:var(--surface-container-low);--table-row-alt:#1a1e21;--table-row-hover:#22272a;--table-row-selected:#0f2e3a;--table-grid:#2b3135;--table-grid-strong:var(--outline-variant);
--score-1:#12252d;--score-2:#15394a;--score-3:#1b5468;--score-4:#3f9fc0;--score-5:#8fe0ff;--on-score-low:#dfe3e7;--on-score-high:#001f29;
--data-1:#5cb8f0;--data-2:#f0b43c;--data-3:#3fcc9c;--data-4:#ef9ac8;--data-5:#a9b8c4;--data-6:#c2a8ec;
--elevation-1:0 1px 2px 0 rgba(0,0,0,0.60), 0 1px 3px 1px rgba(0,0,0,0.30);--elevation-2:0 1px 2px 0 rgba(0,0,0,0.60), 0 2px 6px 2px rgba(0,0,0,0.30);--elevation-3:0 4px 8px 3px rgba(0,0,0,0.30), 0 1px 3px 0 rgba(0,0,0,0.60);--sticky-edge:6px 0 8px -6px rgba(0,0,0,0.70);--header-edge:0 6px 8px -6px rgba(0,0,0,0.60);
color-scheme: dark;
} }
:root[data-theme="dark"] {
--primary:#5dd5fc;--on-primary:#003545;--primary-container:#004d62;--on-primary-container:#bbe9ff;--secondary:#b3cad5;--on-secondary:#1e333c;--secondary-container:#354a53;--on-secondary-container:#cfe6f1;--tertiary:#ffb693;--on-tertiary:#552000;--tertiary-container:#783100;--on-tertiary-container:#ffdbcb;--error:#ffb4ab;--on-error:#690005;--error-container:#93000a;--on-error-container:#ffdad6;--success:#6cdbac;--on-success:#003826;--success-container:#005138;--on-success-container:#89f8c7;--warning:#e2c54b;--on-warning:#3b2f00;--warning-container:#564500;--on-warning-container:#ffe08b;--surface:#0f1417;--surface-dim:#0f1417;--surface-bright:#353a3d;--surface-container-lowest:#0a0f12;--surface-container-low:#181c1f;--surface-container:#1c2023;--surface-container-high:#262b2e;--surface-container-highest:#313539;--on-surface:#dfe3e7;--on-surface-variant:#c0c8cc;--outline:#8a9296;--outline-variant:#40484c;--inverse-surface:#dfe3e7;--inverse-on-surface:#2d3134;--inverse-primary:#006782;--focus-ring:#5dd5fc;
--table-header:var(--surface-container);--table-row:var(--surface-container-low);--table-row-alt:#1a1e21;--table-row-hover:#22272a;--table-row-selected:#0f2e3a;--table-grid:#2b3135;--table-grid-strong:var(--outline-variant);
--score-1:#12252d;--score-2:#15394a;--score-3:#1b5468;--score-4:#3f9fc0;--score-5:#8fe0ff;--on-score-low:#dfe3e7;--on-score-high:#001f29;
--data-1:#5cb8f0;--data-2:#f0b43c;--data-3:#3fcc9c;--data-4:#ef9ac8;--data-5:#a9b8c4;--data-6:#c2a8ec;
--elevation-1:0 1px 2px 0 rgba(0,0,0,0.60), 0 1px 3px 1px rgba(0,0,0,0.30);--elevation-2:0 1px 2px 0 rgba(0,0,0,0.60), 0 2px 6px 2px rgba(0,0,0,0.30);--elevation-3:0 4px 8px 3px rgba(0,0,0,0.30), 0 1px 3px 0 rgba(0,0,0,0.60);--sticky-edge:6px 0 8px -6px rgba(0,0,0,0.70);--header-edge:0 6px 8px -6px rgba(0,0,0,0.60);
color-scheme: dark;
}
html, body { background: var(--surface); color: var(--on-surface); }

/* ---------- page helpers ---------- */
.site { background: var(--surface); color: var(--on-surface); font-family: var(--font-sans); font-size: 15px; line-height: 22px; letter-spacing: 0; min-height: 100%; }
.wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; box-sizing: border-box; width: 100%; }
@media (max-width: 900px) { .wrap { padding: 0 24px; } }
@media (max-width: 600px) { .wrap { padding: 0 16px; } }
.site a { color: var(--primary); }
.site a:hover { text-decoration: underline; }

.display-m { font-size: 45px; line-height: 52px; font-weight: 400; letter-spacing: -.25px; margin: 0; }
.headline-l { font-size: 32px; line-height: 40px; font-weight: 400; margin: 0; }
.headline-m { font-size: 28px; line-height: 36px; font-weight: 400; margin: 0; }
.headline-s { font-size: 24px; line-height: 32px; font-weight: 400; margin: 0; }
.title-l { font-size: 22px; line-height: 28px; font-weight: 500; margin: 0; }
.title-m { font-size: 17px; line-height: 24px; font-weight: 500; letter-spacing: 0; margin: 0; }
.title-s { font-size: 15px; line-height: 22px; font-weight: 500; letter-spacing: 0; margin: 0; }
.body-l { font-size: 17px; line-height: 24px; letter-spacing: 0; margin: 0; }
.body-m { font-size: 15px; line-height: 22px; letter-spacing: 0; margin: 0; }
.body-s { font-size: 14px; line-height: 20px; letter-spacing: 0; margin: 0; }
.label-m { font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0; }
.data-l { font-family: var(--font-mono); font-size: 15px; line-height: 22px; font-weight: 500; font-variant-numeric: tabular-nums; }
.data-m { font-family: var(--font-mono); font-size: 14px; line-height: 22px; font-variant-numeric: tabular-nums; }
.data-s { font-family: var(--font-mono); font-size: 14px; line-height: 18px; font-variant-numeric: tabular-nums; }
.muted { color: var(--on-surface-variant); }
.empty { color: var(--outline); }

.panel { background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); border-radius: var(--radius-m); box-sizing: border-box; }
.panel-low { background: var(--surface-container-low); border: 1px solid var(--outline-variant); border-radius: var(--radius-m); box-sizing: border-box; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; line-height: 18px; color: var(--on-surface-variant); }
.crumbs a { color: var(--on-surface-variant); text-decoration: none; }
.meta-line { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; font-size: 14px; line-height: 18px; color: var(--on-surface-variant); }
.ticks { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ticks li { display: flex; gap: 10px; align-items: flex-start; }
.ticks svg { flex: none; margin-top: 1px; }

/* static HTML table (SSR-friendly) in the system's table look */
.stable-wrap { overflow-x: auto; border: 1px solid var(--outline-variant); border-radius: var(--radius-m); background: var(--table-row); }
.stable { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 22px; letter-spacing: .1px; }
.stable caption { text-align: left; padding: 14px 16px 10px; font-size: 17px; line-height: 24px; font-weight: 500; caption-side: top; background: var(--table-row); }
.stable th, .stable td { padding: 10px 12px; border-bottom: 1px solid var(--table-grid); text-align: left; vertical-align: top; }
.stable thead th { background: var(--table-header); font-size: 14px; line-height: 18px; font-weight: 500; color: var(--on-surface-variant); border-bottom-color: var(--table-grid-strong); white-space: nowrap; }
.stable tbody tr:last-child > * { border-bottom: 0; }
.stable tbody th { font-weight: 500; }
.stable .num { text-align: right; font-family: var(--font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.stable .sticky { position: sticky; left: 0; background: inherit; z-index: 2; }
.stable thead .sticky { background: var(--table-header); }
.stable tbody .sticky { background: var(--table-row); }

.faq details { border-bottom: 1px solid var(--outline-variant); padding: 16px 0; }
.faq summary { cursor: pointer; font-size: 17px; line-height: 24px; font-weight: 500; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq details p { margin: 8px 0 0; color: var(--on-surface-variant); font-size: 15px; line-height: 24px; max-width: 760px; }

.field { display: flex; flex-direction: column; gap: 6px; }
.field label { font-size: 14px; line-height: 18px; font-weight: 500; color: var(--on-surface-variant); }
.field input, .field select { height: 48px; box-sizing: border-box; padding: 0 16px; border: 1px solid var(--outline); border-radius: var(--radius-xs); background: var(--surface-container-lowest); color: var(--on-surface); font: inherit; font-size: 17px; }
.field input:focus-visible, .field select:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 0; border-color: transparent; }

.ac-app .ac-table { width: 100%; }
