@font-face{font-family:Rye;src:url(/fonts/Rye.woff2) format("woff2");font-display:swap}@font-face{font-family:Bitter;font-weight:400;src:url(/fonts/Bitter-400.woff2) format("woff2");font-display:swap}@font-face{font-family:Bitter;font-weight:700;src:url(/fonts/Bitter-700.woff2) format("woff2");font-display:swap}:root{--bg: #070403;--bg-raised: #241d17;--bg-card: #2e251d;--line: #4a3b2c;--ink: #f5ead6;--ink-dim: #b3a48c;--accent: #e0a83c;--accent-ink: #241a06;--danger: #d4543c;--good: #7fb069;--dodge: #6fa8dc;font-size:18px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at 50% -20%,#1c1410 0%,var(--bg) 60%);color:var(--ink);font-family:Bitter,Georgia,Times New Roman,serif;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:none;border-radius:10px}button:disabled{cursor:not-allowed;opacity:.45}input{font:inherit;color:var(--ink);background:var(--bg-raised);border:2px solid var(--line);border-radius:10px;padding:.7rem .9rem;width:100%}input:focus{outline:none;border-color:var(--accent)}h1,h2{margin:.2em 0}.page{max-width:32rem;margin:0 auto;padding:1rem 1rem 4rem;display:flex;flex-direction:column;gap:.9rem}.page.center{align-items:center;justify-content:center;min-height:80vh;text-align:center}.page.center .board{width:100%}.page.tv{max-width:72rem;font-size:1.35rem;gap:1.3rem;min-height:100vh;justify-content:center;padding-top:1.5rem;padding-bottom:2.5rem}.page.tv .code-big{font-size:3.2rem}.page.tv .board{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.page.tv .caption{font-size:2.6rem;min-height:7rem}.page.tv .winner-banner{font-size:3.2rem}.icon{width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}.logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35em;letter-spacing:.02em;font-family:Rye,Georgia,serif;font-weight:400;white-space:nowrap;font-size:clamp(1.2rem,6.5vw,2em);text-transform:uppercase;opacity:.8}.logo .emblem{height:2.5em}.tagline{text-align:center;color:var(--ink-dim);margin-top:0;text-wrap:balance}.code{font-family:Courier New,monospace;font-weight:700;letter-spacing:.25em;color:var(--accent)}.code-big{font-size:2.4rem;text-align:center}.hint{color:var(--ink-dim);margin:.2rem 0}.error{background:color-mix(in srgb,var(--danger) 18%,transparent);border:1px solid var(--danger);color:#f3b0a2;border-radius:10px;padding:.6rem .9rem}.primary{background:var(--accent);color:var(--accent-ink);font-weight:700;padding:.85rem 1.4rem;font-size:1.05rem}.primary:disabled{background:color-mix(in srgb,var(--accent) 30%,var(--bg-card));color:color-mix(in srgb,var(--ink) 55%,var(--bg-card));opacity:1}.secondary{background:var(--bg-card);color:var(--ink);border:2px solid var(--line);padding:.8rem 1.3rem}.you-badge{background:var(--accent);color:var(--accent-ink);border-radius:6px;font-size:.65em;padding:.1em .45em;margin-left:.5em;vertical-align:middle;font-weight:700}.bot-badge{background:var(--line);color:var(--ink-dim)}.countdown{font-family:Courier New,monospace;font-weight:700;font-size:1.2em;color:var(--ink-dim)}.countdown-urgent{color:var(--danger);font-size:1.5em;animation:pulse 1s infinite}.round-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:1.15em;font-weight:700}.home{justify-content:center;min-height:96vh;padding-top:0;padding-bottom:1rem}.splash{margin:-1rem -1rem 2rem}.splash img{display:block;width:min(100%,30rem);margin:0 auto;-webkit-mask-image:radial-gradient(ellipse closest-side,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse closest-side,#000 72%,transparent 100%)}.home .logo{margin-top:-1.6rem}.join-form{display:flex;flex-direction:column;gap:.6rem}.code-actions{display:flex;gap:.6rem}.code-actions button{flex:1;min-width:0;padding-inline:.5rem;font-size:.95rem}.join-form input{text-align:center;letter-spacing:.3em;font-weight:700;text-transform:uppercase}.join-form-page{flex-direction:column;justify-content:center;min-height:calc(100vh - 5rem)}.or{text-align:center;color:var(--ink-dim)}.host-choices{display:flex;flex-direction:column;gap:.35rem}.host-choices button+.host-hint{margin-bottom:.6rem}.host-hint{text-align:center;font-size:.85rem;text-wrap:balance}.monitor-prompt{background:var(--bg-raised);border:2px solid var(--accent);border-radius:12px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.6rem;text-wrap:balance}.monitor-prompt p{margin:0}.monitor-prompt-actions{display:flex;gap:.6rem}.monitor-prompt-actions button{flex:1}.page.tv .pair-code{font-size:4.5rem}.invite{align-self:center;width:100%;max-width:20rem}.invite summary{cursor:pointer;text-align:center;color:var(--ink-dim);font-size:.9rem;list-style:none}.invite summary::-webkit-details-marker{display:none}.invite[open] summary,.invite summary:hover{color:var(--ink)}.invite-body{margin-top:.7rem;display:flex;flex-direction:column;align-items:center;gap:.7rem}.invite-board{border-top:1px solid var(--line);padding-top:.7rem;width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.invite-board .hint{text-wrap:balance}.invite-body .qr-panel svg{width:100%;height:auto;max-width:12.5rem}.host-settings{align-self:center;width:100%;max-width:20rem}.host-settings summary{cursor:pointer;text-align:center;color:var(--ink-dim);font-size:.9rem;list-style:none}.host-settings summary::-webkit-details-marker{display:none}.host-settings[open] summary,.host-settings summary:hover{color:var(--ink)}.setting-row{margin-top:.7rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.setting-row select{font:inherit;color:var(--ink);background:var(--bg-raised);border:2px solid var(--line);border-radius:10px;padding:.4rem .6rem}.setting-row select:focus{outline:none;border-color:var(--accent)}.lobby-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.lobby-list li{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:.6rem .9rem}.monitor-lobby{display:flex;gap:2.5rem;flex-wrap:wrap;justify-content:center;align-items:flex-start}.qr-panel{background:#f5ead6;border-radius:14px;padding:1.2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-link{display:block;line-height:0;text-decoration:none}.lobby-panel{min-width:18rem;display:flex;flex-direction:column;gap:.8rem}.howto-link{text-align:center;color:var(--ink-dim);text-decoration:none;font-size:.9rem}.howto-link:hover{color:var(--ink);text-decoration:underline}.howto{padding-top:1.5rem;gap:0}.howto section{margin-top:1.4rem}.howto h2{font-family:Rye,Georgia,serif;font-weight:400;font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:.3rem}.howto p{margin:.5rem 0;line-height:1.55}.howto-cards{margin:.9rem 0}.howto-cards .card{min-height:4.2rem;justify-content:center}.howto-actions,.howto-order,.howto-tips{margin:.5rem 0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.55rem;line-height:1.5}.howto-action-name{font-weight:700;color:var(--accent);white-space:nowrap}.howto-order li::marker{color:var(--accent);font-weight:700}.howto .primary{margin-top:2rem}.board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.tile{--player-color: var(--ink-dim);position:relative;display:flex;align-items:stretch;gap:.55rem;background:var(--bg-card);border:2px solid color-mix(in srgb,var(--player-color) 40%,var(--line));border-radius:12px;transition:transform .25s,border-color .25s,box-shadow .25s,opacity .4s}.tile-body{flex:1;min-width:0;padding:.55rem .6rem .55rem 0}.tile-name{font-weight:700;display:flex;align-items:center;gap:.4rem;min-width:0}.tile-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--player-color)}.avatar{flex-shrink:0;width:2.5em;height:2.5em;border-radius:50%;object-fit:cover;display:inline-block;vertical-align:middle;background:var(--bg-raised)}.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-dim);font-weight:700;font-size:.85em;font-family:inherit}.avatar-big{width:3.2em;height:3.2em}.avatar-tile{width:clamp(2.75rem,28%,5rem);height:auto;align-self:stretch;border-radius:10px 0 0 10px}.avatar-hero{width:10rem;height:10rem;border-radius:18px;animation:pop .7s}.winner-portraits{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.tile-stats{display:flex;flex-direction:column;gap:.15rem;margin-top:.3rem;font-size:.9em}.pips{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.12em}.pips-overlap{gap:0}.pips-overlap .pip+.pip{margin-left:-.35em}.pip{display:inline-flex;align-items:center}.pip-empty{opacity:.3;filter:grayscale(.9)}.pip-bullet{color:#cfa14f}.tile-action{margin-top:.4rem;background:var(--bg-raised);border:1px dashed var(--line);border-radius:8px;padding:.25rem .5rem;font-size:.9em;transform-origin:center bottom;animation:flip-in .5s both;animation-delay:calc(var(--i, 0) * 90ms)}.tile-action-empty{visibility:hidden;animation:none}.tile-action-empty:before{content:"​"}.board-two .tile-action{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:1.25em;font-weight:700;padding:.5rem .6rem;border:2px solid color-mix(in srgb,var(--player-color) 55%,var(--line));color:var(--player-color)}.lock-badge{position:absolute;top:.45rem;right:.5rem;width:1.5em;height:1.5em;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85em;background:var(--bg-raised);border:1px solid var(--line);color:var(--ink-dim)}.lock-badge .spinner{width:.65em;height:.65em}.lock-badge-done{background:var(--good);border-color:var(--good);color:#142a0e;font-weight:700;animation:pop .35s}.tile-out{position:absolute;top:.4rem;right:.5rem;color:var(--danger);font-weight:700;font-size:.8em;transform:rotate(12deg);border:2px solid var(--danger);border-radius:6px;padding:0 .3em}.tile-dead{opacity:.45;filter:grayscale(.8)}.tile-hit{border-color:var(--danger);animation:shake .5s;box-shadow:0 0 18px color-mix(in srgb,var(--danger) 60%,transparent)}.tile-hit:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:var(--danger);pointer-events:none;animation:hp-flash .6s both}.tile-dodge{border-color:var(--dodge);box-shadow:0 0 14px color-mix(in srgb,var(--dodge) 45%,transparent);animation:dodge-duck .9s ease-in-out}.dodge-fx{position:absolute;top:50%;right:.5rem;font-size:1.6em;pointer-events:none;z-index:4;animation:dodge-puff 1.1s ease-out both}.tile-shooting{border-color:var(--accent);animation:recoil .45s}.tile-loaded{border-color:var(--good);box-shadow:0 0 14px color-mix(in srgb,var(--good) 45%,transparent)}.tile-gold{border-color:var(--accent);animation:pop .5s;box-shadow:0 0 20px color-mix(in srgb,var(--accent) 55%,transparent)}.tile-cancelled{border-color:var(--danger);border-style:dashed}.tile-eliminated{animation:topple 1.1s both;filter:grayscale(.8)}.tile-skull{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2.6em;pointer-events:none;animation:stage-pop 1s .5s both}.tile-winner{border-color:var(--accent);animation:winner-glow 1.4s infinite alternate,pop .7s;box-shadow:0 0 26px color-mix(in srgb,var(--accent) 70%,transparent)}.tile-targeted{border-color:var(--danger)}.reveal-stage{display:flex;flex-direction:column;gap:1rem}.caption{min-height:4.6rem;display:flex;align-items:center;justify-content:center;text-align:center;font-size:1.5rem;font-weight:700;animation:rise-in .35s}.caption-shotFired{color:var(--danger)}.caption-chestResolved,.caption-gameEnded{color:var(--accent)}.caption-gunLoaded{color:var(--good)}.reveal-progress{display:flex;gap:.35rem;justify-content:center}.dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--bg-card);border:1px solid var(--ink-dim);transition:background .3s,transform .3s}.dot-done{background:var(--accent);border-color:var(--accent);box-shadow:0 0 5px #e0a83c8c}.dot-now{transform:scale(1.4)}.picker{display:flex;flex-direction:column;gap:.8rem}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.card{background:var(--bg-card);border:2px solid var(--line);border-radius:12px;color:var(--ink);padding:.7rem .2rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;min-height:5.2rem}.card-icon{font-size:1.6rem}.card-label{font-weight:700;font-size:.9rem}.card-why{font-size:.65rem;color:var(--ink-dim)}.card-picked{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700;transform:translateY(-3px)}.card-picked .card-why{color:color-mix(in srgb,var(--accent-ink) 75%,var(--accent))}.targets{display:flex;flex-direction:column;gap:.4rem}.targets-title{color:var(--ink-dim)}.target{background:var(--bg-raised);border:2px solid var(--line);color:var(--ink);border-radius:10px;padding:.7rem .9rem;text-align:left;font-size:1rem}.target-picked{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.lock-in{position:sticky;bottom:1rem}.duel-banner{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;text-align:center}.sudden-death{color:var(--danger);font-weight:700;margin-top:.3rem}.duel-step{display:flex;align-items:center;gap:.6rem}.duel-step-no{font-weight:700;color:var(--accent);width:1.9rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.05rem}.duel-step-ammo{display:flex;align-items:center;gap:.1em;font-size:.62em;font-weight:400;color:var(--ink-dim)}.duel-step-ammo .icon{color:#cfa14f}.duel-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;flex:1}.duel-option{background:var(--bg-card);border:2px solid var(--line);color:var(--ink);border-radius:9px;padding:.5rem .2rem;font-size:.85rem}.duel-option.card-picked{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.waiting-banner,.spectator-banner{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:.8rem;text-align:center;font-weight:700}.winner-banner{font-size:2rem;font-weight:700;color:var(--accent);text-align:center;animation:pop .7s}.locked-status{text-align:center;font-size:1.1em}.float{position:absolute;top:45%;right:.5rem;font-weight:700;font-size:1.05em;pointer-events:none;animation:float-up 1.6s ease-out both;text-shadow:0 2px 4px rgb(0 0 0 / 60%);z-index:4}.float-hurt{color:#ff8a75}.float-gold{color:var(--accent)}.shot-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.bullet{position:absolute;width:.55rem;height:.55rem;margin:-.275rem 0 0 -.275rem;border-radius:50%;background:#ffe9b0;box-shadow:0 0 8px 3px color-mix(in srgb,var(--accent) 80%,transparent),0 0 20px 6px color-mix(in srgb,var(--accent) 40%,transparent);animation:bullet-fly .32s cubic-bezier(.2,0,.9,.4) both}.muzzle-flash{position:absolute;width:1.6rem;height:1.6rem;margin:-.8rem 0 0 -.8rem;border-radius:50%;background:radial-gradient(circle,#fff3c4 0%,var(--accent) 45%,transparent 70%);animation:muzzle .25s ease-out both}.impact{position:absolute;margin-left:-.8em;margin-top:-.8em;font-size:1.6rem;animation:impact-pop .6s .3s both}.reveal-board{position:relative}.stage-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:4.5rem;pointer-events:none;z-index:6;animation:stage-pop 1.4s both;filter:drop-shadow(0 4px 14px rgb(0 0 0 / 55%))}.page.tv .stage-icon{font-size:7rem}.tile-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3rem;pointer-events:none;z-index:6;animation:stage-pop 1.4s both;filter:drop-shadow(0 4px 14px rgb(0 0 0 / 55%))}.page.tv .tile-stage{font-size:4.5rem}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:30}.confetti-piece{position:absolute;top:-1rem;border-radius:2px;opacity:.9;animation:confetti-fall linear infinite both}.avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.avatar-pick{position:relative;aspect-ratio:1;padding:0;border-radius:14px;border:3px solid transparent;background:var(--bg-card);overflow:hidden;transition:transform .15s,border-color .15s}.avatar-pick img{display:block;width:100%;height:100%;object-fit:cover}.avatar-pick-selected{border-color:var(--accent);transform:scale(1.08);box-shadow:0 0 16px color-mix(in srgb,var(--pick-glow, var(--accent)) 65%,transparent);z-index:1}.avatar-pick-taken img{opacity:.3;filter:grayscale(.8)}.avatar-pick-x{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--danger);font-weight:700}.persona{margin:0;text-align:center;font-weight:700;font-style:italic}.lobby-player{display:flex;align-items:center;gap:.55rem;animation:rise-in .3s}.kick-btn{margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;color:var(--ink-dim);font-size:.8em;padding:.25em .55em;line-height:1}.kick-btn:hover{border-color:var(--danger);color:var(--danger)}.tile-kick{position:absolute;bottom:.4rem;right:.5rem;margin-left:0;background:var(--bg-raised);font-size:.7em}.tile-kick-armed{background:var(--danger);border-color:var(--danger);color:var(--ink);font-weight:700;animation:pop .25s}.center-text{text-align:center}.spinner{display:inline-block;width:.85em;height:.85em;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;vertical-align:-.1em;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ellipsis:after{content:"…";display:inline-block;overflow:hidden;vertical-align:bottom;animation:ellipsis 1.5s steps(4,jump-none) infinite}.lock-progress{position:relative;height:1.9rem;background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;overflow:hidden}.lock-progress-bar{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--accent) 45%,var(--bg-raised));transition:width .4s}.lock-progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.85em;font-weight:700}.sound-toggle{position:fixed;top:.6rem;right:.6rem;z-index:40;background:var(--bg-raised);border:1px solid var(--line);border-radius:50%;width:2.4rem;height:2.4rem;font-size:1.1rem;display:flex;align-items:center;justify-content:center}@media (max-width: 640px){.round-header{padding-right:2.8rem}.caption{padding:0 2.8rem}}.confirm-armed{border-color:var(--danger);color:var(--danger)}.resign-btn{margin-top:.8rem;align-self:center;font-size:.85em;padding:.5rem 1rem;color:var(--ink-dim)}.monitor-stop{position:fixed;bottom:.8rem;right:.8rem;z-index:40}.monitor-stop button{font-size:.8em;padding:.45rem .9rem;opacity:.75}.monitor-stop button:hover,.monitor-stop .confirm-armed{opacity:1}.monitor-rejoin{position:fixed;bottom:.8rem;left:.8rem;z-index:40;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .6rem;background:var(--bg-card);border:1px solid var(--line);border-radius:10px;font-size:.65rem;color:var(--ink-dim);text-decoration:none;opacity:.75}.monitor-rejoin:hover{opacity:1}.monitor-rejoin .rejoin-qr{display:flex;background:#f5ead6;padding:4px;border-radius:6px;line-height:0}.resigned-badge{background:var(--bg-raised);border:1px solid var(--line)}.winner-banner-tv{animation:pop .7s,winner-glow-text 1.2s infinite alternate}.caption-name{font-weight:700}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px) rotate(-1deg)}40%{transform:translate(6px) rotate(1deg)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pulse{50%{opacity:.4}}@keyframes flip-in{0%{transform:rotateX(90deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes rise-in{0%{transform:translateY(.6rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes recoil{0%{transform:translate(0) rotate(0)}25%{transform:translate(-4px,-3px) rotate(-2deg)}60%{transform:translate(2px,1px) rotate(.5deg)}to{transform:translate(0) rotate(0)}}@keyframes dodge-duck{0%{transform:translate(0) rotate(0)}25%{transform:translate(-.6rem,.35rem) rotate(-3.5deg)}60%{transform:translate(-.5rem,.3rem) rotate(-3deg)}to{transform:translate(0) rotate(0)}}@keyframes dodge-puff{0%{transform:translateY(-50%) scale(.5);opacity:0}20%{opacity:.9}to{transform:translate(.9rem,-50%) scale(1.5);opacity:0}}@keyframes hp-flash{0%{opacity:.5}to{opacity:0}}@keyframes topple{0%{transform:rotate(0) translateY(0);opacity:1}30%{transform:rotate(-3deg) translateY(0)}to{transform:rotate(4deg) translateY(.4rem);opacity:.45}}@keyframes winner-glow{0%{box-shadow:0 0 14px color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 34px color-mix(in srgb,var(--accent) 85%,transparent)}}@keyframes winner-glow-text{0%{text-shadow:0 0 10px color-mix(in srgb,var(--accent) 40%,transparent)}to{text-shadow:0 0 30px color-mix(in srgb,var(--accent) 90%,transparent)}}@keyframes float-up{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(-2.2rem);opacity:0}}@keyframes bullet-fly{0%{transform:translate(0);opacity:1}to{transform:translate(var(--dx),var(--dy));opacity:1}}@keyframes muzzle{0%{transform:scale(.4);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes impact-pop{0%{transform:scale(.2);opacity:0}30%{transform:scale(1.4);opacity:1}to{transform:scale(1);opacity:0}}@keyframes stage-pop{0%{transform:scale(.2) rotate(-8deg);opacity:0}35%{transform:scale(1.15) rotate(2deg);opacity:1}55%{transform:scale(1)}80%{opacity:1}to{transform:scale(1.05);opacity:0}}@keyframes confetti-fall{0%{transform:translateY(-5vh) rotate(0)}to{transform:translate(var(--sway, 0),105vh) rotate(var(--spin, 540deg))}}@keyframes ellipsis{0%{width:0}to{width:1.2em}}
