@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: dark;
    --bg: #020202;
    --surface: #060606;
    --panel: rgba(8, 8, 8, 0.95);
    --text: #ffffff;
    --muted: rgba(255, 255, 255, 0.72);
    --line: #ff2d21;
    --soft-line: rgba(255, 45, 33, 0.42);
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
    --frame: min(1120px, calc(100% - 2rem));
    --page-gap: 1.75rem;
    --page-intro-width: 820px;
    --page-lead-size: clamp(1.05rem, 1.6vw, 1.2rem);
    --accent-panel-bg: linear-gradient(
        135deg,
        rgba(255, 45, 33, 0.14),
        rgba(255, 255, 255, 0.03) 50%,
        rgba(255, 255, 255, 0.02)
    );
}

* {
    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(255, 45, 33, 0.12), transparent 24%),
        radial-gradient(circle at bottom left, rgba(255, 45, 33, 0.08), transparent 26%),
        linear-gradient(180deg, #050505, var(--bg));
    min-height: 100vh;
    letter-spacing: 0.01em;
    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;
}
