*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box }

:root {
  /* Фон: глубокий тёмный космос */
  --bg:      #07070c;
  --bg2:     #0d0d14;
  --bg3:     #13131c;
  --border:  #1c1c2e;
  --border2: #111120;

  /* Акценты — Stake 2026 */
  --accent:  #00eaff;
  --accent2: #00b8cc;
  --cyan:    #00eaff;
  --mag:     #a855f7;
  --grn:     #22d3a0;
  --pink:    #ec4899;
  --gold:    #f59e0b;
  --red:     #f43f5e;
  --blue:    #3b82f6;

  /* Текст */
  --t1:  #eef2ff;
  --t2:  #7c8db5;
  --t3:  #3d4a66;

  /* Размеры */
  --r:    14px;
  --rs:   8px;
  --side: 240px;
  --nav:  60px;

  /* Glass */
  --glass-bg:     rgba(255,255,255,0.03);
  --glass-border: rgba(255,255,255,0.07);

  /* Градиенты */
  --grad-cta:    linear-gradient(135deg, #00eaff 0%, #a855f7 100%);
  --grad-hero:   linear-gradient(135deg, #00eaff 0%, #a855f7 55%, #ec4899 100%);
  --grad-accent: linear-gradient(135deg, #00eaff, #00b8cc);

  /* Easing */
  --ease:      cubic-bezier(0.23, 1, 0.32, 1);
  --ease-fast: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* FA Icon helpers */
.fai { display:inline-flex; align-items:center; justify-content:center; width:1em; height:1em; font-size:inherit; vertical-align:-0.1em }
.fai-sm  { font-size:.85em }
.fai-lg  { font-size:1.2em }
.fai-mr  { margin-right:4px }
.fai-ml  { margin-left:4px }
.fai-gold   { color: var(--gold)   }
.fai-cyan   { color: var(--cyan)   }
.fai-red    { color: var(--red)    }
.fai-grn    { color: var(--grn)    }
.fai-purple { color: var(--mag)    }
.fai-blue   { color: var(--blue)   }
.fai-white  { color: #fff          }
.fai-silver { color: #b0b8c4       }
.fai-bronze { color: #cd7f32       }

/* Auth modal */
#authMod .dep-modal { animation: fadeIn .25s ease }
#authMod input:focus { outline: none; border-color: var(--accent) }

/* Generic overlay */
.dep-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 9999;
  justify-content: center;
  align-items: center;
}
.dep-overlay.ac { display: flex }

html { scroll-behavior: smooth }

body {
  font-family: 'Manrope', 'Inter', sans-serif;
  background: var(--bg);
  color: var(--t1);
  min-height: 100vh;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5 { font-weight: 800; font-family: 'Manrope', 'Inter', sans-serif }

/* Scrollbar */
::-webkit-scrollbar { width: 4px; height: 4px }
::-webkit-scrollbar-track { background: transparent }
::-webkit-scrollbar-thumb { background: rgba(168,85,247,0.2); border-radius: 4px }
::-webkit-scrollbar-thumb:hover { background: rgba(168,85,247,0.4) }

button { font-family: inherit; border: none; cursor: pointer; outline: none }
input, select { font-family: inherit; outline: none }
a { text-decoration: none; color: inherit }

#particleBg {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.4;
}

/* Gradient text */
.grd {
  background: var(--grad-hero);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.acc { color: var(--accent) }

/* Pulse dot */
.pdot {
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--grn);
  flex-shrink: 0;
}

/* ── Animations ── */
@keyframes fadeIn {
  from { opacity: 0 }
  to   { opacity: 1 }
}
@keyframes pgIn {
  from { opacity: 0; transform: translateY(10px) }
  to   { opacity: 1; transform: translateY(0) }
}
@keyframes orbFloat {
  0%, 100% { transform: translate(0, 0) scale(1) }
  33%  { transform: translate(32px, -44px) scale(1.06) }
  66%  { transform: translate(-22px, 28px) scale(0.95) }
}
@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1) }
  50%       { opacity: 0.4; transform: scale(0.65) }
}
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 20px rgba(0,234,255,0.3), 0 0 40px rgba(168,85,247,0.15) }
  50%       { box-shadow: 0 0 32px rgba(0,234,255,0.55), 0 0 60px rgba(168,85,247,0.3) }
}
@keyframes shimmer {
  0%   { background-position: -200% center }
  100% { background-position:  200% center }
}
@keyframes floatUp {
  0%, 100% { transform: translateY(0) }
  50%       { transform: translateY(-8px) }
}
@keyframes spinSlow {
  from { transform: rotate(0deg) }
  to   { transform: rotate(360deg) }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9) }
  to   { opacity: 1; transform: scale(1) }
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-20px) }
  to   { opacity: 1; transform: translateX(0) }
}
@keyframes borderGlow {
  0%, 100% { border-color: rgba(0,234,255,0.2) }
  50%       { border-color: rgba(168,85,247,0.4) }
}
