/*
 * Glass UI — общие токены оформления.
 * Один файл на два плагина: «AI Dashboard — Стеклянная тема» и «AI Dashboard — Конструктор».
 * Правится только здесь (shared/), в плагины копируется сборкой dev/build.py.
 */
:root {
    --gx-font: 'Inter', 'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    --gx-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

    /* Поверхности: рамка страницы → оболочка → панель содержимого → карточка */
    --gx-frame: #e9eaf0;
    --gx-shell: #ffffff;
    --gx-panel: #f3f4f7;
    --gx-card: #ffffff;
    --gx-card-2: #f6f7fa;
    --gx-line: #e7e8ee;
    --gx-hover: #eef0f5;
    --gx-pill: #f0f1f5;
    --gx-pill-h: #e6e8ef;

    /* Текст */
    --gx-ink: #0e1016;
    --gx-ink-2: #5d6373;
    --gx-ink-3: #9aa0ae;

    /* Фирменный синий и его спутники */
    --gx-blue: #2f5bff;
    --gx-blue-h: #2148e6;
    --gx-blue-2: #6b8cff;
    --gx-blue-soft: #e8edff;
    --gx-blue-ink: #2148e6;
    --gx-navy: #1b2a6b;
    --gx-sky: #b9c8ff;
    --gx-black: #0e0f13;
    --gx-on-blue: #ffffff;
    --gx-on-black: #ffffff;
    --gx-brand-rgb: 47 91 255;

    /* Состояния */
    --gx-good: #12a150;
    --gx-good-soft: #dcf7e6;
    --gx-good-ink: #0b7a3b;
    --gx-warn: #e08a00;
    --gx-warn-soft: #fff0d1;
    --gx-warn-ink: #9a5b00;
    --gx-bad: #e5484d;
    --gx-bad-soft: #ffe3e3;
    --gx-bad-ink: #b4232a;

    /* Форма */
    --gx-r-shell: 30px;
    --gx-r-panel: 24px;
    --gx-r-card: 22px;
    --gx-r-md: 14px;
    --gx-r-sm: 10px;
    --gx-r-pill: 999px;

    /* Тени */
    --gx-sh-1: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 1px rgba(16, 24, 40, .03);
    --gx-sh-2: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 24px -8px rgba(16, 24, 40, .10);
    --gx-sh-3: 0 2px 4px rgba(16, 24, 40, .05), 0 24px 48px -16px rgba(16, 24, 40, .22);
    --gx-glow: 0 8px 20px -6px rgba(47, 91, 255, .55);

    /* Стекло */
    --gx-glass: rgba(255, 255, 255, .62);
    --gx-glass-line: rgba(255, 255, 255, .7);
    --gx-blur: saturate(160%) blur(18px);

    /* Тёмная «геройская» карточка с синим свечением */
    --gx-hero: radial-gradient(120% 140% at 100% 0%, rgba(47, 91, 255, .95) 0%, rgba(27, 42, 107, .55) 34%, rgba(14, 15, 19, 0) 62%), #0e0f13;

    /* Движение */
    --gx-ease: cubic-bezier(.22, .61, .36, 1);
    --gx-ease-out: cubic-bezier(.16, 1, .3, 1);
    --gx-spring: cubic-bezier(.3, 1.35, .5, 1);
    --gx-snap: cubic-bezier(.2, 1.1, .3, 1);
    --gx-t-1: .16s;
    --gx-t-2: .28s;
    --gx-t-3: .5s;
}

/* Настоящая пружина там, где браузер умеет linear() */
@supports (transition-timing-function: linear(0, 1)) {
    :root {
        --gx-spring: linear(0, 0.024, 0.088, 0.179, 0.285, 0.397, 0.51, 0.617, 0.716, 0.803, 0.877, 0.939, 0.988, 1.025, 1.052, 1.07, 1.08, 1.083, 1.082, 1.078, 1.071, 1.062, 1.053, 1.043, 1.034, 1.026, 1.018, 1.012, 1.006, 1.002, 0.999, 0.996, 0.994, 0.994, 0.993, 0.993, 0.993, 0.994, 0.995, 0.995, 0.996, 0.997, 0.998, 0.998, 0.999, 0.999, 1, 1, 1);
        --gx-snap: linear(0, 0.025, 0.089, 0.176, 0.274, 0.375, 0.474, 0.566, 0.65, 0.723, 0.787, 0.84, 0.884, 0.919, 0.947, 0.969, 0.985, 0.997, 1.005, 1.01, 1.013, 1.015, 1.015, 1.015, 1.014, 1.012, 1.011, 1.009, 1.008, 1.006, 1.005, 1.004, 1.003, 1.002, 1.002, 1.001, 1);
    }
}

html.dark {
    --gx-frame: #07080c;
    --gx-shell: #0f1116;
    --gx-panel: #14161d;
    --gx-card: #1a1d26;
    --gx-card-2: #20232e;
    --gx-line: #272b38;
    --gx-hover: rgba(255, 255, 255, .06);
    --gx-pill: #20232e;
    --gx-pill-h: #2a2e3b;

    --gx-ink: #f2f3f7;
    --gx-ink-2: #a3a9b8;
    --gx-ink-3: #6c7283;

    --gx-blue: #4f78ff;
    --gx-blue-h: #6a8dff;
    --gx-blue-2: #8aa5ff;
    --gx-blue-soft: rgba(79, 120, 255, .16);
    --gx-blue-ink: #9db4ff;
    --gx-navy: #2a3f9e;
    --gx-sky: #33458f;
    --gx-black: #f2f3f7;
    --gx-on-blue: #ffffff;
    --gx-on-black: #0e0f13;
    --gx-brand-rgb: 79 120 255;

    --gx-good: #3ecf7c;
    --gx-good-soft: rgba(62, 207, 124, .14);
    --gx-good-ink: #6fe0a0;
    --gx-warn: #f5b443;
    --gx-warn-soft: rgba(245, 180, 67, .14);
    --gx-warn-ink: #f8c876;
    --gx-bad: #ff6b70;
    --gx-bad-soft: rgba(255, 107, 112, .14);
    --gx-bad-ink: #ff9a9e;

    --gx-sh-1: 0 1px 2px rgba(0, 0, 0, .4);
    --gx-sh-2: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 28px -10px rgba(0, 0, 0, .6);
    --gx-sh-3: 0 2px 4px rgba(0, 0, 0, .4), 0 28px 56px -18px rgba(0, 0, 0, .75);
    --gx-glow: 0 8px 22px -6px rgba(79, 120, 255, .6);

    --gx-glass: rgba(26, 29, 38, .6);
    --gx-glass-line: rgba(255, 255, 255, .08);

    --gx-hero: radial-gradient(120% 140% at 100% 0%, rgba(79, 120, 255, .9) 0%, rgba(42, 63, 158, .5) 34%, rgba(10, 11, 15, 0) 62%), #0a0b0f;
}

/* Уважать системную настройку «меньше движения» */
@media (prefers-reduced-motion: reduce) {
    :root {
        --gx-t-1: .01s;
        --gx-t-2: .01s;
        --gx-t-3: .01s;
        --gx-spring: linear;
        --gx-snap: linear;
    }
}
