.swl-sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.swl-sound-toggle .swl-sound-icon{font-size:17px;line-height:1;color:var(--mint,#d5fa70)}
.swl-sound-toggle[aria-pressed="false"] .swl-sound-icon{color:var(--muted,#a9a8ba)}
.swl-celebration,.swl-celebration *{pointer-events:none!important;user-select:none}
.swl-celebration{
  position:fixed;inset:0;z-index:90;overflow:hidden;display:grid;place-items:center;
  isolation:isolate;contain:layout style;--celebration-lime:#d5fa70;--celebration-gold:#ffdc79;
}
/* Final frames cannot flash back when an effect finishes or is cancelled.
   Static reduced-motion celebrations deliberately use their normal opacity. */
.swl-celebration:not(.is-static) .swl-celebration-banner,
.swl-celebration:not(.is-static) .swl-celebration-veil,
.swl-confetti{opacity:0}
.swl-celebration-veil{
  position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse at 50% 45%,#182213b8 0,#11171175 38%,#0d0e131a 77%);
}
.swl-celebration-confetti{position:absolute;inset:0;overflow:hidden;z-index:3;perspective:1000px}
.swl-confetti{
  display:block;position:absolute;top:0;border-radius:1px;transform-origin:center;
  box-shadow:0 0 5px #d8ff6b20;
}
.swl-confetti--gold{
  background:linear-gradient(115deg,#fff6bd 0%,#ffdb64 22%,#d79826 49%,#fff0a2 68%,#f8c44c 100%);
  box-shadow:0 0 5px #ffd46728;
}
.swl-confetti--green{background:linear-gradient(115deg,#f2ffd4 0%,#cfff54 25%,#69df3b 49%,#e9ffad 69%,#a7f14c 100%)}
.swl-confetti--diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:0}
.swl-confetti--foil{border-radius:1px 2px 1px 2px}
.swl-confetti--tile{border-radius:2px}
.swl-celebration-banner{
  position:relative;width:min(580px,calc(100vw - 56px));text-align:center;padding:28px 24px 30px;
  border:1px solid #e3dc9a68;border-radius:30px;
  background:linear-gradient(140deg,#34382ced,#171b19f2 43%,#242827f2 78%,#39342aeb);
  box-shadow:0 28px 100px #0008,0 0 0 6px #c4f57507,inset 0 1px 0 #fff3;
  overflow:hidden;z-index:2;
}
.swl-celebration-banner:before{
  content:"";position:absolute;inset:7px;border:1px solid #e8e7c316;border-radius:23px;
}
.swl-celebration-medals{display:flex;justify-content:center;gap:9px;margin-bottom:17px}
.swl-celebration-medal{
  display:grid;place-items:center;width:41px;height:41px;border-radius:50%;font-size:23px;font-weight:950;
  color:#242d12;border:1px solid #e9ffc2;
  background:linear-gradient(138deg,#f1ffd5 0%,#bfd66d 36%,#e9fba4 52%,#899b3f 100%);
  box-shadow:0 5px 18px #0005,inset 0 1px 0 #fff8;
}
.swl-celebration-title{font-size:clamp(39px,7.9vw,77px);font-weight:950;letter-spacing:-.065em;line-height:.86;margin:0}
.swl-celebration-title span{display:block}
.swl-celebration-title span:first-child{color:var(--celebration-lime)}
.swl-celebration-title span:last-child{
  color:#ffe9a6;background:linear-gradient(130deg,#fff4cc 4%,#f2cf71 29%,#fff6d8 51%,#c29e47 77%,#ffedb0 98%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.swl-celebration-name{font-size:clamp(16px,3vw,23px);font-weight:800;line-height:1.25;margin:22px 0 7px;color:#fffdf5;overflow-wrap:anywhere}
.swl-celebration-detail{font-size:12px;letter-spacing:.06em;color:#c5ccbe;line-height:1.5;overflow-wrap:anywhere}
.swl-celebration-caption{font-size:10px;font-weight:850;letter-spacing:.19em;text-transform:uppercase;color:var(--celebration-lime);margin-top:16px}
.swl-celebration.is-static .swl-celebration-confetti{display:none}
.swl-celebration.is-static .swl-celebration-veil{background:transparent}
.swl-celebration.is-static{align-items:start;padding-top:max(105px,20vh)}
.swl-celebration.is-static .swl-celebration-banner{width:min(440px,calc(100vw - 32px));padding:19px 24px 21px;border-radius:22px}
.swl-celebration.is-static .swl-celebration-title{font-size:34px;line-height:.94}
.swl-celebration.is-static .swl-celebration-title span{display:inline}
.swl-celebration.is-static .swl-celebration-title span+span:before{content:" "}
.swl-celebration.is-static .swl-celebration-medals{display:none}
.swl-celebration.is-static .swl-celebration-name{font-size:17px;margin-top:12px}
.swl-celebration.is-static .swl-celebration-caption{margin-top:10px;font-size:9px}
@media(max-width:700px){
  .swl-sound-toggle{width:38px;min-height:40px;padding:0}
  .swl-sound-toggle .swl-sound-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .swl-celebration-banner{padding:23px 17px 25px;border-radius:25px}
  .swl-celebration-caption{letter-spacing:.13em}
}
@media(prefers-reduced-motion:reduce){.swl-celebration-confetti{display:none}}
body.no-motion .swl-celebration-confetti{display:none}

.swl-celebration.is-prize .swl-celebration-banner{border-color:#ffd77a;background:radial-gradient(ellipse at 50% 0,#705b2c,#282317 45%,#15171b 100%);box-shadow:0 25px 100px #0009,0 0 75px #ffd06740,inset 0 1px #fff5}
.swl-celebration.is-prize .swl-celebration-medal{width:66px;height:66px;font-size:37px;background:linear-gradient(145deg,#fff1b1,#c78e29);border-color:#ffe397}
.swl-celebration.is-prize .swl-celebration-detail{font-size:18px;font-weight:800;color:#ffe2a2;letter-spacing:.08em}
.swl-celebration.is-prize .swl-celebration-caption{line-height:1.7;letter-spacing:.06em}

/* Complex completion stays brief and leaves the app fully visible and usable. */
.swl-celebration.is-compact{align-items:center;padding:0 16px}
.swl-celebration.is-compact .swl-celebration-banner{
  width:auto;max-width:100%;padding:22px 28px;border-radius:20px;
  border-color:#d5fa7066;background:#20251df5;
  box-shadow:0 12px 38px #0005,inset 0 1px 0 #ffffff12;
}
.swl-celebration.is-compact .swl-celebration-banner:before{content:none}
.swl-celebration.is-compact .swl-celebration-title{
  margin:0;color:var(--celebration-lime);font-size:clamp(26px,5vw,42px);
  line-height:1.12;letter-spacing:-.035em;font-weight:850;
}
