@font-face {
    font-family: "Rubik";
    src: url("../fonts/Rubik/Rubik-VariableFont_wght.19b0e10fa60b.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
}

@font-face {
    font-family: "Rubik";
    src: url("../fonts/Rubik/Rubik-Italic-VariableFont_wght.2cd46bf421b8.woff2") format("woff2-variations");
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
}

:root {
    color-scheme: light;
    --bg: #ffffff;
    --surface: #f6f8ff;
    --panel: rgba(255, 255, 255, 0.96);
    --text: #071a4d;
    --muted: rgba(7, 26, 77, 0.68);
    --line: #1a4dff;
    --soft-line: rgba(26, 77, 255, 0.28);
    --shadow: 0 24px 70px rgba(26, 77, 255, 0.12);
    --frame: min(1120px, calc(100% - 2rem));
    --page-gap: 1.75rem;
    --page-intro-width: 820px;
    --page-lead-size: 1.15rem;
    --accent-panel-bg: linear-gradient(
        225deg,
        rgba(26, 77, 255, 0.12),
        rgba(255, 255, 255, 0.86) 50%,
        rgba(246, 248, 255, 0.95)
    );
}

* {
    box-sizing: border-box;
}

html {
    scrollbar-gutter: stable;
}

body {
    margin: 0;
    font-family: Rubik, "Segoe UI", sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at top right, rgba(26, 77, 255, 0.11), transparent 24%),
        radial-gradient(circle at bottom left, rgba(26, 77, 255, 0.07), transparent 26%),
        linear-gradient(180deg, var(--surface), var(--bg));
    background-attachment: fixed;
    background-size: 100vw 100vh;
    min-height: 100vh;
    letter-spacing: 0;
    display: flex;
    flex-direction: column;
    font-size: 1rem;
}

a {
    color: inherit;
}

.markdown-content p:first-child,
.markdown-content h1:first-child,
.markdown-content h2:first-child,
.markdown-content h3:first-child,
.markdown-content h4:first-child,
.markdown-content h5:first-child,
.markdown-content h6:first-child,
.markdown-content ul:first-child,
.markdown-content ol:first-child,
.markdown-content pre:first-child,
.markdown-content blockquote:first-child {
    margin-top: 0;
}

.markdown-content p:last-child,
.markdown-content h1:last-child,
.markdown-content h2:last-child,
.markdown-content h3:last-child,
.markdown-content h4:last-child,
.markdown-content h5:last-child,
.markdown-content h6:last-child,
.markdown-content ul:last-child,
.markdown-content ol:last-child,
.markdown-content pre:last-child,
.markdown-content blockquote:last-child {
    margin-bottom: 0;
}

.markdown-content ul,
.markdown-content ol {
    padding-left: 1.25rem;
}

.markdown-content h1,
.markdown-content h2,
.markdown-content h3,
.markdown-content h4,
.markdown-content h5,
.markdown-content h6 {
    color: var(--text);
    line-height: 1.25;
}

.site-shell {
    width: var(--frame);
    margin: 0 auto;
}

.page-content {
    padding: 1.35rem 0 4rem;
}
