@charset "UTF-8";

/* src/styles.scss */
:root {
  --nc-accent: #723ec3;
  --nc-accent-dark: #5a2ea3;
  --nc-accent-tint: #f2ebfb;
  --nc-accent-soft: #f7f3ff;
  --nc-green: #1f9d6b;
  --nc-green-tint: #e7f6ef;
  --nc-green-text: #12764f;
  --nc-amber: #c98a1e;
  --nc-amber-tint: #fdf3e0;
  --nc-amber-text: #8a5e10;
  --nc-red: #d1495b;
  --nc-red-tint: #fbe9ec;
  --nc-red-text: #a3253a;
  --nc-ink: #16181d;
  --nc-night: #0d1016;
  --nc-night-2: #10131a;
  --nc-muted: #6b7180;
  --nc-faint: #9aa0ab;
  --nc-line: #e6e8ec;
  --nc-line-soft: #f2f3f5;
  --nc-surface: #ffffff;
  --nc-canvas: #eef0f3;
  --nc-font-body:
    "Manrope",
    system-ui,
    sans-serif;
  --nc-font-display:
    "Space Grotesk",
    "Manrope",
    sans-serif;
  --nc-font-mono:
    "JetBrains Mono",
    ui-monospace,
    monospace;
  --nc-radius: 16px;
  --nc-radius-sm: 11px;
  --nc-shadow-cta: 0 6px 16px rgba(114, 62, 195, 0.28);
}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  padding: 0;
}
body {
  font-family: var(--nc-font-body);
  color: var(--nc-ink);
  background: var(--nc-canvas);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a {
  color: var(--nc-accent);
  text-decoration: none;
}
a:hover {
  color: var(--nc-accent-dark);
}
::selection {
  background: #ddccf5;
}
input,
textarea,
button {
  font-family: inherit;
}
input:focus,
textarea:focus {
  outline: none;
}
::placeholder {
  color: var(--nc-faint);
}
:focus-visible {
  outline: 2px solid var(--nc-accent);
  outline-offset: 2px;
}
.nc-cta {
  position: relative;
  overflow: hidden;
  transition: transform 0.16s ease, box-shadow 0.2s ease;
}
.nc-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(114, 62, 195, 0.4);
}
.nc-cta::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 40%;
  height: 100%;
  background:
    linear-gradient(
      100deg,
      transparent,
      rgba(255, 255, 255, 0.35),
      transparent);
  transform: translateX(-120%);
  animation: nc-shimmer 4.5s ease-in-out infinite;
  pointer-events: none;
}
.nc-card {
  transition:
    transform 0.18s ease,
    box-shadow 0.22s ease,
    border-color 0.18s ease;
}
.nc-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(20, 24, 40, 0.1);
  border-color: #d8c8f2;
}
.nc-soft {
  transition:
    transform 0.14s ease,
    background 0.14s ease,
    border-color 0.14s ease,
    filter 0.14s ease;
}
.nc-soft:hover {
  transform: translateY(-1px);
}
.nc-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.nc-scroll::-webkit-scrollbar-thumb {
  background: #d3d7de;
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: content-box;
}
@keyframes nc-fade {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes nc-pop {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes nc-grow-x {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes nc-shimmer {
  0% {
    transform: translateX(-120%);
  }
  60%, 100% {
    transform: translateX(220%);
  }
}
@keyframes nc-badge-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.35);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(74, 222, 128, 0);
  }
}
@keyframes nc-ring {
  0% {
    transform: scale(0.7);
    opacity: 0.55;
  }
  70% {
    opacity: 0;
  }
  100% {
    transform: scale(2.4);
    opacity: 0;
  }
}
@keyframes nc-float {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  15%, 85% {
    opacity: 0.7;
  }
  100% {
    transform: translate(var(--dx), var(--dy));
    opacity: 0;
  }
}
@keyframes nc-scan {
  0% {
    transform: translateY(-10%);
    opacity: 0;
  }
  20%, 80% {
    opacity: 0.5;
  }
  100% {
    transform: translateY(360%);
    opacity: 0;
  }
}
@keyframes nc-tilt {
  0%, 100% {
    transform: rotate(-3deg);
  }
  50% {
    transform: rotate(3deg);
  }
}
@keyframes nc-water {
  0% {
    height: 22%;
  }
  50% {
    height: 82%;
  }
  100% {
    height: 22%;
  }
}
@keyframes nc-wave {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes nc-bubble {
  0% {
    transform: translateY(0) scale(1);
    opacity: 0;
  }
  20% {
    opacity: 0.9;
  }
  100% {
    transform: translateY(-58px) scale(0.5);
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
