@font-face {
        font-family: "SetiRobotoCondensed";
        src: url("./fonts/RobotoCondensed-Light.woff2") format("woff2");
        font-weight: 300;
        font-style: normal;
        font-display: swap;
}

@font-face {
        font-family: "SetiRobotoCondensed";
        src: url("./fonts/RobotoCondensed-LightItalic.woff2") format("woff2");
        font-weight: 300;
        font-style: italic;
        font-display: swap;
}

@font-face {
        font-family: "SetiRobotoCondensed";
        src: url("./fonts/RobotoCondensed-Medium.woff2") format("woff2");
        font-weight: 500;
        font-style: normal;
        font-display: swap;
}

@font-face {
        font-family: "SetiRobotoCondensed";
        src: url("./fonts/RobotoCondensed-MediumItalic.woff2") format("woff2");
        font-weight: 500;
        font-style: italic;
        font-display: swap;
}

body {
        margin: 0;
        font-family: "SetiRobotoCondensed", "Arial Narrow", Arial, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
        font-weight: 300; /* базовый — Light */
}


/* Общий лейаут: меню слева, контент справа */
#menu {
        box-sizing: border-box;
        width: 400px;
        max-width: 100%;
        height: 100vh;

        /* ВСЕГДА показываем вертикальный скролл,
           чтобы ширина меню не менялась никогда */
        overflow-y: scroll;
        /* на всякий случай: резервируем место под полосу, где поддерживается */
        scrollbar-gutter: stable;

        border-right: 1px solid #ddd;
        padding: 8px 12px;
        background: #f7f7f7;
        float: left;
}

#content {
        margin-left: 410px;
        padding: 16px 24px;
        box-sizing: border-box;
}

/* Поиск */

.menu-search-wrapper {
        margin-bottom: 8px;
}

.menu-search-input {
        width: 100%;
        padding: 6px 8px;
        box-sizing: border-box;
        border: 1px solid #ccc;
        border-radius: 4px;
}

/* Дерево */

.menu-tree-root {
        margin-top: 10px;
}

.menu-node {
        margin: 5px 0 5px 0;      /* верхний уровень без сдвига */
}

/* вложенные уровни (подкатегории) смещаем */
.menu-children .menu-node {
        margin-left: 20px;
}

.menu-node-title {
        font-weight: 600;
        cursor: pointer;
        padding-bottom: 4px;
        margin-bottom: 4px;
        border-bottom: 1px solid #ccc;
}

.menu-items {
        list-style: none;
        margin: 4px 0 4px 20px;
        padding: 0;
}

.menu-item {
        margin-bottom: 6px;
        padding-bottom: 6px;
        border-bottom: 1px dashed #ccc;
}

.menu-item:has(.menu-item-button.selected) {
        background: #d0e4ff;
        border-left: 3px solid #4285f4;
        border-radius: 4px;
        padding-left: 3px;   /* чтобы текст не прилипал к полоске слева */
}

/* Кнопки калькуляторов */

.menu-item-button {
        display: block;
        width: 100%;
        text-align: left;
        padding: 4px 6px;
        border: none;
        border-radius: 4px;
        background: transparent;
        cursor: pointer;
        font: inherit;
}

.menu-item-button:hover {
        background: #e6e6e6;
}

.menu-item-button.selected {
        background: transparent;   /* фон уже на .menu-item */
        border-left: none;         /* полоска слева тоже на .menu-item */
}

/* Описание */

.menu-item-description {
        font-size: 0.8em;
        color: #666;
        margin-left: 6px;
        margin-top: 2px;
}

/* Результаты поиска */

.menu-search-results-list {
        margin-top: 8px;
}

.search-result {
        margin-bottom: 8px;
        padding-bottom: 6px;
        border-bottom: 1px dashed #ccc;
}

.search-result-path {
        font-size: 0.8em;
        color: #888;
        margin-left: 2px;
        margin-top: 2px;
}

.menu-search-empty {
        font-size: 0.9em;
        color: #666;
        margin-top: 8px;
}

/* Кнопки управления деревом (свернуть/развернуть всё) */

.menu-controls {
        margin: 4px 0 6px 0;
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
}

.menu-control-btn {
        font-size: 0.75em;
        padding: 2px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        background: #f0f0f0;
        cursor: pointer;
}

.menu-control-btn:hover {
        background: #e0e0e0;
}

/* MathJax (SVG) — общий масштаб формул */
mjx-container {
        font-size: 90%;
}