/* ---- Сканлайны + лёгкая виньетка (очень тонко) ---- */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9000;
  background:
    repeating-linear-gradient(0deg, rgba(0,0,0,0.05) 0 1px, transparent 1px 3px),
    radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,0.35) 100%);
  opacity:.5;mix-blend-mode:multiply;
}

/* ---- Глитч-эффект для заголовка ---- */
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{
  content:attr(data-text);position:absolute;left:0;top:0;width:100%;
  background:transparent;overflow:hidden;clip-path:inset(0 0 0 0);
}
.glitch::before{color:#00D4FF;transform:translate(0);animation:glx1 6s infinite steps(1)}
.glitch::after{color:#FF1493;transform:translate(0);animation:glx2 6s infinite steps(1)}
@keyframes glx1{
  0%,92%,100%{clip-path:inset(0 0 100% 0);transform:translate(0)}
  93%{clip-path:inset(10% 0 70% 0);transform:translate(-3px,-1px)}
  95%{clip-path:inset(40% 0 40% 0);transform:translate(3px,1px)}
  97%{clip-path:inset(70% 0 10% 0);transform:translate(-2px,1px)}
}
@keyframes glx2{
  0%,92%,100%{clip-path:inset(100% 0 0 0);transform:translate(0)}
  94%{clip-path:inset(60% 0 20% 0);transform:translate(3px,-1px)}
  96%{clip-path:inset(20% 0 60% 0);transform:translate(-3px,1px)}
  98%{clip-path:inset(80% 0 5% 0);transform:translate(2px,-1px)}
}

/* ---- Плавное появление карточек ---- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .5s ease, transform .5s ease}
.reveal.visible{opacity:1;transform:none}

/* ---- Boot-экран ---- */
#boot{position:fixed;inset:0;z-index:99999;background:#050507;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:24px;
  font-family:'Orbitron',monospace;transition:opacity .6s ease}
#boot.hide{opacity:0;pointer-events:none}
#boot .hex{width:90px;height:90px;animation:hexpulse 1.4s ease-in-out infinite}
#boot .lines{font-size:.8rem;line-height:1.9;color:#9D4EDD;letter-spacing:1px;
  width:min(420px,86vw);white-space:pre}
#boot .lines b{color:#FF1493}
#boot .ready{color:#00E676;font-weight:700;letter-spacing:3px}
@keyframes hexpulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}

@media (prefers-reduced-motion: reduce){
  .glitch::before,.glitch::after{animation:none;clip-path:inset(0 0 100% 0)}
  #boot .hex{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  body::after{opacity:.25}
}
