.motion-reveal { opacity: 0; transform: translateY(18px); filter: blur(3px); }
.motion-reveal.motion-visible { animation: motion-reveal .6s cubic-bezier(.16,1,.3,1) var(--motion-delay, 0ms) both; }
@keyframes motion-reveal { from { opacity: 0; transform: translateY(18px); filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }

.title-row h2, .panel-header h2, .github-profile h3 { color: transparent !important; background-image: linear-gradient(180deg, #fff 0%, #f7f7f8 26%, #b9b9be 64%, #777780 100%) !important; background-clip: text !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-size: 100% 180% !important; animation: title-gradient-drift 4.8s ease-in-out infinite alternate; }
@keyframes title-gradient-drift { from { background-position: 50% 0%; } to { background-position: 50% 100%; } }

.sidebar, .result-record, .history-item, .github-card, .github-list-item { transition: border-color .28s ease, background-color .28s ease; }

body { background-image: radial-gradient(circle at 50% 0%, rgba(130,132,225,.08), transparent 36%), radial-gradient(circle at 0% 100%, rgba(255,255,255,.025), transparent 28%); }

@media (prefers-reduced-motion: reduce) {
    .title-row h2, .panel-header h2, .github-profile h3 { animation: none !important; }
    .motion-reveal { opacity: 1; transform: none; filter: none; }
}
