/* ============================================
   PASIONIX — Light Theme (Violet / White)
   ============================================ */

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(139,92,246,.2); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(139,92,246,.35); }

/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .65s ease, transform .65s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Card hover */
.card-hover {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(139,92,246,.08);
  border-color: rgba(139,92,246,.2);
}

/* Network background section (gradient) */
.network-bg {
  background: linear-gradient(170deg, #1e1b4b 0%, #2e1065 30%, #4c1d95 55%, #7e22ce 75%, #a855f7 100%);
}

/* Flash messages auto-dismiss */
.flash-msg {
  animation: flashIn .35s ease;
}
@keyframes flashIn {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Line clamp */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Canvas crisp rendering */
canvas {
  image-rendering: auto;
}

/* Smooth section transitions */
section {
  position: relative;
}

/* Selection color */
::selection {
  background: rgba(139,92,246,.15);
  color: inherit;
}
