/* ── Star twinkle ── */
@keyframes biff-twinkle {
	0%, 100% { opacity: 0.3; }
	50%       { opacity: 1.0; }
}

/* Nebula drift now handled by SVG <animate> inline */

/* ── Sun rotation ── */
@keyframes biff-sun-rotate {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to   { transform: translate(-50%, -50%) rotate(360deg); }
}

.biff-sun { animation: biff-sun-rotate 60s linear infinite; }

/* ── Sun glow pulse ── */
@keyframes biff-sun-pulse {
	0%, 100% { box-shadow:
		0 0 0 6px rgba(255, 210, 63, 0.20),
		0 0 40px 8px rgba(255, 210, 63, 0.15),
		0 0 0 10px rgba(44, 196, 255, 0.08); }
	50% { box-shadow:
		0 0 0 10px rgba(255, 210, 63, 0.28),
		0 0 60px 12px rgba(255, 210, 63, 0.22),
		0 0 0 16px rgba(44, 196, 255, 0.10); }
}

.biff-sun { animation: biff-sun-rotate 60s linear infinite, biff-sun-pulse 4s ease-in-out infinite; }

/* ── Planet orbit: parent arm rotates ── */
@keyframes biff-orbit-cw  { from { transform-origin: 0 0; transform: rotate(0deg);    }
                             to   { transform-origin: 0 0; transform: rotate(360deg);  } }
@keyframes biff-orbit-ccw { from { transform-origin: 0 0; transform: rotate(0deg);    }
                             to   { transform-origin: 0 0; transform: rotate(-360deg); } }

/* ── Planet counter-rotate (keeps planet upright) ── */
@keyframes biff-counter-cw  { from { transform: rotate(0deg);    } to { transform: rotate(-360deg); } }
@keyframes biff-counter-ccw { from { transform: rotate(0deg);    } to { transform: rotate(360deg);  } }

/* ── Shooting star / meteor ── */
@keyframes biff-meteor {
	0%   { transform: translate(0, 0) rotate(20deg); opacity: 0; }
	8%   { opacity: 1; }
	85%  { opacity: 0.85; }
	100% { transform: translate(120vw, 65vh) rotate(20deg); opacity: 0; }
}

/* ── Page transition (incoming) ── */
@keyframes biff-page-in {
	from { opacity: 0; transform: scale(0.96); }
	to   { opacity: 1; transform: scale(1); }
}

.biff-page-enter {
	animation: biff-page-in 280ms ease-out both;
}
