:root {
  --nx-ink: #0f172a;
  --nx-bg: #eef6ff;
  --nx-surface: #ffffff;
  --nx-line: #0f172a;
  --nx-primary: #0ea5a4;
  --nx-primary-soft: #ccfbf1;
  --nx-secondary: #7dd3fc;
  --nx-shadow: rgba(15, 23, 42, 0.18);
}

html,
body,
button,
input,
select,
textarea {
  font-family: "Sora", sans-serif !important;
}

body {
  background:
    radial-gradient(circle at top left, rgba(125, 211, 252, 0.35), transparent 28%),
    radial-gradient(circle at top right, rgba(14, 165, 164, 0.18), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, var(--nx-bg) 100%) !important;
  color: var(--nx-ink);
}

.bg-neo-primary {
  background: linear-gradient(135deg, var(--nx-primary) 0%, #22c55e 100%) !important;
}

.bg-neo-bg {
  background-color: #f7fbff !important;
}

.text-neo-black,
.accent-neo-black {
  color: var(--nx-ink) !important;
  accent-color: var(--nx-ink) !important;
}

.border-neo-black {
  border-color: var(--nx-line) !important;
}

.neo-btn,
.neo-card,
.neo-shadow,
.neo-shadow-sm,
.neo-shadow-lg,
[class*="shadow-[3px_3px_0px_#191919]"],
[class*="shadow-[3px_3px_0px_#1a1a1a]"],
[class*="shadow-[2px_2px_0_#1a1a1a]"],
[class*="shadow-[0_4px_0_#1a1a1a]"] {
  box-shadow: 0 14px 30px var(--nx-shadow) !important;
}

.neo-btn,
.neo-card {
  border-radius: 22px !important;
  border-width: 2px !important;
}

.neo-btn {
  letter-spacing: 0.02em;
  padding-inline: 1.1rem;
}

.neo-btn:active {
  transform: translateY(1px) scale(0.995) !important;
}

.neo-card:hover {
  transform: translateY(-2px) !important;
}

.rounded-xl,
.rounded-2xl,
.rounded-lg {
  border-radius: 22px !important;
}

.rounded-full {
  box-shadow: 0 10px 24px rgba(14, 165, 164, 0.22);
}

svg {
  stroke-linecap: round;
  stroke-linejoin: round;
}

[class*="w-12 h-12 border-[3px]"],
[class*="w-16 h-16 bg-neo-primary"],
[class*="w-[60px] h-[60px]"] {
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(125, 211, 252, 0.95), rgba(14, 165, 164, 0.9)) !important;
  color: var(--nx-ink) !important;
}

[class*="uppercase tracking-widest"],
[class*="uppercase tracking-wide"] {
  letter-spacing: 0.08em !important;
}

input,
select,
textarea,
.form-input {
  border-radius: 18px !important;
  border-width: 2px !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08) !important;
}

.form-input:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--nx-secondary) !important;
  box-shadow: 0 0 0 4px rgba(125, 211, 252, 0.28) !important;
  transform: none !important;
}
