.as-quiz .as-results.as-celebration {
  --as-celebration-gold: var(--as-gold, #b18d4a);
  --as-celebration-green: #6a8060;
  position: relative;
  isolation: isolate;
  text-align: center;
  padding: clamp(24px, 3vw, 34px) clamp(16px, 4vw, 46px) 28px;
  border: 1px solid #dfd4b9;
  border-radius: 24px;
  background: radial-gradient(ellipse at 50% 0, #f6e8bc88 0, transparent 64%), #fffdf8;
  box-shadow: 0 3px 0 #ede4cd, 0 18px 48px #55422514, inset 0 1px 0 #fff;
  scroll-margin-top: 160px;
}
.as-quiz .as-results.as-celebration[hidden] { display: none !important; }
.as-celebration > :not(.as-celebration-confetti) { position: relative; z-index: 1; }
.as-celebration .as-celebration-medal { width: 82px; height: 94px; margin: 0 auto 12px; line-height: 1; filter: drop-shadow(0 8px 7px #7c5b2524); }
.as-celebration-medal svg { display: block; width: 100%; height: 100%; }
.as-celebration .as-pill { display: inline-flex; margin-bottom: 12px; color: #4c603c; background: #edf2e7; border: 1px solid #dbe4ce; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.as-quiz .as-celebration h2 { margin: 5px 0 20px; font-size: clamp(35px, 5.5vw, 50px); line-height: 1.12; letter-spacing: -.045em; color: var(--as-ink, #263127); font-weight: 700; }
.as-celebration h2:focus:not(:focus-visible) { outline: none; }
.as-celebration-ring { --as-score-percent: 0%; width: 150px; height: 150px; padding: 9px; margin: 0 auto; border-radius: 50%; background: conic-gradient(var(--as-celebration-gold) var(--as-score-percent), #eee9df 0); box-shadow: 0 5px 12px #79613d15; }
.as-quiz .as-celebration .as-result-score { width: 100%; height: 100%; margin: 0; display: flex; align-items: center; justify-content: center; padding: 10px; border: 6px solid #fffdf8; border-radius: 50%; background: #fffdf8; color: var(--as-ink, #263127); font: 700 clamp(30px, 5vw, 39px)/1.1 Georgia, serif; letter-spacing: -.05em; white-space: nowrap; }
.as-quiz .as-celebration-score-label { margin: 13px 0 18px; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #7c6746; }
.as-quiz .as-celebration .as-result-message { max-width: 440px; margin: 0 auto 27px; font-size: clamp(15px, 2vw, 17px); line-height: 1.7; color: #576052; font-weight: 500; }
.as-celebration .as-quiz-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin: 0; }
.as-celebration .as-quiz-actions a, .as-celebration .as-quiz-actions button { min-height: 47px; display: inline-flex; justify-content: center; align-items: center; text-decoration: none; font-weight: 650; font-size: 14px; padding: 12px 19px; }
.as-celebration .as-celebration-next { background: var(--as-celebration-gold); border: 1px solid #997338; color: #17241b; box-shadow: inset 0 1px 0 #ffffff40, 0 4px 0 #87632f33, 0 7px 15px #795c2a20; }
.as-celebration .as-review { text-align: left; margin-top: 30px; }
.as-celebration .as-review[hidden] { display: none; }
.as-celebration .as-review details { background: #fff; }
.as-celebration-confetti { position: absolute; inset: 0; z-index: 2; overflow: hidden; border-radius: inherit; pointer-events: none; height: min(100%, 650px); }
.as-celebration-confetti i { position: absolute; left: var(--piece-x); top: -24px; width: 8px; height: 15px; background: var(--as-celebration-gold); border-radius: 2px; opacity: 0; animation: as-confetti-fall var(--piece-time) var(--piece-delay) cubic-bezier(.18,.56,.47,1) both; }
.as-celebration-confetti .as-confetti-1 { background: var(--as-celebration-green); width: 10px; height: 10px; border-radius: 50%; }
.as-celebration-confetti .as-confetti-2 { background: #d4a396; width: 6px; height: 13px; }
.as-celebration-confetti .as-confetti-3 { background: #87a9b0; width: 8px; height: 8px; transform: rotate(45deg); }
.as-celebration-enter .as-celebration-medal { animation: as-medal-arrive .65s cubic-bezier(.2,.7,.3,1) both; }
.as-celebration-enter h2, .as-celebration-enter .as-celebration-ring { animation: as-result-arrive .45s ease-out both; }
.as-celebration-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@keyframes as-confetti-fall { 0% { opacity: 0; transform: translate3d(0,-10px,0) rotate(0); } 8% { opacity: .95; } 80% { opacity: .9; } 100% { opacity: 0; transform: translate3d(var(--piece-drift),620px,0) rotate(var(--piece-spin)); } }
@keyframes as-medal-arrive { from { transform: translateY(-14px) scale(.85) rotate(-8deg); opacity: .25; } to { transform: translateY(0) scale(1) rotate(0); opacity: 1; } }
@keyframes as-result-arrive { from { transform: translateY(8px); opacity: .3; } to { transform: translateY(0); opacity: 1; } }
@media (max-width: 600px) {
  .as-quiz .as-results.as-celebration { scroll-margin-top: 120px; border-radius: 18px; }
  .as-celebration .as-celebration-medal { width: 82px; height: 94px; }
  .as-celebration-ring { width: 144px; height: 144px; padding: 8px; }
  .as-celebration .as-quiz-actions { gap: 10px; }
  .as-celebration .as-celebration-next { flex-basis: 100%; }
  .as-celebration .as-review-button, .as-celebration .as-restart { flex: 1 1 120px; }
}
@media (prefers-reduced-motion: reduce) {
  .as-celebration *, .as-celebration *::before, .as-celebration *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .as-celebration-confetti { display: none !important; }
}
@media print { .as-celebration-confetti, .as-celebration .as-quiz-actions { display: none !important; } .as-quiz .as-results.as-celebration { box-shadow: none; } }
