/* Space School — Balloon Pop */
.ssa.is-mode .ssa-answers.t-mode{display:block}
.bl{position:relative;height:clamp(480px,50vw,600px);border-radius:24px;overflow:hidden;user-select:none;-webkit-user-select:none;background:linear-gradient(180deg,#7dd3fc 0%,#bae6fd 55%,#e0f2fe 100%)}
.bl-sun{position:absolute;right:8%;top:8%;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,#fff7d6,#fde047);box-shadow:0 0 60px rgba(253,224,71,.7)}
.bl-cloud{position:absolute;height:30px;border-radius:30px;background:#fff;animation:blcloud linear infinite}
.bl-cloud::before,.bl-cloud::after{content:"";position:absolute;bottom:10px;border-radius:50%;background:#fff}
.bl-cloud::before{left:18%;width:44px;height:44px}.bl-cloud::after{left:50%;width:56px;height:56px}
.bl-cloud.a{width:150px;top:22%;left:-170px;animation-duration:60s}.bl-cloud.b{width:110px;top:40%;left:-130px;animation-duration:80s;animation-delay:-40s;opacity:.85}
@keyframes blcloud{to{left:110%}}
.bl-sign{position:relative;z-index:3;max-width:680px;margin:12px auto 0;padding:10px 16px;border-radius:18px;background:#fff;text-align:center;color:#1b2340;box-shadow:0 8px 0 rgba(27,47,107,.1)}
.bl-sign small{display:block;color:#db2777;font:800 12px "Nunito Sans",sans-serif;text-transform:uppercase;letter-spacing:.4px}
.bl-sign b{display:block;margin-top:2px;font:700 clamp(18px,2.2vw,24px)/1.25 Fredoka,sans-serif;color:#1b2340}
.bl-img{display:block;max-height:100px;margin:8px auto 0;border-radius:12px}
.bl-sky{position:absolute;inset:0;z-index:2}
.bl-grass{position:absolute;left:0;right:0;bottom:0;height:40px;z-index:4;background:radial-gradient(circle at 20px 0,#4ade80 20px,transparent 21px) 0 0/40px 40px repeat-x,linear-gradient(180deg,transparent 20px,#22c55e 20px)}
.bl-b{position:absolute;bottom:-190px;width:clamp(104px,12vw,140px);margin-left:calc(clamp(104px,12vw,140px) / -2);padding:0;border:0;background:none;cursor:pointer;animation:blrise var(--dur) linear infinite;animation-delay:var(--delay)}
@keyframes blrise{0%{transform:translate(0,0)}25%{transform:translate(var(--sway),-28vh)}50%{transform:translate(0,-56vh)}75%{transform:translate(calc(var(--sway) * -1),-84vh)}100%{transform:translate(0,-112vh)}}
.bl-b svg{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.15))}
.bl-t{position:absolute;left:8%;right:8%;top:24%;padding:4px 6px;border-radius:12px;background:rgba(255,255,255,.92);color:#1b2340;font:800 clamp(12px,1.25vw,15px)/1.2 "Nunito Sans",sans-serif;text-align:center;overflow-wrap:anywhere}
.bl-b:hover svg{filter:drop-shadow(0 0 14px rgba(255,255,255,.9))}
.bl-b.is-pop{animation-play-state:paused;pointer-events:none}
.bl-b.is-pop svg,.bl-b.is-pop .bl-t{animation:blpop .3s ease-out forwards}
@keyframes blpop{50%{transform:scale(1.25)}100%{transform:scale(0);opacity:0}}
.bl-b.is-right .bl-t{background:#dcfce7}
.bl-b.is-wrong{animation-play-state:paused}
.bl-b.is-wrong svg{filter:grayscale(1) opacity(.45)}
.bl-b.is-wrong .bl-t{background:#fee2e2;color:#991b1b}
.bl-b.is-show{animation-play-state:paused;z-index:3}
.bl-b.is-show svg{filter:drop-shadow(0 0 18px #fde047)}
.bl-b.is-gone{opacity:0;pointer-events:none;transition:opacity .5s}
.bl.is-win::after,.bl.is-lose::after,.bl.is-part::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:24px;animation:blflash .9s ease-out forwards}
.bl.is-win::after{box-shadow:inset 0 0 0 6px #22c55e}.bl.is-lose::after{box-shadow:inset 0 0 0 6px #ef4444}.bl.is-part::after{box-shadow:inset 0 0 0 6px #f59e0b}
@keyframes blflash{to{opacity:0}}
@media (prefers-reduced-motion:reduce){.bl-b{animation-duration:60s}}

/* ---------- themes ---------- */
.th-bubbles .bl-sun,.th-bubbles .bl-cloud,.th-lanterns .bl-cloud,.th-planets .bl-sun,.th-planets .bl-cloud{display:none}
.th-bubbles .bl-b svg,.th-lanterns .bl-b svg,.th-planets .bl-b svg{opacity:0}
.th-bubbles .bl-b::before,.th-lanterns .bl-b::before,.th-planets .bl-b::before{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:1;border-radius:50%}
.bl.th-bubbles{background:linear-gradient(180deg,#67e8f9 0%,#0891b2 55%,#164e63 100%)}
.th-bubbles .bl-b::before{background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.95) 0 7%,rgba(255,255,255,.25) 8% 45%,rgba(165,243,252,.3) 72%,rgba(255,255,255,.7) 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.75),0 0 20px rgba(165,243,252,.5)}
.th-bubbles .bl-grass{background:radial-gradient(circle at 20px 0,#fcd34d 18px,transparent 19px) 0 0/40px 40px repeat-x,linear-gradient(#fbbf24,#d97706)}
.th-bubbles .bl-sign{background:#ecfeff}.th-bubbles .bl-sign small{color:#0e7490}
.bl.th-lanterns{background:radial-gradient(circle at 80% 14%,#fde68a 0 28px,transparent 30px),linear-gradient(180deg,#1e1b4b 0%,#312e81 60%,#4c1d95 100%)}
.th-lanterns .bl-sun{background:none;box-shadow:none}
.th-lanterns .bl-b::before{border-radius:22% 22% 30% 30%;background:linear-gradient(180deg,#b45309 0 10%,#f59e0b 10% 85%,#b45309 85%);box-shadow:0 0 40px rgba(253,186,116,.75),inset 0 0 0 3px #78350f}
.th-lanterns .bl-b::after{content:"🌙";position:absolute;left:50%;top:-18px;transform:translateX(-50%);font-size:22px}
.th-lanterns .bl-grass{background:linear-gradient(#1e1b4b,#0f0a2e)}
.th-lanterns .bl-sign{background:#fff7ed}.th-lanterns .bl-sign small{color:#b45309}
.bl.th-planets{background:radial-gradient(1.5px 1.5px at 15% 20%,#fff,transparent),radial-gradient(1.2px 1.2px at 60% 40%,#fff,transparent),radial-gradient(1.5px 1.5px at 85% 75%,#fff,transparent),linear-gradient(180deg,#0b1240,#1e1b4b)}
.th-planets .bl-b:nth-child(4n+1)::before{background:radial-gradient(circle at 32% 30%,#fdba74,#ea580c 60%,#7c2d12)}
.th-planets .bl-b:nth-child(4n+2)::before{background:radial-gradient(circle at 32% 30%,#93c5fd,#2563eb 60%,#1e3a8a)}
.th-planets .bl-b:nth-child(4n+3)::before{background:radial-gradient(circle at 32% 30%,#f9a8d4,#db2777 60%,#831843)}
.th-planets .bl-b:nth-child(4n)::before{background:radial-gradient(circle at 32% 30%,#86efac,#16a34a 60%,#14532d)}
.th-planets .bl-b::after{content:"";position:absolute;left:-14%;right:-14%;top:42%;height:16%;border-radius:50%;border:3px solid rgba(253,230,138,.7);transform:rotate(-14deg)}
.th-planets .bl-grass{background:linear-gradient(#475569,#1e293b)}
.th-planets .bl-sign{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25)}.th-planets .bl-sign small{color:#fde68a}
.th-planets .bl-sign b{color:#fff}
.th-bubbles .bl-sign b{color:#0c4a6e}.th-lanterns .bl-sign b{color:#451a03}
