@font-face{font-family:Founders;src:url('/fonts/foundersgrotesk-regular-webfont.woff2') format('woff2');font-display:swap}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#000;color:#fff;font-family:Founders,Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid #fff;outline-offset:3px}#player{position:relative;width:100%;height:100%;overflow:hidden;background:#0a0a0a;isolation:isolate}#film{width:100%;height:100%;display:block;object-fit:contain}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.36),transparent 23%,transparent 67%,rgba(0,0,0,.4))}.identity{position:absolute;top:clamp(16px,3vw,40px);left:clamp(16px,3vw,40px);pointer-events:none;max-width:calc(100% - 120px)}.identity__line{display:flex;gap:7px;align-items:center;font-size:10px;font-weight:800;letter-spacing:1.6px;text-shadow:0 2px 10px #0006}.live-dot{width:6px;height:6px;background:#ff2e88;border-radius:50%;box-shadow:0 0 10px #ff2e8890;animation:breathe 2.8s ease-in-out infinite}.demo-badge{font-size:8px;letter-spacing:1px;background:#0005;border:1px solid #ffffff30;border-radius:4px;padding:3px 5px;color:#ffffffb3;margin-left:4px}h1{font-size:clamp(22px,2.7vw,38px);font-weight:600;margin:6px 0 12px;letter-spacing:-.5px;line-height:1;text-shadow:0 2px 16px #0004}.current{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 10px;border-radius:8px;background:rgba(0,0,0,.55);backdrop-filter:blur(12px);box-shadow:0 6px 18px #0003;font-size:12px}.current__label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#ffffff9a}.current__dot{width:4px;height:4px;flex-shrink:0;background:#ff2e88;border-radius:50%}#current-action{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current.changed{animation:prompt-in .64s cubic-bezier(.22,1,.36,1)}.controls{position:absolute;top:24px;right:24px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.controls:focus-within,#player:hover .controls{opacity:1}.controls button{border:0;background:rgba(0,0,0,.55);border-radius:8px;width:32px;height:32px;display:grid;place-items:center;backdrop-filter:blur(12px)}svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 18px;border-radius:10px;background:#0009;backdrop-filter:blur(12px);font-size:14px}.status[hidden]{display:none}.vote-overlay{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:24px;right:24px;display:flex;flex-direction:column;align-items:center;gap:4px}.countdown{height:28px;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.55);padding:0 10px;border-radius:8px;backdrop-filter:blur(12px);box-shadow:0 6px 18px #0004}.countdown>span{font-size:8px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:#ffffffb3}.countdown b{font-family:ui-monospace,monospace;font-size:18px;font-weight:900;line-height:24px;font-variant-numeric:tabular-nums;min-width:22px;text-align:center}.countdown.urgent b,.countdown.urgent .countdown__ring{color:#ff2e88}.countdown.urgent b{animation:count-pulse .84s ease-in-out infinite}.countdown__ring{width:16px;height:16px;transform:rotate(-90deg)}.countdown__ring circle{stroke:#ffffff25;stroke-width:2.5}.countdown__ring #ring{stroke:currentColor;stroke-dasharray:56.55;stroke-dashoffset:0;transition:stroke-dashoffset .1s linear}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%}.choice{position:relative;display:flex;align-items:center;gap:6px;min-height:40px;overflow:hidden;border:2px solid transparent;border-radius:8px;padding:4px 8px;background:rgba(0,0,0,.55);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0005;text-align:left;transition:border-color .25s,background .25s,box-shadow .25s}.choice:hover{background:rgba(0,0,0,.7)}.choice.selected,.choice.winner{border-color:var(--color);background:color-mix(in srgb,var(--color) 15%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--color) 33%,transparent)}.choice__fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(255,46,136,.34) 0%,rgba(255,138,31,.34) 100%);width:0;transition:width .75s cubic-bezier(.22,1,.36,1);pointer-events:none}.choice__label{position:relative;flex:1;min-width:0;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice__pill{position:relative;height:24px;min-width:38px;border-radius:999px;background:#ffffff14;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:700;white-space:nowrap}.choice__pill svg{width:7px;height:7px;color:#c4b5fd;stroke-width:2.2}.choice__gem-cost{color:#ddd6fe;font-size:8px}.choice__boost{position:relative;height:24px;min-width:40px;border:0;border-radius:999px;background:#ffffff14;padding:0 10px;font-size:9px;font-weight:900}.choice__boost-badge{position:absolute;right:-2px;top:-4px;border-radius:999px;height:12px;padding:0 4px;display:flex;align-items:center;background:#ff2e88;box-shadow:0 0 8px #ff2e8885;font-size:6px}.choice__boost-badge svg{width:6px;height:6px;stroke-width:2}.choice__count{position:relative;min-width:24px;text-align:right;font-family:ui-monospace,monospace;font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}.choice__count.bump{animation:vote-pop .28s ease-out}.vote-footer{display:flex;width:100%;justify-content:space-between;padding:1px 2px;font-size:9px;color:#ffffffb3;min-height:12px;text-shadow:0 1px 6px #000}.vote-footer__note{color:#ffffff70}.choice.winner{animation:winner-glow 1.3s ease-in-out}.choice[aria-disabled=true]{cursor:default}.choice__boost:disabled{cursor:default;opacity:.5}.choices.new-round{animation:prompt-in .5s cubic-bezier(.22,1,.36,1)}@keyframes breathe{50%{opacity:.5}}@keyframes count-pulse{50%{transform:scale(1.14)}}@keyframes vote-pop{40%{transform:translateY(-2px);color:#ff8fc5}}@keyframes prompt-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes winner-glow{50%{box-shadow:0 0 24px color-mix(in srgb,var(--color) 60%,transparent)}}@media(min-width:1500px){.vote-overlay{left:32px;right:32px;bottom:14px}.choice{min-height:48px}.choice__label{font-size:15px}.countdown{height:32px}.countdown>span{font-size:10px}.countdown b{font-size:21px}.choice__pill,.choice__boost{font-size:11px;height:28px}.choice__count{font-size:13px}.current{font-size:14px}.vote-footer{font-size:10px}}@media(max-width:600px){.identity{top:16px;left:16px}.controls{top:16px;right:16px;opacity:1;flex-direction:column}.current{font-size:11px;gap:5px}.vote-overlay{left:12px;right:12px}.choice{gap:4px;padding:4px 6px}.choice__label{font-size:11px}.choice__boost{display:none}.choice__count{font-size:10px}.vote-footer__note{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.controls[hidden]{display:none}

