
        @import url('https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&family=PT+Sans:wght@400;700&display=swap');

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

        ::selection {
            background: var(--c-accent);
            color: #fff;
        }

        input:-webkit-autofill,
        input:-webkit-autofill:hover, 
        input:-webkit-autofill:focus, 
        input:-webkit-autofill:active {
            transition: background-color 5000s ease-in-out 0s;
            -webkit-text-fill-color: var(--c-text) !important;
        }

        #header-search-input:-webkit-autofill,
        #header-search-input:-webkit-autofill:hover,
        #header-search-input:-webkit-autofill:focus,
        #header-search-input:-webkit-autofill:active {
            -webkit-box-shadow: 0 0 0px 1000px var(--c-bg-panel) inset !important;
            -webkit-text-fill-color: var(--c-text) !important;
        }

        #search-input:-webkit-autofill,
        #search-input:-webkit-autofill:hover,
        #search-input:-webkit-autofill:focus,
        #search-input:-webkit-autofill:active {
            -webkit-box-shadow: 0 0 0px 1000px var(--c-bg) inset !important;
            -webkit-text-fill-color: var(--c-text) !important;
        }

        body {
            /* Theme color variables — Light (default) */
            --c-bg: #fff;
            --c-bg-content: #fff;
            --c-bg-panel: #fff;
            --c-bg-alt: #f8f9fa;
            --c-bg-hover: #f0f0f0;
            --c-bg-active: #e8f4f8;
            --c-bg-active-hover: #d0e8f0;
            --c-bg-search-heading: #f0f8ff;
            --c-bg-sh-hover: #e0f0ff;
            --c-bg-card: #f7f8fa;
            --c-bg-fn: #e0e0e0;
            --c-bg-fn-hover: #ccc;
            --c-fn-ref-text: #1f2328;
            --c-bg-toc-btn: #f5f5f5;
            --c-bg-donate: #f0f4f8;
            --c-bg-donate-hover: #e4eaf0;
            --c-bg-copied: #e8f5e9;
            --c-text: #000;
            --c-text-muted: #888;
            --c-text-close: #aaa;
            --c-link: #1565c0;
            --c-link-hover: #0e55a6;
            --c-accent: #3498db;
            --c-accent-hover: #2980b9;
            --c-border: #ddd;
            --c-border-strong: #bbb;
            --c-border-input: #aaa;
            --c-border-bq: #b0bec5;
            --c-border-tooltip: #999;
            --c-border-donate: #e0e4e8;
            --c-border-donate-h: #cdd3d9;
            --c-border-copied: #a5d6a7;
            --c-text-copied: #2e7d32;
            --c-separator: #e0e0e0;
            --c-mini-border: #eee;
            --c-scrollbar: rgba(0, 0, 0, 0.2);
            --c-scrollbar-hover: rgba(0, 0, 0, 0.4);
            --c-overlay: rgba(0, 0, 0, 0.35);
            --c-shadow: rgba(0, 0, 0, 0.08);
            --c-shadow-dropdown: rgba(0, 0, 0, 0.10);
            --c-shadow-popup: rgba(0, 0, 0, 0.18);
            --c-btn-hover: rgba(44, 62, 80, 0.08);
            --c-btn-hover-light: rgba(0, 0, 0, 0.04);
            --c-close-hover: rgba(0, 0, 0, 0.06);
            --c-search-icon: '%23000';

            font-family: 'PT Sans', 'Arial', sans-serif;
            line-height: 1.7;
            color: var(--c-text);
            display: flex;
            height: 100vh;
            height: 100dvh;
            overflow: hidden;
            background: var(--c-bg);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
        }

        /* Варианты шрифтов */
        body.font-pt-sans,
        body.font-pt-sans * {
            font-family: 'PT Sans', 'Arial', sans-serif !important;
        }

        body.font-georgia,
        body.font-georgia * {
            font-family: 'Times New Roman', 'Georgia', serif !important;
        }

        body.font-arial,
        body.font-arial * {
            font-family: 'Arial', 'Helvetica', sans-serif !important;
        }

        /* ===== Sepia theme ===== */
        body.theme-sepia {
            --c-bg: #f7f1e3;
            --c-bg-content: #f7f1e3;
            --c-bg-panel: #f0e9d9;
            --c-bg-alt: #ebe3d2;
            --c-bg-hover: #e3dacb;
            --c-bg-active: #ddd4c2;
            --c-bg-active-hover: #d3c9b4;
            --c-bg-search-heading: #e8e0cf;
            --c-bg-sh-hover: #ddd4c2;
            --c-bg-card: #ebe3d2;
            --c-bg-fn: #cec4ac;
            --c-bg-fn-hover: #c0b69c;
            --c-fn-ref-text: #4a3928;
            --c-bg-toc-btn: #e3dacb;
            --c-bg-donate: #e3dacb;
            --c-bg-donate-hover: #d6ccbb;
            --c-bg-copied: #d5e2c4;
            --c-text: #4a3928;
            --c-text-muted: #8a7a64;
            --c-text-close: #9a8b74;
            --c-link: #7b5e3c;
            --c-link-hover: #654829;
            --c-accent: #8a6a38;
            --c-accent-hover: #6e5224;
            --c-border: #d0c4a8;
            --c-border-strong: #b8aa8c;
            --c-border-input: #a89878;
            --c-border-bq: #c0b294;
            --c-border-tooltip: #a89878;
            --c-border-donate: #d0c4a8;
            --c-border-donate-h: #b8aa8c;
            --c-border-copied: #90c078;
            --c-text-copied: #4e7e34;
            --c-separator: #d0c4a8;
            --c-mini-border: #d6ccbb;
            --c-scrollbar: rgba(80, 60, 30, 0.22);
            --c-scrollbar-hover: rgba(80, 60, 30, 0.40);
            --c-overlay: rgba(60, 45, 25, 0.36);
            --c-shadow: rgba(80, 60, 30, 0.08);
            --c-shadow-dropdown: rgba(80, 60, 30, 0.10);
            --c-shadow-popup: rgba(80, 60, 30, 0.18);
            --c-btn-hover: rgba(80, 60, 30, 0.08);
            --c-btn-hover-light: rgba(80, 60, 30, 0.06);
            --c-close-hover: rgba(80, 60, 30, 0.06);
            --c-search-icon: '%234a3928';
        }

        /* ===== Dark theme ===== */
        body.theme-dark {
            --c-bg: #0d1117;
            --c-bg-content: #010409;
            --c-bg-panel: #0d1117;
            --c-bg-alt: #161b22;
            --c-bg-hover: #21262d;
            --c-bg-active: rgba(56, 139, 253, 0.15);
            --c-bg-active-hover: rgba(56, 139, 253, 0.22);
            --c-bg-search-heading: #161b22;
            --c-bg-sh-hover: #21262d;
            --c-bg-card: #161b22;
            --c-bg-fn: #30363d;
            --c-bg-fn-hover: #484f58;
            --c-fn-ref-text: #f0f6fc;
            --c-bg-toc-btn: #21262d;
            --c-bg-donate: #21262d;
            --c-bg-donate-hover: #30363d;
            --c-bg-copied: #0f241a;
            --c-text: #c9d1d9;
            --c-text-muted: #8b949e;
            --c-text-close: #6e7681;
            --c-link: #4493f8;
            --c-link-hover: #6aa9fa;
            --c-accent: #1f6feb;
            --c-accent-hover: #388bfd;
            --c-border: #30363d;
            --c-border-strong: #6e7681;
            --c-border-input: #30363d;
            --c-border-bq: #30363d;
            --c-border-tooltip: #30363d;
            --c-border-donate: #30363d;
            --c-border-donate-h: #6e7681;
            --c-border-copied: #238636;
            --c-text-copied: #3fb950;
            --c-separator: #21262d;
            --c-mini-border: #30363d;
            --c-scrollbar: rgba(110, 118, 129, 0.40);
            --c-scrollbar-hover: rgba(110, 118, 129, 0.70);
            --c-overlay: rgba(1, 4, 9, 0.72);
            --c-shadow: rgba(1, 4, 9, 0.30);
            --c-shadow-dropdown: rgba(1, 4, 9, 0.40);
            --c-shadow-popup: rgba(1, 4, 9, 0.45);
            --c-btn-hover: rgba(177, 186, 196, 0.12);
            --c-btn-hover-light: rgba(177, 186, 196, 0.08);
            --c-close-hover: rgba(177, 186, 196, 0.16);
            --c-search-icon: '%23c9d1d9';
        }

        /* Theme overrides for mobile settings panel background */
        body.theme-sepia #settings-panel { background: var(--c-bg-panel); }
        body.theme-dark #settings-panel { background: var(--c-bg-panel); }
        body.theme-sepia #mini-header { background: var(--c-bg-panel); }
        body.theme-dark #mini-header { background: var(--c-bg-content); }
        body.theme-sepia .toc-controls { background: var(--c-bg-panel); }
        body.theme-dark .toc-controls { background: var(--c-bg-panel); }
        body.theme-sepia #corpus-title { background: var(--c-bg-panel); }
        body.theme-dark #corpus-title { background: var(--c-bg-content); }
        body.theme-sepia .search-header { background: var(--c-bg-panel); }
        body.theme-dark .search-header { background: var(--c-bg-panel); }
        body.theme-sepia #toc { background: var(--c-bg-panel); }
        body.theme-dark #toc { background: var(--c-bg-panel); }
        body.theme-sepia #search-panel { background: var(--c-bg-panel); }
        body.theme-dark #search-panel { background: var(--c-bg-panel); }
        body.theme-sepia #donate-popup { background: var(--c-bg-panel); }
        body.theme-dark #donate-popup { background: var(--c-bg-panel); }
        body.theme-sepia .text-display-dropdown { background: rgba(244, 236, 220, 0.85); border-color: rgba(80, 60, 30, 0.15); box-shadow: 0 8px 32px rgba(80, 60, 30, 0.16), 0 1px 3px rgba(80, 60, 30, 0.08); }
        body.theme-dark .text-display-dropdown { background: rgba(22, 27, 34, 0.96); border-color: rgba(48, 54, 61, 1); box-shadow: 0 8px 24px rgba(1, 4, 9, 0.4); }
        body.theme-dark .text-display-dropdown .control-separator { background: rgba(110, 118, 129, 0.4); }
        body.theme-sepia .text-display-dropdown .control-separator { background: rgba(80, 60, 30, 0.2); }

        body.theme-sepia #footnote-tooltip { background: var(--c-bg-panel); }
        body.theme-dark #footnote-tooltip {
            background: var(--c-bg-alt);
            border-color: var(--c-border-strong);
        }
        body.theme-sepia .control-btn { background: var(--c-bg-panel); }
        body.theme-dark .control-btn { background: var(--c-bg-panel); }
        body.theme-dark .tg-icon path { fill: var(--c-bg-panel); }

        /* Theme overrides for width-level panel backgrounds */
        body.theme-sepia.width-level-2 #toc,
        body.theme-sepia.width-level-3 #toc,
        body.theme-sepia.width-level-4 #toc,
        body.theme-dark.width-level-2 #toc,
        body.theme-dark.width-level-3 #toc,
        body.theme-dark.width-level-4 #toc {
            background: var(--c-bg-panel);
        }

        /* Theme overrides for page navigation */
        .page-nav { border-top: 1px solid var(--c-border); }
        .page-nav a { color: var(--c-accent); text-decoration: none; }

        /* Content area links */
        #content a { color: var(--c-link); text-decoration: none; transition: color 0.15s; }
        #content a:visited { color: var(--c-link); }
        #content a:hover { color: var(--c-link-hover); text-decoration: none; }

        /* Input placeholder theming */
        #header-search-input::placeholder,
        #search-input::placeholder { color: var(--c-text-muted); opacity: 0.7; }

        /* Search options label theming */
        .search-options-row label { color: var(--c-text); }

        /* Автоскрытие скроллбаров */
        #toc::-webkit-scrollbar,
        #search-panel::-webkit-scrollbar,
        #content::-webkit-scrollbar {
            width: 6px;
        }

        #toc::-webkit-scrollbar-track,
        #search-panel::-webkit-scrollbar-track,
        #content::-webkit-scrollbar-track {
            background: transparent;
            transition: background 0.3s ease;
        }

        body:not(.hide-scrollbar) #toc::-webkit-scrollbar-track,
        body:not(.hide-scrollbar) #search-panel::-webkit-scrollbar-track,
        body:not(.hide-scrollbar) #content::-webkit-scrollbar-track {
            background: transparent;
        }

        #toc::-webkit-scrollbar-thumb,
        #search-panel::-webkit-scrollbar-thumb,
        #content::-webkit-scrollbar-thumb {
            background: transparent;
            border-radius: 3px;
            transition: background 0.3s ease;
        }

        body:not(.hide-scrollbar) #toc::-webkit-scrollbar-thumb,
        body:not(.hide-scrollbar) #search-panel::-webkit-scrollbar-thumb,
        body:not(.hide-scrollbar) #content::-webkit-scrollbar-thumb {
            background: var(--c-scrollbar);
        }

        body:not(.hide-scrollbar) #toc::-webkit-scrollbar-thumb:hover,
        body:not(.hide-scrollbar) #search-panel::-webkit-scrollbar-thumb:hover,
        body:not(.hide-scrollbar) #content::-webkit-scrollbar-thumb:hover {
            background: var(--c-scrollbar-hover);
        }

        #toc,
        #content,
        .search-results-container,
        #settings-panel {
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-y: contain;
            touch-action: pan-y;
        }

        #toc {
            width: 360px;
            background: var(--c-bg);
            border-right: 1px solid var(--c-border);
            overflow-y: auto;
            scrollbar-gutter: stable;
            overflow-x: hidden;
            padding: 6px;
            padding-top: 10px;
            position: fixed;
            left: 0;
            top: 60px;
            bottom: 0;
            font-family: 'PT Sans', 'Arial', sans-serif;
            font-size: 14px;
            z-index: 101;
        }

        .toc-resize-handle {
            position: fixed;
            top: 60px;
            left: 355px;
            width: 10px;
            height: calc(100vh - 60px);
            cursor: col-resize;
            z-index: 202;
            background: transparent;
            pointer-events: auto;
            touch-action: none;
        }

        .toc-resize-handle:hover,
        .toc-resize-handle.dragging {
            background: var(--c-accent);
            opacity: 0.4;
        }

        body.toc-resize-hover #toc {
            cursor: col-resize;
        }

        body.toc-hidden .toc-resize-handle {
            display: none;
        }

        .search-resize-handle {
            position: absolute;
            top: 0;
            left: -3px;
            width: 6px;
            height: 100%;
            cursor: col-resize;
            z-index: 102;
            background: transparent;
        }

        .search-resize-handle:hover,
        .search-resize-handle.dragging {
            background: var(--c-accent);
            opacity: 0.4;
        }

        #toc h2 {
            margin-bottom: 20px;
            color: var(--c-text);
            font-size: 1.4em;
        }

        /* Скрываем вложенные списки TOC до инициализации JS, чтобы избежать мигания при переходе */
        #toc .toc-level-1,
        #toc .toc-level-2,
        #toc .toc-level-3,
        #toc .toc-level-4 {
            display: none;
        }

        /* После инициализации JS показываем списки (collapsed управляет видимостью) */
        body.toc-initialized #toc .toc-level-0,
        body.toc-initialized #toc .toc-level-1,
        body.toc-initialized #toc .toc-level-2,
        body.toc-initialized #toc .toc-level-3,
        body.toc-initialized #toc .toc-level-4 {
            display: block;
        }

        body.toc-initialized #toc .toc-level-0.collapsed,
        body.toc-initialized #toc .toc-level-1.collapsed,
        body.toc-initialized #toc .toc-level-2.collapsed,
        body.toc-initialized #toc .toc-level-3.collapsed,
        body.toc-initialized #toc .toc-level-4.collapsed {
            display: none;
        }

        #toc ul {
            list-style: none;
        }

        #toc li {
            margin: 0;
            line-height: 1.3;
        }

        #toc a {
            color: var(--c-link);
            text-decoration: none;
            transition: color 0.2s, background-color 0.2s;
            padding: 3px 6px;
            border-radius: 3px;
            font-size: 14px;
        }

        #toc a:hover {
            color: var(--c-link-hover);
            background-color: var(--c-bg-alt);
        }

        /* Optical spacing after a chapter numeral before an italic title.
           An italic glyph has a negative left side bearing: its leaning top
           overhangs into the preceding space, so "IV. Al-faqr" reads tighter
           than "VI. Об ангелологии" even though both have the same U+0020.
           The nudge is in em, so it tracks font-size and stays proportionate
           across every face in the font menu (the serif italics of Times/
           Georgia lean harder than Arial's and need the correction most).
           Only <em> directly after a numeral is tagged; italics mid-title
           follow an ordinary word and are left alone. */
        .toc-em-after-num,
        .root-toc-label .toc-em-after-num {
            margin-left: 0.09em;
        }

        #toc a.active-section {
            background-color: var(--c-bg-active);
            color: var(--c-text);
        }

        /* Панель управления TOC */
        .toc-controls {
            position: fixed;
            top: 0;
            left: 0;
            width: 360px;
            height: 60px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 5px;
            padding: 10px;
            background: var(--c-bg);
            border-bottom: 1px solid var(--c-border);
            border-right: 1px solid var(--c-border);
            z-index: 200;
        }

        .toc-controls button {
            background: var(--c-bg-toc-btn);
            border: 1px solid var(--c-border-strong);
            border-radius: 3px;
            padding: 5px 10px;
            cursor: pointer;
            font-size: 1.2em;
            color: var(--c-text);
            font-weight: 600;
            transition: all 0.2s;
        }

        .toc-controls button:hover {
            background: var(--c-accent);
            border-color: var(--c-accent);
            color: #fff;
            transform: scale(1.1);
        }

        .expandable {
            cursor: pointer;
            user-select: none;
        }

        .toc-dir {
            margin-top: 12px;
            margin-bottom: 8px;
        }

        .dir-title {
            color: var(--c-text);
            font-size: 1.05em;
            font-weight: 600;
            cursor: pointer;
            display: flex;
            align-items: center;
            padding: 6px 8px;
            margin-bottom: 4px;
            user-select: none;
            transition: all 0.2s;
            border-radius: 4px;
        }

        .dir-title:hover {
            color: var(--c-accent);
            background-color: var(--c-bg-alt);
        }

        .dir-chevron {
            display: none;
        }

        /* Весь текст пункта — один flex-элемент. Ссылка в TOC выложена
           flex'ом ради даты справа; без этой обёртки инлайновая разметка
           внутри заголовка (<em> с названиями журналов) распадалась на
           отдельные flex-элементы и вставала «колонками». min-width:0
           разрешает переносить длинный заголовок внутри строки. */
        .toc-label {
            min-width: 0;
            overflow-wrap: break-word;
        }

        .toc-date {
            margin-left: auto;
            font-size: 0.78em;
            color: var(--c-text-muted);
            white-space: nowrap;
            padding-left: 8px;
            opacity: 0.55;
            font-variant-numeric: tabular-nums;
            letter-spacing: 0.02em;
            flex-shrink: 0;
        }

        .toc-item > a:hover .toc-date {
            opacity: 0.85;
        }

        .expand-indicator {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 16px;
            height: 16px;
            flex-shrink: 0;
            margin-left: -19px;
            margin-right: 3px;
            pointer-events: auto;
            cursor: pointer;
            color: var(--c-text-muted);
            position: relative;
            transition: transform 0.2s ease, color 0.2s ease;
        }

        .expand-indicator::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 26px;
            height: 26px;
            transform: translate(-50%, -50%);
        }

        .expand-indicator.can-expand:hover,
        .expand-indicator.can-expand:focus-visible {
            color: var(--c-text);
        }

        .expand-indicator.can-expand.expanded {
            color: var(--c-accent);
        }

        .expand-indicator svg {
            width: 16px;
            height: 16px;
            transform: rotate(0deg);
            transition: transform 0.2s ease;
        }

        .expand-indicator.expanded svg {
            transform: rotate(90deg);
        }

        .toc-item {
            margin: 1px 0;
        }

        .toc-item > a,
        .toc-item > span {
            display: flex;
            align-items: center;
            padding-left: 20px;
        }

        .toc-level-0 {
            list-style: none;
            padding-left: 8px;
        }

        #toc ul ul {
            list-style: none;
            padding-left: 1ch;
        }

        .short-section {
            color: var(--c-text-muted) !important;
        }

        .root-toc-structure {
            margin: 1.25rem 0 0.75rem;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .root-toc-title {
            margin: 0 0 0.75rem;
            text-align: center;
            width: min(100%, 70ch);
        }

        body .root-toc-structure > h2.root-toc-title,
        body.bilingual .fr-panel > .root-toc-structure > h2.root-toc-title,
        body.bilingual #content > .section > .root-toc-structure > h2.root-toc-title {
            color: var(--c-text);
            font-size: clamp(1.55rem, 3.1vw, 1.85rem) !important;
            font-weight: 700 !important;
            line-height: 1.25 !important;
            text-align: center !important;
            text-indent: 0;
            border: 0;
            padding: 0 !important;
            margin: 0 0 0.9rem 0 !important;
            width: min(100%, 70ch);
        }

        .root-toc-list {
            list-style: none !important;
            list-style-type: none !important;
            margin: 0 auto;
            padding-left: 0;
            width: min(100%, 70ch);
            max-width: min(100%, 70ch);
            display: flex;
            flex-direction: column;
            row-gap: 0.4rem;
        }

        /* Страница загрузок (telechargements.html). Живёт внутри обычной
           страницы сайта, поэтому шапку, TOC и тему получает бесплатно. */
        .dl-section {
            font-size: 1.05em;
            font-weight: 700;
            margin: 1.8em 0 0.6em;
            padding-bottom: 0.35em;
            border-bottom: 1px solid var(--c-border, #ddd);
        }

        .dl-list {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .section .dl-list li.dl-item {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5em 1em;
            /* Кнопки — визуально по центру строки: одинаковый зазор от
               рамок до линий сверху и снизу. Прежний flex-start прижимал
               их к верхней границе, и снизу оставался лишний просвет. */
            align-items: center;
            justify-content: space-between;
            margin: 0;
            padding: 0.55em 0;
            /* .section li задаёт justify — для строки списка он не нужен. */
            text-align: left;
            text-indent: 0;
            line-height: 1.45;
            border-bottom: 1px solid var(--c-border, #eee);
        }

        .dl-meta {
            min-width: 0;
            flex: 1 1 20em;
            text-align: left;
            text-indent: 0;
        }

        .dl-title {
            color: var(--c-link);
            text-decoration: none;
        }

        .dl-title:hover { color: var(--c-link-hover); }

        /* Заголовок и год — одной строкой, дата редакции — второй.
           Без сброса justify (он приходит от .section li) длинные
           названия растягивались по всей ширине строки. */
        .dl-line {
            text-align: left;
            text-indent: 0;
        }

        .dl-year {
            color: var(--c-text-muted);
            font-size: 0.8em;
            margin-left: 0.6em;
            white-space: nowrap;
        }

        .dl-rev {
            color: var(--c-text-muted);
            font-size: 0.78em;
            text-align: left;
            text-indent: 0;
            line-height: 1.3;
            margin-top: 0.15em;
        }

        /* Доля перевода: приписка к первой строке, сразу за годом.
           Тот же кегль и цвет, что у года, — год и процент читаются
           как одна пара «2002 (14 % переведено)».

           inline-block + nowrap: скобка целиком неразрывна, поэтому при
           нехватке места она переносится на следующую строку одним куском,
           а не рвётся посередине («(87 %» / «переведено)»). */
        .dl-pct {
            display: inline-block;
            color: var(--c-text-muted);
            font-size: 0.8em;
            margin-left: 0.4em;
            white-space: nowrap;
        }

        .dl-pct-zero { opacity: 0.75; }

        /* Кнопка перевода, когда переводить ещё нечего. */
        .dl-btn-off {
            opacity: 0.4;
            cursor: default;
        }

        .dl-btn-off:hover {
            background: transparent;
            border-color: var(--c-border, #ccc);
        }

        /* Сетка 2×2: строка перевода (EPUB, PDF) и строка оригинала. */
        .dl-actions {
            display: grid;
            grid-template-columns: auto auto;
            gap: 0.35em 0.5em;
            flex-shrink: 0;
            /* Совпадает с align-items строки: если .dl-meta окажется выше
               (перенос длинного названия), кнопки остаются по центру. */
            align-self: center;
        }

        .dl-btn {
            /* Обычный inline-block: «EPUB РУ» — цельная надпись одним
               шрифтом, флекс с gap здесь только мешал бы пробелу. */
            display: inline-block;
            min-width: 5.2em;
            text-align: center;
            padding: 0.28em 0.7em;
            border: 1px solid var(--c-border, #ccc);
            border-radius: 5px;
            text-decoration: none;
            color: var(--c-link);
            font-size: 0.85em;
            white-space: nowrap;
            transition: background-color 0.2s, border-color 0.2s;
        }

        .dl-btn:hover {
            background: var(--c-bg-alt);
            border-color: var(--c-link);
        }

        .dl-size {
            font-size: 0.85em;
            color: var(--c-text-muted);
        }

        @media (max-width: 640px) {
            /* Компактно: заголовок с датой слева, кнопки справа в той же
               строке. Прежний column + stretch растягивал .dl-meta
               (flex:1 1 20em) на всю высоту и отбрасывал кнопки вниз. */
            .section .dl-list li.dl-item {
                flex-wrap: nowrap;
                align-items: center;
                gap: 0.6em;
                padding: 0.5em 0;
            }

            .dl-meta {
                flex: 1 1 auto;
            }

            .dl-rev {
                font-size: 0.72em;
                margin-top: 0;
            }

            .dl-actions {
                gap: 0.35em;
            }

            .dl-btn {
                min-width: 0;
                padding: 0.22em 0.5em;
                font-size: 0.8em;
            }
        }

        /* Кнопка EPUB в шапке — слева от FR, тем же размером и поведением. */
        .epub-toggle-btn {
            font-family: inherit;
            width: 32px;
            height: 32px;
            border: none;
            background: transparent;
            cursor: default;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 6px;
            transition: all 0.2s ease;
            color: var(--c-text);
            padding: 0;
            opacity: 0.5;
            position: relative;
        }

        /* Высота как у кнопки TOC слева (её иконка 24px):
           при 19px кнопки справа выглядели мельче. */
        .epub-toggle-btn svg {
            width: 24px;
            height: 24px;
        }

        .epub-toggle-btn:not([aria-disabled="true"]) {
            opacity: 1;
            cursor: pointer;
        }

        .epub-toggle-btn:not([aria-disabled="true"]):hover {
            background: var(--c-btn-hover);
        }

        .epub-unavailable-popup {
            position: absolute;
            top: calc(100% + 6px);
            left: 50%;
            transform: translateX(-50%);
            white-space: nowrap;
            background: #333;
            color: #fff;
            padding: 4px 10px;
            border-radius: 4px;
            font-size: 0.75rem;
            font-weight: 400;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.2s ease;
            z-index: 1000;
            box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        }

        .epub-unavailable-popup.show { opacity: 1; }

        body.theme-sepia .epub-unavailable-popup {
            background: #5c4b37;
            color: #f7f1e3;
        }

        /* Попап со сведениями о файле и кнопкой скачивания. */
        .epub-popup {
            position: absolute;
            top: calc(100% + 8px);
            right: 0;
            min-width: 230px;
            max-width: min(320px, calc(100vw - 24px));
            background: var(--c-bg-content);
            border: 1px solid var(--c-border, #ccc);
            border-radius: 8px;
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
            padding: 12px 14px;
            z-index: 1200;
            text-align: left;
        }

        /* Две записи в попапе: перевод и оригинал. */
        .epub-popup-row + .epub-popup-row {
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px solid var(--c-border, #ddd);
        }

        .epub-popup-title {
            font-weight: 700;
            font-size: 0.9rem;
            margin-bottom: 6px;
            line-height: 1.3;
        }

        .epub-popup-meta {
            font-size: 0.78rem;
            color: var(--c-text-muted);
            line-height: 1.5;
        }

        /* Значок формата на кнопках скачивания (FORMAT_ICONS). */
        .fmt-icon {
            width: 1.05em;
            height: 1.05em;
            margin-right: 0.38em;
            vertical-align: -0.17em;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.15;
            stroke-linecap: round;
            stroke-linejoin: round;
            opacity: 0.85;
        }

        /* Кнопки форматов в строку: EPUB и PDF. */
        .epub-popup-btns {
            display: flex;
            gap: 8px;
            margin-top: 10px;
        }

        .epub-popup-btns .epub-popup-btn {
            flex: 1 1 0;
            margin-top: 0;
            padding: 6px 8px;
            white-space: nowrap;
        }

        .epub-popup-btn {
            display: block;
            margin-top: 10px;
            padding: 6px 12px;
            text-align: center;
            text-decoration: none;
            border: 1px solid var(--c-link);
            border-radius: 5px;
            color: var(--c-link);
            font-size: 0.85rem;
            transition: background-color 0.2s, color 0.2s;
        }

        .epub-popup-btn:hover {
            background: var(--c-link);
            color: var(--c-bg-content);
        }

        /* Ссылка на общую страницу загрузок — отделена от карточек книг. */
        .epub-popup-all {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.6em;
            margin-top: 12px;
            padding-top: 10px;
            border-top: 1px solid var(--c-border, #ddd);
            font-size: 0.82rem;
            color: var(--c-link);
            text-decoration: none;
        }

        .epub-popup-all:hover {
            color: var(--c-link-hover);
        }

        .epub-popup-arrow {
            font-size: 1.05em;
            line-height: 1;
            transition: transform 0.2s ease;
        }

        .epub-popup-all:hover .epub-popup-arrow {
            transform: translateX(2px);
        }

        .root-toc-item {
            margin: 0;
            text-indent: 0;
            display: flex;
            align-items: flex-end;
            gap: 0.45rem;
            line-height: 1.32;
            min-width: 0;
            flex-wrap: nowrap;
        }

        /* The dotted leader is a single background spanning the whole row at the
           last line's baseline. The opaque title text and page number mask it
           (see .root-toc-label / .root-toc-page), so dots are revealed only in
           the gap after the title's final character — correct even when the
           title wraps onto several lines. background-clip:content-box keeps the
           dots out of the per-level indent padding. */
        .root-toc-item:has(.root-toc-page) {
            background-image: radial-gradient(circle, var(--c-text-muted) 1.05px, transparent 1.15px);
            background-size: 7px 2px;
            background-repeat: repeat-x;
            background-position: left calc(100% - 0.26em);
            background-origin: content-box;
            background-clip: content-box;
        }

        /* Keep root TOC rows compact: don't inherit generic .section li spacing. */
        .section .root-toc-item {
            margin-bottom: 0;
            line-height: 1.32;
            text-align: left;
        }

        .root-toc-level-3 {
            padding-left: 1.25rem;
        }

        .root-toc-level-4 {
            padding-left: 2.5rem;
        }

        /* Only the label text is a link. Dots/page are separate flex items;
           align-items:flex-end keeps them on the wrapped title's last line. */
        .root-toc-item > a {
            flex: 1 1 auto;
            min-width: 0;
            max-width: 100%;
            text-decoration: none;
            display: block;
            overflow-wrap: normal;
            word-break: normal;
            -webkit-hyphens: none;
            hyphens: none;
        }

        .root-toc-label {
            min-width: 0;
            /* Opaque background hides the row's dotted leader behind the title
               text. box-decoration-break:clone makes the mask hug the text on
               every wrapped line, so the leader appears only after the final
               character of the last line. */
            background-color: var(--c-bg-content);
            padding-right: 0.34em;
            -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
        }

        .root-toc-page {
            flex: 0 0 auto;
            margin-left: auto;
            align-self: flex-end;
            white-space: nowrap;
            min-width: 2.5ch;
            text-align: right;
            font-variant-numeric: tabular-nums;
            line-height: 1.32;
            opacity: 0.98;
            /* Opaque background hides the leader behind the page number. */
            background-color: var(--c-bg-content);
            padding-left: 0.34em;
        }

        /* Reserve right-side space only for rows that actually have page numbers.
           The page number is a flex sibling (flex:0 0 auto), so it already reserves
           its own width; this cap only has to guarantee a visible gap for the dotted
           leader. A fixed 10ch was far wider than a 3-4 digit number needs, so long
           titles wrapped while horizontal space was still free. */
        .root-toc-item:has(.root-toc-page) > a {
            flex: 0 1 auto;
            max-width: calc(100% - 1.5ch);
        }

        .root-toc-item > a:hover {
            color: var(--c-link-hover);
        }

        body:not(.bilingual) #content > .section > .root-toc-structure {
            max-width: min(100%, 76ch);
            margin-left: auto;
            margin-right: auto;
        }

        .right-aligned {
            text-align: right;
            text-indent: 0;
        }

        .center-aligned {
            text-align: center;
            text-indent: 0;
        }

        /* Verse-line keeps alignment/spacing only; italic is controlled in MD text. */

        /* Keep verse lines tight: no gap between consecutive poem lines,
           but keep normal spacing after the last line. */
        p.center-aligned:has(+ p.center-aligned),
        p.right-aligned:has(+ p.right-aligned) {
            margin-bottom: 0;
        }

        .untranslated-block {
            text-align: center;
        }

        .untranslated-notice {
            text-indent: 0;
            color: var(--c-text-muted);
            font-size: 0.95em;
            margin: 1em 0 0 0;
            text-align: center;
        }

        .untranslated-notice + .untranslated-notice {
            margin-top: 0.5em;
            margin-bottom: 2em;
        }

        .patron-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 8px 20px;
            background: var(--c-bg-donate);
            border: 1px solid var(--c-border-donate);
            border-radius: 8px;
            cursor: pointer;
            font-size: 0.9rem;
            color: var(--c-link);
            transition: all 0.2s;
            font-style: italic;
        }

        .patron-btn:hover {
            background: var(--c-bg-donate-hover);
            border-color: var(--c-border-donate-h);
        }

        #patron-popup-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: var(--c-overlay);
            z-index: 1000;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(2px);
            -webkit-backdrop-filter: blur(2px);
        }

        #patron-popup-overlay.open {
            display: flex;
        }

        #patron-popup {
            background: var(--c-bg);
            border-radius: 16px;
            padding: 32px 36px 28px;
            max-width: 420px;
            width: 88vw;
            box-shadow: 0 12px 40px var(--c-shadow-popup);
            text-align: center;
            position: relative;
        }

        #patron-popup .patron-label {
            margin: 0 0 20px 0;
            font-size: 0.95rem;
            line-height: 1.6;
            color: var(--c-text);
            text-align: center;
        }

        #patron-popup .patron-label a {
            color: var(--c-link);
            text-decoration: none;
        }

        #patron-popup .patron-label a:hover {
            color: var(--c-link-hover);
        }

        #patron-popup .patron-close-btn {
            position: absolute;
            top: 10px;
            right: 10px;
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: none;
            border: none;
            border-radius: 8px;
            font-size: 1.4rem;
            cursor: pointer;
            color: var(--c-text-close);
            padding: 0;
            line-height: 1;
            transition: all 0.15s;
        }

        #patron-popup .patron-close-btn:hover {
            background: var(--c-bg-hover);
            color: var(--c-text);
        }

        .cross-reference-notice {
            display: block;
            color: var(--c-text-muted);
            font-size: 0.95em;
            text-align: center;
            margin-bottom: 0.5em;
        }
        .cross-reference-notice a {
            color: var(--c-link);
            text-decoration: none;
        }
        .cross-reference-notice a:hover {
            color: var(--c-link-hover);
        }

        .translator-credit {
            text-align: center;
            font-style: italic;
            margin: 0.5em 0;
        }

        .text-scheme-wrap {
            display: flex;
            justify-content: center;
            max-width: 100%;
            overflow: visible !important;
            overflow-x: visible !important;
            overflow-y: visible !important;
        }

        .text-scheme-grid {
            display: inline-grid;
            grid-template-columns: max-content 10px max-content 10px max-content;
            column-gap: 0.08em;
            row-gap: 0.04em;
            align-items: center;
            justify-content: start;
            font: inherit;
            font-size: clamp(0.56rem, 2.15vw, 1rem);
            line-height: 1.2;
            border: 0;
            box-shadow: none;
            overflow: visible;
            min-width: max-content;
        }

        .text-scheme-grid .text-scheme-brace {
            width: 10px;
            height: calc(100% - var(--row-h, 1.28em));
            align-self: center;
            justify-self: center;
        }

        ul.collapsed {
            display: none;
        }

        #content {
            position: fixed;
            left: 360px;
            right: 367px;
            padding: 20px 30px 40px 30px;
            overflow-y: auto;
            top: 60px;
            bottom: 0;
            background: var(--c-bg-content);
            transition: left 0.3s ease, right 0.3s ease, top 0.3s ease;
        }

        #content > .section,
        #content > .page-nav {
            max-width: 750px;
            margin-left: auto;
            margin-right: auto;
        }

        #content::before {
            display: none;
        }

        body.control-panel-hidden #content {
            top: 60px;
        }

        /* When TOC is hidden, content expands to left edge */
        body.toc-hidden #content {
            left: 0;
        }

        /* When search is hidden, scrollbar moves to right edge */
        body.search-hidden #content {
            right: 0;
        }

        body.toc-hidden.search-hidden #content {
            left: 0;
            right: 0;
        }

        /* Уровни ширины контента — управляют max-width внутреннего блока */
        body.width-level-2 #content > .section,
        body.width-level-2 #content > .page-nav {
            max-width: 1000px;
        }

        body.width-level-3 #content > .section,
        body.width-level-3 #content > .page-nav {
            max-width: 1400px;
        }

        body.width-level-4 #content > .section,
        body.width-level-4 #content > .page-nav {
            max-width: none;
        }

        /* At wider widths, TOC overlays — content expands to left edge */
        body.width-level-2 #content,
        body.width-level-3 #content,
        body.width-level-4 #content {
            left: 0;
        }







        /* Контент не нужно дополнительно сужать - ширина уже рассчитана правильно */

        /* Фиксированный заголовок корпуса */
        #corpus-title {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: 60px;
            background: var(--c-bg);
            border-bottom: 1px solid var(--c-border);
            padding: 0 20px;
            z-index: 200;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #corpus-title::after {
            display: none;
        }

        #corpus-title h1 {
            margin: 0;
            font-size: 1.5em;
            color: var(--c-text);
            line-height: 1.2;
            text-align: center;
        }

        #corpus-title h1 .desktop-subtitle {
            display: block;
            font-size: 0.45em;
            opacity: 0.5;
            font-weight: 400;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            letter-spacing: 0.02em;
            text-align: center;
            margin-top: 4px;
        }
        /* Ряд иконок шапки — сетка из равных ячеек.
           Каждый элемент занимает ровно одну ячейку 36×32 и центрируется
           в ней, поэтому иконки стоят в едином ритме независимо от того,
           насколько разной ширины их глифы. Раньше это был flex с
           gap: 15px, и элементы разной ширины (например переключатель
           языка с подписью) сбивали шаг. */
        .header-nav {
            position: absolute;
            left: 146px;
            display: grid;
            grid-auto-flow: column;
            /* Ячейка 42px и без column-gap: зазор уже заложен внутрь
               ячейки (кнопка 32 + 10). Так шаг ряда совпадает с шагом
               левой группы (оглавление, язык, шрифт), выложенной
               абсолютно с тем же интервалом 42px. */
            grid-auto-columns: 42px;
            align-items: center;
            justify-items: center;
            column-gap: 0;
        }

        /* Прямые дети ряда растягиваются на всю ячейку и центрируют
           содержимое: так «горячая зона» у всех кнопок одинаковая. */
        .header-nav > * {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #header-search-wrapper {
            position: absolute;
            right: 20px;
            display: flex;
            align-items: center;
            /* Тот же зазор, что между иконками слева: EPUB, FR и поиск
               стояли заметно теснее остальных элементов шапки. */
            gap: 8px;
        }

        #header-search-input {
            width: 220px;
            padding: 7px 34px 7px 8px;
            border: none;
            border-radius: 0;
            font-size: 13px;
            font-family: 'PT Sans', 'Arial', sans-serif;
            height: 34px;
            box-sizing: border-box;
            transition: border-color 0.2s, box-shadow 0.2s, width 0.3s;
            background: transparent;
            color: var(--c-text);
        }

        #header-search-input:focus {
            outline: none;
            width: 280px;
        }

        #header-search-btn {
            position: absolute;
            right: 2px;
            top: 50%;
            transform: translateY(-50%);
            padding: 0;
            width: 30px;
            height: 30px;
            background: none;
            color: var(--c-text-muted);
            border: none;
            border-radius: 50%;
            cursor: pointer;
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #header-search-btn:hover {
            color: var(--c-text);
            background: var(--c-btn-hover-light);
        }

        #header-search-btn svg {
            width: 14px;
            height: 14px;
            stroke: currentColor;
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .header-control-btn {
            width: 32px;
            height: 32px;
            border: none;
            background: transparent;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 6px;
            transition: all 0.2s ease;
            color: var(--c-text);
            padding: 0;
        }

        .header-control-btn:hover {
            background: var(--c-btn-hover);
            color: var(--c-text);
        }

        /* Переключатель языка интерфейса: глобус + код языка.
           Высота ровно как у соседних иконок шапки (32px), поэтому кнопка
           встаёт в общий ряд без сдвига базовой линии. Ширина по
           содержимому: иконка + две буквы. */
        /* Переключатель языка стоит сразу за кнопкой оглавления, до
           управления шрифтом. Левая группа шапки выложена абсолютным
           позиционированием, поэтому задаём координату явно. */
        #corpus-title > .ui-lang-wrapper {
            position: absolute;
            left: 62px;
        }

        .ui-lang-wrapper {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            /* Обёртка — такой же элемент ряда, как соседние кнопки, и той
               же высоты: иначе align-items:center выравнивает её по другой
               середине и глобус «всплывает» над рядом. */
            height: 32px;
        }


        /* Прозрачность не приглушаем: соседние иконки ряда (конверт,
           Telegram, тема) идут в полный цвет, и глобус не должен быть
           светлее их — ни в покое, ни при наведении. Фон при наведении
           остаётся, он приходит от .header-control-btn:hover. */
        /* Кнопка ровно того же размера, что и соседи по ряду: 32×32.
           Внутрь помещаются глобус и стрелка, поэтому глобус чуть меньше
           общих 20px. Код языка не показываем: с ним кнопка не влезает в
           ячейку сетки и ломает шаг ряда. Текущий язык виден по странице,
           а в меню он отмечен галочкой. */
        .ui-lang-btn {
            position: relative;
            width: 32px;
            height: 32px;
            padding: 0;
            gap: 0;
            font-family: inherit;
            line-height: 1;
            white-space: nowrap;
        }

        .ui-lang-btn .ui-lang-code {
            display: none;
        }

        /* Иконка того же размера, что и у соседей по ряду (20px),
           иначе глобус выглядит мельче кнопок темы и поиска. */
        /* Оптическая посадка: содержимое кнопки опущено на 1px.
           Сдвигаем именно содержимое, а не саму кнопку, — тогда фон при
           наведении остаётся на общей сетке ряда вместе с соседями. */
        .ui-lang-btn .ui-lang-globe,
        .ui-lang-btn .ui-lang-code {
            position: relative;
            top: 1px;
        }

        .ui-lang-btn .ui-lang-globe {
            width: 20px;
            height: 20px;
            flex-shrink: 0;
            display: block;
        }

        .ui-lang-btn .ui-lang-code {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.06em;
            /* Прописные садятся выше геометрического центра строки, поэтому
               к общему сдвигу добавляем ещё полпикселя: так код встаёт на
               одну ось с глобусом. */
            top: 1.5px;
        }

        /* Меню языков: та же стеклянная подложка, что у выбора темы. */
        .ui-lang-dropdown {
            position: absolute;
            top: calc(100% + 6px);
            /* Левая граница меню совпадает с левым краем глобуса: кнопка
               32px, глобус 20px по центру, значит его край — на 6px. */
            left: 6px;
            background: rgba(255, 255, 255, 0.82);
            -webkit-backdrop-filter: saturate(180%) blur(20px);
            backdrop-filter: saturate(180%) blur(20px);
            border: 0.5px solid rgba(0, 0, 0, 0.12);
            border-radius: 7px;
            padding: 2px;
            opacity: 0;
            transform: scale(0.94) translateY(-4px);
            transform-origin: top left;
            pointer-events: none;
            display: flex;
            flex-direction: column;
            min-width: 0;
            width: max-content;
            box-shadow: 0 6px 24px rgba(0, 0, 0, 0.13), 0 1px 3px rgba(0, 0, 0, 0.08);
            z-index: 200;
            transition: opacity 0.18s ease, transform 0.18s ease;
        }

        .ui-lang-dropdown.open {
            opacity: 1;
            transform: scale(1) translateY(0);
            pointer-events: auto;
        }

        .ui-lang-item {
            display: flex;
            align-items: center;
            gap: 7px;
            padding: 5px 9px 5px 6px;
            white-space: nowrap;
            cursor: pointer;
            font-size: 13px;
            line-height: 1.3;
            color: var(--c-text);
            background: transparent;
            border: none;
            width: 100%;
            text-align: left;
            font-family: inherit;
            border-radius: 5px;
            transition: background 0.08s;
            letter-spacing: -0.01em;
        }

        .ui-lang-item:hover {
            background: var(--c-accent);
            color: #fff;
        }

        .ui-lang-item .ui-lang-check {
            width: 11px;
            text-align: center;
            font-size: 12px;
            font-weight: 500;
            flex-shrink: 0;
        }

        .ui-lang-item .ui-lang-name {
            flex: 1;
        }

        .ui-lang-item.active {
            font-weight: 600;
        }

        body.theme-sepia .ui-lang-dropdown {
            background: rgba(244, 236, 220, 0.85);
            border-color: rgba(80, 60, 30, 0.15);
            box-shadow: 0 8px 32px rgba(80, 60, 30, 0.16), 0 1px 3px rgba(80, 60, 30, 0.08);
        }

        body.theme-dark .ui-lang-dropdown {
            background: rgba(22, 27, 34, 0.96);
            border-color: rgba(48, 54, 61, 1);
            box-shadow: 0 8px 24px rgba(1, 4, 9, 0.4);
        }

        .header-control-btn svg {
            width: 20px;
            height: 20px;
        }

        .header-control-btn .toc-burger-icon {
            display: inline-block;
            width: 24px;
            height: 24px;
            background-color: currentColor;
            -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g transform='translate(2 2)'><path fill='black' fill-rule='evenodd' d='M0 0H5V20H0Z M0.8 2H4.2V2.8H0.8Z M0.8 3.6H4.2V4.4H0.8Z M0.8 15.8H4.2V16.6H0.8Z M0.8 17.4H4.2V18.2H0.8Z'/></g><g transform='translate(9 2)'><path fill='black' fill-rule='evenodd' d='M0 0H5V20H0Z M0.8 2H4.2V2.8H0.8Z M0.8 3.6H4.2V4.4H0.8Z M0.8 15.8H4.2V16.6H0.8Z M0.8 17.4H4.2V18.2H0.8Z'/></g><g transform='translate(16 2) rotate(-8 2.5 10)'><path fill='black' fill-rule='evenodd' d='M -0.16328512,-0.27394346 H 4.8367149 V 19.726056 h -5.00000002 z m 0.8,1.99999996 H 4.0367149 v 0.8 H 0.63671488 Z m 0,1.6 H 4.0367149 v 0.8 H 0.63671488 Z m 0,12.1999995 H 4.0367149 v 0.8 H 0.63671488 Z m 0,1.6 H 4.0367149 v 0.8 H 0.63671488 Z'/></g></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g transform='translate(2 2)'><path fill='black' fill-rule='evenodd' d='M0 0H5V20H0Z M0.8 2H4.2V2.8H0.8Z M0.8 3.6H4.2V4.4H0.8Z M0.8 15.8H4.2V16.6H0.8Z M0.8 17.4H4.2V18.2H0.8Z'/></g><g transform='translate(9 2)'><path fill='black' fill-rule='evenodd' d='M0 0H5V20H0Z M0.8 2H4.2V2.8H0.8Z M0.8 3.6H4.2V4.4H0.8Z M0.8 15.8H4.2V16.6H0.8Z M0.8 17.4H4.2V18.2H0.8Z'/></g><g transform='translate(16 2) rotate(-8 2.5 10)'><path fill='black' fill-rule='evenodd' d='M -0.16328512,-0.27394346 H 4.8367149 V 19.726056 h -5.00000002 z m 0.8,1.99999996 H 4.0367149 v 0.8 H 0.63671488 Z m 0,1.6 H 4.0367149 v 0.8 H 0.63671488 Z m 0,12.1999995 H 4.0367149 v 0.8 H 0.63671488 Z m 0,1.6 H 4.0367149 v 0.8 H 0.63671488 Z'/></g></svg>");
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            transform: translateY(1px);
        }

        .theme-icon {
            display: inline-block;
            width: 20px;
            height: 20px;
            background-color: currentColor;
            -webkit-mask-image: url(data:image/png;base64,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);
            mask-image: url(data:image/png;base64,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);
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
        }

        /* Левая группа шапки выложена единым шагом 42px (кнопка 32 +
           зазор 10), тем же, что у сетки .header-nav. Координаты:
           20 — оглавление, 62 — язык, 104 — шрифт, 146 — ряд иконок. */
        #toggle-toc-header {
            position: absolute;
            left: 20px;
        }

        /* Панель управления — hidden on desktop, used only on mobile */
        #control-panel {
            display: none;
        }

        body.control-panel-hidden #control-panel {
            display: none;
        }

        #control-panel-toggle {
            display: none;
        }

        /* Text display dropdown on desktop */
        .text-display-wrapper {
            position: absolute;
            left: 104px;
        }

        .text-display-btn {
            width: 32px;
            height: 32px;
            border: none;
            background: transparent;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 6px;
            transition: all 0.2s ease;
            color: var(--c-text);
            padding: 0;
        }

        .text-display-btn:hover {
            background: var(--c-btn-hover);
            color: var(--c-text);
        }

        .text-display-btn svg {
            width: 26px;
            height: 26px;
            margin-top: -3px;
        }

        .text-display-dropdown {
            position: absolute;
            top: calc(100% + 8px);
            left: 0;
            background: rgba(255, 255, 255, 0.82);
            -webkit-backdrop-filter: saturate(180%) blur(20px);
            backdrop-filter: saturate(180%) blur(20px);
            border: 0.5px solid rgba(0, 0, 0, 0.12);
            border-radius: 8px;
            padding: 5px 8px;
            opacity: 0;
            transform: scale(0.92) translateY(-4px);
            transform-origin: top left;
            pointer-events: none;
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 6px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.08);
            z-index: 200;
            transition: opacity 0.18s ease, transform 0.18s ease;
        }

        .text-display-dropdown.open {
            opacity: 1;
            transform: scale(1) translateY(0);
            pointer-events: auto;
        }

        .text-display-dropdown .control-btn {
            border: none;
            background: transparent;
        }

        .text-display-dropdown .control-btn:hover {
            background: var(--c-bg-hover);
            border-color: transparent;
        }

        .text-display-dropdown .control-separator {
            width: 1px;
            height: 24px;
            background: rgba(0, 0, 0, 0.12);
            margin: 0 0;
            align-self: center;
        }

        /* Theme popup */
        .theme-wrapper {
            position: relative;
        }

        /* Backdrop overlay for mobile theme dialog */
        .theme-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.45);
            z-index: 258;
            cursor: pointer;
            -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
        }

        .theme-overlay.active {
            display: block;
        }

        /* Header inside mobile theme dialog */
        .theme-dialog-header {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 16px 20px 12px;
            border-bottom: 0.5px solid var(--c-border);
            flex-shrink: 0;
        }

        .theme-dialog-title {
            font-size: 15px;
            font-weight: 600;
            color: var(--c-text);
            font-family: inherit;
            letter-spacing: 0.02em;
            text-transform: uppercase;
        }

        .theme-dropdown {
            position: absolute;
            top: calc(100% + 8px);
            left: 50%;
            background: rgba(255, 255, 255, 0.82);
            -webkit-backdrop-filter: saturate(180%) blur(20px);
            backdrop-filter: saturate(180%) blur(20px);
            border: 0.5px solid rgba(0, 0, 0, 0.12);
            border-radius: 8px;
            padding: 2px;
            opacity: 0;
            transform: translateX(-50%) scale(0.92) translateY(-4px);
            transform-origin: top center;
            pointer-events: none;
            display: flex;
            flex-direction: column;
            /* Ширина по содержимому, как у меню языка: фиксированные 160px
               растягивали короткие названия тем и давали широкие поля по
               краям. Мобильный диалог переопределяет min-width внутри
               #settings-panel, поэтому его это не касается. */
            min-width: 0;
            width: max-content;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.08);
            z-index: 200;
            transition: opacity 0.18s ease, transform 0.18s ease;
        }

        .theme-dropdown.open {
            opacity: 1;
            transform: translateX(-50%) scale(1) translateY(0);
            pointer-events: auto;
        }

        .theme-dropdown-item {
            display: flex;
            align-items: center;
            gap: 7px;
            padding: 5px 9px 5px 6px;
            white-space: nowrap;
            cursor: default;
            font-size: 13px;
            line-height: 1.3;
            color: var(--c-text);
            background: transparent;
            border: none;
            width: 100%;
            text-align: left;
            font-family: inherit;
            border-radius: 5px;
            transition: background 0.08s;
            letter-spacing: -0.01em;
        }

        .theme-dropdown-item:hover {
            background: var(--c-accent);
            color: #fff;
        }

        .theme-dropdown-item:hover .theme-check {
            color: #fff;
        }

        .theme-dropdown-item:hover .theme-swatch {
            box-shadow: 0 0 0 1.5px rgba(255,255,255,0.5);
        }

        .theme-dropdown-item .theme-check {
            width: 14px;
            text-align: center;
            font-size: 13px;
            font-weight: 500;
            flex-shrink: 0;
            color: var(--c-text);
        }

        .theme-dropdown-item .theme-swatch {
            width: 14px;
            height: 14px;
            border-radius: 50%;
            flex-shrink: 0;
            border: 1px solid rgba(0,0,0,0.15);
        }

        .theme-dropdown-item.active {
            font-weight: 600;
        }

        body.theme-sepia .theme-dropdown {
            background: rgba(244, 236, 220, 0.85);
            border-color: rgba(80, 60, 30, 0.15);
            box-shadow: 0 8px 32px rgba(80, 60, 30, 0.16), 0 1px 3px rgba(80, 60, 30, 0.08);
        }

        body.theme-dark .theme-dropdown {
            background: rgba(22, 27, 34, 0.96);
            border-color: rgba(48, 54, 61, 1);
            box-shadow: 0 8px 24px rgba(1, 4, 9, 0.4);
        }

        .control-btn {
            width: 32px;
            height: 32px;
            border: 1px solid var(--c-border);
            background: var(--c-bg);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 6px;
            transition: all 0.2s ease;
            color: var(--c-text);
            padding: 0;
        }

        .control-btn:hover {
            background: var(--c-bg-hover);
            border-color: var(--c-border-strong);
            color: var(--c-text);
        }

        .control-btn svg {
            width: 20px;
            height: 20px;
        }

        .control-separator {
            width: 1px;
            height: 20px;
            background: var(--c-border);
            margin: 0 4px;
        }

        .tg-header-link,
        .mail-header-link,
        .boosty-header-link,
        .donate-header-link {
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 6px;
            transition: all 0.2s ease;
            text-decoration: none;
            color: var(--c-text);
            border: none;
            background: transparent;
            cursor: pointer;
            padding: 0;
        }

        .tg-header-link:hover,
        .mail-header-link:hover,
        .boosty-header-link:hover,
        .donate-header-link:hover {
            background: var(--c-btn-hover);
        }

        .donate-header-link svg {
            width: 20px;
            height: 20px;
            display: block;
        }

        .extlink-header {
            display: none !important;
        }

        .extlink-header img {
            width: 20px;
            height: 20px;
            display: block;
        }

        .tg-header-link .tg-icon {
            width: 20px;
            height: 20px;
            display: block;
        }

        .mail-header-link .mail-icon {
            width: 20px;
            height: 20px;
            display: block;
        }

        .boosty-header-link .boosty-icon {
            width: 20px;
            height: 20px;
            display: block;
        }

        .boosty-icon {
            display: inline-block;
            width: 22px;
            height: 22px;
            vertical-align: middle;
        }

        .tg-icon {
            display: inline-block;
            width: 22px;
            height: 22px;
            vertical-align: middle;
        }

        .mail-icon {
            display: inline-block;
            width: 22px;
            height: 22px;
            vertical-align: middle;
        }

        /* Settings panel (right sidebar on mobile) */
        #settings-panel {
            display: none;
        }

        #toggle-settings-header {
            display: none;
        }

        #toggle-search-header {
            display: none;
        }

        .settings-tg-link {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px;
            color: var(--c-text);
            text-decoration: none;
            border-radius: 6px;
            transition: background 0.2s;
        }

        .settings-tg-link:hover {
            background: var(--c-bg-donate);
        }

        .settings-tg-link .tg-icon {
            width: 32px;
            height: 32px;
            margin-right: 0;
        }

        .settings-mail-link {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px;
            color: var(--c-text);
            text-decoration: none;
            border-radius: 6px;
            transition: background 0.2s;
        }

        .settings-mail-link:hover {
            background: var(--c-bg-donate);
        }

        .settings-mail-link .mail-icon {
            width: 32px;
            height: 32px;
            margin-right: 0;
        }

        .settings-boosty-link {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px;
            color: var(--c-text);
            text-decoration: none;
            border-radius: 6px;
            transition: background 0.2s;
        }

        .settings-boosty-link:hover {
            background: var(--c-bg-donate);
        }

        .settings-boosty-link .boosty-icon {
            width: 32px;
            height: 32px;
            margin-right: 0;
        }

        .settings-separator {
            height: 1px;
            background: var(--c-bg-fn);
            margin: 8px 12px;
        }

        /* Typo reporter */
        #typo-float-btn {
            display: none;
            position: fixed;
            z-index: 9999;
            background: var(--c-bg-panel);
            color: var(--c-text);
            border: 1px solid var(--c-border);
            border-radius: 16px;
            padding: 4px 12px;
            font-size: 12px;
            font-family: 'PT Sans', 'Arial', sans-serif;
            cursor: pointer;
            box-shadow: 0 2px 8px var(--c-shadow-dropdown);
            white-space: nowrap;
            transition: background 0.15s, box-shadow 0.15s;
        }
        #typo-float-btn:hover {
            background: var(--c-bg-hover);
            box-shadow: 0 3px 12px var(--c-shadow-popup);
        }
        #typo-float-btn svg {
            width: 13px;
            height: 13px;
            vertical-align: -2px;
            margin-right: 4px;
        }
        /* Mobile: dock the button at the bottom-center, clear of the iOS
           native selection callout, and dim the page so it stands out. */
        #typo-float-btn.docked {
            left: 50% !important;
            top: auto !important;
            transform: translateX(-50%);
            bottom: calc(env(safe-area-inset-bottom, 0px) + 20px);
            z-index: 10001;
            padding: 10px 20px;
            font-size: 14px;
            border-radius: 22px;
            box-shadow: 0 4px 16px var(--c-shadow-popup);
        }
        #typo-float-btn.docked svg {
            width: 15px;
            height: 15px;
            vertical-align: -3px;
            margin-right: 6px;
        }
        #typo-scrim {
            display: none;
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            background: rgba(0, 0, 0, 0.32);
            z-index: 10000;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.18s ease;
        }
        #typo-scrim.visible {
            display: block;
            opacity: 1;
        }
        #typo-modal-overlay {
            display: none;
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            background: var(--c-overlay);
            z-index: 10000;
            align-items: center;
            justify-content: center;
        }
        #typo-modal-overlay.open {
            display: flex;
        }
        #typo-modal {
            background: var(--c-bg-panel);
            border: 1px solid var(--c-border);
            border-radius: 12px;
            padding: 24px;
            max-width: 480px;
            width: 90vw;
            box-shadow: 0 8px 32px var(--c-shadow-popup);
            color: var(--c-text);
            font-family: 'PT Sans', 'Arial', sans-serif;
        }
        #typo-modal h3 {
            margin: 0 0 16px;
            font-size: 16px;
            font-weight: 600;
        }
        #typo-modal label {
            display: block;
            font-size: 13px;
            color: var(--c-text-muted);
            margin-bottom: 4px;
        }
        #typo-selected-text {
            background: var(--c-bg-alt);
            border: 1px solid var(--c-border);
            border-radius: 6px;
            padding: 10px 12px;
            font-size: 14px;
            line-height: 1.5;
            margin-bottom: 12px;
            max-height: 120px;
            overflow-y: auto;
            word-break: break-word;
        }
        #typo-selected-text mark {
            background: rgba(255, 180, 0, 0.35);
            border-radius: 2px;
            padding: 0 1px;
        }
        #typo-correction {
            width: 100%;
            box-sizing: border-box;
            border: 1px solid var(--c-border);
            border-radius: 6px;
            padding: 8px 12px;
            font-size: 14px;
            font-family: 'PT Sans', 'Arial', sans-serif;
            background: var(--c-bg);
            color: var(--c-text);
            margin-bottom: 16px;
            resize: vertical;
            min-height: 40px;
        }
        #typo-correction::placeholder {
            color: var(--c-text-muted);
            opacity: 0.7;
        }
        #typo-correction:focus {
            outline: none;
            border-color: var(--c-border-input);
        }
        .typo-actions {
            display: flex;
            gap: 10px;
            justify-content: flex-end;
        }
        .typo-btn {
            border: none;
            border-radius: 8px;
            padding: 8px 20px;
            font-size: 14px;
            font-family: 'PT Sans', 'Arial', sans-serif;
            cursor: pointer;
            transition: background 0.15s;
        }
        .typo-btn-cancel {
            background: var(--c-bg-hover);
            color: var(--c-text);
        }
        .typo-btn-cancel:hover {
            background: var(--c-bg-active);
        }
        .typo-btn-send {
            background: var(--c-accent);
            color: #fff;
        }
        .typo-btn-send:hover {
            background: var(--c-accent-hover);
        }
        .typo-btn-send:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }
        #typo-status {
            font-size: 13px;
            margin-top: 10px;
            text-align: center;
        }
        .typo-status-ok { color: var(--c-text-copied); }
        .typo-status-err { color: #c33; }

        /* Donate popup */
        #donate-popup-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: var(--c-overlay);
            z-index: 1000;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(2px);
            -webkit-backdrop-filter: blur(2px);
        }

        #donate-popup-overlay.open {
            display: flex;
        }

        #donate-popup {
            background: var(--c-bg);
            border-radius: 16px;
            padding: 32px 36px 28px;
            max-width: 360px;
            width: 88vw;
            box-shadow: 0 12px 40px var(--c-shadow-popup);
            text-align: center;
            position: relative;
        }

        #donate-popup .donate-label {
            margin: 0 0 24px 0;
            font-size: 0.95rem;
            line-height: 1.5;
            color: var(--c-text);
            text-align: center;
        }

        #donate-popup .donate-card-block {
            margin-bottom: 20px;
        }

        #donate-popup .donate-card-block:last-of-type {
            margin-bottom: 0;
        }

        #donate-popup .donate-bank-label {
            font-size: 0.85rem;
            color: var(--c-text-muted);
            margin: 0 0 6px 0;
            text-align: center;
        }

        #donate-popup .donate-card-number {
            display: block;
            margin: 0 0 8px 0;
            padding: 14px 0;
            background: var(--c-bg-card);
            border-radius: 10px;
            font-family: 'SF Mono', 'Menlo', 'Courier New', monospace;
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--c-text);
            letter-spacing: 2px;
            user-select: all;
            -webkit-user-select: all;
        }

        #donate-popup .donate-copy-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 10px 24px;
            background: var(--c-bg-donate);
            border: 1px solid var(--c-border-donate);
            border-radius: 8px;
            cursor: pointer;
            font-size: 0.9rem;
            color: var(--c-text);
            transition: all 0.2s;
        }

        #donate-popup .donate-copy-btn:hover {
            background: var(--c-bg-donate-hover);
            border-color: var(--c-border-donate-h);
            color: var(--c-text);
        }

        #donate-popup .donate-copy-btn.copied {
            background: var(--c-bg-copied);
            border-color: var(--c-border-copied);
            color: var(--c-text-copied);
        }

        #donate-popup .donate-close-btn {
            position: absolute;
            top: 10px;
            right: 10px;
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: none;
            border: none;
            border-radius: 8px;
            font-size: 1.4rem;
            cursor: pointer;
            color: var(--c-text-close);
            padding: 0;
            line-height: 1;
            transition: all 0.15s;
        }

        #donate-popup .donate-close-btn:hover {
            background: var(--c-bg-hover);
            color: var(--c-text);
        }

        .settings-donate-link {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px;
            color: var(--c-text);
            background: none;
            border: none;
            border-radius: 6px;
            transition: background 0.2s;
            cursor: pointer;
        }

        .settings-donate-link:hover {
            background: var(--c-bg-donate);
        }

        .settings-donate-link svg {
            width: 32px;
            height: 32px;
        }

        .settings-extlink {
            display: none !important;
            align-items: center;
            justify-content: center;
            padding: 10px;
            color: var(--c-text);
            background: none;
            border: none;
            border-radius: 6px;
            transition: background 0.2s;
            cursor: pointer;
            text-decoration: none;
        }

        .settings-extlink:hover {
            background: var(--c-bg-donate);
        }

        .settings-extlink img {
            width: 32px;
            height: 32px;
        }


        .section {
            margin-bottom: 80px;
        }

        .extra-space {
            height: 1em;
        }

        h1, h2, h3, h4 {
            font-family: inherit;
        }

        .section h1 {
            color: var(--c-text);
            font-size: 2.2em;
            border-bottom: 2px solid var(--c-accent);
            padding: 30px 0 10px 0;
            text-align: center;
            margin: 0 0 30px 0;
        }

        .section h2 {
            color: var(--c-text);
            font-size: 1.8em;
            text-align: center;
            padding: 25px 0 12px 0;
            margin: 30px 0 15px 0;
        }

        .section h3 {
            color: var(--c-text);
            font-size: 1.4em;
            text-align: center;
            padding: 20px 0 10px 0;
            margin: 20px 0 10px 0;
        }

        .section h4 {
            color: var(--c-text);
            font-size: 1.2em;
            text-align: center;
            padding: 15px 0 8px 0;
            margin: 15px 0 8px 0;
        }

        /* Unify primary page heading look across all non-letter sections,
           regardless of original heading level in source markdown. */
        body:not([data-section-kind="correspondence"]) .section > h2:not(:has(.chapter-head-number)),
        body:not([data-section-kind="correspondence"]) .section > h3:not(:has(.chapter-head-number)),
        body:not([data-section-kind="correspondence"]) .section > h4:not(:has(.chapter-head-number)),
        body.bilingual:not([data-section-kind="correspondence"]) .fr-panel > h2:not(:has(.chapter-head-number)),
        body.bilingual:not([data-section-kind="correspondence"]) .fr-panel > h3:not(:has(.chapter-head-number)),
        body.bilingual:not([data-section-kind="correspondence"]) .fr-panel > h4:not(:has(.chapter-head-number)) {
            font-size: 1.8em;
            text-align: center;
            padding: 25px 0 12px 0;
            margin: 30px 0 15px 0;
            line-height: 1.25;
        }

        /* Chapter headings can be emitted as h2/h3/h4 depending on source book;
           keep number/title typography consistent across levels. */
        .section h2:has(.chapter-head-number),
        .section h3:has(.chapter-head-number),
        .section h4:has(.chapter-head-number) {
            font-size: 1.8em;
            text-align: center;
            padding: 25px 0 12px 0;
            margin: 30px 0 15px 0;
            line-height: 1.25;
        }

        /* Correspondence pages: headings are right-aligned and normal-weight like letter references. */
        body[data-section-kind="correspondence"] .section > h2:not(:has(.chapter-head-number)),
        body[data-section-kind="correspondence"] .section > h3:not(:has(.chapter-head-number)),
        body[data-section-kind="correspondence"] .section > h4:not(:has(.chapter-head-number)),
        body[data-section-kind="correspondence"] .fr-panel > h2:not(:has(.chapter-head-number)),
        body[data-section-kind="correspondence"] .fr-panel > h3:not(:has(.chapter-head-number)),
        body[data-section-kind="correspondence"] .fr-panel > h4:not(:has(.chapter-head-number)) {
            font-size: 1em;
            font-weight: 400;
            text-align: right;
            /* Только вертикальные отступы: горизонтальные задаёт колонка
               двуязычной сетки (1em до разделителя), иначе заголовок
               письма уезжает правее текста. */
            padding-top: 0;
            padding-bottom: 0;
            margin: 0 0 0.9em 0;
            line-height: 1.35;
            letter-spacing: 0;
        }

        h2 .chapter-head-number,
        h3 .chapter-head-number,
        h4 .chapter-head-number {
            display: block;
            font-size: 0.78em;
            font-weight: 600;
            letter-spacing: 0.02em;
            margin-bottom: 1em;
            line-height: 1.2;
        }

        h2 .chapter-head-title,
        h3 .chapter-head-title,
        h4 .chapter-head-title {
            display: block;
            line-height: 1.3;
        }

        p {
            margin-bottom: 1em;
            text-align: justify;
            text-indent: 1.5em;
            font-family: 'PT Sans', 'Arial', sans-serif;
            -webkit-hyphens: auto;
            hyphens: auto;
        }

        p.no-indent {
            text-indent: 0;
        }

        p.no-gap-after {
            margin-bottom: 0;
        }

        p:has(+ blockquote.in-paragraph-flow) {
            margin-bottom: 0;
        }

        p:has(+ blockquote) {
            margin-bottom: 0;
        }

        p:has(+ img.in-paragraph-flow) {
            margin-bottom: 0;
        }

        p:has(+ div.in-paragraph-flow) {
            margin-bottom: 0;
        }

        p + blockquote {
            margin-top: 0;
        }

        p + img.in-paragraph-flow {
            margin-top: 0;
        }

        p + div.in-paragraph-flow {
            margin-top: 0;
        }

        p.no-gap-before {
            margin-top: 0;
        }

        p.subheader {
            text-indent: 0;
            text-align: center;
            font-style: italic;
            font-family: 'PT Sans', 'Arial', sans-serif;
            margin: 24px 0;
        }

        blockquote {
            margin: 0 0 12px 0;
            padding: 10px 14px;
            background: var(--c-bg-alt);
            border-left: 3px solid var(--c-border-bq);
            font-style: normal;
            color: var(--c-text);
            text-align: justify;
            -webkit-hyphens: auto;
            hyphens: auto;
        }

        /* Stacked quotes: spacing is controlled by the previous block's bottom margin. */
        blockquote + blockquote {
            margin-top: 0;
        }

        /* When previous quote is flow-collapsed, restore the same inter-quote gap. */
        blockquote.in-paragraph-flow + blockquote {
            margin-top: 12px;
        }

        blockquote.in-paragraph-flow {
            margin-top: 0;
            margin-bottom: 0;
        }

        blockquote:has(+ p) {
            margin-bottom: 0;
        }

        img.in-paragraph-flow {
            margin-bottom: 0;
        }

        div.in-paragraph-flow {
            margin-top: 0;
            margin-bottom: 0;
        }

        .separator {
            display: grid;
            grid-template-columns: auto auto;
            justify-content: center;
            column-gap: 0.75em;
            row-gap: 0.18em;
            text-align: center;
            font-size: 1.32em;
            line-height: 1;
            font-family: "Times New Roman", Times, Georgia, serif;
            font-weight: 700;
            font-style: normal;
            letter-spacing: 0;
            margin: 20px 0;
            color: var(--c-text);
        }

        .separator .separator-top {
            grid-column: 1 / span 2;
            justify-self: center;
        }

        .separator .separator-top,
        .separator .separator-bottom {
            display: block;
            line-height: 0.9;
            transform: scale(1.08);
            transform-origin: center;
        }

        .footnote-ref {
            display: inline;
            font-size: 0.68em;
            vertical-align: super;
            line-height: 0;
        }

        /* In large headings, base font-size is much bigger; keep footnote marks compact. */
        h1 .footnote-ref,
        h2 .footnote-ref,
        h3 .footnote-ref,
        h4 .footnote-ref {
            font-size: 0.5em;
        }

        .footnote-ref a {
            color: var(--c-fn-ref-text) !important;
            text-decoration: none;
            cursor: pointer;
            display: inline;
            padding: 0.08em 0.18em;
            border-radius: 0.25em;
            background: var(--c-bg-fn);
            font-weight: 700;
            font-variant-numeric: tabular-nums;
            opacity: 0.96;
            transition: background-color 0.15s ease, opacity 0.15s ease;
        }

        .footnote-ref a:hover {
            opacity: 1;
            text-decoration: none !important;
            background: var(--c-bg-fn-hover);
        }

        .footnotes {
            margin-top: 40px;
            padding-top: 20px;
        }

        .footnotes h3, .footnotes h4, .footnotes-title {
            font-size: 1.2em;
            font-weight: bold;
            margin-bottom: 15px;
        }

        .fn-id {
            font-weight: bold;
            white-space: nowrap;
            display: inline-block;
            width: 3.4em;
            justify-self: end;
            text-align: right;
        }

        .fn-id.fn-id-star {
            font-weight: 900;
        }

        li:has(.fn-id) {
            list-style: none;
        }

        .footnotes li.fn-item {
            list-style: none;
            margin-left: 0;
            padding-left: 0;
            text-indent: 0;
            display: grid;
            grid-template-columns: 2.6em 1fr;
            column-gap: 0.35em;
            align-items: baseline;
            line-height: 1.7;
        }

        .footnotes li.fn-item .fn-text {
            min-width: 0;
            display: block;
            text-align: justify;
            text-justify: inter-word;
        }

        .footnotes ol {
            margin-left: 0;
            padding-left: 0;
            list-style-position: outside;
        }

        .footnotes li {
            margin-bottom: 10px;
        }

        .footnote-backref {
            display: inline;
            background-color: var(--c-bg-fn);
            color: var(--c-text);
            text-decoration: none;
            font-size: 0.85em;
            font-weight: 700;
            padding: 0.05em 0.15em;
            border-radius: 0.2em;
        }

        .footnote-backref:hover {
            background-color: var(--c-bg-fn-hover);
            color: var(--c-text);
        }

        #footnote-tooltip {
            position: fixed;
            background: var(--c-bg);
            border: 1px solid var(--c-border-tooltip);
            border-radius: 4px;
            padding: 10px 15px;
            max-width: 400px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.2);
            z-index: 1000;
            display: none;
            font-size: 0.9em;
            line-height: 1.4;
        }

        #footnote-tooltip a {
            color: var(--c-link);
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        #footnote-tooltip a:visited {
            color: var(--c-link);
        }

        #footnote-tooltip a:hover {
            color: var(--c-link-hover);
        }

        html {
            scroll-behavior: smooth;
        }

        .section img,
        .fr-panel img {
            max-width: 100%;
            height: auto;
            display: block;
            margin: 10px auto;
            mix-blend-mode: multiply;
            cursor: zoom-in;
        }
        body.theme-dark .section img {
            mix-blend-mode: screen;
            filter: contrast(3) invert(1);
        }
        body.theme-dark .fr-panel img {
            mix-blend-mode: screen;
            filter: contrast(3) invert(1);
        }
        /* Book covers must keep original colors in dark theme. */
        body.theme-dark .section .biblio-cover img {
            mix-blend-mode: normal;
            filter: none;
        }
        body.theme-dark .fr-panel .biblio-cover img {
            mix-blend-mode: normal;
            filter: none;
        }
        /* Some scanned illustrations must keep original tones in dark theme. */
        body.theme-dark .section img.no-dark-theme-adjust,
        body.theme-dark .fr-panel img.no-dark-theme-adjust {
            mix-blend-mode: normal;
            filter: none;
        }
        /* Negative scans (light lines on a dark field) must not be inverted.
           In dark theme JS swaps in their prepared .dark.png variant (light on
           black, see _write_negative_scan_dark_variant); screen blending
           dissolves the black into the page background. */
        body.theme-dark .section :not(.biblio-cover) > img.negative-scan:not(.no-dark-theme-adjust),
        body.theme-dark .section > img.negative-scan:not(.no-dark-theme-adjust),
        body.theme-dark .fr-panel :not(.biblio-cover) > img.negative-scan:not(.no-dark-theme-adjust),
        body.theme-dark .fr-panel > img.negative-scan:not(.no-dark-theme-adjust) {
            mix-blend-mode: screen;
            filter: none;
        }

        .section img[alt^="Изображение"] {
            max-height: 350px;
            width: auto;
        }

        /* Bibliography layout */
        .biblio-year-group {
            margin-bottom: 20px;
        }
        .biblio-year-label {
            font-size: 1.1em;
            font-weight: bold;
            color: var(--c-text);
            padding: 6px 0 4px 0;
            margin-bottom: 4px;
            border-bottom: 1px solid var(--c-border);
        }
        .biblio-entry {
            display: flex;
            flex-direction: row-reverse;
            gap: 16px;
            padding: 10px 0;
            border-bottom: 1px solid var(--c-separator);
        }
        .biblio-entry:last-child {
            border-bottom: none;
        }
        .biblio-cover {
            flex-shrink: 0;
            align-self: flex-start;
        }
        .biblio-cover img {
            height: 160px;
            width: auto;
            display: block;
            border-radius: 2px;
            margin: 0;
        }

        /* Fullscreen image viewer */
        #image-lightbox-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.86);
            z-index: 4000;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 24px;
            opacity: 0;
            transition: opacity 0.2s ease;
        }
        #image-lightbox-overlay.open {
            display: flex;
            opacity: 1;
        }
        #image-lightbox-img {
            max-width: min(92vw, 1800px);
            max-height: 90vh;
            width: auto;
            height: auto;
            object-fit: contain;
            border-radius: 4px;
            box-shadow: 0 10px 35px rgba(0, 0, 0, 0.55);
        }
        #image-lightbox-close {
            position: absolute;
            top: 10px;
            right: 14px;
            border: none;
            background: transparent;
            color: #fff;
            font-size: 38px;
            line-height: 1;
            cursor: pointer;
            padding: 2px 8px;
        }
        .biblio-info {
            flex: 1;
            min-width: 0;
        }
        .biblio-title {
            font-weight: 600;
            font-size: 1em;
            margin-bottom: 4px;
            color: var(--c-text);
        }
        .biblio-edition {
            font-size: 0.9em;
            color: var(--c-text-muted);
            margin-bottom: 2px;
        }
        .biblio-detail {
            font-size: 0.9em;
            color: var(--c-text-muted);
            margin-bottom: 2px;
        }
        .biblio-comment {
            font-size: 0.85em;
            color: var(--c-text-muted);
            margin-top: 4px;
            padding-left: 10px;
            border-left: 2px solid var(--c-separator);
        }

        /* Строки-атрибуты записи: издательство, год, переводчик, издание.
           Выглядят как прежние выходные данные — та же строка мелким
           приглушённым шрифтом, но каждая величина на своей строке. */
        .biblio-attr {
            font-size: 0.9em;
            color: var(--c-text-muted);
            margin-bottom: 2px;
        }

        /* Оглавление издания: свёрнуто по умолчанию, открывается кликом.
           Нативный <details> — без JS, работает и при SPA-переходах. */
        .biblio-contents {
            margin: 4px 0 2px;
            font-size: 0.9em;
        }

        .biblio-contents-toggle {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            cursor: pointer;
            color: var(--c-accent);
            list-style: none;
            width: fit-content;
        }

        /* Убираем родной треугольник и рисуем свой, как у прочих раскрытий. */
        .biblio-contents-toggle::-webkit-details-marker { display: none; }

        .biblio-contents-toggle::before {
            content: '';
            width: 0;
            height: 0;
            border-left: 4px solid currentColor;
            border-top: 4px solid transparent;
            border-bottom: 4px solid transparent;
            transition: transform 0.15s ease;
        }

        .biblio-contents[open] > .biblio-contents-toggle::before {
            transform: rotate(90deg);
        }

        .biblio-toc {
            list-style: none;
            margin: 6px 0 0;
            padding: 0 0 0 12px;
        }

        .biblio-toc-row {
            display: flex;
            align-items: baseline;
            gap: 4px;
            color: var(--c-text-muted);
            line-height: 1.5;
        }

        .biblio-toc-name {
            flex: 0 1 auto;
        }

        /* Четыре уровня: часть — работа — глава — подраздел главы. */
        .biblio-toc-l1 { padding-left: 1.2em; }
        .biblio-toc-l2 { padding-left: 2.4em; }
        .biblio-toc-l3 { padding-left: 3.6em; }

        .biblio-toc-l0 > .biblio-toc-name {
            font-weight: 600;
            color: var(--c-text);
        }

        /* Отбивка точками до номера страницы, как в бумажном оглавлении. */
        .biblio-toc-dots {
            flex: 1 1 auto;
            border-bottom: 1px dotted var(--c-separator);
            transform: translateY(-3px);
            min-width: 1.5em;
        }

        .biblio-toc-page {
            flex: 0 0 auto;
            font-variant-numeric: tabular-nums;
        }

        /* Панель фильтров: три свёрнутых списка над списком изданий. */
        .biblio-filters {
            display: flex;
            flex-wrap: wrap;
            align-items: flex-start;
            gap: 8px;
            margin: 0 0 18px;
        }

        .biblio-filter-group {
            position: relative;
            flex: 0 0 auto;
        }

        .biblio-filter-toggle {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 5px 10px;
            font: inherit;
            font-size: 0.9em;
            color: var(--c-text);
            background: transparent;
            border: 1px solid var(--c-border);
            border-radius: 6px;
            cursor: pointer;
        }

        .biblio-filter-toggle:hover {
            background: var(--c-btn-hover);
        }

        .biblio-filter-group.has-active .biblio-filter-toggle {
            border-color: var(--c-accent);
            color: var(--c-accent);
        }

        .biblio-filter-chevron {
            width: 0;
            height: 0;
            border-left: 4px solid transparent;
            border-right: 4px solid transparent;
            border-top: 5px solid currentColor;
            transition: transform 0.15s ease;
        }

        .biblio-filter-toggle[aria-expanded="true"] .biblio-filter-chevron {
            transform: rotate(180deg);
        }

        .biblio-filter-total {
            font-size: 0.85em;
            color: var(--c-text-muted);
        }

        .biblio-filter-list {
            display: none;
            position: absolute;
            top: calc(100% + 4px);
            left: 0;
            z-index: 30;
            min-width: 220px;
            max-height: 320px;
            overflow-y: auto;
            padding: 4px;
            background: var(--c-bg);
            border: 1px solid var(--c-border);
            border-radius: 8px;
            box-shadow: 0 6px 24px rgba(0, 0, 0, 0.13);
        }

        .biblio-filter-group.open .biblio-filter-list {
            display: block;
        }

        .biblio-filter-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 4px 8px;
            border-radius: 5px;
            font-size: 0.9em;
            cursor: pointer;
        }

        .biblio-filter-item:hover {
            background: var(--c-btn-hover);
        }

        /* Значение, которого нет в текущем отборе: гасим, но оставляем
           на месте, чтобы список не прыгал при каждом клике. */
        .biblio-filter-item.is-empty {
            opacity: 0.4;
        }

        .biblio-filter-name {
            flex: 1;
        }

        .biblio-filter-count {
            font-size: 0.85em;
            color: var(--c-text-muted);
            font-variant-numeric: tabular-nums;
        }

        .biblio-filter-summary {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 0.9em;
            color: var(--c-text-muted);
            padding: 5px 0;
        }

        .biblio-filter-reset {
            font: inherit;
            font-size: 0.9em;
            color: var(--c-accent);
            background: transparent;
            border: none;
            padding: 0;
            cursor: pointer;
        }

        /* Год без единой видимой записи скрывается целиком. */
        .biblio-year-group[hidden],
        .biblio-entry[hidden] {
            display: none !important;
        }
        .biblio-entry-unpub {
            display: block;
            padding: 6px 0;
        }
        .biblio-unpublished .biblio-title {
            font-size: 0.95em;
        }

        /* Списки */
        .section ul,
        .section ol {
            margin: 0 0 16px 0;
            padding-left: 24px;
        }

        .section ul {
            list-style-type: disc;
        }

        .section ol {
            list-style-type: decimal;
        }

        .section li {
            margin-bottom: 8px;
            line-height: 1.7;
            text-align: justify;
        }

        .section li:last-child {
            margin-bottom: 0;
        }

        /* Убираем двойные отступы между соседними списками */
        .section ul + ul,
        .section ol + ol,
        .section ul + ol,
        .section ol + ul {
            margin-top: -8px;
        }

        .section li ul,
        .section li ol {
            margin-top: 6px;
            margin-bottom: 6px;
        }

        /* Панель поиска */
        #search-panel {
            width: 367px;
            background: var(--c-bg);
            border-left: 1px solid var(--c-border);
            position: fixed;
            right: 0;
            top: 60px;
            bottom: 0;
            font-family: 'PT Sans', 'Arial', sans-serif;
            display: flex;
            flex-direction: column;
            transform: translateX(367px); /* Скрыто по умолчанию */
            transition: transform 0.3s ease;
        }

        #search-panel h2 {
            display: none;
        }

        .search-header {
            padding: 10px 20px 10px 20px;
            background: var(--c-bg);
            flex-shrink: 0;
            position: relative;
        }

        .search-input-row {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .search-close-btn {
            display: flex;
            background: none;
            border: none;
            font-size: 22px;
            color: var(--c-text);
            cursor: pointer;
            padding: 0;
            line-height: 1;
            flex-shrink: 0;
            width: 28px;
            height: 28px;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            transition: background 0.2s, color 0.2s;
            margin-left: auto;
        }

        .search-close-btn:hover {
            color: var(--c-text);
            background: var(--c-close-hover);
        }

        .search-options-row {
            display: flex;
            align-items: center;
            margin-top: 8px;
            gap: 12px;
            flex-wrap: wrap;
        }

        .search-wrapper {
            display: none;
        }

        .search-wrapper {
            position: relative;
            margin-bottom: 8px;
            flex: 1;
        }

        #search-input {
            width: 100%;
            padding: 12px 44px 12px 8px;
            border: none;
            border-bottom: 2px solid var(--c-border);
            border-radius: 0;
            font-size: 14px;
            font-family: 'PT Sans', 'Arial', sans-serif;
            transition: border-color 0.2s, box-shadow 0.2s;
            height: 44px;
            box-sizing: border-box;
            background: transparent;
            color: var(--c-text);
        }

        #search-input:focus {
            outline: none;
            border-bottom-color: var(--c-text);
            box-shadow: 0 1px 0 0 var(--c-text);
        }

        #search-button {
            position: absolute;
            right: 4px;
            top: 50%;
            transform: translateY(-50%);
            padding: 0;
            width: 36px;
            height: 36px;
            background: none;
            color: var(--c-text-muted);
            border: none;
            border-radius: 50%;
            cursor: pointer;
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #search-button:hover {
            color: var(--c-text);
            background: var(--c-btn-hover-light);
        }

        #search-button svg {
            width: 18px;
            height: 18px;
            stroke: currentColor;
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .search-results-container {
            flex: 1;
            overflow-y: auto;
            padding: 20px;
        }

        #search-results {
            margin-top: 0;
        }

        .search-result {
            margin-bottom: 15px;
            padding: 8px 12px;
            background: transparent;
            border-left: 2px solid var(--c-border);
            border-radius: 0;
            cursor: pointer;
            transition: background 0.2s, border-color 0.2s;
        }

        .search-result:hover {
            background: var(--c-btn-hover-light);
            border-left-color: var(--c-accent);
        }

        .search-result-title {
            font-weight: bold;
            color: var(--c-text);
            margin-bottom: 5px;
        }

        .search-result-context {
            font-size: 0.9em;
            color: var(--c-text);
            line-height: 1.4;
        }

        .search-highlight {
            background-color: var(--c-bg-active);
        }

        @keyframes search-pulse {
            0%   { background-color: var(--c-accent, #4a90d9); }
            100% { background-color: var(--c-bg-active); }
        }

        .search-highlight-pulse {
            animation: search-pulse 1s ease-out;
        }

        .search-stats {
            margin-top: 10px;
            margin-bottom: 10px;
            font-size: 0.9em;
            color: var(--c-text);
        }

        .search-section-group {
            margin-bottom: 15px;
        }

        .search-section-title {
            font-weight: bold;
            color: var(--c-text);
            margin-bottom: 4px;
            padding: 6px 0;
            background: transparent;
            border-bottom: 1px solid var(--c-border);
            border-radius: 0;
            cursor: pointer;
            font-size: 0.95em;
            line-height: 1.3;
            user-select: none;
            transition: color 0.2s ease;
        }

        .search-section-title::before {
            content: '▼ ';
            font-size: 0.7em;
            display: inline-block;
            transition: transform 0.2s;
            margin-right: 4px;
        }

        .search-section-title.collapsed::before {
            content: '▶ ';
        }

        .search-section-title:hover {
            color: var(--c-accent);
            background: transparent;
        }

        .search-section-group.collapsed .search-heading-group {
            display: none;
        }

        .search-section-group.collapsed > .search-result {
            display: none;
        }

        .search-heading-group {
            margin-left: 8px;
            margin-bottom: 6px;
        }

        .search-heading-title {
            font-weight: 600;
            color: var(--c-text);
            margin-bottom: 4px;
            margin-top: 6px;
            padding: 4px 0;
            background: transparent;
            border-radius: 0;
            cursor: pointer;
            font-size: 0.85em;
            line-height: 1.3;
            user-select: none;
            transition: color 0.2s ease;
        }

        .search-heading-title::before {
            content: '▼ ';
            font-size: 0.7em;
            display: inline-block;
            transition: transform 0.2s;
            margin-right: 4px;
        }

        .search-heading-title.collapsed::before {
            content: '▶ ';
        }

        .search-heading-title:hover {
            color: var(--c-accent);
            background: transparent;
        }

        .search-heading-group.collapsed .search-result {
            display: none;
        }

        /* Кнопки скрытия панелей */
        .toggle-panel-btn {
            display: none; /* Скрыты, используются кнопки в заголовке */
            opacity: 0.4;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
        }

        .toggle-panel-btn:hover {
            background: rgba(110, 110, 110, 0.6);
            color: rgba(60, 60, 60, 0.9);
            opacity: 0.85;
            width: 20px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
        }

        #toggle-toc {
            left: 0;
        }

        #toggle-search {
            right: 0;
            border-radius: 6px 0 0 6px;
        }

        /* Анимации для панелей */
        #toc, .toc-controls {
            transition: transform 0.3s ease;
        }

        #search-panel {
            transition: transform 0.3s ease;
        }

        body.toc-hidden #toc {
            transform: translateX(-360px);
        }

        body.toc-hidden .toc-controls {
            transform: translateX(-360px);
        }

        body.toc-hidden #toggle-toc {
            left: 0;
        }

        /* Панель поиска показана */
        body:not(.search-hidden) #search-panel {
            transform: translateX(0);
        }

        body.search-hidden #search-panel {
            transform: translateX(367px);
        }

        body.search-hidden #toggle-search {
            right: 0;
        }

        body.search-restoring .search-results-container {
            visibility: hidden;
        }

        /* Panels overlay mode at wider widths: solid bg + shadow, text keeps full width */
        body.width-level-2 #toc,
        body.width-level-3 #toc,
        body.width-level-4 #toc {
            background: var(--c-bg);
            box-shadow: 2px 0 12px var(--c-shadow);
            z-index: 160;
        }

        body.width-level-2 #search-panel,
        body.width-level-3 #search-panel,
        body.width-level-4 #search-panel {
            box-shadow: -2px 0 12px var(--c-shadow);
            z-index: 160;
        }

        /* Narrow desktop (1024-1400px): TOC overlays content instead of squeezing it */
        @media (min-width: 1025px) and (max-width: 1400px) {
            #toc {
                background: var(--c-bg);
                box-shadow: 2px 0 12px var(--c-shadow);
                z-index: 160;
            }
            /* TOC overlays — content expands to left edge */
            #content {
                left: 0;
            }
        }

        /* Мобильный оверлей */
        #mobile-overlay {
            position: fixed;
            inset: 0;
            background: var(--c-overlay);
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.2s ease, visibility 0.2s ease;
            z-index: 150;
        }
        #mobile-overlay.visible { opacity: 1; visibility: visible; }

        /* Touch-friendly */
        button, a, input, label { touch-action: manipulation; }

        /* ===== MOBILE: max-width 1024px ===== */
        @media (max-width: 1024px) {
            html, body {
                overflow-x: hidden;
            }

            body {
                display: block;
                font-size: clamp(16px, 2.2vw, 18px);
            }

            /* Avoid stretched spaces from justification on narrow screens. */
            p,
            blockquote,
            .section li,
            .footnotes li.fn-item .fn-text,
            .root-toc-item,
            .root-toc-item .root-toc-label {
                text-align: justify;
                text-justify: auto;
                word-spacing: normal;
                -webkit-hyphens: auto;
                hyphens: auto;
            }

            /* Book title pages with root TOC keep ragged-right alignment. */
            body:has(#content > .section > .root-toc-structure) p,
            body:has(#content > .section > .root-toc-structure) blockquote,
            body:has(#content > .section > .root-toc-structure) .section li,
            body:has(#content > .section > .root-toc-structure) .footnotes li.fn-item .fn-text,
            body:has(#content > .section > .root-toc-structure) .root-toc-item,
            body:has(#content > .section > .root-toc-structure) .root-toc-item .root-toc-label {
                text-align: left;
            }

            /* Keep root TOC labels natural and avoid aggressive browser hyphenation. */
            .root-toc-item,
            .root-toc-item > a,
            .root-toc-item .root-toc-label {
                -webkit-hyphens: none;
                hyphens: none;
                overflow-wrap: normal;
                word-break: normal;
            }

            #toc {
                width: min(85vw, 320px);
                top: 60px;
                bottom: 0;
                transform: translateX(-100%);
                z-index: 200;
            }

            .toc-resize-handle {
                display: none;
            }

            .search-resize-handle {
                display: none;
            }
            body:not(.toc-hidden) #toc {
                transform: translateX(0);
            }
            body.toc-hidden #toc {
                transform: translateX(-100%);
            }

            .toc-controls {
                display: none;
            }

            #search-panel {
                width: 100%;
                left: 0;
                right: 0;
                top: 60px;
                bottom: 0;
                transform: translateY(100%);
                z-index: 200;
            }
            body:not(.search-hidden) #search-panel {
                transform: translateY(0);
            }
            body.search-hidden #search-panel {
                transform: translateY(100%);
            }

            #content {
                position: absolute;
                left: 0;
                right: 0;
                top: 60px;
                bottom: 0;
                width: 100%;
                max-width: 100%;
                padding: 0 16px calc(16px + env(safe-area-inset-bottom, 0px));
                transform: none;
                overflow-y: auto;
                overflow-x: hidden;
            }

            body.control-panel-hidden #content {
                top: 60px;
            }

            #content::before {
                display: none;
            }

            /* Width levels + toc/search panel states — все сбрасываем на мобиле */
            #content,
            body.toc-hidden #content,
            body.search-hidden #content,
            body.toc-hidden.search-hidden #content,
            body.width-level-2 #content,
            body.width-level-3 #content,
            body.width-level-4 #content {
                left: 0;
                right: 0;
                width: 100%;
                max-width: 100%;
                overflow-x: hidden;
            }

            #content > .section,
            #content > .page-nav {
                max-width: none;
            }

            #corpus-title {
                height: 60px;
                background: var(--c-bg);
                -webkit-backdrop-filter: none;
                backdrop-filter: none;
                z-index: 250;
                justify-content: flex-start;
                gap: 0;
                padding: 0 4px 0 8px;
            }

            /* Burger button on the left — direct child of #corpus-title */
            #toggle-toc-header {
                display: flex;
                flex-shrink: 0;
                position: static;
            }

            #corpus-title h1 {
                font-size: clamp(0.85rem, 2.8vw, 1.05rem);
                text-align: center;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                flex: 1;
                min-width: 0;
                margin: 0 2px;
                line-height: 1.25;
            }

            #corpus-title h1 .desktop-subtitle {
                display: none;
            }

            #corpus-title h1 .mobile-book-title {
                display: block;
                font-size: 0.7em;
                opacity: 0.6;
                font-weight: 400;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .header-nav {
                position: static;
                flex-shrink: 0;
                /* На мобильных кнопки 44×44, поэтому и ячейка сетки шире.
                   Большинство элементов ряда здесь скрыто, остаются
                   поиск и настройки. */
                grid-auto-columns: 44px;
                column-gap: 2px;
            }

            #corpus-title::after {
                display: none;
            }

            .header-control-btn {
                width: 44px;
                height: 44px;
            }

            .header-control-btn svg {
                width: 22px;
                height: 22px;
            }

            .header-control-btn .theme-icon {
                width: 22px;
                height: 22px;
            }

            /* Hide TG, mail, donate, ext links, theme btn and header search on mobile */
            .header-nav .tg-header-link,
            .header-nav .mail-header-link,
            .header-nav .boosty-header-link,
            .header-nav .donate-header-link,
            .header-nav .extlink-header,
            .header-nav #theme-btn,
            #corpus-title > .ui-lang-wrapper,
            #header-search-wrapper {
                display: none;
            }

            /* Hide old FR button on mobile, use settings panel button instead */
            #fr-toggle {
                display: none;
            }

            #fr-toggle-mobile {
                font-weight: 700;
                font-size: 0.85rem;
                letter-spacing: 0.5px;
                opacity: 0.35;
            }

            /* Переключатель языка в мобильной панели настроек: глобус с
               кодом, высота как у остальных кнопок панели (40px), ширина
               по содержимому. Обёртку центрируем так же, как кнопки. */
            #settings-panel .ui-lang-wrapper-mobile {
                margin: 4px auto;
                justify-content: center;
            }

            #settings-panel .control-btn#ui-lang-switch-mobile {
                width: auto;
                min-width: 40px;
                height: 40px;
                padding: 0 10px;
                gap: 5px;
                margin: 0;
                white-space: nowrap;
                opacity: 1;
            }

            #settings-panel .control-btn#ui-lang-switch-mobile .ui-lang-globe {
                width: 20px;
                height: 20px;
            }

            #settings-panel .control-btn#ui-lang-switch-mobile .ui-lang-code {
                font-size: 12px;
            }

            /* Мобильный выбор языка — такой же центрированный диалог, как у
               темы. Раньше меню раскрывалось вверх от кнопки и, поскольку
               панель настроек прижата к правому краю, обрезалось этим краем
               вместе с названиями языков. Диалог по центру экрана от ширины
               панели не зависит (см. #settings-panel .theme-dropdown). */
            #settings-panel .ui-lang-dropdown {
                position: fixed;
                left: 50%;
                top: 50%;
                right: auto;
                bottom: auto;
                transform: translate(-50%, -50%) scale(0.88);
                transform-origin: center center;
                pointer-events: none;
                opacity: 0;
                min-width: 260px;
                max-width: min(80vw, 320px);
                border-radius: 16px;
                padding: 0;
                display: flex;
                flex-direction: column;
                overflow: hidden;
                transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.3, 0.64, 1);
                z-index: 260;
            }

            #settings-panel .ui-lang-dropdown.open {
                transform: translate(-50%, -50%) scale(1);
                opacity: 1;
                pointer-events: auto;
            }

            /* Пункты в диалоге крупнее десктопных: те же размеры, что у тем. */
            #settings-panel .ui-lang-dropdown .ui-lang-item {
                padding: 14px 20px;
                font-size: 15px;
                border-radius: 0;
                border-bottom: 0.5px solid var(--c-border);
                justify-content: space-between;
                gap: 12px;
                min-height: 52px;
            }

            #settings-panel .ui-lang-dropdown .ui-lang-item:first-child {
                border-radius: 16px 16px 0 0;
            }

            #settings-panel .ui-lang-dropdown .ui-lang-item:last-child {
                border-bottom: none;
            }

            /* Наведение в диалоге не заливает пункт акцентом: на тач-экране
               это состояние залипает после выбора (как у тем). */
            #settings-panel .ui-lang-dropdown .ui-lang-item:hover {
                background: rgba(0, 0, 0, 0.05);
                color: var(--c-text);
            }

            body.theme-dark #settings-panel .ui-lang-dropdown .ui-lang-item:hover {
                background: rgba(255, 255, 255, 0.07);
            }

            #settings-panel .ui-lang-dropdown .ui-lang-item.active .ui-lang-name {
                color: var(--c-accent);
                font-weight: 600;
            }

            /* Галочка уезжает вправо, как в диалоге тем. */
            #settings-panel .ui-lang-dropdown .ui-lang-item .ui-lang-check {
                width: auto;
                font-size: 16px;
                order: 2;
                color: var(--c-accent);
                font-weight: 700;
            }
            body[data-has-fr="1"] #fr-toggle-mobile {
                opacity: 1;
            }
            body.bilingual #fr-toggle-mobile {
                opacity: 1;
                color: var(--c-accent, #2f6db3);
                background: var(--c-accent-weak, #e8f2ff);
                border-color: var(--c-accent, #2f6db3);
            }

            #toggle-search-header {
                display: flex;
            }

            .search-wrapper {
                display: block;
                margin-bottom: 0;
            }

            .search-close-btn {
                display: flex;
            }

            /* Show settings button on mobile */
            #toggle-settings-header {
                display: flex;
            }

            #control-panel-toggle,
            #control-panel {
                display: none !important;
            }

            body.control-panel-hidden #control-panel {
                display: none !important;
            }

            .text-display-wrapper {
                display: none !important;
            }

            #settings-panel .theme-wrapper {
                position: static;
                width: 100%;
            }

            /* Centred dialog on mobile */
            #settings-panel .theme-dropdown {
                position: fixed;
                left: 50%;
                top: 50%;
                right: auto;
                bottom: auto;
                transform: translate(-50%, -50%) scale(0.88);
                transform-origin: center center;
                pointer-events: none;
                opacity: 0;
                min-width: 260px;
                max-width: min(80vw, 320px);
                border-radius: 16px;
                padding: 0;
                display: flex;
                flex-direction: column;
                overflow: hidden;
                transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.3, 0.64, 1);
                z-index: 260;
            }

            #settings-panel .theme-dropdown.open {
                transform: translate(-50%, -50%) scale(1);
                opacity: 1;
                pointer-events: auto;
            }

            #settings-panel .theme-dropdown .theme-dialog-header {
                display: flex;
            }

            #settings-panel .theme-dropdown .theme-dropdown-item {
                padding: 14px 20px;
                font-size: 15px;
                border-radius: 0;
                border-bottom: 0.5px solid var(--c-border);
                justify-content: space-between;
                gap: 12px;
                min-height: 52px;
            }

            #settings-panel .theme-dropdown .theme-dropdown-item:first-child {
                border-radius: 16px 16px 0 0;
            }

            #settings-panel .theme-dropdown .theme-dropdown-item.active .theme-item-label {
                color: var(--c-accent);
                font-weight: 600;
            }

            #settings-panel .theme-dropdown .theme-dropdown-item:last-child {
                border-bottom: none;
            }

            #settings-panel .theme-dropdown .theme-dropdown-item:hover {
                background: rgba(0, 0, 0, 0.05);
                color: var(--c-text);
            }

            body.theme-dark #settings-panel .theme-dropdown .theme-dropdown-item:hover {
                background: rgba(255, 255, 255, 0.07);
            }

            #settings-panel .theme-dropdown .theme-dropdown-item:hover .theme-check {
                color: var(--c-text);
            }

            #settings-panel .theme-dropdown .theme-dropdown-item:hover .theme-swatch {
                box-shadow: none;
            }

            #settings-panel .theme-dropdown .theme-dropdown-item .theme-check {
                width: auto;
                font-size: 16px;
                order: 2;
                color: var(--c-accent);
                font-weight: 700;
            }

            #settings-panel .theme-dropdown .theme-dropdown-item .theme-swatch {
                width: 18px;
                height: 18px;
            }

            #settings-panel .theme-dropdown .theme-dropdown-item .theme-item-label {
                display: flex;
                align-items: center;
                gap: 12px;
                flex: 1;
            }

            /* Settings panel — right sidebar */
            #settings-panel {
                display: flex;
                flex-direction: column;
                position: fixed;
                top: 60px;
                right: -64px;
                bottom: 0;
                width: 64px;
                max-width: 75vw;
                background: var(--c-bg);
                box-shadow: -2px 0 12px var(--c-shadow);
                z-index: 260;
                padding: 12px 0;
                transition: right 0.3s ease;
                overflow-y: auto;
            }

            #settings-panel.open {
                right: 0;
            }

            #settings-panel .control-btn {
                width: 40px;
                height: 40px;
            }

            #settings-panel .control-btn svg {
                width: 22px;
                height: 22px;
            }

            #settings-panel .control-btn .theme-icon {
                width: 22px;
                height: 22px;
            }

            #settings-panel .control-btn {
                margin: 4px auto;
            }

            .width-control {
                display: none !important;
            }

            .ru-handle {
                display: none !important;
            }

            .toggle-panel-btn {
                display: none;
            }

            .section h1 { font-size: clamp(1.5rem, 4.5vw, 2rem); }
            .section h2 { font-size: clamp(1.3rem, 4vw, 1.6rem); }
            .section h3 { font-size: clamp(1.1rem, 3.2vw, 1.4rem); }
            .section h4 { font-size: clamp(1rem, 3vw, 1.2rem); }

            p { line-height: 1.7; }

            table, pre {
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                display: block;
                max-width: 100%;
            }

            img {
                max-width: 100%;
                height: auto;
            }

            blockquote {
                margin-left: 0;
                padding-left: 16px;
                max-width: 100%;
                overflow-wrap: break-word;
                word-wrap: break-word;
            }

            .section {
                overflow-x: hidden;
                overflow-wrap: break-word;
                word-wrap: break-word;
            }

            /* Навигация между страницами */
            #content > div[style*="justify-content: space-between"] {
                font-size: 0.9em;
            }

            /* Сноски — выравниваем с основным текстом */
            .footnotes ol {
                margin-left: 0;
                padding-left: 0;
                list-style-position: outside;
            }

            .footnotes li.fn-item {
                margin-left: 0;
            }

            /* Сноски */
            #footnote-tooltip {
                max-width: 90vw;
                left: 5vw !important;
                right: 5vw !important;
                box-sizing: border-box;
            }

            /* Навигация — предотвращаем overflow */
            #content > div[style*="justify-content"] {
                max-width: 100%;
                box-sizing: border-box;
                overflow: hidden;
            }

            /* Mini-header on scroll */
            #mini-header {
                display: none;
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                height: 28px;
                background: var(--c-bg);
                z-index: 249;
                align-items: center;
                padding: 0 12px;
                font-size: 0.65rem;
                color: var(--c-text-muted);
                border-bottom: 1px solid var(--c-mini-border);
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                cursor: pointer;
            }

            #corpus-title {
                transition: transform 0.3s ease;
            }

            #content {
                transition: top 0.3s ease;
            }

            body.header-collapsed #corpus-title {
                transform: translateY(-100%);
            }

            body.header-collapsed #mini-header {
                display: flex;
            }

            body.header-collapsed #content {
                top: 28px;
            }

            body.header-collapsed.control-panel-hidden #content {
                top: 28px;
            }

            body.header-collapsed #toc {
                top: 28px;
            }

            body.header-collapsed #search-panel {
                top: 28px;
            }

            body.header-collapsed #settings-panel {
                top: 28px;
            }
        }

        /* ===== MOBILE: max-width 768px ===== */
        @media (max-width: 768px) {
            #toc a {
                font-size: 15px;
                padding: 4px 6px;
            }

            /* On small screens page numbers are hidden, so keep title links full-width. */
            .root-toc-item > a,
            .root-toc-item:has(.root-toc-page) > a {
                flex: 1 1 auto;
                max-width: 100%;
            }

            .root-toc-page {
                display: none;
            }

            /* No page numbers on mobile → no dotted leader either. */
            .root-toc-item:has(.root-toc-page) {
                background-image: none;
            }

            .search-results-container {
                padding: 16px;
            }

            #search-input {
                font-size: 16px; /* предотвращает zoom на iOS */
            }
        }

        /* ===== MOBILE: max-width 480px ===== */
        @media (max-width: 480px) {
            #corpus-title h1 {
                font-size: 1rem;
            }
        }

        /* ===== BILINGUAL (FR/RU) ===== */

        /* FR toggle button — always visible, 2 visual states: disabled / enabled */
        .fr-toggle-btn {
            /* Кнопки-элементы формы не наследуют шрифт: браузер ставит
               свой системный, и FR выбивалась из выбранного на сайте
               шрифта. inherit возвращает её в общий стек. */
            font-family: inherit;
            width: 32px;
            height: 32px;
            border: none;
            background: transparent;
            cursor: default;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 6px;
            transition: all 0.2s ease;
            color: var(--c-text);
            padding: 0;
            font-weight: 700;
            /* Крупнее прежних 0.8rem: рядом иконки 24px. */
            font-size: 0.95rem;
            letter-spacing: 0.5px;
            line-height: 1;
            opacity: 0.5;
            position: relative;
        }
        /* Первая секция («Минский корпус»): это материалы проекта, а не
           книга Генона, поэтому кнопок параллельного текста и загрузки
           там нет. Скрываем по атрибуту на <body>, а не удалением узла,
           чтобы состояние корректно менялось и при SPA-переходах.
           Попап загрузки прячем заодно: иначе, открытый до перехода,
           он остался бы висеть без своей кнопки. */
        body[data-corpus-intro="1"] #fr-toggle,
        body[data-corpus-intro="1"] #fr-toggle-mobile,
        body[data-corpus-intro="1"] #epub-toggle,
        body[data-corpus-intro="1"] #epub-toggle-mobile,
        body[data-corpus-intro="1"] #epub-popup {
            display: none !important;
        }
        /* Enabled state: page has FR content (same look whether activated or not) */
        body[data-has-fr="1"] .fr-toggle-btn,
        body.bilingual .fr-toggle-btn {
            color: var(--c-text);
            opacity: 1;
            cursor: pointer;
        }
        body[data-has-fr="1"] .fr-toggle-btn:hover,
        body.bilingual .fr-toggle-btn:hover {
            background: var(--c-btn-hover);
        }
        /* FR unavailable popup */
        .fr-unavailable-popup {
            position: absolute;
            top: calc(100% + 6px);
            left: 50%;
            transform: translateX(-50%);
            white-space: nowrap;
            background: #333;
            color: #fff;
            padding: 4px 10px;
            border-radius: 4px;
            font-size: 0.75rem;
            font-weight: 400;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.2s ease;
            z-index: 1000;
            box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        }
        .fr-unavailable-popup.show {
            opacity: 1;
        }
        body.theme-sepia .fr-unavailable-popup {
            background: #5c4b37;
            color: #f7f1e3;
        }

        /* FR panel (hidden by default) */
        .fr-panel {
            display: none;
        }

        /* Bilingual mode: aligned two-column layout using display:contents */
        body.bilingual #content {
            --bilingual-pad: 6%;
            left: 0;
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-auto-flow: dense;
            gap: 0 2em;
            padding-left: var(--bilingual-pad);
            padding-right: var(--bilingual-pad);
        }

        body.bilingual .fr-panel {
            display: contents !important;
        }

        body.bilingual .fr-panel > * {
            grid-column: 1;
            padding-right: 1em;
            border-right: 1px solid var(--c-border, #e0e0e0);
        }

        /* Во французском дереве содержимое панелей зеркально: в .fr-panel
           лежит русский перевод, а французский оригинал — в .section.
           Порядок колонок при этом должен остаться прежним: французский
           слева, русский справа. Поэтому меняем колонки местами, а
           разделительную линию переносим на левую (французскую) колонку. */
        body.bilingual[data-ui-lang="fr"] .fr-panel > * {
            grid-column: 2;
            padding-right: 0;
            padding-left: 1em;
            border-right: none;
        }

        body.bilingual[data-ui-lang="fr"] #content > .section > * {
            grid-column: 1;
            padding-right: 1em;
            border-right: 1px solid var(--c-border, #e0e0e0);
        }

        /* Keep FR illustrations centered within the FR half-column. */
        body.bilingual .fr-panel img {
            display: block;
            margin-left: auto;
            margin-right: auto;
        }
        body.bilingual .fr-panel > img {
            justify-self: center;
            max-width: calc(100% - 1em);
            border-right: none;
            padding-right: 0;
        }

        /* Keep FR figure scale consistent with RU illustration sizing in books. */
        body.bilingual .fr-panel img[alt^="Figure"],
        body.bilingual .fr-panel img[alt^="Figures"],
        body.bilingual .fr-panel img[alt^="Изображение"] {
            width: auto;
            max-width: 50%;
            max-height: 700px;
        }

        body.bilingual #content > .section img[alt^="Изображение"] {
            width: auto;
            max-width: 50%;
            max-height: 700px;
        }

        /* Chapter 8 (SSS): RU-сканы шире французских, а правило
           img[alt^="Изображение"] режет их до 50 % колонки — из-за этого
           они выглядели вдвое мельче парных FR-рисунков. Задаём высоту
           по французскому оригиналу. */
        body.bilingual .fr-panel img[alt="fig. 1-2"],
        body.bilingual #content > .section img[alt="Изображение 62"] {
            height: min(190px, 24vw);
            width: auto;
            max-width: 100%;
            max-height: 190px;
        }

        body.bilingual .fr-panel img[alt="fig. 3-4"],
        body.bilingual #content > .section img[alt="Изображение 63"] {
            height: min(216px, 27vw);
            width: auto;
            max-width: 100%;
            max-height: 216px;
        }

        body.bilingual .fr-panel img[alt="fig. 5-6"],
        body.bilingual #content > .section img[alt="Изображение 64"] {
            height: min(223px, 28vw);
            width: auto;
            max-width: 100%;
            max-height: 223px;
        }

        /* Chapter 10 (SSS): keep paired RU/FR figures the same rendered height. */
        body.bilingual .fr-panel img[alt="fig. 7"],
        body.bilingual #content > .section img[alt="Изображение 65"] {
            height: min(354px, 42vw);
            width: auto;
            max-width: 100%;
            max-height: 354px;
        }

        body.bilingual .fr-panel img[alt="fig. 8"],
        body.bilingual #content > .section img[alt="Изображение 66"],
        body.bilingual .fr-panel img[alt="fig. 9"],
        body.bilingual #content > .section img[alt="Изображение 67"] {
            height: min(336px, 42vw);
            width: auto;
            max-width: 100%;
            max-height: 336px;
        }

        body.bilingual .fr-panel img[alt="fig. 10"],
        body.bilingual #content > .section img[alt="Изображение 68"] {
            height: min(336px, 42vw);
            width: auto;
            max-width: 100%;
            max-height: 336px;
        }

        body.bilingual .fr-panel img[alt="fig. 12"],
        body.bilingual #content > .section img[alt="Изображение 70"] {
            height: min(350px, 42vw);
            width: auto;
            max-width: 100%;
            max-height: 350px;
        }

        body.bilingual .fr-panel img[alt="fig. 13"],
        body.bilingual #content > .section img[alt="Изображение 71"] {
            height: min(300px, 42vw);
            width: auto;
            max-width: 100%;
            max-height: 300px;
        }

        /* ch. 43, 45: landscape RU scans — height chosen so auto-width < column */
        body.bilingual .fr-panel img[alt="fig. 14"],
        body.bilingual #content > .section img[alt="Изображение 72"] {
            height: 250px;
            width: auto;
            max-width: 100%;
        }

        body.bilingual .fr-panel img[alt="fig. 15"],
        body.bilingual #content > .section img[alt="Изображение 73"],
        body.bilingual .fr-panel img[alt="fig. 16"],
        body.bilingual #content > .section img[alt="Изображение 74"] {
            height: 200px;
            width: auto;
            max-width: 100%;
        }

        /* ch. 52 (Arbre et Vajra): FR portrait, RU landscape */
        body.bilingual .fr-panel img[alt="fig. 17"],
        body.bilingual #content > .section img[alt="Изображение 75"] {
            height: 280px;
            width: auto;
            max-width: 100%;
        }

        body.bilingual .fr-panel > h1 {
            text-align: center;
            font-size: 2.2em;
            border-bottom: 2px solid var(--c-accent);
            padding: 30px 1em 5px 0;
            margin: 0 0 5px 0;
            color: var(--c-text);
        }

        body.bilingual .fr-panel > h2,
        body.bilingual .fr-panel > h3,
        body.bilingual .fr-panel > h4 {
            text-align: center;
            font-size: 1.8em;
            padding: 25px 1em 12px 0;
            margin: 30px 0 15px 0;
            color: var(--c-text);
        }

        /* In bilingual mode FR and RU can use different heading levels for chapters.
           Normalize chapter heading look whenever chapter spans are present. */
        body.bilingual .fr-panel > h2:has(.chapter-head-number),
        body.bilingual .fr-panel > h3:has(.chapter-head-number),
        body.bilingual .fr-panel > h4:has(.chapter-head-number),
        body.bilingual #content > .section > h2:has(.chapter-head-number),
        body.bilingual #content > .section > h3:has(.chapter-head-number),
        body.bilingual #content > .section > h4:has(.chapter-head-number) {
            font-size: 1.8em;
            padding-top: 25px;
            padding-bottom: 12px;
            margin-top: 30px;
            margin-bottom: 15px;
            line-height: 1.25;
        }

        /* THUPR: chapter titles use h3 in FR and h2 in RU; force identical look */
        body.bilingual .fr-panel > h3[id^="section-3-fr-h3-"],
        body.bilingual #content > .section#section-3 > h2[id^="section-3-h2-"],
        body.bilingual #content > .section#section-3 > h3[id^="section-3-h3-"] {
            font-size: 1.8em;
            padding-top: 25px;
            padding-bottom: 12px;
            margin-top: 30px;
            margin-bottom: 15px;
            line-height: 1.25;
        }

        body.bilingual #content > .section {
            display: contents;
        }

        body.bilingual #content > .section > h1 {
            margin-bottom: 5px;
            padding-bottom: 5px;
        }

        body.bilingual #content > .section > * {
            grid-column: 2;
        }

        /* Root TOC alignment in bilingual mode.
           The TOC structure and inner <ul> become display:contents so each <li>
           (and the <h2> title) participates directly in the #content grid.
           Each li and the title carry inline --toc-row, which is mapped onto
           grid-row here. FR/RU items at the same --toc-row share a grid row
           and therefore share a baseline — guaranteed 1:1 alignment without JS. */
        body.bilingual .fr-panel > .root-toc-structure,
        body.bilingual #content > .section > .root-toc-structure,
        body.bilingual .fr-panel .root-toc-list,
        body.bilingual #content > .section .root-toc-list {
            display: contents;
        }

        body.bilingual .fr-panel .root-toc-title,
        body.bilingual .fr-panel .root-toc-item {
            grid-column: 1;
        }
        body.bilingual #content > .section .root-toc-title,
        body.bilingual #content > .section .root-toc-item {
            grid-column: 2;
        }

        /* Во французском дереве содержимое панелей зеркально (в .fr-panel —
           русский перевод), поэтому колонки оглавления меняем местами так же,
           как это сделано выше для обычного содержимого панелей. Без этого
           заголовок книги оставался в своей колонке, а оглавление под ним
           уезжало в чужую. */
        body.bilingual[data-ui-lang="fr"] .fr-panel .root-toc-title,
        body.bilingual[data-ui-lang="fr"] .fr-panel .root-toc-item {
            grid-column: 2;
        }
        body.bilingual[data-ui-lang="fr"] #content > .section .root-toc-title,
        body.bilingual[data-ui-lang="fr"] #content > .section .root-toc-item {
            grid-column: 1;
        }

        body.bilingual .root-toc-title,
        body.bilingual .root-toc-item {
            grid-row: var(--toc-row, auto);
            align-self: start;
        }
        body.bilingual .root-toc-item {
            margin: 0;
            list-style: none;
        }

        /* Center the title within its column (was provided by the flex parent
           which no longer renders a box under display:contents). */
        body.bilingual .root-toc-title {
            justify-self: center;
        }

        /* When the structure/list collapse via display:contents, the FR border
           that used to live on .fr-panel > * no longer reaches these items —
           re-apply it directly so the column divider stays continuous. */
        body.bilingual .fr-panel .root-toc-item {
            padding-right: 1em;
            border-right: 1px solid var(--c-border, #e0e0e0);
        }
        body.bilingual .fr-panel .root-toc-title {
            padding-right: 1em !important;
            border-right: 1px solid var(--c-border, #e0e0e0) !important;
        }

        body.bilingual #content > .fr-panel > .footnotes,
        body.bilingual #content > .section > .footnotes {
            grid-row: 9999;
        }

        /* Bilingual footnotes grid: when JS sets display:contents on .footnotes/.ol,
           individual li items become main-grid items and need column assignment + FR border */
        body.bilingual .fr-panel .footnotes li.fn-item {
            grid-column: 1;
            padding-right: 1em;
            border-right: none;
        }
        body.bilingual .fr-panel .footnotes[style*="display: contents"] li.fn-item {
            border-right: 1px solid var(--c-border, #e0e0e0);
        }
        body.bilingual #content > .section .footnotes li.fn-item {
            grid-column: 2;
        }

        body.bilingual .page-nav {
            grid-column: 1 / -1;
            grid-row: 10000;
            display: flex;
            justify-content: space-between;
            width: 100%;
            max-width: 100% !important;
            box-sizing: border-box;
        }

        /* Bilingual width handles — short lines hanging from header border */
        .bilingual-handle {
            display: none;
            position: fixed;
            top: 60px;
            width: 1px;
            height: 14px;
            background-color: var(--c-border, #e0e0e0);
            cursor: col-resize;
            z-index: 201;
            border-radius: 0;
            transition: background-color 0.15s;
            padding: 0 6px;
            background-clip: content-box;
            box-sizing: content-box;
        }
        .bilingual-handle:hover,
        .bilingual-handle.dragging {
            background-color: var(--c-accent, #4a90d9);
        }
        body.bilingual .bilingual-handle {
            display: block;
        }
        .bilingual-handle-left {
            left: calc(var(--bilingual-pad, 6%) - 7px);
        }
        .bilingual-handle-right {
            right: calc(var(--bilingual-pad, 6%) - 7px);
        }

        /* Hide width handles when TOC is open */
        body:not(.toc-hidden) .ru-handle,
        body:not(.toc-hidden) .bilingual-handle {
            display: none !important;
        }

        /* RU-only width handles */
        .ru-handle {
            position: fixed;
            top: 60px;
            width: 1px;
            height: 14px;
            background-color: var(--c-border, #e0e0e0);
            cursor: col-resize;
            z-index: 201;
            transition: background-color 0.15s;
            padding: 0 6px;
            background-clip: content-box;
            box-sizing: content-box;
        }
        .ru-handle:hover,
        .ru-handle.dragging {
            background-color: var(--c-accent, #4a90d9);
        }
        body.bilingual .ru-handle {
            display: none;
        }

          /* Mobile bilingual: switch between FR and RU with a floating button.
              Keep breakpoint aligned with isMobile() in JS (max-width: 1024px). */
          @media (max-width: 1024px) {
            /* Reset desktop bilingual grid — keep normal mobile layout */
            body.bilingual #content {
                display: block !important;
                grid-template-columns: none !important;
                grid-auto-flow: unset !important;
                gap: 0 !important;
                padding: 0 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
            }
            body.bilingual #content > .section {
                display: block !important;
            }
            body.bilingual #content > .section > * {
                grid-column: unset;
            }
            body.bilingual #content > .section > h1 {
                padding: 30px 0 10px 0;
                margin: 0 0 30px 0;
                font-size: clamp(1.5rem, 4.5vw, 2rem);
            }
            /* Default: show RU, hide FR */
            body.bilingual .fr-panel {
                display: none !important;
            }
            /* Swipe state: show FR, hide RU */
            body.bilingual.show-fr .fr-panel {
                display: block !important;
            }
            body.bilingual.show-fr .fr-panel > * {
                grid-column: unset;
                padding-right: 0;
                border-right: none;
            }
            /* Reset FR headings to match RU style on mobile */
            body.bilingual .fr-panel > h1 { font-size: clamp(1.5rem, 4.5vw, 2rem); padding: 25px 0 12px; margin: 30px 0 15px; }
            body.bilingual .fr-panel > h2,
            body.bilingual .fr-panel > h3,
            body.bilingual .fr-panel > h4 {
                font-size: clamp(1.3rem, 4vw, 1.6rem);
                padding: 25px 0 12px;
                margin: 30px 0 15px;
            }
            /* Keep the RU section container for layout/nav, but hide RU content in FR mode. */
            body.bilingual.show-fr #content > .section > *:not(.page-nav) {
                display: none !important;
            }
            /* Keep page nav always visible */
            body.bilingual .page-nav,
            body.bilingual.show-fr .page-nav {
                display: flex !important;
            }
            body.bilingual .bilingual-handle {
                display: none;
            }

            #mobile-lang-switch {
                display: none;
                position: fixed;
                right: 12px;
                bottom: calc(74px + env(safe-area-inset-bottom, 0px));
                z-index: 220;
                border: 1px solid var(--c-border, #d6dbe4);
                border-radius: 999px;
                background: var(--c-bg, #fff);
                color: var(--c-text, #1e2430);
                font-size: 0.8rem;
                font-weight: 700;
                letter-spacing: 0.02em;
                line-height: 1;
                padding: 10px 12px;
                box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
            }

            body.bilingual.toc-hidden #mobile-lang-switch {
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            body.bilingual:not(.toc-hidden) #mobile-lang-switch {
                display: none !important;
            }

            #mobile-lang-switch:active {
                transform: translateY(1px);
            }
        }
    
        @font-face {
            font-family: 'Guenon Text Symbols';
            src: url(data:font/ttf;base64,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) format('truetype');
            font-display: block;
        }
        .text-symbol {
            font-family: 'Guenon Text Symbols', 'PT Serif', serif;
            font-style: normal;
            font-variant-emoji: text;
        }
