@layer base{html,body{margin:0;padding:0;}body{overscroll-behavior:none;}main>:first-child{margin-top:0!important;}main>:last-child{margin-bottom:0!important;}}::-webkit-scrollbar{display:none;}@keyframes pulse-slow{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(0.85);}}

/* --- page fade-in (pure CSS, no JS dependency) --- */
@keyframes pageFadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
body { animation: pageFadeIn .45s ease both; }
@media (prefers-reduced-motion: reduce) { body { animation: none; } }

/* --- results card staggered reveal (fresh allotments arriving) --- */
@keyframes cardReveal { from { opacity: 0; transform: translateY(18px) scale(0.985); } to { opacity: 1; transform: none; } }
.reveal-card { animation: cardReveal .6s cubic-bezier(0.22, 1, 0.36, 1) both; }
.reveal-card:nth-child(1) { animation-delay: .05s; }
.reveal-card:nth-child(2) { animation-delay: .18s; }
.reveal-card:nth-child(3) { animation-delay: .31s; }
.reveal-card:nth-child(4) { animation-delay: .44s; }
@media (prefers-reduced-motion: reduce) { .reveal-card { animation: none; } }
