/* Nullett design tokens 1.1. Dark is the default theme; light is optional. */
:root {
  --ink-50: #f9fafd;
  --ink-100: #f2f3f8;
  --ink-200: #e5e6ec;
  --ink-300: #d2d4dc;
  --ink-400: #9fa1aa;
  --ink-500: #70727d;
  --ink-600: #51535e;
  --ink-700: #3d3f4a;
  --ink-800: #262833;
  --ink-900: #151621;
  --ink-950: #0a0b15;
  --indigo-50: #f5f6fe;
  --indigo-100: #e8ecff;
  --indigo-200: #d0d6ff;
  --indigo-300: #b2bbfe;
  --indigo-400: #8992fe;
  --indigo-500: #6564f4;
  --indigo-600: #4b41cf;
  --indigo-700: #3b2eaf;
  --indigo-800: #2d208d;
  --indigo-900: #1f1669;
  --indigo-950: #120a46;
  --violet-50: #f8f5fe;
  --violet-100: #f0e9ff;
  --violet-200: #dfd0ff;
  --violet-300: #ccb0ff;
  --violet-400: #b688ff;
  --violet-500: #a05ef7;
  --violet-600: #8644d7;
  --violet-700: #6d30b3;
  --violet-800: #54218c;
  --violet-900: #3a1364;
  --violet-950: #230840;
  --blue-50: #f3f7fe;
  --blue-100: #e2eeff;
  --blue-200: #c3dbff;
  --blue-300: #9ac3ff;
  --blue-400: #68a5ff;
  --blue-500: #2c84ff;
  --blue-600: #0e6ade;
  --blue-700: #0053b7;
  --blue-800: #003f8d;
  --blue-900: #012a63;
  --blue-950: #00183f;
  --cyan-50: #edf9fe;
  --cyan-100: #d8f2fc;
  --cyan-200: #ace3f7;
  --cyan-300: #73cfee;
  --cyan-400: #24b5dd;
  --cyan-500: #0398bb;
  --cyan-600: #047c9a;
  --cyan-700: #03637b;
  --cyan-800: #004c5f;
  --cyan-900: #023441;
  --cyan-950: #001f28;
  --teal-50: #eefaf8;
  --teal-100: #d8f3f0;
  --teal-200: #ade6e0;
  --teal-300: #76d4cc;
  --teal-400: #2abcb2;
  --teal-500: #0b9e95;
  --teal-600: #04817a;
  --teal-700: #026862;
  --teal-800: #044f4a;
  --teal-900: #003633;
  --teal-950: #00201e;
  --green-50: #effaf1;
  --green-100: #dcf4e0;
  --green-200: #b6e8bf;
  --green-300: #86d798;
  --green-400: #50bf6f;
  --green-500: #0fa44d;
  --green-600: #04873d;
  --green-700: #016c2f;
  --green-800: #015222;
  --green-900: #013916;
  --green-950: #00220a;
  --lime-50: #f3f9ec;
  --lime-100: #e5f3d5;
  --lime-200: #c9e4a8;
  --lime-300: #a8d170;
  --lime-400: #85b82d;
  --lime-500: #6c9a03;
  --lime-600: #587f01;
  --lime-700: #456501;
  --lime-800: #344d00;
  --lime-900: #223500;
  --lime-950: #131f00;
  --yellow-50: #faf7ea;
  --yellow-100: #f3eed2;
  --yellow-200: #e6daa0;
  --yellow-300: #d5c262;
  --yellow-400: #bda40b;
  --yellow-500: #9e8901;
  --yellow-600: #827006;
  --yellow-700: #685901;
  --yellow-800: #4f4300;
  --yellow-900: #362e00;
  --yellow-950: #201a01;
  --amber-50: #fdf6eb;
  --amber-100: #fbead2;
  --amber-200: #f5d4a2;
  --amber-300: #eab766;
  --amber-400: #d79709;
  --amber-500: #b47d01;
  --amber-600: #936605;
  --amber-700: #765104;
  --amber-800: #5b3d01;
  --amber-900: #3e2902;
  --amber-950: #261700;
  --orange-50: #fff4ef;
  --orange-100: #ffe7dc;
  --orange-200: #fecdb4;
  --orange-300: #ffa97d;
  --orange-400: #f87e34;
  --orange-500: #d86105;
  --orange-600: #b24e00;
  --orange-700: #8f3e03;
  --orange-800: #6e2e00;
  --orange-900: #4d1e00;
  --orange-950: #301000;
  --red-50: #fff4f3;
  --red-100: #ffe6e4;
  --red-200: #fecbc6;
  --red-300: #fea69e;
  --red-400: #ff726b;
  --red-500: #ef3c40;
  --red-600: #ce1a29;
  --red-700: #aa031a;
  --red-800: #830111;
  --red-900: #5c0109;
  --red-950: #3a0004;
  --rose-50: #fff4f5;
  --rose-100: #fee6e8;
  --rose-200: #fecacf;
  --rose-300: #fea4ae;
  --rose-400: #ff6d87;
  --rose-500: #e74368;
  --rose-600: #c62651;
  --rose-700: #a4123e;
  --rose-800: #80052e;
  --rose-900: #5b001d;
  --rose-950: #39000f;
  --chart-1: #6564f4; /* indigo */
  --chart-2: #0b9e95; /* teal */
  --chart-3: #9e8901; /* yellow */
  --chart-4: #a05ef7; /* violet */
  --chart-5: #e74368; /* rose */
  --chart-6: #0398bb; /* cyan */
  --chart-7: #6c9a03; /* lime */
  --chart-8: #2c84ff; /* blue */
  --font-sans: 'Ubuntu Sans', system-ui, sans-serif;
  --font-mono: 'Ubuntu Sans Mono', ui-monospace, monospace;
  --type-display-size: 3rem;
  --type-display-line: 3.5rem;
  --type-display-weight: 700;
  --type-h1-size: 2.25rem;
  --type-h1-line: 2.75rem;
  --type-h1-weight: 700;
  --type-h2-size: 1.75rem;
  --type-h2-line: 2.25rem;
  --type-h2-weight: 700;
  --type-h3-size: 1.375rem;
  --type-h3-line: 1.875rem;
  --type-h3-weight: 600;
  --type-h4-size: 1.125rem;
  --type-h4-line: 1.625rem;
  --type-h4-weight: 600;
  --type-body-size: 1rem;
  --type-body-line: 1.5rem;
  --type-body-weight: 400;
  --type-small-size: 0.875rem;
  --type-small-line: 1.25rem;
  --type-small-weight: 400;
  --type-caption-size: 0.75rem;
  --type-caption-line: 1rem;
  --type-caption-weight: 500;
  --type-code-size: 0.875rem;
  --type-code-line: 1.25rem;
  --type-code-weight: 400;
  --space-4: 0.25rem;
  --space-8: 0.5rem;
  --space-12: 0.75rem;
  --space-16: 1rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-48: 3rem;
  --space-64: 4rem;
  --space-96: 6rem;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;
  --control-sm: 2rem;
  --control-md: 2.5rem;
  --control-lg: 3rem;
  --width-content: 75rem;
  --width-reading: 45rem;
  --shadow-overlay: none;
  --duration-fast: 100ms;
  --duration-base: 200ms;
  --duration-slow: 300ms;
  --ease: cubic-bezier(.2,0,0,1);
}

