/* AUTO-GENERATED by @nexamas/design-system 1.0.0.
   Source: tokens/nexamas.tokens.json. Do not edit this file by hand. */
:root {
  --nx-font-family-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif;
  --nx-font-family-mono: Cascadia Mono, Consolas, ui-monospace, monospace;
  --nx-font-weight-regular: 400;
  --nx-font-weight-medium: 500;
  --nx-font-weight-semibold: 600;
  --nx-font-weight-bold: 750;
  --nx-font-weight-heavy: 850;
  --nx-typography-size-xs: 0.75rem;
  --nx-typography-size-sm: 0.875rem;
  --nx-typography-size-md: 1rem;
  --nx-typography-size-lg: 1.125rem;
  --nx-typography-size-xl: 1.25rem;
  --nx-typography-size2xl: 1.5rem;
  --nx-typography-size3xl: 2rem;
  --nx-typography-size4xl: 2.75rem;
  --nx-typography-size-display: clamp(2.875rem, 6vw, 5.125rem);
  --nx-typography-line-height-tight: 1.05;
  --nx-typography-line-height-heading: 1.18;
  --nx-typography-line-height-body: 1.6;
  --nx-typography-line-height-relaxed: 1.75;
  --nx-typography-letter-spacing-tight: -0.035em;
  --nx-typography-letter-spacing-normal: 0;
  --nx-typography-letter-spacing-wide: 0.08em;
  --nx-space-0: 0;
  --nx-space-1: 0.25rem;
  --nx-space-2: 0.5rem;
  --nx-space-3: 0.75rem;
  --nx-space-4: 1rem;
  --nx-space-5: 1.25rem;
  --nx-space-6: 1.5rem;
  --nx-space-8: 2rem;
  --nx-space-10: 2.5rem;
  --nx-space-12: 3rem;
  --nx-space-16: 4rem;
  --nx-space-20: 5rem;
  --nx-space-24: 6rem;
  --nx-radius-none: 0;
  --nx-radius-sm: 0.5rem;
  --nx-radius-md: 0.75rem;
  --nx-radius-lg: 1rem;
  --nx-radius-xl: 1.375rem;
  --nx-radius-2xl: 1.875rem;
  --nx-radius-pill: 999px;
  --nx-border-width-hairline: 1px;
  --nx-border-width-strong: 2px;
  --nx-control-height-sm: 2rem;
  --nx-control-height-md: 2.625rem;
  --nx-control-height-lg: 3.25rem;
  --nx-control-target-minimum: 2.75rem;
  --nx-control-padding-inline-sm: 0.75rem;
  --nx-control-padding-inline-md: 1rem;
  --nx-control-padding-inline-lg: 1.375rem;
  --nx-layout-container: 74rem;
  --nx-layout-content-narrow: 48rem;
  --nx-layout-gutter: clamp(0.875rem, 3vw, 1.5rem);
  --nx-layout-section-gap: clamp(4rem, 9vw, 6.5rem);
  --nx-layout-grid-gap: 1.125rem;
  --nx-breakpoint-sm: 36rem;
  --nx-breakpoint-md: 48rem;
  --nx-breakpoint-lg: 64rem;
  --nx-breakpoint-xl: 80rem;
  --nx-motion-fast: 120ms;
  --nx-motion-normal: 180ms;
  --nx-motion-slow: 280ms;
  --nx-motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --nx-motion-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
  --nx-z-base: 0;
  --nx-z-header: 20;
  --nx-z-overlay: 50;
  --nx-z-toast: 60;
  --nx-z-modal: 70;
  --nx-component-button-radius: var(--nx-radius-md);
  --nx-component-button-height: var(--nx-control-height-md);
  --nx-component-button-padding-inline: var(--nx-control-padding-inline-md);
  --nx-component-button-font-weight: var(--nx-font-weight-bold);
  --nx-component-field-radius: var(--nx-radius-md);
  --nx-component-field-height: var(--nx-control-height-md);
  --nx-component-field-padding-inline: var(--nx-control-padding-inline-md);
  --nx-component-card-radius: var(--nx-radius-xl);
  --nx-component-card-padding: var(--nx-space-6);
  --nx-component-focus-ring-width: 3px;
  --nx-component-focus-ring-offset: 3px;
  --nx-component-navigation-radius: var(--nx-radius-pill);
  --nx-component-navigation-item-padding-block: 0.45rem;
  --nx-component-navigation-item-padding-inline: 0.72rem;
}

