/* Font sizes */
:root {
  --font-size-2xs: 12px;
  --font-size-xs: 16px;
  --font-size-sm: 24px;
  --font-size-md: 32px;
  --font-size-lg: 40px;
  --font-size-xl: 48px;
  --font-size-2xl: 60px;

  /* Font weights */
  --font-weight-thin: 100;
  --font-weight-extralight: 200;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;

  /* Spacing */
  --spacing-2xs: 0.375em;
  --spacing-xs: 0.5em;
  --spacing-sm: 0.75em;
  --spacing-md: 1em;
  --spacing-lg: 1.5em;
  --spacing-xl: 2em;
  --spacing-2xl: 2.5em;

  /* Border */
  --border-width: 1px;
  --border-width-focus: 2px;
  --border-radius-sm: var(--spacing-2xs);
  --border-radius-md: var(--spacing-xs);
  --border-radius-lg: var(--spacing-sm);
  --outline-offset: 2px;

  /* Transition */
  --transition-fast: 0.15s;
  --transition-medium: 0.25s;
  --transition-slow: 0.4s;

  /* Severity */
  --nui-success-color: #22c55e;
  --nui-success-hover-color: #16a34a;
  --nui-success-highlight-color: rgb(34 197 94 / 12%);
  --nui-info-color: #3b82f6;
  --nui-info-hover-color: #2563eb;
  --nui-info-highlight-color: rgb(59 130 246 / 12%);
  --nui-warn-color: #f59e0b;
  --nui-warn-hover-color: #d97706;
  --nui-warn-highlight-color: rgb(245 158 11 / 12%);
  --nui-help-color: #a855f7;
  --nui-help-hover-color: #9333ea;
  --nui-help-highlight-color: rgb(168 85 247 / 12%);
  --invalid-color: #ef4444;
  --nui-danger-color: var(--invalid-color);
  --nui-danger-hover-color: #dc2626;
  --nui-danger-highlight-color: rgb(239 68 68 / 12%);
  --nui-contrast-color: #18181b;
  --nui-contrast-hover-color: #27272a;
  --nui-contrast-text-color: #fafafa;
  --nui-contrast-highlight-color: rgb(24 24 27 / 10%);
  --nui-secondary-color: #e4e4e7;
  --nui-secondary-hover-color: #d4d4d8;
  --nui-secondary-active-color: #a1a1aa;
  --nui-secondary-on-color: #52525b;
  --nui-secondary-border-color: #d4d4d8;
  --nui-secondary-highlight-color: #f4f4f5;

  /* Card (bento) */
  --nui-card-border-radius: 1rem;
  --nui-card-backdrop-blur: 12px;

  /* Float label */
  --nui-float-label-in-padding-top: calc(var(--spacing-md) + var(--spacing-xs));
}

/* Primary palettes */
.nui-primary-palette-nuxt {
  --nui-primary-color: #10b981;
  --nui-primary-color-rgb: 16, 185, 129;
  --nui-primary-dark-color: #125148;
  --nui-primary-hover-color: #1bbd79;
  --nui-primary-focus-color: #10b98180;
  --nui-primary-secondary-color: #10b98135;
  --nui-primary-selected-color: #10b98126;
  --nui-primary-highlight-color: #10b98115;
  --nui-primary-color-darker: #0d9668;
}

.nui-primary-palette-next {
  --nui-primary-color: #60a5fa;
  --nui-primary-color-rgb: 96, 165, 250;
  --nui-primary-dark-color: #1e40af;
  --nui-primary-hover-color: #3b82f6;
  --nui-primary-focus-color: #60a5fa80;
  --nui-primary-secondary-color: #60a5fa35;
  --nui-primary-selected-color: #60a5fa26;
  --nui-primary-highlight-color: #60a5fa15;
  --nui-primary-color-darker: #4d94e8;
}

