:root {
    --color-bg: #001122;
    --color-text: lightgray;
    --color-accent: #8DB9EF;
    --color-link: #8deaef;
    --color-code-bg: #000011;
    --color-code-text: #fff;
    --color-pagi: #b1cfd8;
}

/* Основные секции */

html {
    border-top: 10px solid var(--color-accent);;
    padding: 20px;
}

body {
    width: 70%;
    /* font-family: -apple-system, system-ui, blinkmacsystemfont, Segoe UI, roboto, oxygen, ubuntu, Helvetica Neue, arial, sans-serif; */
    font-family: sans-serif;
    font-size: 1.2em;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    align-items: flex-start;
    background-color: var(--color-bg);
    color: var(--color-text);
}

footer, main {
    display: flex;
    flex-direction: column;
}

footer {
    flex: 0 0 30%;
}

main {
    flex: 0 0 70%;
}

/* Основные элементы */

div {
    text-align: left;
    box-sizing: border-box;
    width: 100%;
    padding: 0 20px;
    overflow-wrap: anywhere;
}

.pagi {
    color: var(--color-pagi);
    text-align: center;
    background-color: transparent;
    font-size: 1.5em;
}

h1 {
    color: var(--color-accent);
    font-size: 1.5em;
    text-align: center;
    position: relative;
}

a {
    color: var(--color-link);
}

a:hover {
    text-decoration: none;
}

pre {
    padding: 10px;
    background: var(--color-code-bg);
    color: var(--color-code-text);
    overflow-x: auto;
    white-space: pre;
    word-wrap: normal;
    width: 0;
    min-width: calc(100% - 22px);
}

.pic-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.pic {
    width: 100%;
    height: 100%;
}

.pulse-container {
    text-align: center;
}

.pulse-text {
    font-weight: bold;
    color: var(--color-accent);
    animation: scalePulse 2s infinite ease-in-out;
}

@keyframes scalePulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

@media (max-width: 800px) {
    body {
        width: 100%;
        margin-bottom: 100px;
    }

    div {
        padding: 0;
    }

    footer {
        margin-top: 40px;
    }

    footer, main {
        flex: 1 100%;
    }

    details > summary {
        cursor: default;
    }

    details[open] > summary {
        cursor: default;
    }
}