@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Questrial&display=swap');

:root {
    color-scheme: light;
    --ink: #071a33;
    --ink-soft: #42546f;
    --muted: #75839a;
    --navy: #06172b;
    --navy-2: #0a233f;
    --blue: #0865f5;
    --blue-dark: #004ed1;
    --blue-soft: #edf5ff;
    --orange: #ff6a00;
    --orange-dark: #e85800;
    --green: #079957;
    --green-soft: #eaf8f0;
    --red: #dc2638;
    --red-soft: #fff0f2;
    --amber: #a95b00;
    --amber-soft: #fff5e8;
    --line: #dbe4ef;
    --line-strong: #c8d4e3;
    --surface: #ffffff;
    --surface-soft: #f6f9fd;
    --canvas: #e9eef5;
    --shadow-lg: 0 28px 70px rgba(3, 20, 43, .18), 0 4px 16px rgba(3, 20, 43, .12);
    --shadow-sm: 0 8px 24px rgba(7, 26, 51, .07);
    --radius-lg: 14px;
    --radius-md: 10px;
    --radius-sm: 7px;
    --font-body: "Inter", "Aptos", sans-serif;
    --font-display: "Nunito", "Aptos Display", sans-serif;
    --font-brand: "Questrial", "Aptos", sans-serif;
    --topbar-height: 58px;
    --sidebar-width: 190px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    min-width: 320px;
    min-height: 100vh;
    color: var(--ink);
    background:
        radial-gradient(circle at 14% 10%, rgba(255, 255, 255, .95), transparent 35%),
        radial-gradient(circle at 85% 84%, rgba(8, 101, 245, .08), transparent 34%),
        var(--canvas);
    font-family: var(--font-body);
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }

.icon-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

*:focus-visible {
    outline: 3px solid rgba(8, 101, 245, .25);
    outline-offset: 2px;
}

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