/* Nyancat animation CSS moved out of Razor view to avoid Razor '@' parsing issues */
html, body { height:100%; }
.nyan-stage { width:100%; height:calc(100vh - 56px); /* account for navbar height */ display:flex; align-items:center; justify-content:flex-start; overflow:hidden; background: linear-gradient(180deg,#a2d9ff,#ffd1f0 60%); position:relative; }
.rainbow { position:absolute; left:-30%; top:45%; width:200%; height:60px; transform:translateY(-50%); display:flex; gap:0; animation:slide 8s linear infinite; }
.stripe { height:100%; flex:1; }
.nyan { position:relative; z-index:10; margin-left:2rem; display:flex; align-items:center; gap:1rem; animation:float 2.2s ease-in-out infinite; }
.nyan .cat { font-size:48px; }
.nyan .pop-tart { font-size:64px; }
.nyan .nyan-gif { width:360px; max-width:45vw; border-radius:8px; display:block; }
@keyframes slide { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes float { 0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)} }
.caption { position:absolute; top:10%; right:3%; font-size:1.25rem; color:#0f172a; background:rgba(255,255,255,0.6); padding:.5rem 1rem; border-radius:10px; }
