﻿:root {
  --ps-bg: #0d0c1c;
  --ps-surface: #1c1733;
  --ps-text: #f3f1ff;
  --ps-muted: #a4a0c3;
  --ps-primary: #b58cff;
  --ps-primary-2: #68d1ff;
  --ps-accent: #ffb36a;
}

body {
  background: radial-gradient(circle at top left, rgba(181, 140, 255, 0.18), transparent 45%),
    radial-gradient(circle at 20% 80%, rgba(104, 209, 255, 0.12), transparent 40%),
    var(--ps-bg);
}

[x-cloak] {
  display: none !important;
}

@keyframes ps-fade {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.page-enter {
  animation: ps-fade 0.6s ease;
}

.stagger {
  animation: ps-fade 0.7s ease both;
}

.nav-link {
  color: var(--ps-muted);
  transition: color 0.2s ease, transform 0.2s ease;
}

.nav-link:hover,
.nav-link:focus {
  color: var(--ps-text);
  outline: none;
}

.btn-primary {
  background: linear-gradient(135deg, var(--ps-primary), var(--ps-primary-2));
  color: #120f1f;
  font-weight: 600;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-primary:hover,
.btn-primary:focus {
  transform: translateY(-1px);
  box-shadow: 0 10px 25px rgba(104, 209, 255, 0.25);
  outline: none;
}

.btn-secondary {
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--ps-text);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.btn-secondary:hover,
.btn-secondary:focus {
  border-color: rgba(181, 140, 255, 0.6);
  transform: translateY(-1px);
  outline: none;
}

.card {
  background: rgba(28, 23, 51, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  box-shadow: 0 20px 35px rgba(10, 8, 20, 0.45);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
  transform: translateY(-2px);
  border-color: rgba(181, 140, 255, 0.35);
  box-shadow: 0 24px 45px rgba(10, 8, 20, 0.55);
}

.form-input,
.form-textarea,
.form-select {
  background-color: rgba(12, 10, 26, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--ps-text);
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  border-color: var(--ps-primary);
  box-shadow: 0 0 0 3px rgba(181, 140, 255, 0.25);
  outline: none;
}

.badge {
  border: 1px solid rgba(181, 140, 255, 0.45);
  color: var(--ps-primary);
}

.step-active {
  background: rgba(181, 140, 255, 0.2);
  border-color: rgba(181, 140, 255, 0.6);
  color: var(--ps-text);
}
