.celebration { position: fixed; inset: 0; width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 2rem; border: 0; background: var(--bg-0); color: var(--fg-0); }
.celebration[open] { display: grid; place-items: center; }
.celebration::backdrop { background: var(--bg-0); }
.celebration-card { position: relative; z-index: 1; max-width: 42rem; padding: clamp(2rem, 5vw, 5rem); text-align: center; background: var(--bg-1); border: 1px solid var(--line); border-radius: 1rem; }
.celebration-card h2 { font-size: clamp(2rem, 4vw, 4rem); margin: .5em 0; }
.celebration-card p + p { margin-top: 1rem; }
.celebration-stat { font-size: 1.4rem; font-weight: 600; }
.celebration-card .btn { margin-top: 1.5rem; }
.celebration-confetti { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.stamp.is-fresh { animation: work-stamp .35s ease-out both; }
.day-order header .stamp { display: block; width: fit-content; margin-top: 1rem; margin-bottom: .5rem; }
@keyframes work-stamp { from { transform: scale(1.7); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .stamp.is-fresh { animation: none; } .celebration-confetti { display: none; } }
