/* ДНЖ · благодарность после отправленной оценки или добавления в конструктор. */
.eval-celebration{--art-height:clamp(170px,20vw,290px);position:fixed;inset:auto 0 0;z-index:35;height:min(360px,48vh);pointer-events:none;overflow:hidden;isolation:isolate}
.eval-celebration::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#f8f6fc 0%,#f8f6fcfa 68%,#f8f6fcd9 82%,transparent 100%);animation:eval-backdrop 4.2s ease-in-out both}
.eval-celebration__halo{position:absolute;inset:auto -8% -60px;height:210px;background:radial-gradient(ellipse at 50% 100%,#ff5d0029 0,transparent 61%),radial-gradient(ellipse at 50% 100%,#ca47f028 0,transparent 73%);animation:eval-halo 4.2s ease-in-out both}
.eval-celebration__art{position:absolute;bottom:-1px;left:0;width:100%;height:var(--art-height);overflow:visible;transform-origin:50% 100%;animation:eval-art 4.2s ease-in-out both}
.eval-celebration__bar{transform-box:fill-box;transform-origin:50% 100%;animation:eval-bar 3.6s cubic-bezier(.37,0,.3,1) both;animation-delay:var(--delay)}
.eval-celebration__stop{animation:eval-colour 4.2s ease-in-out both}
.eval-celebration__message{position:absolute;bottom:clamp(125px,13.5vw,194px);left:12px;right:12px;text-align:center;color:#ff5d00;font-size:clamp(25px,3vw,42px);font-weight:850;line-height:1.06;letter-spacing:-.035em;text-transform:uppercase;animation:eval-message 4.2s ease-in-out both;text-shadow:0 2px 18px #fff9}
.eval-celebration__line{display:block}
.eval-celebration--constructor .eval-celebration__message{font-size:clamp(21px,2.6vw,36px);line-height:1.16}
.eval-celebration__context{font-size:.85em}
.eval-celebration__status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Overlapping fronts: new centre rises at .88 / 1.68 / 2.34 seconds,
   with progressively shorter gaps. The trough stays above 40% of the crest.
   Only the shared SVG envelope brings the wave to zero, after 3.6 seconds. */
@keyframes eval-bar{
  0%{transform:scaleY(0)}
  13.888889%{transform:scaleY(var(--crest))}
  24.444444%{transform:scaleY(calc(var(--crest) * .44))}
  38.333333%{transform:scaleY(calc(var(--crest) * .98))}
  46.666667%{transform:scaleY(calc(var(--crest) * .48))}
  60%{transform:scaleY(var(--crest))}
  65%{transform:scaleY(calc(var(--crest) * .52))}
  78.333333%{transform:scaleY(calc(var(--crest) * 1.02))}
  100%{transform:scaleY(calc(var(--crest) * .84))}
}
/* 85.714286% of 4.2s = 3.6s. Spatial bar delays never shift this fade. */
@keyframes eval-message{0%,5%{opacity:0}23%,85.714286%{opacity:1}100%{opacity:0}}
@keyframes eval-halo{0%{opacity:0;transform:scaleX(.75)}22%{opacity:1;transform:scaleX(.9)}62%{opacity:1;transform:scaleX(1.18)}85.714286%{opacity:1;transform:scaleX(1.25)}100%{opacity:0;transform:scaleX(1.3)}}
@keyframes eval-art{0%{opacity:0;transform:scaleY(1)}9%{opacity:1}85.714286%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(0)}}
@keyframes eval-backdrop{0%{opacity:0}9%,85.714286%{opacity:1}100%{opacity:0}}
@keyframes eval-colour{0%,100%{stop-color:var(--color-a)}34%{stop-color:var(--color-b)}60%{stop-color:var(--color-c)}}
@media(max-width:600px){
 .eval-celebration{height:250px}
 .eval-celebration__art{width:160%;max-width:none;left:-30%}
 .eval-celebration__message{bottom:126px}
 .eval-celebration__halo{height:170px}
}
@media(max-height:800px){.eval-celebration{--art-height:155px}.eval-celebration__message{bottom:104px;font-size:30px}.eval-celebration__halo{height:155px}}
@media(prefers-reduced-motion:reduce){
 .eval-celebration__bar,.eval-celebration__stop,.eval-celebration__message,.eval-celebration__art,.eval-celebration__halo,.eval-celebration::before{animation:none;transform:none;opacity:1}
}
@media print{.eval-celebration{display:none}}
