/* © 2026 VEYRO (ИП Макаров И. В.). appagent — проприетарная программа. Использование — по лицензионному договору https://appagent.ru/legal/offer/. Копирование и распространение без разрешения запрещены. */
/* Токены пульта appagent по утверждённому дизайну (docs/pult-design, Main.dc.html; 04.11.2026). Файл правится вручную.
   Шрифты (SIL OFL 1.1): Geist — текст (../fonts/GEIST-LICENSE.txt), Onest — заголовки (../fonts/ONEST-LICENSE.txt), Geist Mono — числа, время, id и код (../fonts/OFL.txt);
   Inter оставлен запасным шрифтом (../fonts/INTER-LICENSE.txt). Пути шрифтов относительно этого файла: ../fonts/.
   Светлая и тёмная темы — те же имена токенов; цвета объявлены трижды: тёмная по умолчанию, светлая по системе (медиа-запрос) и [data-theme="light"]. */
@font-face {
  font-family: 'Geist';
  src: url('../fonts/Geist-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist';
  src: url('../fonts/Geist-cyrillic.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Onest';
  src: url('../fonts/Onest-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Onest';
  src: url('../fonts/Onest-cyrillic.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-cyrillic.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('../fonts/GeistMono-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --font-sans: 'Geist', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-head: 'Onest', 'Geist', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --font-num: var(--font-mono);
  --num-features: tabular-nums;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --text-display-size: 2.5rem;
  --text-display-line: 1.1;
  --text-display-track: -0.025em;
  --text-display-weight: 500;
  --text-display-family: var(--font-head);
  --text-h1-size: var(--text-display-size);
  --text-h1-line: 1.1;
  --text-h1-track: -0.025em;
  --text-h1-weight: 500;
  --text-h1-family: var(--font-head);
  --text-h2-size: clamp(1.5rem, 1.3rem + 0.6vw, 2rem);
  --text-h2-line: 1.15;
  --text-h2-track: -0.02em;
  --text-h2-weight: 500;
  --text-h2-family: var(--font-head);
  --text-h3-size: 0.9375rem;
  --text-h3-line: 1.3;
  --text-h3-track: -0.01em;
  --text-h3-weight: 500;
  --text-h3-family: var(--font-head);
  --text-lead-size: 1rem;
  --text-lead-line: 1.5;
  --text-lead-track: 0;
  --text-lead-weight: 400;
  --text-lead-family: var(--font-sans);
  --text-body-size: 0.875rem;
  --text-body-line: 1.5;
  --text-body-track: 0;
  --text-body-weight: 400;
  --text-body-family: var(--font-sans);
  --text-ui-size: 0.875rem;
  --text-ui-line: 1.45;
  --text-ui-track: 0;
  --text-ui-weight: 400;
  --text-ui-family: var(--font-sans);
  --text-ui-strong-size: 0.875rem;
  --text-ui-strong-line: 1.45;
  --text-ui-strong-track: 0;
  --text-ui-strong-weight: 500;
  --text-ui-strong-family: var(--font-sans);
  --text-caption-size: 0.8125rem;
  --text-caption-line: 1.45;
  --text-caption-track: 0;
  --text-caption-weight: 400;
  --text-caption-family: var(--font-sans);
  --text-button-size: 0.875rem;
  --text-button-line: 1;
  --text-button-track: 0;
  --text-button-weight: 500;
  --text-button-family: var(--font-sans);
  --text-label-size: 0.75rem;
  --text-label-line: 1.2;
  --text-label-track: 0;
  --text-label-weight: 500;
  --text-label-family: var(--font-sans);
  --text-label-transform: none;
  --text-mono-size: 0.8125rem;
  --text-mono-line: 1.5;
  --text-mono-track: 0;
  --text-mono-weight: 400;
  --text-mono-family: var(--font-mono);
  --text-number-xl-size: clamp(2.5rem, 2rem + 2vw, 3.5rem);
  --text-number-xl-line: 1;
  --text-number-xl-track: -0.04em;
  --text-number-xl-weight: 400;
  --text-number-xl-family: var(--font-num);
  --text-number-lg-size: 2rem;
  --text-number-lg-line: 1;
  --text-number-lg-track: -0.03em;
  --text-number-lg-weight: 400;
  --text-number-lg-family: var(--font-num);
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --radius-xs: 0.375rem;
  --radius-sm: 0.625rem;
  --radius-md: 0.875rem;
  --radius-lg: 0.875rem;
  --radius-xl: 1.5rem;
  --radius-pill: 99px;
  --radius-round: 50%;
  --radius-card: 14px;
  --radius-ctl: 10px;
  --radius-item: 9px;
  --card-pad: 1.5rem;
  --duration-instant: 0.1s;
  --duration-fast: 0.2s;
  --duration-base: 0.35s;
  --duration-slow: 0.6s;
  --duration-slower: 0.9s;
  --duration-ambient: 2.4s;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --ease-in: cubic-bezier(.7, 0, .84, 0);
  --ease-linear: linear;
  --layout-container-max: 95rem;
  --layout-container-gutter: clamp(1.25rem, 4vw, 4rem);
  --layout-container-gap: 1.25rem;
  --layout-columns-mobile: 4;
  --layout-columns-tablet: 8;
  --layout-columns-desktop: 12;
  --layout-narrow: 42rem;
  --layout-measure: 65ch;
  --layout-sidebar: 15rem;
  --layout-rail: 21rem;
  --layout-topbar: 4rem;
  --layout-tabbar: 4.5rem;
  --size-touch-min: 2.75rem;
  --size-control: 3.25rem;
  --size-control-sm: 2.75rem;
  --size-ctl: 2.5rem;
  --size-ctl-sm: 2.125rem;
  --size-nav-item: 2.25rem;
  --size-progress: 3px;
  --size-dot: 6px;
  --modal-w: 620px;
  --size-icon: 1.25rem;
  --size-icon-lg: 1.5rem;
  --size-logo: 1.5rem;
  --size-focus-width: 0.125rem;
  --size-focus-offset: 0.1875rem;
  --size-status-dot: 0.5rem;
  --z-base: 0;
  --z-sticky: 10;
  --z-nav: 50;
  --z-overlay: 80;
  --z-modal: 90;
  --z-toast: 95;
  --z-skip: 100;
}
/* Тёмная тема (по умолчанию): холодный графит, тот же акцент. Кнопка «тёмная» (--color-dark) в тёмной теме светлая. */
:root, [data-theme="dark"] {
  color-scheme: dark;
  --color-model-opus: #E5E7EA;
  --color-model-sonnet: #A5A9AF;
  --color-model-haiku: #6A6E75;
  --color-bg: #090A0D;
  --color-bg2: #0D0E12;
  --color-panel: #111318;
  --color-panel2: #181B21;
  --color-ink: #F2F4F7;
  --color-ink2: #A5ABB6;
  --color-ink3: #8B92A0;
  --color-line: #1F2229;
  --color-line2: #2C3039;
  --color-track: #1F2229;
  --color-dark: #F2F4F7;
  --color-on-dark: #17171A;
  --color-dot-ok: #4FBF85;
  --color-dot-wait: var(--color-acc);
  --color-acc: #FF6A2B;
  --color-acc-text: #FF8A57;
  --color-acc-soft: #231A1C;
  --color-acc-soft-text: #FF9A6C;
  --color-acc-glow: rgba(255,106,43,.22);
  --color-acc-track: var(--color-track);
  --bar-fill: var(--color-acc);
  --bar-track: var(--color-acc-track);
  --color-on-acc: #17171A;
  --color-ok: #4FBF85;
  --color-ok-text: #5FCB93;
  --color-ok-soft: #172423;
  --color-ok-soft-text: #6FD39E;
  --color-warn: #D9A441;
  --color-warn-text: #E3B25A;
  --color-warn-soft: #211F1D;
  --color-warn-soft-text: #E8BD6E;
  --color-danger: #F0675B;
  --color-danger-text: #FF8076;
  --color-danger-soft: #271B1F;
  --color-danger-soft-text: #FF8F86;
  --color-on-danger: #17171A;
  --color-focus: #FF8A57;
  --color-glass: rgba(9,10,13,.72);
  --color-scrim: rgba(3,4,7,.66);
  --color-selection-bg: #FF6A2B;
  --color-selection-fg: #17171A;
  --color-logo: #F2F4F7;
  --shadow-sm: 0 1px 2px rgba(2,3,6,.5);
  --shadow-md: 0 16px 40px -20px rgba(2,3,6,.75);
  --shadow-lg: 0 32px 72px -28px rgba(2,3,6,.75);
  --shadow-glow: 0 8px 24px -8px rgba(255,106,43,.3);
  --shadow-ring: 0 0 0 1px var(--color-line);
  --shadow-attn-glow: 0 0 20px -4px rgba(217,164,65,.28);
  --glass-bg: rgba(242,244,247,.05);
  --glass-border: rgba(242,244,247,.09);
  --glass-edge: rgba(242,244,247,.16);
  --glass-solid: #14161B;
  --glass-shadow: 0 1px 0 0 var(--glass-edge) inset, 0 12px 32px -18px rgba(2,3,6,.7);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    color-scheme: light;
    --color-model-opus: #3A3935;
    --color-model-sonnet: #6E6D68;
    --color-model-haiku: #A9A7A0;
    --color-bg: #F6F5F2;
    --color-bg2: #EEECE7;
    --color-panel: #FFFFFF;
    --color-panel2: #F6F5F2;
    --color-ink: #17171A;
    --color-ink2: #6A6964;
    --color-ink3: #6C6B66;
    --color-line: #E7E5DF;
    --color-line2: #D6D3CB;
    --color-track: #ECEAE4;
    --color-dark: #17171A;
    --color-on-dark: #FFFFFF;
    --color-dot-ok: #2E8B57;
    --color-dot-wait: var(--color-acc);
    --color-acc: #FF6A2B;
    --color-acc-text: #C2410C;
    --color-acc-soft: #FDE9DE;
    --color-acc-soft-text: #A8350A;
    --color-acc-glow: rgba(255,106,43,.18);
    --color-acc-track: color-mix(in srgb, var(--color-acc) 20%, var(--color-bg));
    --bar-fill: var(--color-acc);
    --bar-track: var(--color-acc-track);
    --color-on-acc: #17171A;
    --color-ok: #2E8B57;
    --color-ok-text: #25764A;
    --color-ok-soft: #E3F1E8;
    --color-ok-soft-text: #1F6B42;
    --color-warn: #B7791F;
    --color-warn-text: #8F5E14;
    --color-warn-soft: #F6EBD3;
    --color-warn-soft-text: #7E5210;
    --color-danger: #B42318;
    --color-danger-text: #B42318;
    --color-danger-soft: #F8E1DE;
    --color-danger-soft-text: #A01E14;
    --color-on-danger: #FFFFFF;
    --color-focus: #C2410C;
    --color-glass: rgba(246,245,242,.78);
    --color-scrim: rgba(23,23,26,.45);
    --color-selection-bg: #FF6A2B;
    --color-selection-fg: #17171A;
    --color-logo: #17171A;
    --shadow-sm: 0 1px 2px rgba(23,23,26,.04);
    --shadow-md: 0 12px 32px -16px rgba(23,23,26,.16);
    --shadow-lg: 0 24px 64px -24px rgba(23,23,26,.22);
    --shadow-glow: 0 8px 24px -8px rgba(255,106,43,.25);
    --shadow-ring: 0 0 0 1px var(--color-line);
    --shadow-attn-glow: 0 4px 20px -6px rgba(183,121,31,.34);
    --glass-bg: rgba(255,255,255,.66);
    --glass-border: rgba(23,23,26,.08);
    --glass-edge: rgba(255,255,255,.9);
    --glass-solid: #FFFFFF;
    --glass-shadow: 0 1px 0 0 var(--glass-edge) inset, 0 12px 32px -18px rgba(23,23,26,.18);
  }
}
[data-theme="light"] {
  color-scheme: light;
  --color-model-opus: #3A3935;
  --color-model-sonnet: #6E6D68;
  --color-model-haiku: #A9A7A0;
  --color-bg: #F6F5F2;
  --color-bg2: #EEECE7;
  --color-panel: #FFFFFF;
  --color-panel2: #F6F5F2;
  --color-ink: #17171A;
  --color-ink2: #6A6964;
  --color-ink3: #6C6B66;
  --color-line: #E7E5DF;
  --color-line2: #D6D3CB;
  --color-track: #ECEAE4;
  --color-dark: #17171A;
  --color-on-dark: #FFFFFF;
  --color-dot-ok: #2E8B57;
  --color-dot-wait: var(--color-acc);
  --color-acc: #FF6A2B;
  --color-acc-text: #C2410C;
  --color-acc-soft: #FDE9DE;
  --color-acc-soft-text: #A8350A;
  --color-acc-glow: rgba(255,106,43,.18);
  --color-acc-track: color-mix(in srgb, var(--color-acc) 20%, var(--color-bg));
  --bar-fill: var(--color-acc);
  --bar-track: var(--color-acc-track);
  --color-on-acc: #17171A;
  --color-ok: #2E8B57;
  --color-ok-text: #25764A;
  --color-ok-soft: #E3F1E8;
  --color-ok-soft-text: #1F6B42;
  --color-warn: #B7791F;
  --color-warn-text: #8F5E14;
  --color-warn-soft: #F6EBD3;
  --color-warn-soft-text: #7E5210;
  --color-danger: #B42318;
  --color-danger-text: #B42318;
  --color-danger-soft: #F8E1DE;
  --color-danger-soft-text: #A01E14;
  --color-on-danger: #FFFFFF;
  --color-focus: #C2410C;
  --color-glass: rgba(246,245,242,.78);
  --color-scrim: rgba(23,23,26,.45);
  --color-selection-bg: #FF6A2B;
  --color-selection-fg: #17171A;
  --color-logo: #17171A;
  --shadow-sm: 0 1px 2px rgba(23,23,26,.04);
  --shadow-md: 0 12px 32px -16px rgba(23,23,26,.16);
  --shadow-lg: 0 24px 64px -24px rgba(23,23,26,.22);
  --shadow-glow: 0 8px 24px -8px rgba(255,106,43,.25);
  --shadow-ring: 0 0 0 1px var(--color-line);
  --shadow-attn-glow: 0 4px 20px -6px rgba(183,121,31,.34);
  --glass-bg: rgba(255,255,255,.66);
  --glass-border: rgba(23,23,26,.08);
  --glass-edge: rgba(255,255,255,.9);
  --glass-solid: #FFFFFF;
  --glass-shadow: 0 1px 0 0 var(--glass-edge) inset, 0 12px 32px -18px rgba(23,23,26,.18);
}
/* ---------- Поверхности: плитка — белая плашка с рамкой-тенью, без стекла и градиентов (как в Main.dc.html); имена прежние ---------- */
:root {
  --surface-tile: var(--color-panel);
  --surface-inner: var(--color-panel2);
  /* Карточки на фоне страницы («Требует внимания», «Работают сейчас», «Кто следующий», «Приоритет проектов»): один токен — панель темы, без тёплых и стеклянных оттенков */
  --surface-card: var(--color-panel);
  --surface-inner-hover: color-mix(in srgb, var(--color-ink) 6%, var(--color-panel2));
  --surface-edge: var(--color-line);
  --surface-shadow: none;
  --surface-glow: transparent;
  --surface-glow2: transparent;
  --surface-page: var(--color-bg);
  --surface-blur: 0;
  --tile-radius: var(--radius-card);
  --inner-radius: var(--radius-ctl);
  --tile-gap: var(--space-4);
  --tile-pad: var(--card-pad);
  --sheet-pad: var(--space-6);
  /* Стекло (css/glass.css, класс .glass): цвета — в блоках тем выше (--glass-bg, --glass-border, --glass-edge, --glass-solid, --glass-shadow) */
  --glass-blur: 18px;
  --glass-saturate: 140%;
  --glass-radius: 1rem;
}
/* Телефон 390: плашки плотнее, заголовок страницы меньше. */
@media (max-width: 47.9375rem) {
  :root {
    --tile-gap: var(--space-3);
    --sheet-pad: var(--space-4);
    --card-pad: 1.375rem;
    --text-display-size: 2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-instant: 0.01s;
    --duration-fast: 0.01s;
    --duration-base: 0.01s;
    --duration-slow: 0.01s;
    --duration-slower: 0.01s;
    --duration-ambient: 0.01s;
  }
}