:root {
  color-scheme: dark;
  --bg-page: #0a0b15;
  --bg-raised: #12131f;
  --bg-overlay: #1a1c2c;
  --border: #262938;
  --border-strong: #363a4f;
  --border-input: #5f6272;
  --text: #f9fafd;
  --text-secondary: #9fa1aa;
  --text-muted: #878995;
  --text-accent: #8992fe;
  --button: #4b41cf;
  --button-hover: #6564f4;
  --on-button: #ffffff;
  --focus: #8992fe;
  --success: #50bf6f;
  --warning: #d79709;
  --danger: #ff726b;
  --info: #68a5ff;
  --severity-critical-bg: #ce1a29;
  --severity-critical-text: #ffffff;
  --severity-high-bg: #5c0109;
  --severity-high-text: #fecbc6;
  --severity-medium-bg: #4d1e00;
  --severity-medium-text: #fecdb4;
  --severity-low-bg: #3e2902;
  --severity-low-text: #f5d4a2;
  --severity-info-bg: #012a63;
  --severity-info-text: #c3dbff;
  --product-security: #b688ff;
  --product-infrastructure: #2abcb2;
  --product-development: #24b5dd;
}

:root[data-theme="light"] {
  color-scheme: light;
  --shadow-overlay: 0 8px 24px rgba(10,11,21,.10), 0 2px 6px rgba(10,11,21,.06);
  --bg-page: #f9fafd;
  --bg-raised: #ffffff;
  --bg-overlay: #ffffff;
  --border: #e5e6ec;
  --border-strong: #d2d4dc;
  --border-input: #8b8d97;
  --text: #151621;
  --text-secondary: #51535e;
  --text-muted: #6b6d78;
  --text-accent: #4b41cf;
  --button: #4b41cf;
  --button-hover: #3b2eaf;
  --on-button: #ffffff;
  --focus: #4b41cf;
  --success: #016c2f;
  --warning: #765104;
  --danger: #aa031a;
  --info: #0053b7;
  --severity-critical-bg: #ce1a29;
  --severity-critical-text: #ffffff;
  --severity-high-bg: #ffe6e4;
  --severity-high-text: #830111;
  --severity-medium-bg: #ffe7dc;
  --severity-medium-text: #6e2e00;
  --severity-low-bg: #fbead2;
  --severity-low-text: #5b3d01;
  --severity-info-bg: #e2eeff;
  --severity-info-text: #003f8d;
  --product-security: #8644d7;
  --product-infrastructure: #04817a;
  --product-development: #047c9a;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --shadow-overlay: 0 8px 24px rgba(10,11,21,.10), 0 2px 6px rgba(10,11,21,.06);
    --bg-page: #f9fafd;
    --bg-raised: #ffffff;
    --bg-overlay: #ffffff;
    --border: #e5e6ec;
    --border-strong: #d2d4dc;
    --border-input: #8b8d97;
    --text: #151621;
    --text-secondary: #51535e;
    --text-muted: #6b6d78;
    --text-accent: #4b41cf;
    --button: #4b41cf;
    --button-hover: #3b2eaf;
    --on-button: #ffffff;
    --focus: #4b41cf;
    --success: #016c2f;
    --warning: #765104;
    --danger: #aa031a;
    --info: #0053b7;
    --severity-critical-bg: #ce1a29;
    --severity-critical-text: #ffffff;
    --severity-high-bg: #ffe6e4;
    --severity-high-text: #830111;
    --severity-medium-bg: #ffe7dc;
    --severity-medium-text: #6e2e00;
    --severity-low-bg: #fbead2;
    --severity-low-text: #5b3d01;
    --severity-info-bg: #e2eeff;
    --severity-info-text: #003f8d;
    --product-security: #8644d7;
    --product-infrastructure: #04817a;
    --product-development: #047c9a;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
    --duration-slow: 0ms;
  }
}
