*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--sans);min-height:100vh;overflow-x:hidden}
button{cursor:pointer;font-family:inherit}input{font-family:inherit}a{color:inherit;text-decoration:none}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:rgba(0,229,212,.18);border-radius:2px}

/* Подводные орбы */
.ee-orb{position:fixed;border-radius:50%;filter:blur(130px);pointer-events:none;z-index:0;will-change:transform}
.ee-orb1{width:600px;height:600px;background:radial-gradient(circle,#00b8aa22,transparent 70%);top:-200px;left:-200px;animation:orb1 22s ease-in-out infinite;opacity:.9}
.ee-orb2{width:500px;height:500px;background:radial-gradient(circle,#ff2d5e18,transparent 70%);bottom:-180px;right:-180px;animation:orb2 28s ease-in-out infinite;opacity:.9}
.ee-orb3{width:400px;height:400px;background:radial-gradient(circle,#0077ff12,transparent 70%);top:40%;left:50%;transform:translate(-50%,-50%);animation:orb1 34s ease-in-out infinite reverse;opacity:.7}
@keyframes orb1{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,80px)}}
@keyframes orb2{0%,100%{transform:translate(0,0)}50%{transform:translate(-80px,-60px)}}

/* Сетка — подводные лучи */
.ee-grid{position:fixed;inset:0;background-image:
  linear-gradient(180deg,rgba(0,229,212,.025) 1px,transparent 1px),
  linear-gradient(90deg,rgba(0,229,212,.015) 1px,transparent 1px);
  background-size:72px 72px;pointer-events:none;z-index:0;
  animation:gridmove 40s linear infinite}
@keyframes gridmove{0%{background-position:0 0}100%{background-position:72px 72px}}

/* Дополнительные частицы */
.ee-grid::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 40% at 50% 0%,rgba(0,229,212,.06) 0%,transparent 60%),
             radial-gradient(ellipse 60% 30% at 80% 100%,rgba(255,45,94,.05) 0%,transparent 60%)}

.ee-inner{position:relative;z-index:1}
.ee-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:18px 0}
.ee-empty{text-align:center;padding:48px 20px;color:var(--text3);font-family:var(--mono);font-size:.82rem}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Глитч на тексте */
@keyframes glitch{
  0%,90%,100%{text-shadow:0 0 8px var(--g1),0 0 20px rgba(255,45,94,.3)}
  92%{text-shadow:-2px 0 var(--c1),2px 0 var(--g1),0 0 20px rgba(255,45,94,.5)}
  94%{text-shadow:2px 0 var(--c1),-2px 0 var(--g1),0 0 20px rgba(0,229,212,.4)}
  96%{text-shadow:0 0 8px var(--g1),0 0 20px rgba(255,45,94,.3)}
}

/* Тост */
.ee-toast{position:fixed;bottom:20px;right:18px;z-index:1000;
  background:var(--bg2);border:1px solid rgba(0,229,212,.2);
  border-radius:var(--radius-sm);padding:10px 15px;font-size:.76rem;
  font-family:var(--mono);color:var(--text);box-shadow:0 12px 40px rgba(0,0,0,.8);
  transform:translateY(16px);opacity:0;transition:.25s;max-width:280px;
  pointer-events:none;display:flex;align-items:center;gap:8px}
.ee-toast.show{transform:translateY(0);opacity:1}
.ee-toast.err{border-color:rgba(255,45,94,.35);color:var(--red)}
.ee-toast.warn{border-color:rgba(255,204,0,.3);color:var(--yellow)}
