/* Local flourish remains inside the established teacher-message region. */
.celebration-reward{display:flex;align-items:center;gap:var(--movli-space-3);overflow:hidden;isolation:isolate;min-height:var(--movli-celebration-emblem);color:inherit}
/* Reserve the full pulse footprint (up to 1.3x), including the static outline,
   inside the reward's clipping boundary. Transforms do not reserve layout space. */
.celebration-emblem{position:relative;display:grid;place-items:center;flex:0 0 var(--movli-celebration-emblem);width:var(--movli-celebration-emblem);height:var(--movli-celebration-emblem);margin:var(--movli-space-3);border-radius:50%;color:var(--movli-road-900);background:var(--movli-mist-100);overflow:hidden}
.celebration-emblem>.movli-icon{width:32px;height:32px;z-index:2}
.celebration-copy{display:flex;flex-direction:column;gap:4px;line-height:1.4;min-width:0;font-size:16px}
.celebration-copy strong{font-size:14px;color:var(--movli-sun-500)}
.celebration-particle{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:2px;background:var(--movli-cloud-000);opacity:0}
.tier-2 .celebration-emblem::before,.tier-3 .celebration-emblem::before{content:'';position:absolute;inset:6px;border:2px dashed var(--movli-road-900);border-radius:50%;opacity:.35;transform:rotate(-100deg) scale(.6);transition:transform var(--movli-motion-celebration) var(--movli-ease),opacity var(--movli-motion-standard)}
.celebration-impact .celebration-emblem::before{transform:rotate(0) scale(1);opacity:0}
.tier-3 .celebration-emblem::after{content:'';position:absolute;inset:3px;border:3px solid var(--movli-cloud-000);border-radius:50%;opacity:0}
.tier-3.celebration-impact .celebration-emblem::after{animation:celebration-halo var(--movli-motion-celebration) ease-out both}
@keyframes celebration-halo{from{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.1)}}
.celebration-static .celebration-emblem{outline:2px solid var(--movli-sun-500);outline-offset:2px}
body #vTekst[data-celebration]{overflow:hidden}
body.touch .celebration-reward{gap:8px;min-height:32px}
body.touch .celebration-emblem{flex-basis:36px;width:36px;height:36px;margin:var(--movli-space-2)}
body.touch .celebration-emblem>.movli-icon{width:24px;height:24px}
body.touch .celebration-copy strong{display:none}
.achievement-summary{margin:var(--movli-space-6) 0}
.achievement-summary ul{list-style:none;padding:0;display:grid;gap:var(--movli-space-4)}
.achievement-summary li{display:flex;flex-direction:column;gap:4px}
@media(prefers-reduced-motion:reduce){.celebration-emblem::before,.celebration-emblem::after{animation:none!important;transition:none!important}.celebration-particle{display:none}}
.celebration-audition-stage{background:var(--movli-road-900);color:var(--movli-cloud-000);padding:var(--movli-space-4);border-radius:var(--movli-radius-control);min-height:140px;max-width:440px;margin:var(--movli-space-6) auto}
.audition-actions{display:flex;flex-wrap:wrap;gap:var(--movli-space-3)}

.celebration-fill{position:absolute;inset:0;border-radius:50%;background:var(--movli-sun-500)}
.celebration-route{position:absolute;inset:0;width:100%;height:100%;fill:var(--movli-road-900);stroke:var(--movli-road-900);stroke-width:2;z-index:3;pointer-events:none}
.celebration-route path{fill:none;stroke-dasharray:90}
.celebration-static .celebration-route{display:none}