.stage{position:absolute;width:min(100vw,calc(100dvh * 16 / 9));height:auto;aspect-ratio:16/9;top:50%;left:50%;transform:translate(-50%,-50%);overflow:hidden}
@media(max-width:600px) and (orientation:portrait){h1{font-size:18px;margin-bottom:7px}.identity{top:10px;left:12px}.identity__line{font-size:8px}.demo-badge{font-size:6px;padding:2px 4px}.current{padding:4px 6px;font-size:10px}.current__label{font-size:7px}.vote-overlay{bottom:4px;gap:3px}.choice{min-height:29px;padding:2px 4px}.choice__pill{height:20px;min-width:30px;font-size:8px;padding:0 5px}.choice__label{font-size:9px}.countdown{height:24px}.countdown b{font-size:14px}.vote-footer{display:none}.controls{top:10px;right:10px;flex-direction:row}.controls button{height:25px;width:25px}#fullscreen{display:none}}

.identity{top:clamp(16px,2.5vw,32px);left:clamp(16px,2.5vw,32px);max-width:calc(100% - 140px)}
.current{font-size:clamp(18px,1.7vw,28px);font-weight:700;padding:12px 16px;gap:12px;border-radius:10px;background:rgba(0,0,0,.62)}
.current__label{font-size:clamp(12px,1vw,16px);letter-spacing:.6px;color:rgba(255,255,255,.75)}
.current__dot{width:6px;height:6px}
.vote-overlay{bottom:max(16px,env(safe-area-inset-bottom));left:24px;right:24px;gap:8px}
.countdown{align-self:flex-start;height:32px;padding:0 12px;gap:8px}.countdown>span{font-size:10px;letter-spacing:.6px}.countdown b{font-size:22px;min-width:26px}.countdown__ring{width:18px;height:18px}
.choices{gap:8px}.choice{min-height:66px;padding:8px 12px;gap:10px;border-radius:10px}.choice__label{font-size:clamp(17px,1.5vw,24px);line-height:1.2}
.choice__pill{height:40px;min-width:72px;font-size:14px;padding:0 14px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 8px #0003}
.choice__pill svg{width:12px;height:12px}.choice__gem-cost{font-size:12px}.choice.selected .choice__pill{background:var(--color);border-color:var(--color)}
.choice__boost{height:40px;min-width:54px;font-size:13px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.2)}.choice__boost-badge{height:16px;font-size:9px;top:-6px;right:-3px;padding:0 5px}.choice__boost-badge svg{width:9px;height:9px}
.choice__count{font-size:16px;min-width:30px}
@media(max-width:900px){.choice__boost{display:none}.choice{gap:6px;padding:6px 9px;min-height:58px}.choice__label{font-size:16px}.choice__pill{min-width:60px;font-size:12px;padding:0 10px}.choice__count{font-size:14px;min-width:23px}.current{font-size:18px;padding:9px 12px}.current__label{font-size:11px}.countdown{height:32px}.countdown>span{font-size:10px}.countdown b{font-size:23px}}
@media(max-width:600px) and (orientation:portrait){.identity{top:10px;left:12px;max-width:calc(100% - 24px)}.current{font-size:14px;padding:8px 10px;gap:7px}.current__label{font-size:10px}.current__dot{width:4px;height:4px}.vote-overlay{left:8px;right:8px;bottom:8px;gap:5px}.choices{gap:5px}.choice{min-height:48px;padding:4px 6px;gap:4px}.choice__label{font-size:12px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.choice__pill{height:36px;min-width:43px;font-size:10px;padding:0 6px}.choice__gem-cost{font-size:10px}.choice__pill svg{width:9px;height:9px}.choice__count{font-size:11px;min-width:18px}.countdown{height:28px;padding:0 10px;gap:7px}.countdown>span{font-size:10px}.countdown b{font-size:20px;min-width:24px}.countdown__ring{width:16px;height:16px}.controls{top:9px;right:10px;opacity:0}.controls:focus-within{opacity:1}}

/* Soft contrast keeps the glass readable over bright scenes. */
.shade{background:none}
.vote-overlay[hidden]{display:none}
.current,.countdown,.choice{background:rgba(0,0,0,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.choice:hover{background:rgba(0,0,0,.14)}
.current,.countdown{border:1px solid rgba(255,255,255,.16)}
.choice{border-color:rgba(255,255,255,.22)}
.choice.selected,.choice.winner{background:rgba(0,0,0,.1);border-color:var(--color);box-shadow:0 8px 28px rgba(0,0,0,.18),0 0 16px color-mix(in srgb,var(--color) 22%,transparent)}
.current,#vote-label,#seconds,.choice__label,.choice__count{text-shadow:0 1px 4px rgba(0,0,0,.45)}

/* Keep the audio control available when autoplay has to fall back to mute. */
.controls.sound-required{opacity:1}

/* Pink vote pills remain distinct from the pink-to-orange result fills. */
.choice__pill,.choice.selected .choice__pill{background:#ff2e88;border-color:rgba(255,255,255,.25)}
.choice__pill svg,.choice__gem-cost{color:#fff}
.controls button{background:rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px}
.vote-overlay{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .32s ease,transform .46s cubic-bezier(.22,1,.36,1),visibility 0s .32s;pointer-events:none}
.vote-overlay.is-visible{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;pointer-events:auto}
.choice__fill>.spark-strength-sparkles{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden}
.choice.leading .spark-strength-sparkles,.choice.winner .spark-strength-sparkles{opacity:1;visibility:visible}
.spark-strength-sparkle{position:absolute;display:block;line-height:0}
.spark-strength-sparkle svg{width:auto;height:auto}
@keyframes spark-strength-sparkles-enter {
  from {
    opacity: 0;
    transform: scaleX(0.96);
  }

  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

.spark-strength-sparkles {
  animation: spark-strength-sparkles-enter 460ms cubic-bezier(0.22, 1, 0.36, 1) both;
  transform-origin: left center;
}

@keyframes spark-strength-twinkle {
  0%,
  100% {
    opacity: 0.32;
    transform: translate3d(0, 0, 0) scale(0.72) rotate(0deg);
  }

  38% {
    opacity: 1;
    transform: translate3d(var(--spark-drift-x), var(--spark-drift-y), 0) scale(1.12) rotate(16deg);
  }

  72% {
    opacity: 0.62;
    transform: translate3d(var(--spark-drift-back-x), var(--spark-drift-back-y), 0) scale(0.9) rotate(-9deg);
  }
}

.spark-strength-sparkle {
  animation: spark-strength-twinkle 5s ease-in-out infinite;
  filter: drop-shadow(0 0 2px rgb(255 255 255 / 1)) drop-shadow(0 0 5px rgb(255 255 255 / 0.85)) drop-shadow(0 0 8px rgb(244 114 182 / 0.9));
  transform-origin: center;
  will-change: opacity, transform;
}


@media(prefers-reduced-motion:reduce){.spark-strength-sparkles{display:none}.vote-overlay{transition:none!important}}
