@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}
.video-frame{position:absolute;inset:0}
@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}

.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}
/* Floating gem costs match the app's dark gem-count labels. */
.choice__pill,.choice.selected .choice__pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);box-shadow:0 2px 8px rgba(0,0,0,.14)}
.choice__gem-badge,.choice__boost-badge{position:absolute;top:-6px;right:-3px;z-index:1;display:flex;align-items:center;justify-content:center;gap:3px;min-width:28px;height:18px;padding:0 5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#232329;box-shadow:0 2px 8px rgba(0,0,0,.22);line-height:1}
.choice__gem-badge svg,.choice__boost-badge svg{width:11px;height:11px;color:#fff;stroke-width:1.4;filter:drop-shadow(0 0 3px rgba(255,46,136,.46))}
.choice__gem-cost,.choice__boost-badge{color:#fff;font-size:10px;font-weight:700}
@media(max-width:600px) and (orientation:portrait){.choice__gem-badge{top:-4px;right:-2px;min-width:24px;height:16px;padding:0 4px;gap:2px}.choice__gem-badge svg{width:9px;height:9px}.choice__gem-cost{font-size:9px}}

/* Portrait uses the space around the film for the scene name and ballot. */
@media(max-width:900px) and (orientation:portrait){
  #player{display:flex;align-items:center;overflow-x:hidden;overflow-y:auto}
  .stage{position:relative;top:auto;left:auto;transform:none;width:100%;height:auto;aspect-ratio:auto;flex-shrink:0;display:flex;flex-direction:column;margin:auto;overflow:visible;padding:12px 0 max(12px,env(safe-area-inset-bottom))}
  .identity{position:relative;top:auto;left:auto;max-width:none;margin:0 12px 12px;order:-1}
  .current{display:block;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;font-size:18px;line-height:22px;text-shadow:none}
  #current-action{white-space:normal;overflow:visible;text-overflow:clip}
  .video-frame{position:relative;inset:auto;width:100%;aspect-ratio:16/9}
  .vote-overlay{position:relative;bottom:auto;left:auto;right:auto;align-items:stretch;margin:14px 12px 0;gap:8px}
  .countdown{height:28px;padding:0;gap:8px;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
  .countdown>span{font-size:11px;letter-spacing:.5px}
  .countdown b{font-size:20px;min-width:24px}
  .countdown__ring{width:16px;height:16px}
  .choices{grid-template-columns:minmax(0,1fr);gap:6px}
  .choice{min-height:60px;padding:8px 10px;gap:10px;background:#17171b;border-color:#ffffff20;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .choice:hover{background:#202025}
  .choice.selected,.choice.winner{background:#17171b;box-shadow:none}
  .choice__label{display:block;white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;font-size:16px;line-height:20px;text-shadow:none}
  .choice__pill{flex-shrink:0;height:40px;min-width:60px;padding:0 8px;font-size:12px}
  .choice__count{flex-shrink:0;min-width:24px;font-size:13px;text-shadow:none}
  .choice__boost{display:none}
  .controls{top:8px;right:8px;flex-direction:row;opacity:1}
  .controls button{width:36px;height:36px;background:rgba(0,0,0,.35)}
  #fullscreen{display:none}
}

@media(max-width:600px) and (max-height:600px) and (orientation:portrait){
  .stage{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .identity{margin-bottom:10px}.current{font-size:16px;line-height:20px}
  .vote-overlay{margin-top:10px;gap:6px}.choices{gap:5px}
  .choice{min-height:54px;padding:6px 8px;gap:8px}
  .choice__label{font-size:15px;line-height:18px}
  .choice__pill{height:36px;min-width:52px;font-size:11px;padding:0 6px}
  .choice__count{min-width:20px;font-size:12px}
}

/* Short landscape screens keep a compact ballot beside the film. */
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
  .stage{position:relative;top:auto;left:auto;transform:none;width:100%;height:100%;aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,36%);grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);gap:0 14px;padding:12px;overflow-y:auto}
  .video-frame{position:relative;inset:auto;grid-column:1;grid-row:2;width:100%;aspect-ratio:16/9}
  .identity{position:relative;top:auto;left:auto;grid-column:1;grid-row:1;align-self:end;max-width:none;margin:0 0 10px}
  .current{display:block;font-size:16px;line-height:20px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  #current-action{white-space:normal;overflow:visible}
  .vote-overlay{position:relative;bottom:auto;left:auto;right:auto;grid-column:2;grid-row:1 / 4;align-self:center;align-items:stretch;gap:8px}
  .countdown{height:24px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .countdown>span{font-size:10px}.countdown b{font-size:18px}
  .choices{grid-template-columns:minmax(0,1fr);gap:6px}
  .choice{min-height:56px;padding:6px 8px;gap:8px;background:#17171b;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .choice:hover{background:#202025}.choice.selected,.choice.winner{background:#17171b;box-shadow:none}
  .choice__label{display:block;font-size:14px;line-height:18px;white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset}
  .choice__pill{flex-shrink:0;min-width:52px;height:36px;padding:0 6px;font-size:11px}
  .choice__count{flex-shrink:0;min-width:20px;font-size:12px}
  .choice__boost{display:none}
  .controls{top:8px;right:8px;opacity:1;flex-direction:row}
  .controls button{width:32px;height:32px;background:rgba(0,0,0,.35)}
}
