#swipe-card { animation: slideUp .3s ease both; touch-action: pan-y; }
#swipe-card.enter-down { animation-name: slideDown; }
@keyframes slideUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideDown { from { opacity: 0; transform: translateY(-26px); } to { opacity: 1; transform: translateY(0); } }
.save-workout,.complete-day { width:100%; margin-top:13px; min-height:48px; border-radius:10px; font:700 12px Manrope; letter-spacing:.3px; transition:transform .2s,background .25s,color .25s; }
.log-head button.running { background:var(--orange); border-color:var(--orange); color:#171313; }
.week-nav{display:flex;justify-content:space-between;margin:10px 0 2px}.week-nav button{font:10px 'DM Mono';color:var(--muted);padding:6px 0}.week-nav button:disabled{opacity:.3}.rep-title{display:flex;gap:4px;align-items:center}.rep-title button{width:14px;height:14px;border:1px solid var(--muted);border-radius:50%;font:9px Georgia;color:var(--lime);line-height:1;padding:0}.rep-tip{display:none;margin:-2px 0 7px;padding:8px;border:1px solid #46513b;border-radius:7px;background:#1c2118;color:var(--lime);font:10px 'DM Mono'}.rep-tip.show{display:block}
.save-workout { background:#292d2c; border:1px solid #434945; color:#f2f5ed; }
.save-workout.saved { background:var(--lime); color:#141613; transform:scale(.98); }
.complete-day { background:var(--lime); color:#141613; }
.complete-day:active,.save-workout:active { transform:scale(.98); }
.celebration { position:fixed; inset:0; z-index:5; display:grid; place-items:center; padding:24px; background:rgba(4,5,4,.82); opacity:0; pointer-events:none; transition:opacity .25s; }
.celebration.show { opacity:1; pointer-events:auto; }
.celebration>div { width:min(100%,360px); text-align:center; padding:34px 25px; border:1px solid #51612f; border-radius:24px; background:#161916; transform:translateY(18px) scale(.96); transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.celebration.show>div { transform:translateY(0) scale(1); }
.celebration span { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 14px; border-radius:50%; background:var(--lime); color:#141613; font-size:30px; }
.celebration h2 { margin:0; font-size:28px; }.celebration p { color:var(--muted); font-size:13px; }.celebration button { margin-top:9px; background:var(--lime); color:#141613; border-radius:9px; padding:12px 18px; font-size:12px; font-weight:800; }
.confetti { position:absolute; inset:15px 10px auto; color:var(--lime); font-size:22px; letter-spacing:38px; transform:rotate(-6deg); opacity:.8; animation:confetti .8s ease-in-out infinite alternate; } .celebration>div { position:relative; overflow:hidden; } .celebration[data-final="true"] h2 { color:var(--lime); font-size:32px; } @keyframes confetti { to { transform:rotate(6deg) translateY(5px); } }
@media (prefers-reduced-motion: reduce) { #swipe-card,.celebration,.celebration>div { animation:none; transition:none; } }
