:root {
  --theme-app: #050510;
  --theme-app-secondary: #0a0a1a;
  --theme-surface: #1a1a3a;
  --theme-surface-alt: #152036;
  --theme-surface-muted: #111827;
  --theme-surface-elevated: #21264a;
  --theme-surface-overlay: rgba(5, 5, 16, 0.82);
  --theme-text: #ffffff;
  --theme-text-muted: #a0a0c0;
  --theme-text-dim: #606080;
  --theme-primary: #00f3ff;
  --theme-primary-rgb: 0, 243, 255;
  --theme-primary-hover: #00bfd0;
  --theme-accent: #bc13fe;
  --theme-accent-soft: rgba(188, 19, 254, 0.18);
  --theme-identity: #bc13fe;
  --theme-border: rgba(0, 243, 255, 0.18);
  --theme-border-strong: rgba(0, 243, 255, 0.32);
  --theme-divider: rgba(255, 255, 255, 0.08);
  --theme-overlay: rgba(3, 7, 18, 0.68);
  --theme-grid-line: rgba(0, 243, 255, 0.08);
  --theme-grid-fade: rgba(188, 19, 254, 0.05);
  --theme-glow-soft: 0 18px 50px rgba(0, 243, 255, 0.2);
  --theme-glow-strong: 0 24px 72px rgba(0, 243, 255, 0.28);
  --theme-shadow-card: 0 22px 60px rgba(2, 6, 23, 0.35);
  --theme-gradient-main: linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-accent) 55%, var(--cyber-pink) 100%);
  --theme-gradient-soft: linear-gradient(135deg, rgba(var(--theme-primary-rgb), 0.24) 0%, rgba(188, 19, 254, 0.14) 100%);
  --theme-gradient-surface: linear-gradient(180deg, rgba(33, 38, 74, 0.96) 0%, rgba(26, 26, 58, 0.98) 100%);
  --theme-success: var(--cyber-green);
  --theme-success-soft: rgba(0, 255, 136, 0.15);
  --theme-warning: var(--cyber-yellow);
  --theme-warning-soft: rgba(255, 240, 31, 0.15);
  --theme-danger: var(--cyber-red);
  --theme-danger-soft: rgba(255, 42, 109, 0.15);
  --theme-info: var(--cyber-blue);
  --theme-info-soft: rgba(0, 243, 255, 0.15);
  --theme-shell-ambient: 1;
}

* {
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--theme-primary-rgb), 0.65) var(--theme-app);
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-track {
  background: var(--theme-app);
  border: 1px solid rgba(var(--theme-primary-rgb), 0.08);
}

*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(var(--theme-primary-rgb), 0.92), var(--theme-accent));
  border-radius: 999px;
  border: 2px solid var(--theme-app);
}

*::-webkit-scrollbar-thumb:hover {
  box-shadow: var(--theme-glow-soft);
}

.contact-detail-panel-scrollbar {
  scrollbar-gutter: stable;
  scrollbar-width: auto;
  scrollbar-color: rgba(var(--theme-primary-rgb), 0.95) rgba(4, 8, 18, 0.78);
}

.contact-detail-panel-scrollbar::-webkit-scrollbar {
  width: 14px;
}

.contact-detail-panel-scrollbar::-webkit-scrollbar-track {
  background: linear-gradient(180deg, rgba(4, 8, 18, 0.92), rgba(15, 23, 42, 0.78));
  border-left: 1px solid rgba(var(--theme-primary-rgb), 0.18);
}

.contact-detail-panel-scrollbar::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(var(--theme-primary-rgb), 1), rgba(188, 19, 254, 0.96));
  border: 3px solid rgba(4, 8, 18, 0.9);
  border-radius: 999px;
  box-shadow: 0 0 16px rgba(var(--theme-primary-rgb), 0.28);
}

.contact-detail-panel-scrollbar::-webkit-scrollbar-thumb:hover {
  box-shadow: 0 0 22px rgba(var(--theme-primary-rgb), 0.42);
}

html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  background: var(--theme-app);
  color: var(--theme-text);
  transition: background 220ms ease, color 220ms ease;
}

