/* Пульс · дизайн-система 1.0.0 — https://ds.partsbooster.com/v1/ */
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,300..600,0..1,0&display=block");
/* Сгенерировано scripts/fetch-fonts.mjs — не править руками. Шрифты: SIL OFL 1.1 (fonts/OFL-*.txt). */
/* Onest · cyrillic-ext */
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/onest-cyrillic-ext.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
/* Onest · cyrillic */
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/onest-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* Onest · latin-ext */
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/onest-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Onest · latin */
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/onest-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Inter · cyrillic-ext */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/inter-cyrillic-ext.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
/* Inter · cyrillic */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/inter-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* Inter · latin-ext */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/inter-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Inter · latin */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/inter-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* JetBrains Mono · cyrillic-ext */
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(fonts/jetbrains-mono-cyrillic-ext.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
/* JetBrains Mono · cyrillic */
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(fonts/jetbrains-mono-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* JetBrains Mono · latin-ext */
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(fonts/jetbrains-mono-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* JetBrains Mono · latin */
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(fonts/jetbrains-mono-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Пульс · токены дизайн-системы v3. Сгенерировано из tokens/tokens.json (labs/pulse-ds) — не править руками. */

:root, .light, [data-theme="light"] {
  --pz-bg: #eef1f8;
  --pz-bg-2: #e6ebf6;
  --pz-surface: #ffffff;
  --pz-surface-2: #f4f6fb;
  --pz-well: #e7ebf3;
  --pz-seg: #e3e8f1;
  --pz-fg: #111725;
  --pz-text-2: #3d4658;
  --pz-muted: #586174;
  --pz-faint: #8a93a6;
  --pz-chev: #b9c1d0;
  --pz-hair: rgba(24,36,70,.07);
  --pz-hair-2: rgba(24,36,70,.12);
  --pz-ink: #12161f;
  --pz-ink-2: #2a3142;
  --pz-on-ink: #ffffff;
  --pz-link: #2f5fe0;
  --pz-link-soft: #e6edff;
  --pz-accent: #ff6b4a;
  --pz-accent-2: #ff9a5c;
  --pz-accent-soft: #fff0e8;
  --pz-accent-deep: #b8481a;
  --pz-accent-fg: #ffffff;
  --pz-idea: #5b4fd6;
  --pz-idea-soft: #efedfe;
  --pz-task: #2466c4;
  --pz-task-soft: #e4f0ff;
  --pz-bug: #c0384b;
  --pz-bug-soft: #fdeaed;
  --pz-doc: #1d7d53;
  --pz-doc-soft: #e3f6ec;
  --pz-ann: #7a520a;
  --pz-ann-soft: #fff5dc;
  --pz-ok: #1d7d53;
  --pz-ok-soft: #e3f6ec;
  --pz-ok-bright: #34b67a;
  --pz-warn: #7a520a;
  --pz-warn-soft: #fff5dc;
  --pz-danger: #c0384b;
  --pz-danger-soft: #fdeaed;
  --pz-st-new: #2f6fe0;
  --pz-st-disc: #5b4fd6;
  --pz-st-work: #ff6b4a;
  --pz-st-done: #34b67a;
  --pz-glass: rgba(255,255,255,.92);
  --pz-glass-strong: rgba(255,255,255,.98);
  --pz-glass-edge: rgba(255,255,255,.9);
  --pz-scrim: rgba(18,24,40,.28);
  --pz-chat-a: #cfd9f2;
  --pz-chat-b: #b9c4ea;
  --pz-bub: #ffffff;
  --pz-bub-me: #e3eaff;
  --pz-bub-me-fg: #111725;
  --pz-ai-a: #f1eefe;
  --pz-ai-b: #e8f0ff;
  --pz-ai-fg: #4a3fc0;
  --pz-pri-high: #a86400;
  --pz-pri-high-soft: #fff1cc;
  --pz-selection: #cddcfa;
  --pz-hover: #e3e8f1;
  --pz-veil: rgba(255,255,255,.6);
  --pz-toast-btn: rgba(255,255,255,.14);
  --pz-orb-a: #ffffff;
  --pz-orb-b: #e6edff;
  --pz-ground: radial-gradient(900px 560px at 4% -6%,#dbe5ff 0%,rgba(219,229,255,0) 62%),radial-gradient(820px 620px at 100% -8%,#e8e1ff 0%,rgba(232,225,255,0) 58%),radial-gradient(700px 520px at 92% 108%,#ffe9dc 0%,rgba(255,233,220,0) 60%),linear-gradient(180deg,#f2f4fa 0%,#eaeef6 100%);
  --pz-grad: linear-gradient(135deg,#ff9a5c,#ff6b4a);
  --pz-grad-ink: linear-gradient(180deg,#2a3142,#12161f);
  --pz-grad-blue: linear-gradient(180deg,#4a7bf2,#2c57d6);
  --pz-sh-card: 0 0 0 1px rgba(24,36,70,.035),0 1px 1px rgba(24,36,70,.04),0 6px 14px -8px rgba(24,36,70,.10),0 26px 44px -28px rgba(30,48,100,.22);
  --pz-sh-card-hover: 0 0 0 1px rgba(24,36,70,.05),0 2px 3px rgba(24,36,70,.05),0 14px 24px -10px rgba(24,36,70,.16),0 40px 60px -30px rgba(30,48,100,.32);
  --pz-sh-btn: 0 0 0 1px rgba(24,36,70,.07),0 1px 2px rgba(24,36,70,.07),0 4px 10px -6px rgba(24,36,70,.14);
  --pz-sh-seg: 0 0 0 1px rgba(24,36,70,.05),0 1px 2px rgba(24,36,70,.12),0 6px 12px -6px rgba(24,36,70,.2);
  --pz-sh-pop: 0 0 0 1px rgba(24,36,70,.06),0 2px 4px rgba(24,36,70,.06),0 18px 36px -12px rgba(24,36,70,.24),0 44px 80px -30px rgba(30,48,100,.34);
  --pz-sh-float: 0 0 0 1px rgba(24,36,70,.05),0 3px 6px rgba(24,36,70,.05),0 22px 40px -16px rgba(24,36,70,.22),0 60px 110px -40px rgba(30,48,100,.36);
  --pz-sh-ink: inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(10,14,24,.3),0 12px 22px -10px rgba(10,14,24,.5);
  --pz-space-2: 2px;
  --pz-space-4: 4px;
  --pz-space-8: 8px;
  --pz-space-12: 12px;
  --pz-space-16: 16px;
  --pz-space-24: 24px;
  --pz-space-32: 32px;
  --pz-r-pill: 999px;
  --pz-r-card: 24px;
  --pz-r-panel: 28px;
  --pz-r-in: 16px;
  --pz-r-tile: 14px;
  --pz-r-ctl: 13px;
  --pz-r-well: 20px;
  --pz-r-menu: 22px;
  --pz-r-area: 15px;
  --pz-r-tip: 10px;
  --pz-c-h-xs: 26px;
  --pz-c-h-sm: 32px;
  --pz-c-h-md: 40px;
  --pz-c-h-lg: 48px;
  --pz-c-h-field: 44px;
  --pz-c-fs-xs: 12.5px;
  --pz-c-fs-sm: 13px;
  --pz-c-fs-md: 14px;
  --pz-c-fs-lg: 15px;
  --pz-c-fs-field: 14.5px;
  --pz-c-px-xs: 10px;
  --pz-c-px-sm: 12px;
  --pz-c-px-md: 16px;
  --pz-c-px-lg: 22px;
  --pz-c-ic-xs: 15px;
  --pz-c-ic-sm: 17px;
  --pz-c-ic-md: 19px;
  --pz-c-ic-lg: 20px;
  --pz-sidebar-w: 264px;
  --pz-drawer-w: 560px;
  --pz-tabbar-h: 64px;
  --pz-blur-glass: blur(26px) saturate(1.7);
  --pz-blur-menu: blur(28px) saturate(1.8);
  --pz-blur-scrim: blur(6px);
  --pz-ease: cubic-bezier(.2,.8,.2,1);
  --pz-spring: cubic-bezier(.34,1.56,.64,1);
  --pz-dur-press: 160ms;
  --pz-dur-pop: 220ms;
  --pz-dur-panel: 280ms;
  --pz-font-head: "Onest", "SF Pro Display", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --pz-font-text: "Inter", "SF Pro Text", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --pz-font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --pz-t-h0: 600 56px/56px var(--pz-font-head);
  --pz-t-h0-ls: -0.04em;
  --pz-t-h1: 600 34px/38px var(--pz-font-head);
  --pz-t-h1-ls: -0.032em;
  --pz-t-h2: 600 24px/29px var(--pz-font-head);
  --pz-t-h2-ls: -0.026em;
  --pz-t-h3: 600 18px/23px var(--pz-font-head);
  --pz-t-h3-ls: -0.018em;
  --pz-t-h4: 600 15px/20px var(--pz-font-head);
  --pz-t-h4-ls: -0.01em;
  --pz-t-body-lg: 400 16px/25px var(--pz-font-text);
  --pz-t-body-lg-ls: 0;
  --pz-t-body: 400 14px/21px var(--pz-font-text);
  --pz-t-body-ls: -0.003em;
  --pz-t-small: 400 13px/18px var(--pz-font-text);
  --pz-t-small-ls: 0;
  --pz-t-micro: 500 12px/16px var(--pz-font-text);
  --pz-t-micro-ls: 0;
  --pz-t-cap: 600 11px/14px var(--pz-font-text);
  --pz-t-cap-ls: 0.08em;
  --pz-t-id: 600 13px/16px var(--pz-font-mono);
  --pz-t-id-ls: 0;
  --pz-sh-glass: inset 0 0 0 1px var(--pz-glass-edge),inset 0 1px 0 #fff,0 1px 2px rgba(24,36,70,.05),0 14px 30px -14px rgba(24,36,70,.2);
  --pz-focus: 0 0 0 2px var(--pz-surface),0 0 0 4px var(--pz-link);
  --pz-halo: 0 0 0 2px var(--pz-link),0 0 0 6px var(--pz-link-soft);
  --pz-halo-err: 0 0 0 2px var(--pz-danger),0 0 0 6px var(--pz-danger-soft);
  color-scheme: light;
}

.dark, [data-theme="dark"] {
  --pz-bg: #0b0e15;
  --pz-bg-2: #0f131c;
  --pz-surface: #161b26;
  --pz-surface-2: #1c2230;
  --pz-well: #10141d;
  --pz-seg: #10141d;
  --pz-fg: #eef2fa;
  --pz-text-2: #c3cbdb;
  --pz-muted: #9aa5b9;
  --pz-faint: #6e7a90;
  --pz-chev: #4a5468;
  --pz-hair: rgba(190,205,240,.08);
  --pz-hair-2: rgba(190,205,240,.14);
  --pz-ink: #f2f5fb;
  --pz-ink-2: #ffffff;
  --pz-on-ink: #12161f;
  --pz-link: #8fb0ff;
  --pz-link-soft: #1b2a4d;
  --pz-accent-soft: #3a231c;
  --pz-accent-deep: #ffb08f;
  --pz-idea: #a79dff;
  --pz-idea-soft: #27234d;
  --pz-task: #7fb2ff;
  --pz-task-soft: #172c4a;
  --pz-bug: #ff8f9f;
  --pz-bug-soft: #40202a;
  --pz-doc: #62d39d;
  --pz-doc-soft: #14352a;
  --pz-ann: #f2c66b;
  --pz-ann-soft: #3a2f14;
  --pz-ok: #62d39d;
  --pz-ok-soft: #14352a;
  --pz-warn: #f2c66b;
  --pz-warn-soft: #3a2f14;
  --pz-danger: #ff8f9f;
  --pz-danger-soft: #40202a;
  --pz-glass: rgba(30,37,52,.92);
  --pz-glass-strong: rgba(24,30,42,.98);
  --pz-glass-edge: rgba(255,255,255,.09);
  --pz-scrim: rgba(2,4,10,.58);
  --pz-chat-a: #141b2e;
  --pz-chat-b: #101627;
  --pz-bub: #1f2636;
  --pz-bub-me: #2b3f7a;
  --pz-bub-me-fg: #f2f5ff;
  --pz-ai-a: #231f48;
  --pz-ai-b: #17264a;
  --pz-ai-fg: #b9b0ff;
  --pz-pri-high-soft: #3d3010;
  --pz-selection: rgba(110,150,255,.35);
  --pz-hover: rgba(255,255,255,.08);
  --pz-veil: rgba(255,255,255,.1);
  --pz-toast-btn: rgba(18,22,31,.1);
  --pz-orb-a: #2a3760;
  --pz-orb-b: #161d33;
  --pz-ground: radial-gradient(900px 560px at 4% -6%,rgba(64,104,230,.22) 0%,rgba(64,104,230,0) 62%),radial-gradient(820px 620px at 100% -8%,rgba(124,96,240,.2) 0%,rgba(124,96,240,0) 58%),radial-gradient(700px 520px at 92% 108%,rgba(255,107,74,.12) 0%,rgba(255,107,74,0) 60%),linear-gradient(180deg,#0d111a 0%,#090c12 100%);
  --pz-grad-ink: linear-gradient(180deg,#ffffff,#dfe5f2);
  --pz-sh-card: inset 0 0 0 1px rgba(190,205,240,.07),inset 0 1px 0 rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.5),0 18px 30px -18px rgba(0,0,0,.7),0 40px 70px -40px rgba(0,0,0,.8);
  --pz-sh-card-hover: inset 0 0 0 1px rgba(190,205,240,.14),inset 0 1px 0 rgba(255,255,255,.1),0 2px 4px rgba(0,0,0,.5),0 26px 44px -18px rgba(0,0,0,.8),0 0 60px -20px rgba(110,140,255,.25);
  --pz-sh-btn: inset 0 0 0 1px rgba(190,205,240,.1),inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.5),0 6px 12px -6px rgba(0,0,0,.6);
  --pz-sh-seg: inset 0 0 0 1px rgba(190,205,240,.12),inset 0 1px 0 rgba(255,255,255,.1),0 1px 2px rgba(0,0,0,.6),0 8px 14px -6px rgba(0,0,0,.7);
  --pz-sh-pop: inset 0 0 0 1px rgba(190,205,240,.1),inset 0 1px 0 rgba(255,255,255,.08),0 2px 4px rgba(0,0,0,.5),0 24px 44px -12px rgba(0,0,0,.8),0 60px 100px -30px rgba(0,0,0,.9);
  --pz-sh-float: inset 0 0 0 1px rgba(190,205,240,.1),inset 0 1px 0 rgba(255,255,255,.08),0 3px 6px rgba(0,0,0,.5),0 30px 56px -16px rgba(0,0,0,.85),0 0 90px -30px rgba(100,130,255,.28);
  --pz-sh-ink: inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,.5),0 12px 24px -10px rgba(140,170,255,.35);
  --pz-sh-glass: inset 0 0 0 1px var(--pz-glass-edge),inset 0 1px 0 rgba(255,255,255,.1),0 1px 2px rgba(0,0,0,.4),0 18px 34px -14px rgba(0,0,0,.7);
  --pz-focus: 0 0 0 2px var(--pz-surface),0 0 0 4px var(--pz-link);
  --pz-halo: 0 0 0 2px var(--pz-link),0 0 0 6px var(--pz-link-soft);
  --pz-halo-err: 0 0 0 2px var(--pz-danger),0 0 0 6px var(--pz-danger-soft);
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  [data-theme="auto"] {
    --pz-bg: #0b0e15;
    --pz-bg-2: #0f131c;
    --pz-surface: #161b26;
    --pz-surface-2: #1c2230;
    --pz-well: #10141d;
    --pz-seg: #10141d;
    --pz-fg: #eef2fa;
    --pz-text-2: #c3cbdb;
    --pz-muted: #9aa5b9;
    --pz-faint: #6e7a90;
    --pz-chev: #4a5468;
    --pz-hair: rgba(190,205,240,.08);
    --pz-hair-2: rgba(190,205,240,.14);
    --pz-ink: #f2f5fb;
    --pz-ink-2: #ffffff;
    --pz-on-ink: #12161f;
    --pz-link: #8fb0ff;
    --pz-link-soft: #1b2a4d;
    --pz-accent-soft: #3a231c;
    --pz-accent-deep: #ffb08f;
    --pz-idea: #a79dff;
    --pz-idea-soft: #27234d;
    --pz-task: #7fb2ff;
    --pz-task-soft: #172c4a;
    --pz-bug: #ff8f9f;
    --pz-bug-soft: #40202a;
    --pz-doc: #62d39d;
    --pz-doc-soft: #14352a;
    --pz-ann: #f2c66b;
    --pz-ann-soft: #3a2f14;
    --pz-ok: #62d39d;
    --pz-ok-soft: #14352a;
    --pz-warn: #f2c66b;
    --pz-warn-soft: #3a2f14;
    --pz-danger: #ff8f9f;
    --pz-danger-soft: #40202a;
    --pz-glass: rgba(30,37,52,.92);
    --pz-glass-strong: rgba(24,30,42,.98);
    --pz-glass-edge: rgba(255,255,255,.09);
    --pz-scrim: rgba(2,4,10,.58);
    --pz-chat-a: #141b2e;
    --pz-chat-b: #101627;
    --pz-bub: #1f2636;
    --pz-bub-me: #2b3f7a;
    --pz-bub-me-fg: #f2f5ff;
    --pz-ai-a: #231f48;
    --pz-ai-b: #17264a;
    --pz-ai-fg: #b9b0ff;
    --pz-pri-high-soft: #3d3010;
    --pz-selection: rgba(110,150,255,.35);
    --pz-hover: rgba(255,255,255,.08);
    --pz-veil: rgba(255,255,255,.1);
    --pz-toast-btn: rgba(18,22,31,.1);
    --pz-orb-a: #2a3760;
    --pz-orb-b: #161d33;
    --pz-ground: radial-gradient(900px 560px at 4% -6%,rgba(64,104,230,.22) 0%,rgba(64,104,230,0) 62%),radial-gradient(820px 620px at 100% -8%,rgba(124,96,240,.2) 0%,rgba(124,96,240,0) 58%),radial-gradient(700px 520px at 92% 108%,rgba(255,107,74,.12) 0%,rgba(255,107,74,0) 60%),linear-gradient(180deg,#0d111a 0%,#090c12 100%);
    --pz-grad-ink: linear-gradient(180deg,#ffffff,#dfe5f2);
    --pz-sh-card: inset 0 0 0 1px rgba(190,205,240,.07),inset 0 1px 0 rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.5),0 18px 30px -18px rgba(0,0,0,.7),0 40px 70px -40px rgba(0,0,0,.8);
    --pz-sh-card-hover: inset 0 0 0 1px rgba(190,205,240,.14),inset 0 1px 0 rgba(255,255,255,.1),0 2px 4px rgba(0,0,0,.5),0 26px 44px -18px rgba(0,0,0,.8),0 0 60px -20px rgba(110,140,255,.25);
    --pz-sh-btn: inset 0 0 0 1px rgba(190,205,240,.1),inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.5),0 6px 12px -6px rgba(0,0,0,.6);
    --pz-sh-seg: inset 0 0 0 1px rgba(190,205,240,.12),inset 0 1px 0 rgba(255,255,255,.1),0 1px 2px rgba(0,0,0,.6),0 8px 14px -6px rgba(0,0,0,.7);
    --pz-sh-pop: inset 0 0 0 1px rgba(190,205,240,.1),inset 0 1px 0 rgba(255,255,255,.08),0 2px 4px rgba(0,0,0,.5),0 24px 44px -12px rgba(0,0,0,.8),0 60px 100px -30px rgba(0,0,0,.9);
    --pz-sh-float: inset 0 0 0 1px rgba(190,205,240,.1),inset 0 1px 0 rgba(255,255,255,.08),0 3px 6px rgba(0,0,0,.5),0 30px 56px -16px rgba(0,0,0,.85),0 0 90px -30px rgba(100,130,255,.28);
    --pz-sh-ink: inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,.5),0 12px 24px -10px rgba(140,170,255,.35);
    --pz-sh-glass: inset 0 0 0 1px var(--pz-glass-edge),inset 0 1px 0 rgba(255,255,255,.1),0 1px 2px rgba(0,0,0,.4),0 18px 34px -14px rgba(0,0,0,.7);
    --pz-focus: 0 0 0 2px var(--pz-surface),0 0 0 4px var(--pz-link);
    --pz-halo: 0 0 0 2px var(--pz-link),0 0 0 6px var(--pz-link-soft);
    --pz-halo-err: 0 0 0 2px var(--pz-danger),0 0 0 6px var(--pz-danger-soft);
    color-scheme: dark;
  }
}

@media (max-width: 760px) {
  :root {
    --pz-c-h-xs: 28px;
    --pz-c-h-sm: 36px;
    --pz-c-h-md: 44px;
    --pz-c-h-field: 48px;
    --pz-c-fs-field: 16px;
  }
}


:root, .light, [data-theme="light"] { --pz-chat-pattern: url("https://ds.partsbooster.com/v1/assets/chat-pattern.svg"); }
.dark, [data-theme="dark"] { --pz-chat-pattern: url("https://ds.partsbooster.com/v1/assets/chat-pattern-dark.svg"); }
@media (prefers-color-scheme: dark) { [data-theme="auto"] { --pz-chat-pattern: url("https://ds.partsbooster.com/v1/assets/chat-pattern-dark.svg"); } }

/* Пульс · база для светлого DOM: класс .pz-app на <body> (земля, шрифт, цвет), типографика .pz-h1…, раскладки, контекстные размеры.
   Ничего глобального без класса: подключение pulse-ds.css не меняет вид существующего приложения, пока классы не поставлены. */
.pz-app {
  min-height: 100vh; margin: 0; color: var(--pz-fg); background: var(--pz-ground), var(--pz-bg); background-attachment: fixed;
  font: var(--pz-t-body); letter-spacing: var(--pz-t-body-ls); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
.pz-app ::selection, .pz-text ::selection { background: var(--pz-selection); }
.pz-text { font: var(--pz-t-body); color: var(--pz-fg); }

/* типографика: заголовки — Onest 600 с плотным трекингом, текст — Inter */
.pz-h0, .pz-h1, .pz-h2, .pz-h3, .pz-h4 { margin: 0; color: var(--pz-fg); }
.pz-h0 { font: var(--pz-t-h0); letter-spacing: var(--pz-t-h0-ls); }
.pz-h1 { font: var(--pz-t-h1); letter-spacing: var(--pz-t-h1-ls); }
.pz-h2 { font: var(--pz-t-h2); letter-spacing: var(--pz-t-h2-ls); }
.pz-h3 { font: var(--pz-t-h3); letter-spacing: var(--pz-t-h3-ls); }
.pz-h4 { font: var(--pz-t-h4); letter-spacing: var(--pz-t-h4-ls); }
.pz-body-lg { font: var(--pz-t-body-lg); }
.pz-body { font: var(--pz-t-body); letter-spacing: var(--pz-t-body-ls); }
.pz-small { font: var(--pz-t-small); color: var(--pz-muted); }
.pz-micro { font: var(--pz-t-micro); color: var(--pz-muted); }
.pz-cap { font: var(--pz-t-cap); letter-spacing: var(--pz-t-cap-ls); text-transform: uppercase; color: var(--pz-faint); }
.pz-id { font: var(--pz-t-id); color: var(--pz-muted); }
.pz-num { font-variant-numeric: tabular-nums; }
.pz-muted { color: var(--pz-muted); } .pz-faint { color: var(--pz-faint); } .pz-text-2 { color: var(--pz-text-2); }
.pz-link { color: var(--pz-link); text-decoration: none; font-weight: 600; } .pz-link:hover { text-decoration: underline; }

/* значок в светлом DOM (внутри компонентов — свой) */
.pz-ms { font-family: "Material Symbols Rounded"; font-weight: normal; font-style: normal; font-size: 20px; line-height: 1; display: inline-block; white-space: nowrap;
  direction: ltr; font-feature-settings: "liga"; font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20; vertical-align: middle; }

/* раскладки: ряд пилюль, стопка карточек, сетка виджетов — группы отделяются воздухом, а не линиями */
.pz-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.pz-row.end { justify-content: flex-end; } .pz-row.between { justify-content: space-between; } .pz-row.nowrap { flex-wrap: nowrap; }
.pz-stack { display: grid; gap: 16px; align-content: start; min-width: 0; }
.pz-stack.tight { gap: 12px; } .pz-stack.loose { gap: 32px; }
.pz-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); align-items: start; }
.pz-spacer { flex: 1; }
.pz-page { max-width: 1240px; margin: 0 auto; padding: 24px 24px 64px; }
@media (max-width: 760px) { .pz-page { padding: 12px 16px calc(96px + env(safe-area-inset-bottom, 0px)); } }

/* размер ряда задаёт контекст: все контролы внутри — одной высоты */
.pz-xs { --pz-ctl-h: var(--pz-c-h-xs); --pz-ctl-fs: var(--pz-c-fs-xs); --pz-ctl-px: var(--pz-c-px-xs); --pz-ctl-ic: var(--pz-c-ic-xs); }
.pz-sm { --pz-ctl-h: var(--pz-c-h-sm); --pz-ctl-fs: var(--pz-c-fs-sm); --pz-ctl-px: var(--pz-c-px-sm); --pz-ctl-ic: var(--pz-c-ic-sm); }
.pz-md { --pz-ctl-h: var(--pz-c-h-md); --pz-ctl-fs: var(--pz-c-fs-md); --pz-ctl-px: var(--pz-c-px-md); --pz-ctl-ic: var(--pz-c-ic-md); }
.pz-lg { --pz-ctl-h: var(--pz-c-h-lg); --pz-ctl-fs: var(--pz-c-fs-lg); --pz-ctl-px: var(--pz-c-px-lg); --pz-ctl-ic: var(--pz-c-ic-lg); }

/* пока компонент не загрузился — не мигать сырой разметкой */
:is(pz-button, pz-icon-button, pz-icon-group, pz-field, pz-param-pill, pz-segmented, pz-menu, pz-dropdown, pz-card, pz-drawer, pz-dialog, pz-sheet,
  pz-page-header, pz-app-shell, pz-tabbar, pz-toggle, pz-checkbox, pz-chip, pz-badge, pz-tile, pz-avatar, pz-nav-item, pz-ai-block):not(:defined) { visibility: hidden; }
