        /* PT Sans (regular) — modern set */
        @font-face {
            font-family: "PT Sans";
            font-style: normal;
            font-weight: 400;
            font-display: swap;
            src:
            local("PT Sans"),
            local("PTSans-Regular"),
            url("/assets/fonts/pt-sans-v16-latin_cyrillic-regular.woff2") format("woff2"),
            url("/assets/fonts/pt-sans-v16-latin_cyrillic-regular.woff") format("woff");
        }

        :root {
            --site-font: "PT Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial,
            "Apple Color Emoji", "Segoe UI Emoji";

            --text: rgb(0 0 0);                /* black */
            --text-strong: rgb(0 0 0);         /* black */
            --muted: rgb(71 85 105);           /* slate-600 */
            --link: rgb(15 23 42);             /* slate-900 */
            --link-underline: rgb(203 213 225);/* slate-300 */
            --link-underline-hover: rgb(100 116 139); /* slate-500 */

            --border: rgb(226 232 240);        /* slate-200 */
            --surface: rgb(255 255 255);       /* white */
            --surface-soft: rgb(248 250 252);  /* slate-50 */

            --radius-sm: 10px;
            --radius-md: 16px;

            --space-1: 0.35rem;
            --space-2: 0.75rem;
            --space-3: 0.9rem;
            --space-4: 1.2rem;
            --space-5: 1.8rem;
        }

        body {
            font-family: var(--site-font);
            color: var(--text);
            font-kerning: normal;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
        }

        ::selection {
            background: rgb(226 232 240);
        }

        .prose-like > * + * {
            margin-top: var(--space-3);
        }

        .prose-like p {
            color: var(--text);
        }

        .prose-like strong {
            color: var(--text-strong);
            font-weight: 600;
        }

        .prose-like h2 {
            margin-top: var(--space-5);
            font-size: 1.25rem;
            line-height: 1.5;
            font-weight: 600;
            color: var(--text-strong);
        }

        .prose-like ul,
        .prose-like ol {
            padding-left: 1.2rem;
            color: var(--text);
        }

        .prose-like ul {
            list-style: disc;
        }

        .prose-like ol {
            list-style: decimal;
        }

        .prose-like li {
            margin-top: var(--space-1);
        }

        .prose-like a {
            color: var(--link);
            text-decoration: underline;
            text-decoration-color: var(--link-underline);
            text-decoration-thickness: 1px;
            text-underline-offset: 0.18em;
        }

        .prose-like a:hover {
            text-decoration-color: var(--link-underline-hover);
        }

        .prose-like a:focus-visible {
            outline: 2px solid rgb(148 163 184); /* slate-400 */
            outline-offset: 2px;
            border-radius: 6px;
        }

        .prose-like :not(pre) > code {
            font-size: 0.95em;
            padding: 0.1em 0.35em;
            border: 1px solid var(--border);
            border-radius: 0.5rem;
            background: var(--surface-soft);
        }

        .prose-like pre {
            margin-top: 1rem;
            padding: 0.9rem 1rem;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: var(--surface-soft);
            overflow-x: auto;
            max-width: 100%;
            -webkit-overflow-scrolling: touch;
            tab-size: 2;
        }

        .prose-like pre code {
            display: block;
            padding: 0;
            border: 0;
            background: transparent;
            border-radius: 0;

            font-size: 0.95rem;
            line-height: 1.6;
            color: rgb(15 23 42);
            white-space: pre;
            word-break: normal;
        }

        .prose-like a[id] {
            scroll-margin-top: 6rem;
        }

        .figure {
            margin-top: var(--space-4);
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            overflow: hidden;
            background: var(--surface);
        }

        .figure img {
            width: 100%;
            height: auto;
            display: block;
        }

        .figure figcaption {
            padding: var(--space-2) 1rem;
            font-size: 0.875rem;
            color: var(--muted);
            border-top: 1px solid var(--border);
            background: var(--surface-soft);
        }

        .prose-like blockquote {
            margin-top: var(--space-4);
            padding: 0.75rem 1rem;
            border-left: 4px solid var(--border);
            background: var(--surface-soft);
            border-radius: var(--radius-sm);
            color: rgb(30 41 59);
        }

        .prose-like hr {
            margin-top: var(--space-5);
            border: 0;
            border-top: 1px solid var(--border);
        }