/* ==================== Window Open/Close ==================== */
.os-window {
  animation: winOpen 0.15s ease-out;
}

@keyframes winOpen {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}

.os-window.win-minimized {
  transform: scaleY(0) translateY(100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.12s ease-in, opacity 0.12s ease-in;
}

/* ==================== Start Menu ==================== */
.start-menu {
  animation: menuSlide 0.12s ease-out;
}

@keyframes menuSlide {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ==================== Status Dot ==================== */
@keyframes pixelBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* ==================== Desktop Icon Hover ==================== */
.desktop-icon {
  transition: background 0.1s, border-color 0.1s;
}

/* ==================== Welcome Title Glow ==================== */
.welcome-title {
  animation: titlePulse 3s ease-in-out infinite alternate;
}

@keyframes titlePulse {
  from { text-shadow: none; }
  to   { text-shadow: 0 0 8px var(--accent-glow); }
}

/* ==================== Reduced Motion ==================== */
@media (prefers-reduced-motion: reduce) {
  .os-window,
  .start-menu,
  .desktop-icon,
  .welcome-title {
    animation: none !important;
    transition: none !important;
  }
  .os-window.win-minimized {
    transition: none;
  }
}
