/* SignalWire Design System - Auto-generated from signalwire-tokens.dtcg.json */
/* Variable names use the prefix-map from the DTCG. */
/* Do not edit manually. Run: python3 build_design.py */

:root {
  --sw-blue: #044EF4;
  --sw-fuchsia: #F72A72;
  --sw-turquoise: #40E0D0;
  --sw-gold: #FFD700;
  --sw-purple: #601BE6;
  --sw-light-bg: #FAFBFC;
  --type-family-heading: 'Instrument Sans', sans-serif;
  --type-family-body: 'Lexend', sans-serif;
  --type-family-code: 'JetBrains Mono', monospace;
  --type-size-h1: clamp(2rem, 4.5vw, 3.25rem);
  --type-size-h2: clamp(1.375rem, 3vw, 2rem);
  --type-size-h3: clamp(1.125rem, 2vw, 1.375rem);
  --type-size-body: 16px;
  --type-size-small: 14px;
  --type-size-caption: 13px;
  --type-size-code: 14px;
  --type-weight-heading: 700;
  --type-weight-body: 400;
  --type-weight-medium: 500;
  --type-weight-semibold: 600;
  --type-line-height-body: 1.7;
  --type-line-height-heading: 1.2;
  --type-line-height-code: 1.75;
  --type-letter-spacing-heading: -0.02em;
  --type-letter-spacing-eyebrow: 0.14em;
  --type-prose-body: 20px;
  --type-prose-body-small: 18px;
  --type-prose-h1: clamp(1.75rem, 3.5vw, 2.5rem);
  --type-prose-h2: clamp(1.375rem, 2.5vw, 1.75rem);
  --type-prose-h3: clamp(1.125rem, 2vw, 1.375rem);
  --type-prose-code: 17px;
  --type-prose-line-height: 1.8;
  --type-prose-measure: 75%;
  --type-prose-measure-mobile: 92%;
  --sp-0: 0;
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-18: 4.5rem;
  --sp-20: 5rem;
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 12px;
  --radius-full: 100px;
  --transition-fast: 0.15s ease;
  --transition-normal: 0.2s ease;
  --transition-slow: 0.25s ease;
  --animation-reveal-duration: 0.5s;
  --animation-reveal-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --animation-gradient-duration: 6s;
  --backgrounds-dots: radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
  --backgrounds-grid: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  --backgrounds-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  --backgrounds-hex: url("data:image/svg+xml,%3Csvg width='60' height='52' viewBox='0 0 60 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0 L60 15 L60 37 L30 52 L0 37 L0 15Z' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='0.5'/%3E%3C/svg%3E");
  --backgrounds-diagonal: repeating-linear-gradient(-45deg, transparent, transparent 28px, rgba(255,255,255,0.02) 28px, rgba(255,255,255,0.02) 29px);
  --backgrounds-orbs: radial-gradient(ellipse 600px 400px at 15% 20%, rgba(4,78,244,0.08) 0%, transparent 70%), radial-gradient(ellipse 500px 350px at 85% 70%, rgba(247,42,114,0.06) 0%, transparent 70%), radial-gradient(ellipse 400px 300px at 50% 50%, rgba(96,27,230,0.05) 0%, transparent 70%);
  --backgrounds-rings: radial-gradient(circle 300px at 25% 35%, transparent 60%, rgba(4,78,244,0.04) 60%, rgba(4,78,244,0.04) 61%, transparent 61%), radial-gradient(circle 200px at 75% 60%, transparent 60%, rgba(247,42,114,0.03) 60%, rgba(247,42,114,0.03) 61%, transparent 61%), radial-gradient(circle 250px at 50% 80%, transparent 60%, rgba(96,27,230,0.03) 60%, rgba(96,27,230,0.03) 61%, transparent 61%);
  --z-index-base: 1;
  --z-index-navbar: 100;
  --z-index-overlay: 200;
  --z-index-modal: 300;
  --breakpoint-sm: 400px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1080px;
  --container-max-width: 1080px;
  --container-padding: 2rem;
  --container-padding-mobile: 1.25rem;
  --tok-string: #40E0D0;
  --tok-keyword: #6e9eff;
  --tok-property: #ffffff;
  --tok-operator: #FFD700;
  --tok-comment: #898995;
  --tok-number: #ff6da0;
  --tok-function: #40E0D0;
  --tok-value: #d4d4d8;
  --tok-decorator: #6e9eff;
  --tok-type: #ff6da0;
  --fill-blue: #044EF4;
  --fill-fuchsia: #F72A72;
  --fill-turquoise: #40E0D0;
  --fill-gold: #FFD700;
  --cb-bg: #1e1e1f;
  --cb-fg: #d4d4d8;
  --cb-border: rgba(255, 255, 255, 0.07);
  --cb-label: #73737e;
  --cb-tab-default: #73737e;
  --cb-tab-hover: #e8e8ec;
  --cb-tab-active: #40E0D0;
}