body {
  overflow: hidden;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

a {
  color: inherit;
}

::selection {
  background: rgba(var(--theme-primary-rgb), 0.24);
  color: var(--theme-text);
}

.theme-grid-bg,
.cyber-grid {
  background-image:
    linear-gradient(var(--theme-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--theme-grid-line) 1px, transparent 1px);
  background-size: 52px 52px;
}

.theme-grid-bg {
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.42), transparent 92%);
}

.cyber-grid {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  transform: perspective(560px) rotateX(60deg);
  transform-origin: center top;
  opacity: calc(0.48 * var(--theme-shell-ambient));
  animation: theme-grid-drift 18s linear infinite;
}

.scanlines {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: repeating-linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.04) 0,
    rgba(255, 255, 255, 0.04) 1px,
    transparent 1px,
    transparent 3px
  );
  opacity: calc(0.14 * var(--theme-shell-ambient));
}

.cyber-orbs {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(90px);
  opacity: calc(0.26 * var(--theme-shell-ambient));
  animation: theme-orb-float 18s ease-in-out infinite;
}

.orb-1 {
  width: 420px;
  height: 420px;
  top: -180px;
  right: -140px;
  background: rgba(var(--theme-primary-rgb), 0.34);
}

.orb-2 {
  width: 320px;
  height: 320px;
  left: -120px;
  bottom: -140px;
  background: rgba(188, 19, 254, 0.24);
  animation-delay: -7s;
}

.orb-3 {
  width: 280px;
  height: 280px;
  top: 42%;
  left: 46%;
  background: rgba(255, 0, 255, 0.12);
  animation-delay: -12s;
}

.ui-app-shell {
  background:
    radial-gradient(circle at top left, rgba(var(--theme-primary-rgb), 0.12), transparent 34%),
    radial-gradient(circle at bottom right, rgba(188, 19, 254, 0.1), transparent 30%),
    var(--theme-app);
  color: var(--theme-text);
}

.ui-shell-stage {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent 30%),
    transparent;
}

.ui-sidebar-shell {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 22%), var(--theme-gradient-surface);
  border-right: 1px solid var(--theme-border);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
}

.ui-sidebar-shell::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 2px;
  background: var(--theme-gradient-main);
  opacity: 0.8;
}

.ui-sidebar-label {
  color: var(--theme-text-dim);
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ui-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  border-radius: 1rem;
  border: 1px solid transparent;
  color: var(--theme-text-muted);
  transition: transform 180ms ease, color 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.ui-nav-item:hover {
  color: var(--theme-text);
  border-color: var(--theme-border);
  background: rgba(var(--theme-primary-rgb), 0.08);
  transform: translateX(2px);
}

.ui-nav-item-active {
  color: var(--theme-text);
  border-color: var(--theme-border-strong);
  background: var(--theme-gradient-soft);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), var(--theme-glow-soft);
}

.ui-nav-item-active::after {
  content: '';
  position: absolute;
  inset: 18% auto 18% 0;
  width: 3px;
  border-radius: 999px;
  background: var(--theme-gradient-main);
}

.ui-topbar {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 85%), var(--theme-gradient-surface);
  border-bottom: 1px solid var(--theme-border);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(20px);
}

.ui-topbar::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(var(--theme-primary-rgb), 0.68) 48%, transparent 100%);
}

