/* =============================================================
   publish.css — кастомизация Obsidian Publish
   Сайт: notes.thebestzorro.ru
   Назначение: чтение технических заметок с кодом (Python, Go)

   Подход: переопределение CSS-переменных Obsidian Publish.
   Это устойчивее к обновлениям, чем таргетинг конкретных
   классов. Имена переменных могут отличаться между версиями
   Publish — при проблемах проверять через инспектор браузера.
   ============================================================= */

/* -------------------------------------------------------------
   1. Типографика и метрики чтения
   ------------------------------------------------------------- */
body {
    /* Базовый шрифт текста. Системный стек — без внешних загрузок,
       что согласуется с приоритетом приватности и скорости. */
    --font-text-theme:
        -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
        "Helvetica Neue", Arial, sans-serif;

    /* Моноширинный шрифт для кода. JetBrains Mono / Fira Code, если
       установлены у посетителя; иначе — системный монофонт. */
    --font-monospace-theme:
        "JetBrains Mono", "Fira Code", "SF Mono", "Menlo", "Consolas",
        "Liberation Mono", monospace;

    /* Размер основного текста и межстрочный интервал. */
    --font-text-size: 17px;
    --line-height-normal: 1.6;

    /* Ширина колонки контента. Расширена под длинные строки кода:
       46rem ≈ 90–100 символов моноширинного текста. */
    --line-width: 46rem;
    --line-width-adaptive: 46rem;
    --max-width: 88%;

    /* Читаемая ширина для файлового навигатора слева. */
    --sidebar-width: 260px;
}

/* -------------------------------------------------------------
   2. Акцентный цвет (HSL-компоненты)
   ------------------------------------------------------------- */
body {
    /* Спокойный сине-стальной акцент. Меняйте --accent-h (оттенок),
       чтобы перекрасить ссылки, активные элементы и т. д. */
    --accent-h: 210; /* оттенок:   0–360  */
    --accent-s: 75%; /* насыщенность      */
    --accent-l: 56%; /* светлота          */
}

/* -------------------------------------------------------------
   3. Светлая тема
   ------------------------------------------------------------- */
.theme-light {
    --background-primary: #fbfbfa;
    --background-secondary: #f2f2f0;
    --text-normal: #1f2328;
    --text-muted: #57606a;

    /* Фон и рамка блоков кода. */
    --code-background: #f4f4f2;
    --code-normal: #24292f;

    /* Инлайновый код — чуть выделен фоном. */
    --code-size: 0.9em;
}

/* -------------------------------------------------------------
   4. Тёмная тема
   ------------------------------------------------------------- */
.theme-dark {
    --background-primary: #1a1b1e;
    --background-secondary: #202124;
    --text-normal: #e3e4e6;
    --text-muted: #9aa0a6;

    --code-background: #202226;
    --code-normal: #d4d6da;
}

/* -------------------------------------------------------------
   5. Блоки кода — точечная доводка
   Селекторы ниже потенциально хрупки между версиями Publish.
   ------------------------------------------------------------- */

/* Отступы и скругление внутри блоков кода. */
.markdown-preview-view pre {
    padding: 0.9em 1.1em;
    border-radius: 8px;
    line-height: 1.45;
    font-size: 0.92em;
    overflow-x: auto; /* горизонтальный скролл для длинных строк */
}

/* Инлайновый код — лёгкая подложка и padding. */
.markdown-preview-view code {
    padding: 0.12em 0.35em;
    border-radius: 4px;
    background: var(--code-background);
    font-size: 0.88em;
}

/* Внутри блока pre убираем двойную подложку у code. */
.markdown-preview-view pre > code {
    padding: 0;
    background: none;
    font-size: inherit;
}

/* -------------------------------------------------------------
   6. Типографика заголовков и элементов чтения
   ------------------------------------------------------------- */
.markdown-preview-view h1,
.markdown-preview-view h2,
.markdown-preview-view h3 {
    line-height: 1.25;
    font-weight: 650;
}

.markdown-preview-view h2 {
    /* Тонкая линия под H2 для визуального разделения секций. */
    padding-bottom: 0.2em;
    border-bottom: 1px solid var(--background-modifier-border);
}

/* Блок цитаты — вертикальная акцентная планка. */
.markdown-preview-view blockquote {
    border-left: 3px solid
        hsl(var(--accent-h), var(--accent-s), var(--accent-l));
    padding-left: 1em;
    color: var(--text-muted);
    font-style: normal;
}

/* Таблицы — компактнее и читаемее. */
.markdown-preview-view table {
    font-size: 0.92em;
}
.markdown-preview-view th,
.markdown-preview-view td {
    padding: 0.45em 0.7em;
}

/* -------------------------------------------------------------
   7. Навигация (файловый навигатор слева)
   ------------------------------------------------------------- */
.nav-file-title,
.nav-folder-title {
    font-size: 0.9em;
}

/* Пример скрытия служебной папки из навигации.
   Раскомментируйте и подставьте имя папки при необходимости.
   data-path хрупок между версиями — проверять в инспекторе. */
/*
.nav-folder-title[data-path="_attachments"],
.nav-file-title[data-path^="_attachments/"] {
    display: none;
}
*/