:root {
  color-scheme: dark light;
  --sw-white: #ffffff;
  --sw-gray-50: light-dark(#F6F6F4, #f5f5f7);
  --sw-gray-100: light-dark(#ECECEA, #e8e8ec);
  --sw-gray-200: light-dark(#D4D4D2, #c8c8cf);
  --sw-gray-300: light-dark(#A8A8A6, #a0a0aa);
  --sw-gray-400: light-dark(#737371, #73737e);
  --sw-gray-500: light-dark(#52524F, #333333);
  --sw-gray-600: light-dark(#3A3A38, #262630);
  --sw-gray-700: light-dark(#272725, #1a1a2e);
  --sw-gray-800: light-dark(#1A1A18, #15152a);
  --sw-gray-900: #111118;
  --sw-black: light-dark(#0D0D0C, #0a0a12);
  --bg-page: light-dark(#FAFBFC, #0e0e18);
  --bg-surface: light-dark(#F3F4F6, #181a28);
  --bg-surface-raised: light-dark(#E8EAF0, #222436);
  --bg-overlay: light-dark(rgba(250, 251, 252, 0.94), rgba(14, 14, 24, 0.94));
  --bg-subtle: light-dark(rgba(0, 0, 0, 0.02), rgba(255, 255, 255, 0.03));
  --bg-gradient: linear-gradient(135deg, #0a0a12 0%, #0e1028 35%, #0c2060 100%);
  --bg-gradient-slide: linear-gradient(90deg, #010915 0%, #102A4A 45%, #274A83 100%);
  --fg-default: light-dark(#1A1A18, #f0f0f4);
  --fg-secondary: light-dark(#3A3A38, #e8e8ec);
  --fg-muted: light-dark(#737371, #a0a0aa);
  --fg-subtle: light-dark(#A8A8A6, #73737e);
  --fg-on-color: light-dark(#FAFBFC, #ffffff);
  --fg-on-gold: light-dark(#1A1A18, #0a0a12);
  --fg-headings: light-dark(#070c2d, #f0f0f4);
  --fg-emphasis: light-dark(#F72A72, #40E0D0);
  --fg-emphasis-small: light-dark(#AB0A42, #40E0D0);
  --border-default: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.12));
  --border-strong: light-dark(rgba(0, 0, 0, 0.18), rgba(255, 255, 255, 0.15));
  --code-bg: light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.06));
  --code-fg: light-dark(#044EF4, #40E0D0);
  --badge-bg: light-dark(#ECECEA, rgb(23, 14, 23));
  --badge-border: light-dark(rgba(0, 0, 0, 0.12), rgba(255, 255, 255, 0.2));
  --badge-text-fuchsia: light-dark(#BE1758, #ff5a9e);
  --badge-text-blue: light-dark(#0340C0, #7aabff);
  --badge-text-turquoise: light-dark(#0A6E64, #6aeee0);
  --badge-text-gold: light-dark(#6B5600, #ffe44d);
  --callout-info-bg: rgba(4, 78, 244, 0.06);
  --callout-info-border: rgba(4, 78, 244, 0.18);
  --callout-warn-bg: rgba(255, 215, 0, 0.04);
  --callout-warn-border: rgba(255, 215, 0, 0.16);
  --callout-danger-bg: rgba(247, 42, 114, 0.06);
  --callout-danger-border: rgba(247, 42, 114, 0.18);
  --callout-success-bg: rgba(64, 224, 208, 0.06);
  --callout-success-border: rgba(64, 224, 208, 0.18);
  --litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, 0.4), 0 0 30px 4px rgba(247, 42, 114, 0.12);
  --litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, 0.06) 0%, transparent 100%);
  --litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, 0.5), 0 0 30px 4px rgba(4, 78, 244, 0.12);
  --litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, 0.07) 0%, transparent 100%);
  --litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, 0.35), 0 0 30px 4px rgba(64, 224, 208, 0.08);
  --litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, 0.05) 0%, transparent 100%);
  --litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, 0.35), 0 0 30px 4px rgba(255, 215, 0, 0.08);
  --litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, 0.04) 0%, transparent 100%);
  --shadow-glow-fuchsia: light-dark(0 0 20px rgba(247, 42, 114, 0.15), 0 0 20px rgba(247, 42, 114, 0.25));
  --shadow-glow-fuchsia-soft: light-dark(0 4px 40px rgba(247, 42, 114, 0.05), 0 4px 40px rgba(247, 42, 114, 0.08));
  --shadow-glow-blue: light-dark(0 0 20px rgba(4, 78, 244, 0.15), 0 0 20px rgba(4, 78, 244, 0.25));
  --shadow-glow-blue-soft: light-dark(0 4px 40px rgba(4, 78, 244, 0.05), 0 4px 40px rgba(4, 78, 244, 0.08));
  --shadow-glow-turquoise-soft: light-dark(0 4px 40px rgba(64, 224, 208, 0.04), 0 4px 40px rgba(64, 224, 208, 0.06));
  --shadow-md: light-dark(0 4px 16px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.5));
  --interactive-button-primary-bg: #044EF4;
  --interactive-button-primary-text: #ffffff;
  --interactive-button-primary-hover: #0342cf;
  --interactive-button-primary-active: #022da8;
  --interactive-button-secondary-bg: transparent;
  --interactive-button-secondary-text: light-dark(#1E1D1B, #ffffff);
  --interactive-button-secondary-border: light-dark(rgba(0, 0, 0, 0.18), rgba(255, 255, 255, 0.15));
  --interactive-button-secondary-hover: light-dark(rgba(0, 0, 0, 0.04), rgba(255, 255, 255, 0.06));
  --interactive-button-ghost-text: light-dark(#3E3B37, #e8e8ec);
  --interactive-button-ghost-hover: light-dark(rgba(0, 0, 0, 0.04), rgba(255, 255, 255, 0.06));
  --interactive-button-destructive-bg: #dc2626;
  --interactive-button-destructive-text: #ffffff;
  --interactive-button-destructive-hover: #b91c1c;
  --interactive-button-disabled-bg: light-dark(#ECECEA, #333338);
  --interactive-button-disabled-text: light-dark(#A8A8A6, #73737e);
  --interactive-input-bg: light-dark(#ffffff, #2a2a2e);
  --interactive-input-text: light-dark(#1A1A18, #ffffff);
  --interactive-input-placeholder: light-dark(#A8A8A6, #73737e);
  --interactive-input-border: light-dark(rgba(0, 0, 0, 0.18), rgba(255, 255, 255, 0.15));
  --interactive-input-border-focus: #044EF4;
  --interactive-input-focus-ring: light-dark(0 0 0 3px rgba(4, 78, 244, 0.2), 0 0 0 3px rgba(4, 78, 244, 0.3));
  --interactive-input-error-border: light-dark(#dc2626, #ef4444);
  --interactive-input-disabled-bg: light-dark(#F6F6F4, #1e1e1f);
  --interactive-input-disabled-text: light-dark(#A8A8A6, #73737e);
  --interactive-status-success: light-dark(#16a34a, #22c55e);
  --interactive-status-success-soft: light-dark(rgba(22, 163, 74, 0.08), rgba(34, 197, 94, 0.12));
  --interactive-status-warning: light-dark(#a16207, #FFD700);
  --interactive-status-warning-soft: light-dark(rgba(161, 98, 7, 0.08), rgba(255, 215, 0, 0.12));
  --interactive-status-error: light-dark(#dc2626, #ef4444);
  --interactive-status-error-soft: light-dark(rgba(220, 38, 38, 0.08), rgba(239, 68, 68, 0.12));
  --interactive-status-info: #044EF4;
  --interactive-status-info-soft: light-dark(rgba(4, 78, 244, 0.08), rgba(4, 78, 244, 0.12));
  --interactive-link-default: light-dark(#044EF4, #40E0D0);
  --interactive-link-hover: #F72A72;
  --interactive-link-visited: light-dark(#737371, #a0a0aa);
  --interactive-toggle-track-off: light-dark(#D4D4D2, #333338);
  --interactive-toggle-track-on: #044EF4;
  --interactive-toggle-thumb: #ffffff;
  --interactive-skeleton-base: light-dark(#F6F6F4, #2a2a2e);
  --interactive-skeleton-shimmer: light-dark(#ECECEA, #333338);
  --interactive-tooltip-bg: light-dark(#1A1A18, #ffffff);
  --interactive-tooltip-text: light-dark(#FBFBFA, #1e1e1f);
  --interactive-dropdown-bg: light-dark(#ffffff, #2a2a2e);
  --interactive-dropdown-hover: light-dark(#F6F6F4, #333338);
  --interactive-dropdown-border: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.15));
  --interactive-dropdown-separator: light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.07));
  --interactive-table-header-bg: light-dark(#044EF4, transparent);
  --interactive-table-header-text: light-dark(#ffffff, #F72A72);
  --interactive-table-row-hover: light-dark(rgba(0, 0, 0, 0.02), rgba(255, 255, 255, 0.03));
  --interactive-table-border: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.07));
  --interactive-tab-default: light-dark(#737371, #a0a0aa);
  --interactive-tab-active: light-dark(#F72A72, #40E0D0);
  --interactive-tab-hover: light-dark(#1A1A18, #ffffff);
  --interactive-tab-indicator: #044EF4;
}

[data-theme='dark']  { color-scheme: dark; }
[data-theme='light'] { color-scheme: light; }