.ui-search-shell {
  border: 1px solid var(--theme-border);
  background: rgba(0, 0, 0, 0.18);
  color: var(--theme-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.ui-panel,
.ui-card,
.ui-modal-shell,
.ui-surface {
  background: var(--theme-gradient-surface);
  color: var(--theme-text);
  border: 1px solid var(--theme-border);
  box-shadow: var(--theme-shadow-card);
  backdrop-filter: blur(20px);
}

.ui-card-soft {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 100%), var(--theme-surface-muted);
  color: var(--theme-text);
  border: 1px solid var(--theme-border);
}

.ui-card-interactive {
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.ui-card-interactive:hover {
  transform: translateY(-2px);
  border-color: var(--theme-border-strong);
  box-shadow: var(--theme-glow-soft), var(--theme-shadow-card);
}

.ui-modal-overlay {
  background: var(--theme-overlay);
  backdrop-filter: blur(14px);
}

.ui-modal-header {
  border-bottom: 1px solid var(--theme-divider);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent);
}

.ui-divider {
  border-color: var(--theme-divider);
}

.ui-page-title,
.ui-heading {
  color: var(--theme-text);
  font-family: 'Orbitron', sans-serif;
  letter-spacing: 0.08em;
}

.ui-page-title {
  text-transform: uppercase;
}

.ui-kicker,
.ui-field-label {
  color: var(--theme-text-dim);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.ui-field-label {
  margin-bottom: 0.35rem;
}

.ui-input,
.ui-select,
.ui-textarea {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid var(--theme-border);
  background: color-mix(in srgb, var(--theme-app-secondary) 62%, transparent);
  color: var(--theme-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.ui-input::placeholder,
.ui-textarea::placeholder {
  color: var(--theme-text-dim);
}

.ui-input:focus,
.ui-select:focus,
.ui-textarea:focus {
  outline: none;
  border-color: var(--theme-border-strong);
  box-shadow: 0 0 0 4px rgba(var(--theme-primary-rgb), 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.ui-button {
  position: relative;
  border-radius: 1rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.ui-button:hover {
  transform: translateY(-1px);
}

.ui-button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}

.ui-button-primary {
  background: var(--theme-gradient-main);
  color: #fff;
  box-shadow: var(--theme-glow-soft);
}

.ui-button-primary:hover {
  box-shadow: var(--theme-glow-strong);
}

.ui-button-secondary {
  background: rgba(var(--theme-primary-rgb), 0.1);
  color: var(--theme-text);
  border: 1px solid var(--theme-border);
}

.ui-button-secondary:hover {
  border-color: var(--theme-border-strong);
  background: rgba(var(--theme-primary-rgb), 0.14);
}

.ui-button-ghost {
  background: transparent;
  color: var(--theme-text-muted);
  border: 1px solid transparent;
}

.ui-button-ghost:hover {
  color: var(--theme-text);
  border-color: var(--theme-border);
  background: rgba(var(--theme-primary-rgb), 0.08);
}

.ui-button-danger {
  background: var(--theme-danger-soft);
  color: var(--theme-danger);
  border: 1px solid rgba(255, 42, 109, 0.22);
}

.ui-button-danger:hover {
  border-color: rgba(255, 42, 109, 0.38);
  box-shadow: 0 18px 40px rgba(255, 42, 109, 0.14);
}

.ui-button-success {
  background: var(--theme-success-soft);
  color: var(--theme-success);
  border: 1px solid rgba(0, 255, 136, 0.22);
}

.ui-button-success:hover {
  border-color: rgba(0, 255, 136, 0.38);
  box-shadow: 0 18px 40px rgba(0, 255, 136, 0.12);
}

.ui-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  border: 1px solid var(--theme-border);
  padding: 0.3rem 0.75rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.ui-badge--accent {
  background: rgba(var(--theme-primary-rgb), 0.12);
  color: var(--theme-primary);
}

.ui-badge--neutral {
  background: color-mix(in srgb, var(--theme-surface-muted) 86%, transparent);
  color: var(--theme-text-muted);
  border-color: var(--theme-divider);
}

.ui-badge--success {
  background: var(--theme-success-soft);
  color: var(--theme-success);
  border-color: rgba(0, 255, 136, 0.24);
}

.ui-badge--warning {
  background: var(--theme-warning-soft);
  color: var(--theme-warning);
  border-color: rgba(255, 240, 31, 0.24);
}

.ui-badge--danger {
  background: var(--theme-danger-soft);
  color: var(--theme-danger);
  border-color: rgba(255, 42, 109, 0.24);
}

.ui-badge--info {
  background: var(--theme-info-soft);
  color: var(--theme-info);
  border-color: rgba(var(--theme-primary-rgb), 0.24);
}

.ui-icon-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: rgba(var(--theme-primary-rgb), 0.1);
  color: var(--theme-primary);
  border: 1px solid rgba(var(--theme-primary-rgb), 0.12);
}

.theme-identity-shell,
.theme-project-shell,
.theme-contact-shell,
.theme-editor-shell,
.theme-auth-shell {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(var(--theme-primary-rgb), 0.12), transparent 24%),
    radial-gradient(circle at bottom left, rgba(188, 19, 254, 0.1), transparent 28%),
    var(--theme-gradient-surface);
  border: 1px solid var(--theme-border);
  box-shadow: var(--theme-shadow-card);
}

.theme-contact-shell.fixed {
  position: fixed;
}

.theme-identity-shell::before,
.theme-project-shell::before,
.theme-contact-shell::before,
.theme-editor-shell::before,
.theme-auth-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(var(--theme-primary-rgb), 0.1), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 24%);
  pointer-events: none;
}

.theme-auth-stage {
  background:
    radial-gradient(circle at top left, rgba(var(--theme-primary-rgb), 0.14), transparent 30%),
    radial-gradient(circle at bottom right, rgba(188, 19, 254, 0.12), transparent 28%),
    var(--theme-app);
}

.theme-task-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 100%),
    var(--theme-gradient-surface);
  border: 1px solid var(--theme-border);
  box-shadow: var(--theme-shadow-card);
}

