/* Bounded overlays never intercept study controls outside their own card. */
.celebrations{position:fixed;right:24px;bottom:18px;z-index:1100;pointer-events:none;font-family:Inter,sans-serif;color:var(--theme-text-primary,#433e32);max-width:calc(100vw - 32px)}
.celebration-controls{display:flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid var(--theme-border,#dcd5c4);border-radius:30px;background:var(--theme-surface,#faf7eef5);font-size:11px;box-shadow:0 3px 18px #443c2910}
.celebration-sound,.celebration-continue{pointer-events:auto;cursor:pointer;color:inherit;background:transparent;border:0;font:inherit;padding:5px 8px;border-radius:5px}.celebration-sound:focus-visible,.celebration-continue:focus-visible{outline:2px solid var(--theme-border-strong,#647761);outline-offset:2px}.celebration-sound:active,.celebration-continue:active{transform:scale(.97)}
.celebration-spark{width:9px;height:13px;background:#af8d4e;border-radius:75% 10% 65% 40%;transform:rotate(25deg);display:block}
.celebration-card{position:absolute;bottom:48px;right:0;width:310px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:22px 24px;background:var(--theme-surface,#faf7ef);border:1px solid var(--theme-border,#d3ccb9);border-radius:12px;box-shadow:0 12px 45px #443c2924;animation:celebration-enter .25s ease-out;isolation:isolate}
.celebration-card h2{font:500 24px/1.2 Fraunces,Georgia,serif;margin:9px 0;color:var(--theme-text-primary,#433e32)}.celebration-label{font-size:9px;letter-spacing:.15em;color:var(--theme-text-secondary,#68765b);padding-right:25px}.celebration-card p,.celebration-card li{font-size:12px;line-height:1.6;margin:8px 0}.celebration-card ul{padding-left:16px}.celebration-big{width:390px;padding-right:94px}.celebration-portrait{position:absolute;right:9px;bottom:40px;width:77px;height:115px;object-fit:contain}.celebration-continue{font-size:11px;margin:8px 0 -5px -8px;text-decoration:underline;text-underline-offset:4px}.celebration-check{position:absolute;right:23px;top:20px;width:14px;height:8px;border-left:2px solid var(--theme-border-strong,#738769);border-bottom:2px solid var(--theme-border-strong,#738769);transform:rotate(-45deg);animation:celebration-check .3s ease-out}.celebration-quote{margin:12px 0;font:italic 21px/1.4 Newsreader,Georgia,serif}.celebration-quote span{display:inline-block;white-space:pre-wrap;animation:celebration-enter .25s both;animation-delay:var(--delay)}
.celebration-particles{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:-1}.celebration-particle{position:absolute;left:50%;top:30%;width:4px;height:4px;border-radius:50%;background:#b49b60;animation:celebration-particle 1.1s ease-out both;animation-delay:var(--delay);color:#9c804c;font:22px Georgia}.celebration-particle:nth-child(3n){background:#91a18a;color:#75866b}.celebration-particle:nth-child(4n){background:#b5836d;color:#a57760}.celebration-particle.variant-1{height:9px;border-radius:0}.celebration-particle.variant-4{width:8px;height:10px;background:#e4d8bb;border-radius:1px}.celebration-particle:is(.variant-2,.variant-3,.variant-5){background:none;width:auto;height:auto}
.celebration-answer{animation:celebration-answer .5s ease-out!important}.qz-opts .correct,.chip.good{background-color:var(--theme-success-surface,#e5ecdf)!important}.celebration-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@keyframes celebration-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes celebration-check{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes celebration-answer{0%,100%{transform:none}35%{transform:translateY(-2px) scale(1.02);box-shadow:0 0 0 3px #a5b39866,0 8px 25px #b49b6026}}@keyframes celebration-particle{0%{opacity:0;transform:translate(0,0)}15%{opacity:.85}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}
@media(max-width:600px){.celebrations{right:16px;bottom:76px}.celebration-controls{font-size:10px}.celebration-big{width:340px}.celebration-card{padding-top:18px}}
@media(prefers-reduced-motion:reduce){.celebration-card,.celebration-check,.celebration-quote span,.celebration-answer{animation:none!important;transform:none!important}.celebration-answer{outline:2px solid var(--theme-border-strong,#91a18a)}.celebration-particles{display:none}.celebration-sound:active,.celebration-continue:active{transform:none}}

.celebration-card{max-height:calc(100dvh - 165px);overflow:auto}.celebration-card p{max-height:7.5em;overflow:auto}

.qz-opt.wrong,.step-feedback.bad,.blankrow input.bad{background:var(--theme-error-surface,#f2e9e3)!important;border-color:var(--theme-border-strong,#c6a99a)!important;color:var(--theme-error,#795c50)!important}.qz-opt.wrong .letter{background:var(--theme-error-surface,#a98674)!important}
