
/* Nyadoki style pack */
@keyframes nyShift { 0% {background-position:0% 50%} 50% {background-position:100% 50%} 100% {background-position:0% 50%} }
@keyframes nyFadeUp { from {opacity:0; transform:translateY(8px)} to {opacity:1; transform:none} }
@keyframes nyGlow { 0%,100% {box-shadow:0 0 0 rgba(255,79,163,0)} 50% {box-shadow:0 0 18px rgba(255,79,163,.35)} }
@keyframes nyPetal { from {transform:translateY(-10vh) rotate(0deg)} to {transform:translateY(110vh) rotate(360deg)} }

/* Slowly drifting midnight gradient behind everything */
body {
  background: linear-gradient(135deg, #0F0B1E 0%, #1B0F33 35%, #2A0F3A 60%, #0B1830 100%) !important;
  background-size: 300% 300% !important;
  background-attachment: fixed !important;
  animation: nyShift 30s ease infinite;
}

/* Cards: soft border, lift and glow on hover */
._panel {
  border: 1px solid rgba(255, 79, 163, .10);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
._panel:hover {
  border-color: rgba(255, 79, 163, .28);
  box-shadow: 0 6px 24px rgba(155, 92, 255, .18);
}

/* Notes fade in as they load */
article { animation: nyFadeUp .35s ease both; }

/* Main buttons: animated pink -> purple -> cyan gradient */
._buttonPrimary, ._buttonGradate {
  background: linear-gradient(90deg, #FF4FA3, #9B5CFF, #4FE3FF, #FF4FA3) !important;
  background-size: 300% 100% !important;
  animation: nyShift 8s linear infinite, nyGlow 3s ease-in-out infinite;
  color: #fff !important;
  border: none !important;
}
._buttonPrimary:hover, ._buttonGradate:hover { filter: brightness(1.12); }

/* Badges and role chips glow slightly */
img[src*="/nyadoki-assets/badge-"] {
  filter: drop-shadow(0 0 4px rgba(255, 79, 163, .6));
  transition: transform .2s ease;
}
img[src*="/nyadoki-assets/badge-"]:hover { transform: scale(1.25) rotate(-6deg); }

/* Links and hashtags */
a { transition: color .15s ease, text-shadow .15s ease; }
a:hover { text-shadow: 0 0 8px rgba(79, 227, 255, .5); }

/* Selection, focus, scrollbar */
::selection { background: rgba(255, 79, 163, .45); color: #fff; }
:focus-visible { outline: 2px solid #4FE3FF !important; outline-offset: 2px; }
* { scrollbar-color: #FF4FA3 transparent; scrollbar-width: thin; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: linear-gradient(#FF4FA3, #9B5CFF); border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

/* Falling sakura petals (added by nyadoki.js) */
.ny-petal {
  position: fixed; top: 0; z-index: 9999; pointer-events: none;
  width: 10px; height: 10px; border-radius: 10px 0 10px 0;
  background: linear-gradient(135deg, #FFB7D5, #FF4FA3);
  opacity: .55; animation: nyPetal linear infinite;
}

/* Respect people who turn off motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .ny-petal { display: none; }
}

/* ---- Readability fixes ---- */
/* No glow behind text anywhere */
a:hover, a { text-shadow: none !important; }

/* Buttons: darker pink -> purple only, no cyan, no pulsing glow, crisp text */
._buttonPrimary, ._buttonGradate {
  background: linear-gradient(90deg, #E0358A, #7B3FE4, #E0358A) !important;
  background-size: 200% 100% !important;
  animation: nyShift 12s linear infinite !important;
  box-shadow: none !important;
  color: #FFFFFF !important;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0,0,0,.35) !important;
}

/* Brighter, solid text on cards */
._panel { color: #F2EEFF; }

/* Softer card hover: border only, no big glow */
._panel:hover { box-shadow: 0 4px 14px rgba(0,0,0,.35) !important; }

/* Fewer, fainter petals so they don't distract */
.ny-petal { opacity: .3 !important; }