.theme-task-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(var(--theme-primary-rgb), 0.52) 48%, transparent 100%);
  opacity: 0.75;
}

.theme-task-card--completed {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.012), transparent 100%),
    color-mix(in srgb, var(--theme-surface-muted) 88%, transparent);
  border-color: var(--theme-divider);
}

.theme-task-card--high {
  border-color: rgba(255, 42, 109, 0.24);
  box-shadow: var(--theme-shadow-card), 0 0 0 1px rgba(255, 42, 109, 0.06);
}

.theme-task-card--medium {
  border-color: rgba(255, 240, 31, 0.24);
  box-shadow: var(--theme-shadow-card), 0 0 0 1px rgba(255, 240, 31, 0.06);
}

.theme-task-card--low {
  border-color: rgba(0, 255, 136, 0.24);
  box-shadow: var(--theme-shadow-card), 0 0 0 1px rgba(0, 255, 136, 0.06);
}

.theme-task-meta-card {
  background: color-mix(in srgb, var(--theme-app-secondary) 58%, transparent);
  border: 1px solid var(--theme-border);
  color: var(--theme-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.theme-project-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 100%),
    var(--theme-gradient-surface);
  border: 1px solid var(--theme-border);
  box-shadow: var(--theme-shadow-card);
}

.theme-project-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(var(--theme-primary-rgb), 0.52) 48%, transparent 100%);
  opacity: 0.75;
}

.theme-project-card--neutral {
  border-color: var(--theme-divider);
}

.theme-project-card--info {
  border-color: rgba(var(--theme-primary-rgb), 0.24);
  box-shadow: var(--theme-shadow-card), 0 0 0 1px rgba(var(--theme-primary-rgb), 0.06);
}

.theme-project-card--success {
  border-color: rgba(0, 255, 136, 0.24);
  box-shadow: var(--theme-shadow-card), 0 0 0 1px rgba(0, 255, 136, 0.06);
}

.theme-project-card--warning {
  border-color: rgba(255, 240, 31, 0.24);
  box-shadow: var(--theme-shadow-card), 0 0 0 1px rgba(255, 240, 31, 0.06);
}

