/* Токены StudyRoom v2.
   Единственный источник значений: цвета, типографика, отступы, форма, движение.
   Загружается до themes.css, поэтому тема переопределяет только палитру.

   Старые имена (--bg-base, --accent, --text-main, --radius-sm …) сохранены как
   алиасы: на них завязаны существующие шаблоны и JS. Новый код использует
   --surface-2, --text-dim, --s-*, --control-h, --ok/--warn/--danger. */

:root {
    /* ——— поверхности ——— */
    --bg-base: #0e1319;
    --bg-subtle: #11171e;
    --surface: #151c24;
    --surface-solid: #151c24;
    --surface-2: #1b232d;
    --surface-hover: #202a35;
    --border: rgba(255, 255, 255, 0.09);
    --border-strong: rgba(255, 255, 255, 0.16);
    --border-hover: rgba(255, 255, 255, 0.22);

    /* ——— текст ——— */
    --text-main: #e9edf2;
    --text-muted: #9aa5b4;
    --text-dim: #8b95a3;

    /* ——— акцент ——— */
    --accent: #2e5bff;
    --accent-rgb: 46, 91, 255;
    --accent-hover: #2450e6;
    --accent-press: #1e45cc;
    --accent-contrast: #ffffff;
    --accent-soft: #7c9cff;
    --accent-line: #6b8dff;
    --accent-text: #9db4ff;
    --accent-tint: rgba(46, 91, 255, 0.14);
    --accent-border: rgba(46, 91, 255, 0.35);
    --accent-soft-bg: rgba(46, 91, 255, 0.12);
    --accent-2: #6b8dff;
    --accent-2-rgb: 107, 141, 255;
    --accent-glow: rgba(46, 91, 255, 0.18);

    /* ——— семантика: текст / подложка / граница ——— */
    --success: #4ade80;
    --ok: #4ade80;
    --ok-bg: rgba(74, 222, 128, 0.1);
    --ok-bd: rgba(74, 222, 128, 0.28);

    --warning: #fbbf24;
    --warn: #fbbf24;
    --warn-bg: rgba(251, 191, 36, 0.1);
    --warn-bd: rgba(251, 191, 36, 0.3);

    --danger: #fb7185;
    --danger-bg: rgba(251, 113, 133, 0.1);
    --danger-bd: rgba(251, 113, 133, 0.3);

    --info: #7c9cff;
    --info-bg: rgba(124, 156, 255, 0.1);
    --info-bd: rgba(124, 156, 255, 0.28);

    /* служебные цвета старых градиентов: остаются только в графиках */
    --indigo: #7c9cff;
    --purple: #a78bfa;

    /* ——— предметы: точка 8 px и полоска, не заливка ——— */
    --subj-math: #a78bfa;
    --subj-physics: #60a5fa;
    --subj-it: #2dd4bf;
    --subj-chem: #fb923c;
    --subj-eng: #facc15;
    --subj-other: #94a3b8;

    /* ——— типографика ——— */
    --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --font-mono: ui-monospace, "Cascadia Code", Consolas, monospace;

    --text-2xs: 0.6875rem; /* 11 */
    --text-xs: 0.75rem;    /* 12 */
    --text-sm: 0.8125rem;  /* 13 */
    --text-md: 0.875rem;   /* 14 */
    --text-lg: 1rem;       /* 16 */
    --text-xl: 1.125rem;   /* 18 */
    --text-2xl: 1.375rem;  /* 22 */
    --text-3xl: 1.75rem;   /* 28 */
    --text-4xl: 2.25rem;   /* 36 */
    --text-5xl: 2.75rem;   /* 44 */

    --lh-tight: 1.15;
    --lh-snug: 1.35;
    --lh-base: 1.5;
    --lh-read: 1.6;

    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semi: 600;
    --fw-bold: 700;

    --measure: 68ch;

    /* ——— пространство, шаг 4 ——— */
    --s-1: 4px;
    --s-2: 8px;
    --s-3: 12px;
    --s-4: 16px;
    --s-5: 20px;
    --s-6: 24px;
    --s-8: 32px;
    --s-10: 40px;
    --s-12: 48px;
    --s-16: 64px;

    /* ——— форма ——— */
    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 16px;
    --r-pill: 999px;

    /* старые имена радиусов */
    --radius-xs: 8px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;

    /* ——— контролы и касания ——— */
    --control-h: 40px;
    --control-h-sm: 32px;
    --control-r: 10px;
    --tap-min: 44px;
    --tap: 44px;

    /* ——— тени: только всплывающее ——— */
    --shadow-glass: 0 12px 32px -12px rgba(0, 0, 0, 0.55);
    --shadow-pop: 0 12px 32px -12px rgba(0, 0, 0, 0.55);

    /* ——— движение ——— */
    --dur-fast: 120ms;
    --dur-base: 180ms;
    --dur-slow: 240ms;
    --ease: cubic-bezier(0.2, 0.6, 0.2, 1);
    --ease-out: cubic-bezier(0.2, 0.6, 0.2, 1);

    /* ——— оверлеи, стекло и поверхности полей ———
       Раньше это были литералы прямо в base.html: rgba(15, 23, 42, .75) у
       подложки модалки, rgba(30, 41, 59, .9) у полей ввода. В светлой теме они
       оставались тёмными, а чинилось это заплатками в theme-light.css. Здесь
       у роли одно имя, и тема меняет только значение. */
    --scrim: rgba(15, 23, 42, 0.75);
    --glass: rgba(15, 23, 42, 0.7);
    --glass-strong: rgba(15, 23, 42, 0.85);
    --glass-solid: rgba(15, 23, 42, 0.95);
    --field-bg: rgba(30, 41, 59, 0.9);
    --field-bg-hover: rgba(30, 41, 59, 0.96);
    --field-bg-soft: rgba(30, 41, 59, 0.5);
    --surface-raised: linear-gradient(165deg, #162033 0%, #0f172a 100%);

    /* ——— слои ——— */
    --z-header: 100;
    --z-sticky: 200;
    --z-sheet: 900;
    --z-modal: 1000;
    --z-toast: 1100;
}

/* Светлая тема: те же роли, другая палитра. */
html[data-bs-theme="light"] {
    --bg-base: #f7f8fa;
    --bg-subtle: #ffffff;
    --surface: #ffffff;
    --surface-solid: #ffffff;
    --surface-2: #f1f3f6;
    --surface-hover: #e9edf2;
    --border: rgba(16, 24, 40, 0.1);
    --border-strong: rgba(16, 24, 40, 0.18);
    --border-hover: rgba(16, 24, 40, 0.28);

    --text-main: #141922;
    --text-muted: #59616e;
    --text-dim: #646d7a;

    --accent: #2e5bff;
    --accent-rgb: 46, 91, 255;
    --accent-soft: #2148cc;
    --accent-line: #2e5bff;
    --accent-text: #1f45c9;

    --ok: #15803d;
    --warn: #a16207;
    --danger: #be123c;
    --info: #1f45c9;

    --subj-math: #6d28d9;
    --subj-physics: #1d4ed8;
    --subj-it: #0f766e;
    --subj-chem: #c2410c;
    --subj-eng: #a16207;
    --subj-other: #475569;

    --shadow-glass: 0 12px 32px -12px rgba(16, 24, 40, 0.18);
    --shadow-pop: 0 12px 32px -12px rgba(16, 24, 40, 0.18);

    /* Оверлеи и поля: в светлой теме стекло белое, подложка — полупрозрачная. */
    --scrim: rgba(16, 24, 40, 0.45);
    --glass: rgba(255, 255, 255, 0.82);
    --glass-strong: rgba(255, 255, 255, 0.92);
    --glass-solid: #ffffff;
    --field-bg: #ffffff;
    --field-bg-hover: #ffffff;
    --field-bg-soft: #f1f3f6;
    --surface-raised: linear-gradient(165deg, #ffffff 0%, #f7f8fa 100%);
}