/* Light themes */
.nui-theme-light-nuxt {
  --nui-primary-border-color: #d1d5db;
  --nui-primary-white-text-color: #000;
  --nui-primary-white-green-text-color: #047857;
  --nui-bg-dark-color: #fff;
  --nui-bg-black-color: #fffd;
  --nui-bg-dark-green-color: #eafff6;
  --nui-bg-green-color-05: #10b98118;
  --nui-card-background: #ffffffe6;
  --nui-card-border: #d4d4d8;
  --nui-card-box-shadow: #c5cbc8;
  --nui-content-background: #fffc;
  --nui-dark-text-color: #14332a;
  --nui-primary-text-color: #1a3d30;
  --nui-secondary-text-color: #2d5a49;
  --nui-white-text-color: #0f2e23;
  --nui-white-text-rgb: 15, 46, 35;
}

.nui-theme-light-next {
  --nui-primary-border-color: #d1d5db;
  --nui-primary-white-text-color: #000;
  --nui-primary-white-green-text-color: #1d4ed8;
  --nui-bg-dark-color: #fff;
  --nui-bg-black-color: #fffd;
  --nui-bg-dark-green-color: #eff6ff;
  --nui-bg-green-color-05: #60a5fa18;
  --nui-card-background: #ffffffe6;
  --nui-card-border: #d4d4d8;
  --nui-card-box-shadow: #c5cbc8;
  --nui-content-background: #fffc;
  --nui-dark-text-color: #1e293b;
  --nui-primary-text-color: #1e3a5f;
  --nui-secondary-text-color: #334155;
  --nui-white-text-color: #0f172a;
  --nui-white-text-rgb: 15, 23, 42;
}

/* Dark themes */
.nui-theme-dark-nuxt {
  --nui-primary-border-color: #f5f5f5;
  --nui-primary-white-text-color: #e6e6e6;
  --nui-primary-white-green-text-color: #cce4dd;
  --nui-bg-dark-color: #080808;
  --nui-bg-black-color: #000a;
  --nui-bg-dark-green-color: #020806;
  --nui-bg-green-color-05: #10b98108;
  --nui-card-background: #13131399;
  --nui-card-border: #3f3f46;
  --nui-card-box-shadow: #5e6662;
  --nui-content-background: #0a0a0a99;
  --nui-dark-text-color: #d1d5db;
  --nui-primary-text-color: #9ca3af;
  --nui-secondary-text-color: #a1a1aa;
  --nui-white-text-color: #f5f4f4;
  --nui-white-text-rgb: 245, 244, 244;
}

.nui-theme-dark-next {
  --nui-primary-border-color: #f5f5f5;
  --nui-primary-white-text-color: #e6e6e6;
  --nui-primary-white-green-text-color: #bfdbfe;
  --nui-bg-dark-color: #080808;
  --nui-bg-black-color: #000a;
  --nui-bg-dark-green-color: #02040c;
  --nui-bg-green-color-05: #60a5fa08;
  --nui-card-background: #13131399;
  --nui-card-border: #3f3f46;
  --nui-card-box-shadow: #5e6662;
  --nui-content-background: #0a0a0a99;
  --nui-dark-text-color: #d1d5db;
  --nui-primary-text-color: #9ca3af;
  --nui-secondary-text-color: #a1a1aa;
  --nui-white-text-color: #f5f4f4;
  --nui-white-text-rgb: 245, 244, 244;
}

.nui-theme-dark-nuxt,
.nui-theme-dark-next {
  --nui-secondary-color: #3f3f46;
  --nui-secondary-hover-color: #52525b;
  --nui-secondary-active-color: #71717a;
  --nui-secondary-on-color: #e4e4e7;
  --nui-secondary-border-color: #52525b;
  --nui-secondary-highlight-color: rgb(255 255 255 / 6%);
  --nui-contrast-color: #fafafa;
  --nui-contrast-hover-color: #e4e4e7;
  --nui-contrast-text-color: #18181b;
  --nui-contrast-highlight-color: rgb(255 255 255 / 8%);
}

/* Invalid / error colors */
.invalid {
  --invalid-color: #ef4444;
  --invalid-color-light: #fca5a5;
  --invalid-box-shadow: rgb(239 68 68 / 25%);
}