.theme-project-stat-card {
  background: color-mix(in srgb, var(--theme-app-secondary) 54%, transparent);
  border: 1px solid var(--theme-border);
  color: var(--theme-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.theme-automation-shell {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 100%),
    var(--theme-gradient-surface);
  border: 1px solid var(--theme-border);
  box-shadow: var(--theme-shadow-card);
}

.theme-automation-panel {
  background: color-mix(in srgb, var(--theme-app-secondary) 58%, transparent);
  border: 1px solid var(--theme-border);
  color: var(--theme-text);
  box-shadow: var(--theme-shadow-card), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.theme-automation-panel--soft {
  background: color-mix(in srgb, var(--theme-surface-muted) 84%, transparent);
}

.theme-automation-toolbar {
  background: color-mix(in srgb, var(--theme-app-secondary) 74%, transparent);
  border: 1px solid var(--theme-border);
  box-shadow: var(--theme-shadow-card);
  backdrop-filter: blur(16px);
}

.theme-automation-canvas {
  background:
    radial-gradient(circle at top left, rgba(var(--theme-primary-rgb), 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 100%),
    var(--theme-surface-muted);
  border: 1px solid var(--theme-border);
  box-shadow: var(--theme-shadow-card);
}

.theme-automation-node {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 100%),
    color-mix(in srgb, var(--theme-app-secondary) 66%, transparent);
  border: 1px solid var(--theme-border);
  color: var(--theme-text);
  box-shadow: var(--theme-shadow-card);
}

.theme-automation-canvas .react-flow__controls,
.theme-automation-canvas .react-flow__minimap {
  background: color-mix(in srgb, var(--theme-app-secondary) 76%, transparent);
  border: 1px solid var(--theme-border);
  box-shadow: var(--theme-shadow-card);
}

.theme-automation-canvas .react-flow__controls-button {
  background: transparent;
  border-bottom: 1px solid var(--theme-divider);
  color: var(--theme-text);
}

.theme-automation-canvas .react-flow__controls-button:hover {
  background: rgba(var(--theme-primary-rgb), 0.1);
}

.theme-status-online {
  background: var(--theme-success-soft);
  border: 1px solid rgba(0, 255, 136, 0.24);
  color: var(--theme-success);
}

.theme-avatar-badge {
  background: var(--theme-gradient-main);
  color: #fff;
  box-shadow: var(--theme-glow-soft);
}

.theme-compat-section [class*='bg-[#2B2E43]'],
[class*='bg-[#2B2E43]'] {
  background: var(--theme-surface-elevated) !important;
}

.theme-compat-section [class*='bg-[#393C58]'],
[class*='bg-[#393C58]'] {
  background: var(--theme-surface-alt) !important;
}

.theme-compat-section [class*='bg-[#1F2937]'],
[class*='bg-[#1F2937]'] {
  background: var(--theme-surface-muted) !important;
}

.text-gray-900,
.text-gray-800,
.text-gray-700,
.text-gray-200,
.text-gray-100,
.dark\:text-white,
.dark\:text-gray-100,
.text-white {
  color: var(--theme-text) !important;
}

.text-gray-600,
.text-gray-500,
.text-gray-400,
.text-gray-300,
.dark\:text-gray-300,
.dark\:text-gray-400,
.dark\:text-gray-500 {
  color: var(--theme-text-muted) !important;
}

.border-gray-100,
.border-gray-200,
.border-gray-300,
.border-gray-600,
.border-gray-700,
.border-gray-800,
.dark\:border-gray-700,
.dark\:border-gray-800 {
  border-color: var(--theme-border) !important;
}

.bg-white,
.bg-gray-50,
.bg-gray-100,
.bg-gray-900,
.dark\:bg-neutral-dark,
.dark\:bg-neutral-darker,
.dark\:bg-gray-800,
.dark\:bg-gray-900 {
  background: var(--theme-surface) !important;
}

button,
input,
textarea,
select {
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

button:not(.unstyled-button) {
  position: relative;
}

input,
textarea,
select {
  background: color-mix(in srgb, var(--theme-app-secondary) 62%, transparent) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--theme-text-dim) !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--theme-border-strong) !important;
  box-shadow: 0 0 0 4px rgba(var(--theme-primary-rgb), 0.14) !important;
}

.cyber-glow-blue {
  box-shadow: var(--theme-glow-soft) !important;
}

.cyber-glow-purple {
  box-shadow: 0 18px 48px rgba(188, 19, 254, 0.26) !important;
}

.cyber-glow-pink {
  box-shadow: 0 18px 48px rgba(255, 0, 255, 0.18) !important;
}

.cyber-glow-green {
  box-shadow: 0 18px 48px rgba(0, 255, 136, 0.18) !important;
}

.text-glow {
  text-shadow: 0 0 18px rgba(var(--theme-primary-rgb), 0.46);
}

.cyber-border {
  position: relative;
}

.cyber-border::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: var(--theme-gradient-main);
  opacity: 0.28;
  filter: blur(16px);
  z-index: -1;
}

.mono {
  font-family: 'Share Tech Mono', monospace;
}

@keyframes theme-grid-drift {
  from {
    transform: perspective(560px) rotateX(60deg) translateY(0);
  }
  to {
    transform: perspective(560px) rotateX(60deg) translateY(52px);
  }
}

@keyframes theme-orb-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  25% {
    transform: translate3d(40px, -36px, 0) scale(1.08);
  }
  50% {
    transform: translate3d(-26px, 22px, 0) scale(0.92);
  }
  75% {
    transform: translate3d(32px, 32px, 0) scale(1.04);
  }
}
