@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
    --font: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

    --accent: #2F6BFF;
    --accent-dark: #1E4FD6;
    --accent-tint: #EAF0FF;

    --ink: #17203A;
    --ink-soft: #4A5265;
    --muted: #6B7280;

    --page: #FFFFFF;
    --surface: #F6F7FB;
    --border: #E9EBF1;

    --success: #16A34A;
    --danger: #DC2626;

    --dark: #141B2E;
    --dark-soft: #1B2338;

    --wrap: 1200px;
    --gutter: 24px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: var(--font);
    font-size: 16px;
    line-height: 1.6;
    color: var(--ink-soft);
    background: var(--page);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    color: var(--ink);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

p {
    margin: 0;
}

ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

a {
    color: var(--accent);
    text-decoration: none;
}

img, svg {
    max-width: 100%;
    display: block;
}

button {
    font: inherit;
    color: inherit;
    border: 0;
    background: none;
    cursor: pointer;
}

input, select, textarea {
    font: inherit;
    color: inherit;
}

code, pre, .mono {
    font-family: var(--font-mono);
}

:focus-visible {
    outline: 3px solid rgba(47, 107, 255, 0.45);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
