:root {
    color-scheme: light;

    --signal-50: #eef6fe;
    --signal-100: #d8ebfd;
    --signal-200: #b4d8fb;
    --signal-300: #83bef8;
    --signal-400: #4fa9f5;
    --signal-500: #2494f2;
    --signal-600: #1e7fd1;
    --signal-700: #166bb0;
    --signal-800: #145a92;
    --signal-900: #104c7c;
    --signal-950: #0a2d49;

    --ink-600: #2a6fa5;
    --ink-700: #1a5f94;
    --ink-800: #104c7c;
    --ink-850: #0c3350;
    --ink-900: #0a2d49;
    --ink-950: #061b2d;

    --cream: #f2f7fb;
    --cream-dim: #9bb2c6;

    --verdant: #41b345;

    --zinc-50: #fafafa;
    --zinc-100: #f4f4f5;
    --zinc-200: #e4e4e7;
    --zinc-300: #d4d4d8;
    --zinc-400: #a1a1aa;
    --zinc-500: #71717a;
    --zinc-600: #52525b;
    --zinc-700: #3f3f46;
    --zinc-900: #18181b;

    --rose-50: #fff1f2;
    --rose-300: #fda4af;
    --rose-600: #e11d48;
    --rose-700: #be123c;

    --emerald-50: #ecfdf5;
    --emerald-300: #6ee7b7;
    --emerald-700: #047857;

    --amber-50: #fef3c7;
    --amber-300: #fcd34d;
    --amber-400: #fbbf24;
    --amber-700: #b45309;
    --rose-400: #fb7185;

    --status-open: #c4320a;
    --status-progress: #166bb0;
    --status-done: #1e7a33;
    --status-open-bg: #fdece6;
    --status-progress-bg: #e4f0fd;
    --status-done-bg: #e6f5e6;

    --ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-back: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-exit: cubic-bezier(0.4, 0, 1, 1);
    --ease-std: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-spring: linear(
        0, 0.015, 0.055, 0.111, 0.177, 0.248, 0.322, 0.395, 0.465, 0.531, 0.592, 0.648, 0.699, 0.745, 0.785, 0.82,
        0.851, 0.877, 0.9, 0.919, 0.936, 0.949, 0.961, 0.97, 0.978, 0.984, 0.989, 0.993, 0.996, 0.998, 1
    );
    --ease-spring-soft: linear(
        0, 0.04, 0.131, 0.243, 0.358, 0.466, 0.562, 0.645, 0.715, 0.774, 0.821, 0.859, 0.89, 0.914, 0.934, 0.949,
        0.96, 0.97, 0.977, 0.982, 0.986, 0.99, 0.992, 0.994, 0.995, 0.997, 0.997, 0.998, 0.999, 0.999, 1
    );

    --font-display: "Poppins", system-ui, sans-serif;
    --font-sans: "Inter", system-ui, sans-serif;

    --shadow-card: 0 1px 2px rgba(10, 45, 73, 0.04), 0 8px 24px -12px rgba(10, 45, 73, 0.12);
    --shadow-card-hover: 0 2px 4px rgba(10, 45, 73, 0.06), 0 16px 40px -12px rgba(10, 45, 73, 0.18);
    --shadow-widget: 0 8px 16px rgba(10, 45, 73, 0.08), 0 24px 64px -16px rgba(10, 45, 73, 0.28);
    --shadow-panel:
        0 0 0 1px rgba(10, 45, 73, 0.06), 0 1px 2px rgba(6, 27, 45, 0.06),
        0 12px 28px -8px rgba(6, 27, 45, 0.14), 0 40px 80px -24px rgba(6, 27, 45, 0.28);
    --shadow-launcher:
        0 1px 2px rgba(6, 27, 45, 0.18), 0 8px 20px -6px rgba(6, 27, 45, 0.32),
        0 20px 48px -16px rgba(6, 27, 45, 0.4);

    --text-display-sm: clamp(2.25rem, 6vw, 3.5rem);
    --text-display-md: clamp(3rem, 9vw, 6rem);

    --dur-fast: 140ms;
    --dur-mid: 220ms;
    --dur-exit: 150ms;
    --ghost-delay: 500ms;
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in: cubic-bezier(0.4, 0, 1, 1);

    --radius-chip: 0.375rem;
    --radius-control: 0.5rem;
    --radius-card: 0.75rem;

    --z-content: 10;
    --z-header: 20;
    --z-widget-launcher: 30;
    --z-widget-panel: 31;
    --z-overlay: 40;
    --z-modal: 50;
    --z-top: 60;

    --text-3xs: 0.6875rem;
    --text-2xs: 0.75rem;
    --text-xs: 0.8125rem;
    --text-sm: 0.875rem;
    --text-md: 0.9375rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.75rem;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-sans);
    color: var(--ink-900);
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
p,
ul,
ol {
    margin: 0;
    padding: 0;
}

ul,
ol {
    list-style: none;
}

::selection {
    background: var(--signal-500);
    color: #fff;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 1ms !important;
        animation-delay: 0s !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
        transition-delay: 0s !important;
        scroll-behavior: auto !important;
    }
}