html[data-nx-theme="light"] {
  color-scheme: light;
  --nx-color-canvas: #F6F8FB;
  --nx-color-canvas-start: #FBFCFD;
  --nx-color-canvas-end: #F4F8FA;
  --nx-color-surface: #FFFFFF;
  --nx-color-surface-raised: #FFFFFF;
  --nx-color-surface-soft: #F1F8FA;
  --nx-color-surface-muted: #E9F1F5;
  --nx-color-surface-interactive: #FBFDFF;
  --nx-color-surface-hover: #EDF6F9;
  --nx-color-surface-selected: #E6F3FA;
  --nx-color-text: #102B43;
  --nx-color-text-strong: #06223B;
  --nx-color-text-muted: #5A7386;
  --nx-color-text-subtle: #7994A7;
  --nx-color-text-on-accent: #FFFFFF;
  --nx-color-border: #D9E6EC;
  --nx-color-border-strong: #C4D8E2;
  --nx-color-border-interactive: #A9CBD9;
  --nx-color-accent-primary: #2D86CA;
  --nx-color-accent-primary-hover: #236FA9;
  --nx-color-accent-primary-pressed: #1B5B8D;
  --nx-color-accent-secondary: #13B9BD;
  --nx-color-accent-secondary-hover: #0E969D;
  --nx-color-accent-tertiary: #7858D5;
  --nx-color-focus: #176FAD;
  --nx-color-success: #0B806B;
  --nx-color-success-soft: #E6F7F2;
  --nx-color-warning: #9A6400;
  --nx-color-warning-soft: #FFF5D8;
  --nx-color-danger: #B83A56;
  --nx-color-danger-soft: #FDECF0;
  --nx-color-info: #246FA8;
  --nx-color-info-soft: #EAF4FC;
  --nx-color-inverse-surface: #06223B;
  --nx-color-inverse-surface-strong: #03192D;
  --nx-color-inverse-text: #F3F7FA;
  --nx-color-inverse-text-muted: #B7C9D4;
  --nx-color-inverse-border: rgba(255, 255, 255, 0.16);
  --nx-color-overlay: rgba(2, 13, 23, 0.82);
  --nx-color-scrim: rgba(2, 20, 35, 0.72);
  --nx-color-shadow-color: rgba(16, 52, 78, 0.14);
  --nx-color-shadow-strong-color: rgba(3, 25, 44, 0.24);
  --nx-color-checker-light: #FAFAFA;
  --nx-color-checker-dark: #E2E5E9;
  --nx-color-preview-light: #EEF2F7;
  --nx-color-preview-dark: #030712;
  --nx-gradient-brand: linear-gradient(135deg, #13B9BD, #2D86CA);
  --nx-gradient-brand-strong: linear-gradient(135deg, #2D86CA, #7858D5);
  --nx-gradient-canvas: linear-gradient(180deg, #FBFCFD 0%, #F4F8FA 100%);
  --nx-gradient-hero-glow: radial-gradient(circle at 90% 10%, rgba(19, 185, 189, 0.18), transparent 30%), radial-gradient(circle at 15% 90%, rgba(120, 88, 213, 0.14), transparent 32%);
  --nx-shadow-sm: 0 8px 24px rgba(16, 52, 78, 0.08);
  --nx-shadow-md: 0 18px 48px rgba(16, 52, 78, 0.12);
  --nx-shadow-lg: 0 28px 70px rgba(16, 52, 78, 0.16);
  --nx-shadow-focus: 0 0 0 4px rgba(45, 134, 202, 0.22);
}

html[data-nx-theme="dark"] {
  color-scheme: dark;
  --nx-color-canvas: #07101D;
  --nx-color-canvas-start: #081321;
  --nx-color-canvas-end: #050B14;
  --nx-color-surface: #0D1A2D;
  --nx-color-surface-raised: #0E1B2D;
  --nx-color-surface-soft: #12233A;
  --nx-color-surface-muted: #172A43;
  --nx-color-surface-interactive: #101F34;
  --nx-color-surface-hover: #172D49;
  --nx-color-surface-selected: #18365E;
  --nx-color-text: #E8EEF8;
  --nx-color-text-strong: #F8FAFC;
  --nx-color-text-muted: #91A0B7;
  --nx-color-text-subtle: #71839B;
  --nx-color-text-on-accent: #FFFFFF;
  --nx-color-border: #263850;
  --nx-color-border-strong: #3A4D67;
  --nx-color-border-interactive: #4D77A5;
  --nx-color-accent-primary: #4F8CFF;
  --nx-color-accent-primary-hover: #72A7FF;
  --nx-color-accent-primary-pressed: #3978EE;
  --nx-color-accent-secondary: #4AD8D8;
  --nx-color-accent-secondary-hover: #6EE7E7;
  --nx-color-accent-tertiary: #9B7AEA;
  --nx-color-focus: #60A5FA;
  --nx-color-success: #41D7A7;
  --nx-color-success-soft: rgba(6, 95, 70, 0.28);
  --nx-color-warning: #FBBF24;
  --nx-color-warning-soft: rgba(146, 64, 14, 0.26);
  --nx-color-danger: #FB7185;
  --nx-color-danger-soft: rgba(159, 18, 57, 0.24);
  --nx-color-info: #60A5FA;
  --nx-color-info-soft: rgba(37, 99, 235, 0.20);
  --nx-color-inverse-surface: #F8FAFC;
  --nx-color-inverse-surface-strong: #FFFFFF;
  --nx-color-inverse-text: #0F172A;
  --nx-color-inverse-text-muted: #475569;
  --nx-color-inverse-border: rgba(15, 23, 42, 0.16);
  --nx-color-overlay: rgba(2, 6, 23, 0.78);
  --nx-color-scrim: rgba(2, 6, 23, 0.68);
  --nx-color-shadow-color: rgba(0, 0, 0, 0.28);
  --nx-color-shadow-strong-color: rgba(0, 0, 0, 0.42);
  --nx-color-checker-light: #F8FAFC;
  --nx-color-checker-dark: #D8DDE5;
  --nx-color-preview-light: #EEF2F7;
  --nx-color-preview-dark: #030712;
  --nx-gradient-brand: linear-gradient(135deg, #4F8CFF, #2563EB);
  --nx-gradient-brand-strong: linear-gradient(135deg, #4AD8D8, #4F8CFF);
  --nx-gradient-canvas: radial-gradient(circle at 13% -10%, rgba(37, 99, 235, 0.25), transparent 31rem), radial-gradient(circle at 92% 8%, rgba(34, 211, 238, 0.12), transparent 25rem), linear-gradient(180deg, #081321 0%, #050B14 100%);
  --nx-gradient-hero-glow: radial-gradient(circle at 16% 0%, rgba(79, 140, 255, 0.22), transparent 34rem), radial-gradient(circle at 94% 6%, rgba(74, 216, 216, 0.12), transparent 28rem);
  --nx-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.18);
  --nx-shadow-md: 0 18px 48px rgba(0, 0, 0, 0.24);
  --nx-shadow-lg: 0 28px 75px rgba(0, 0, 0, 0.28);
  --nx-shadow-focus: 0 0 0 4px rgba(96, 165, 250, 0.24);
}

html:not([data-nx-theme]) {
  color-scheme: light;
  --nx-color-canvas: #F6F8FB;
  --nx-color-canvas-start: #FBFCFD;
  --nx-color-canvas-end: #F4F8FA;
  --nx-color-surface: #FFFFFF;
  --nx-color-surface-raised: #FFFFFF;
  --nx-color-surface-soft: #F1F8FA;
  --nx-color-surface-muted: #E9F1F5;
  --nx-color-surface-interactive: #FBFDFF;
  --nx-color-surface-hover: #EDF6F9;
  --nx-color-surface-selected: #E6F3FA;
  --nx-color-text: #102B43;
  --nx-color-text-strong: #06223B;
  --nx-color-text-muted: #5A7386;
  --nx-color-text-subtle: #7994A7;
  --nx-color-text-on-accent: #FFFFFF;
  --nx-color-border: #D9E6EC;
  --nx-color-border-strong: #C4D8E2;
  --nx-color-border-interactive: #A9CBD9;
  --nx-color-accent-primary: #2D86CA;
  --nx-color-accent-primary-hover: #236FA9;
  --nx-color-accent-primary-pressed: #1B5B8D;
  --nx-color-accent-secondary: #13B9BD;
  --nx-color-accent-secondary-hover: #0E969D;
  --nx-color-accent-tertiary: #7858D5;
  --nx-color-focus: #176FAD;
  --nx-color-success: #0B806B;
  --nx-color-success-soft: #E6F7F2;
  --nx-color-warning: #9A6400;
  --nx-color-warning-soft: #FFF5D8;
  --nx-color-danger: #B83A56;
  --nx-color-danger-soft: #FDECF0;
  --nx-color-info: #246FA8;
  --nx-color-info-soft: #EAF4FC;
  --nx-color-inverse-surface: #06223B;
  --nx-color-inverse-surface-strong: #03192D;
  --nx-color-inverse-text: #F3F7FA;
  --nx-color-inverse-text-muted: #B7C9D4;
  --nx-color-inverse-border: rgba(255, 255, 255, 0.16);
  --nx-color-overlay: rgba(2, 13, 23, 0.82);
  --nx-color-scrim: rgba(2, 20, 35, 0.72);
  --nx-color-shadow-color: rgba(16, 52, 78, 0.14);
  --nx-color-shadow-strong-color: rgba(3, 25, 44, 0.24);
  --nx-color-checker-light: #FAFAFA;
  --nx-color-checker-dark: #E2E5E9;
  --nx-color-preview-light: #EEF2F7;
  --nx-color-preview-dark: #030712;
  --nx-gradient-brand: linear-gradient(135deg, #13B9BD, #2D86CA);
  --nx-gradient-brand-strong: linear-gradient(135deg, #2D86CA, #7858D5);
  --nx-gradient-canvas: linear-gradient(180deg, #FBFCFD 0%, #F4F8FA 100%);
  --nx-gradient-hero-glow: radial-gradient(circle at 90% 10%, rgba(19, 185, 189, 0.18), transparent 30%), radial-gradient(circle at 15% 90%, rgba(120, 88, 213, 0.14), transparent 32%);
  --nx-shadow-sm: 0 8px 24px rgba(16, 52, 78, 0.08);
  --nx-shadow-md: 0 18px 48px rgba(16, 52, 78, 0.12);
  --nx-shadow-lg: 0 28px 70px rgba(16, 52, 78, 0.16);
  --nx-shadow-focus: 0 0 0 4px rgba(45, 134, 202, 0.22);
}

.nx-theme-toggle {
  min-width: var(--nx-control-height-md);
  min-height: var(--nx-control-height-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--nx-space-2);
  padding: 0 var(--nx-control-padding-inline-sm);
  border: var(--nx-border-width-hairline) solid var(--nx-color-border);
  border-radius: var(--nx-radius-pill);
  color: var(--nx-color-text);
  background: var(--nx-color-surface-interactive);
  box-shadow: var(--nx-shadow-sm);
  font: inherit;
  font-weight: var(--nx-font-weight-bold);
  cursor: pointer;
  transition:
    transform var(--nx-motion-fast) var(--nx-motion-ease-standard),
    border-color var(--nx-motion-normal) var(--nx-motion-ease-standard),
    background-color var(--nx-motion-normal) var(--nx-motion-ease-standard),
    box-shadow var(--nx-motion-normal) var(--nx-motion-ease-standard);
}
.nx-theme-toggle:hover:not(:disabled) { transform: translateY(-1px); border-color: var(--nx-color-border-interactive); background: var(--nx-color-surface-hover); }
.nx-theme-toggle:active:not(:disabled) { transform: translateY(0); background: var(--nx-color-surface-selected); }
.nx-theme-toggle:focus-visible { outline: var(--nx-component-focus-ring-width) solid var(--nx-color-focus); outline-offset: var(--nx-component-focus-ring-offset); }
.nx-theme-toggle:disabled { opacity: .5; cursor: not-allowed; }
.nx-theme-toggle__icon { font-size: 1rem; line-height: 1; }

.nx-card {
  border: var(--nx-border-width-hairline) solid var(--nx-color-border);
  border-radius: var(--nx-component-card-radius);
  color: var(--nx-color-text);
  background: var(--nx-color-surface);
  box-shadow: var(--nx-shadow-md);
}
.nx-card--soft { background: var(--nx-color-surface-soft); }
.nx-card--raised { background: var(--nx-color-surface-raised); box-shadow: var(--nx-shadow-lg); }

.nx-button {
  min-height: var(--nx-component-button-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--nx-space-2);
  padding: 0 var(--nx-component-button-padding-inline);
  border: var(--nx-border-width-hairline) solid var(--nx-color-border);
  border-radius: var(--nx-component-button-radius);
  color: var(--nx-color-text);
  background: var(--nx-color-surface-interactive);
  font: inherit;
  font-weight: var(--nx-component-button-font-weight);
  cursor: pointer;
  transition:
    transform var(--nx-motion-fast) var(--nx-motion-ease-standard),
    border-color var(--nx-motion-normal) var(--nx-motion-ease-standard),
    background-color var(--nx-motion-normal) var(--nx-motion-ease-standard),
    box-shadow var(--nx-motion-normal) var(--nx-motion-ease-standard);
}
.nx-button:hover:not(:disabled) { transform: translateY(-1px); border-color: var(--nx-color-border-interactive); background: var(--nx-color-surface-hover); }
.nx-button:active:not(:disabled) { transform: translateY(0); background: var(--nx-color-surface-selected); }
.nx-button:focus-visible { outline: var(--nx-component-focus-ring-width) solid var(--nx-color-focus); outline-offset: var(--nx-component-focus-ring-offset); }
.nx-button:disabled { opacity: .5; cursor: not-allowed; }
.nx-button--primary { color: var(--nx-color-text-on-accent); border-color: transparent; background: var(--nx-gradient-brand); box-shadow: var(--nx-shadow-sm); }
.nx-button--primary:hover:not(:disabled) { background: var(--nx-color-accent-primary-hover); }
.nx-button--danger { color: var(--nx-color-text-on-accent); border-color: transparent; background: var(--nx-color-danger); }

.nx-field {
  width: 100%;
  min-height: var(--nx-component-field-height);
  padding: 0 var(--nx-component-field-padding-inline);
  border: var(--nx-border-width-hairline) solid var(--nx-color-border);
  border-radius: var(--nx-component-field-radius);
  color: var(--nx-color-text);
  background: var(--nx-color-surface-interactive);
  font: inherit;
}
textarea.nx-field { min-height: 7rem; padding-block: var(--nx-space-3); resize: vertical; }
.nx-field:hover:not(:disabled) { border-color: var(--nx-color-border-strong); }
.nx-field:focus { border-color: var(--nx-color-focus); outline: none; box-shadow: var(--nx-shadow-focus); }
.nx-field:disabled { opacity: .55; cursor: not-allowed; }

.nx-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--nx-space-2);
  padding: var(--nx-space-2) var(--nx-space-3);
  border: var(--nx-border-width-hairline) solid var(--nx-color-border);
  border-radius: var(--nx-radius-pill);
  color: var(--nx-color-text-muted);
  background: var(--nx-color-surface-soft);
  font-size: var(--nx-typography-size-xs);
  font-weight: var(--nx-font-weight-bold);
}
.nx-badge--success { color: var(--nx-color-success); border-color: color-mix(in srgb, var(--nx-color-success) 40%, transparent); background: var(--nx-color-success-soft); }
.nx-badge--warning { color: var(--nx-color-warning); border-color: color-mix(in srgb, var(--nx-color-warning) 40%, transparent); background: var(--nx-color-warning-soft); }
.nx-badge--danger { color: var(--nx-color-danger); border-color: color-mix(in srgb, var(--nx-color-danger) 40%, transparent); background: var(--nx-color-danger-soft); }

.nx-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--nx-space-3);
  padding: var(--nx-space-4);
  border: var(--nx-border-width-hairline) solid var(--nx-color-border);
  border-radius: var(--nx-radius-lg);
  color: var(--nx-color-text);
  background: var(--nx-color-surface-soft);
}
.nx-alert--info { border-color: color-mix(in srgb, var(--nx-color-info) 38%, transparent); background: var(--nx-color-info-soft); }
.nx-alert--success { border-color: color-mix(in srgb, var(--nx-color-success) 38%, transparent); background: var(--nx-color-success-soft); }
.nx-alert--warning { border-color: color-mix(in srgb, var(--nx-color-warning) 38%, transparent); background: var(--nx-color-warning-soft); }
.nx-alert--danger { border-color: color-mix(in srgb, var(--nx-color-danger) 38%, transparent); background: var(--nx-color-danger-soft); }

@media (prefers-reduced-motion: reduce) {
  .nx-theme-toggle, .nx-button { transition-duration: .01ms !important; }
}
