@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 300; font-display: swap; src: url('/static/fonts/JetBrainsMono-Light.ttf') format('truetype'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/static/fonts/JetBrainsMono-Regular.ttf') format('truetype'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('/static/fonts/JetBrainsMono-Medium.ttf') format('truetype'); }
@font-face { font-family: 'DotGothic16'; font-style: normal; font-weight: 400; font-display: swap; src: url('/static/fonts/DotGothic16-Regular.ttf') format('truetype'); }

:root {
    --bg-0: #0a0a0b;
    --bg-1: #101012;
    --bg-2: #16161a;
    --fg: #e6e6e8;
    --fg-2: #8a8a90;
    --fg-3: #4d4d54;
    --fg-4: #2a2a2f;
    --signal: #c8c8cc;
    --signal-warn: #b87a5a;
    --screen: #5faa7a;
    --font: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
    --tracking: 0.02em;
    --tracking-wide: 0.18em;
    --t-fast: 120ms cubic-bezier(.2, .6, .2, 1);
    --t-med: 320ms cubic-bezier(.2, .6, .2, 1);
    --t-slow: 800ms cubic-bezier(.2, .6, .2, 1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    background: var(--bg-0);
    color: var(--fg);
    font-family: var(--font);
    font-size: 14px;
    letter-spacing: var(--tracking);
    line-height: 1.5;
    overflow: hidden;
}

button,
input {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    letter-spacing: inherit;
}

body {
    opacity: 0;
    transition: opacity 0.3s ease;
}

#background {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background: radial-gradient(120% 80% at 50% 50%, transparent 55%, rgba(0, 0, 0, 0.55) 100%);
}

/* ========= GLOBAL SCROLLBAR =========
   Стандартный OS-серый бьёт по тёмной теме. Делаем тонкую полупрозрачную
   полоску — единообразно везде (textarea, settings-панель, чат, dropdown'ы).
   Локальные правила в chat.css / chat-attach.css / settings.css перекрывают
   эту базу, если им нужен иной look. */

*::-webkit-scrollbar {
    width: 6px;
    height: 6px;
    background: transparent;
}

*::-webkit-scrollbar-track,
*::-webkit-scrollbar-corner {
    background: transparent;
}

*::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 3px;
    transition: background var(--t-fast);
}

*::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.18);
}

/* Кнопок прокрутки (стрелочки на тач-bar Windows) скрываем — мешают. */
*::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

/* Firefox: нет ::-webkit-* псевдо-элементов, есть собственное API. */
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
}

/* Скрытое через атрибут [hidden] должно быть скрыто, даже когда у элемента
   объявлен display: flex/grid (наш bug-view, например). */
[hidden] {
    display: none !important;
}
