/* Magic/Fantasy Theme - Purple, mystical */
:root {
  --theme-bg-1: #1a0a2e;
  --theme-bg-2: #2d1b4e;
  --theme-accent: #9d4edd;
  --theme-accent-2: #c77dff;
  --theme-text: #e0d0ff;
  --theme-muted: #8b7aa8;
  --theme-card: rgba(157, 78, 221, 0.1);
}

body.theme-magic {
  background: linear-gradient(180deg, var(--theme-bg-1), var(--theme-bg-2));
  color: var(--theme-text);
}

/* Sparkle effect */
.theme-magic::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: 
    radial-gradient(2px 2px at 20% 30%, rgba(199, 125, 255, 0.8), transparent),
    radial-gradient(2px 2px at 40% 70%, rgba(199, 125, 255, 0.6), transparent),
    radial-gradient(2px 2px at 50% 20%, rgba(199, 125, 255, 0.7), transparent),
    radial-gradient(2px 2px at 80% 50%, rgba(199, 125, 255, 0.5), transparent),
    radial-gradient(2px 2px at 10% 80%, rgba(199, 125, 255, 0.6), transparent),
    radial-gradient(2px 2px at 70% 90%, rgba(199, 125, 255, 0.8), transparent);
  animation: sparkle 4s ease-in-out infinite;
  z-index: 0;
}

@keyframes sparkle {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

.theme-magic .page-title,
.theme-magic .project-detail-header h2 {
  color: var(--theme-accent-2);
  text-shadow: 0 0 20px rgba(199, 125, 255, 0.5);
}

.theme-magic .project-category-badge {
  background: rgba(157, 78, 221, 0.3);
  border-color: var(--theme-accent);
  color: var(--theme-accent-2);
}

.theme-magic .tag-badge {
  background: rgba(157, 78, 221, 0.3);
  color: var(--theme-accent-2);
}

.theme-magic .project-detail-content {
  background: var(--theme-card);
  border: 1px solid var(--theme-accent);
  box-shadow: 0 0 40px rgba(157, 78, 221, 0.2);
}

.theme-magic .project-detail-content h3 {
  color: var(--theme-accent-2);
}

.theme-magic .tech-item {
  background: rgba(157, 78, 221, 0.2);
  color: var(--theme-accent-2);
}

.theme-magic .btn {
  background: linear-gradient(90deg, var(--theme-accent), var(--theme-accent-2));
  color: #fff;
}

.theme-magic .btn:hover {
  box-shadow: 0 0 20px rgba(157, 78, 221, 0.6);
}

.theme-magic .back-link {
  color: var(--theme-accent-2);
}

.theme-magic .gif-container,
.theme-magic .project-gallery img {
  border: 2px solid var(--theme-accent);
  box-shadow: 0 0 25px rgba(157, 78, 221, 0.3);
}

.theme-magic .topbar {
  background: linear-gradient(90deg, rgba(157, 78, 221, 0.1), transparent);
}

.theme-magic .brand .accent {
  color: var(--theme-accent-2);
}

.theme-magic .nav a:hover {
  color: var(--theme-accent-2);
  background: rgba(157, 78, 221, 0.2);
}
