.workout-celebration{padding:0;border:1px solid var(--line);border-radius:24px;width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--panel);color:var(--ink);box-shadow:0 28px 80px #07151f38;animation:workout-entrance 220ms ease-out}
.workout-celebration::backdrop{background:#07151f88;backdrop-filter:blur(6px)}
.workout-celebration-hero{position:relative;text-align:center;padding:32px 22px 26px;color:var(--on-inverse,#f8fbfa);background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--route) 24%,transparent),transparent 20rem),linear-gradient(138deg,var(--inverse),color-mix(in srgb,var(--inverse) 84%,var(--route)))}
.workout-celebration-close{position:absolute;inset-inline-end:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:30px;cursor:pointer}
.workout-celebration-portrait{width:88px;height:88px;border-radius:50%;overflow:hidden;margin:0 auto 18px;border:3px solid var(--recovery);box-shadow:0 0 0 8px color-mix(in srgb,var(--recovery) 12%,transparent);animation:workout-halo 700ms ease-out}
.workout-celebration-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.workout-celebration-kicker{font-size:14px;letter-spacing:.06em;margin:0 0 8px;color:var(--recovery)}
.workout-celebration h2{font-size:32px;line-height:1.16;margin:0 0 10px;color:inherit}
.workout-celebration-workout{font-size:16px;margin:0;color:var(--inverse-muted,#c1d1d4);overflow-wrap:anywhere}
.workout-celebration-number{font-variant-numeric:tabular-nums;font-size:72px;font-weight:750;letter-spacing:-.04em;line-height:1.1;margin:24px 0 8px}
.workout-celebration-unit{display:block;font-size:16px;font-weight:400;letter-spacing:normal;margin-top:4px}
.workout-celebration-sub{font-size:17px;margin:12px 0 0;line-height:1.4}
.workout-celebration-body{padding:22px;display:grid;gap:18px}
.workout-celebration-budget{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;font-size:15px}
.workout-celebration-budget strong{font-size:24px;font-variant-numeric:tabular-nums}
.workout-celebration-budget>span:first-child{width:100%;text-align:center;color:var(--muted)}
.workout-celebration-details{font-size:14px;color:var(--muted);text-align:start}
.workout-celebration-details summary{min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.workout-celebration-details p{line-height:1.5}
.workout-celebration-back{width:100%;min-height:48px;border:0;border-radius:999px;background:var(--route);color:white;font:inherit;font-weight:700;cursor:pointer}
.workout-celebration-setting{min-height:52px;display:flex;gap:12px;align-items:center;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:18px}
.workout-celebration-setting input{width:24px;height:24px;accent-color:var(--route)}
@keyframes workout-entrance{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes workout-halo{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--recovery) 32%,transparent)}100%{box-shadow:0 0 0 8px color-mix(in srgb,var(--recovery) 12%,transparent)}}
@media(prefers-reduced-motion:reduce){.workout-celebration,.workout-celebration-portrait{animation:none}}
@media(max-height:700px){.workout-celebration-hero{padding:22px 18px 20px}.workout-celebration-number{font-size:58px;margin-top:16px}.workout-celebration-portrait{margin-bottom:14px}.workout-celebration-body{padding:16px;gap:10px}}

@media(max-width:780px){.workout-celebration{border-radius:20px}}
