:root{--bg: #0e0c0a;--lift: #161310;--panel: #1c1815;--edge: #2b2520;--cream: #ede6d6;--dim: #9d917d;--faint: #6d6355;--gold: #c4a36a;--yes: #5b8cb8;--no: #c9903f;--serif: "Cormorant Garamond", "Times New Roman", serif;--sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--edge);background:var(--panel);border-radius:6px;padding:12px 14px;transition:border-color .12s ease,background .12s ease}button:hover:not(:disabled){border-color:var(--dim)}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn-primary{background:var(--gold);border-color:var(--gold);color:#191510;font-weight:600}.btn-ghost{background:transparent;color:var(--dim)}input{font:inherit;color:var(--cream);background:#0b0908;border:1px solid var(--edge);border-radius:6px;padding:12px 14px;width:100%}.label{font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}.dim{color:var(--dim)}.faint{color:var(--faint)}.serif{font-family:var(--serif)}.stack{display:flex;flex-direction:column;gap:12px}.grow{flex:1}.row{display:flex;gap:10px}.row>*{flex:1}.pane{min-height:100%;display:flex;flex-direction:column;padding:20px;gap:14px;max-width:520px;margin-inline:auto}.center-pane{min-height:100%;display:grid;place-items:center;padding:24px;text-align:center}.stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#050403;overflow:hidden}.canvas{position:absolute;top:50%;left:50%;transform-origin:center center;background:var(--bg);overflow:hidden}.canvas iframe{border:0;display:block}.canvas img{display:block;width:100%;height:100%;object-fit:contain}.slide-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:6%;text-align:center}.ask{font-family:var(--serif);font-weight:500;font-size:84px;line-height:1.12;text-wrap:balance}.join-strip{display:flex;align-items:center;gap:40px}.code{font-family:ui-monospace,Menlo,monospace;font-size:68px;letter-spacing:.16em;color:var(--gold)}.count{font-family:ui-monospace,Menlo,monospace;font-size:54px;font-variant-numeric:tabular-nums}.badge{display:block}.badge-circle{border-radius:50%}.badge-square{border-radius:8%}.badge-diamond{border-radius:8%;transform:rotate(45deg)}.badge-triangle{clip-path:polygon(50% 0%,100% 100%,0% 100%)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b0908d1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px}.scene{--settle: cubic-bezier(.16, 1, .3, 1);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 42%,var(--lift) 0%,var(--bg) 70%)}.scene-head{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 12%}.closed-label{font-size:26px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}.closed-line{width:2px;height:120px;margin:36px 0 44px;background:linear-gradient(to bottom,var(--gold),rgba(196,163,106,0));transform-origin:top center}.scene-ask-box{display:flex;justify-content:center;width:100%}.closed-ask{max-width:1500px;transform-origin:top center}.closed-foot{display:flex;align-items:baseline;gap:18px;margin-top:72px;font-size:28px}.closed-count{font-family:ui-monospace,Menlo,monospace;font-size:40px;font-variant-numeric:tabular-nums}.closed-dot{align-self:center;width:8px;height:8px;margin:0 10px;border-radius:50%;background:var(--gold)}.scene-closed{animation:closed-ground .9s ease-out calc(0ms - var(--closed-age)) both}.scene-closed .closed-label{animation:closed-label 1.1s var(--settle) calc(.15s - var(--closed-age)) both}.scene-closed .closed-line{animation:closed-line 1s var(--settle) calc(.35s - var(--closed-age)) both}.scene-closed .closed-ask{animation:closed-ask 1.2s var(--settle) calc(.85s - var(--closed-age)) both}.scene-closed .closed-foot{animation:closed-rise .9s var(--settle) calc(1.7s - var(--closed-age)) both}.scene-closed .closed-dot,.scene-whole .closed-dot{animation:closed-breathe 3.2s ease-in-out calc(2.6s - var(--closed-age)) infinite both}.scene-whole .closed-foot{animation:scene-fade-out .5s ease-in calc(0ms - var(--resolve-age)) both}.is-lifting .closed-label,.is-lifting .closed-line,.is-lifting .closed-foot,.is-lifting .closed-fallback{animation:scene-fade-out .3s ease-in calc(0ms - var(--resolve-age)) both}.layout-heading{justify-content:flex-start}.layout-heading .scene-head{padding-top:64px;padding-bottom:28px}.layout-heading .closed-label,.layout-heading .closed-line,.layout-heading .closed-foot,.layout-heading .closed-fallback{display:none}.layout-heading .closed-ask{transform:scale(.6)}.room-stage{position:relative;flex:1;width:100%}.side{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:left 1.4s var(--settle),width 1.4s var(--settle)}.side-body{display:flex;flex-direction:column;align-items:center;gap:28px;padding-bottom:80px;transition:opacity .5s ease}.side-body .badge{transition:width 1.4s var(--settle),height 1.4s var(--settle)}.side-rise{animation:scene-rise var(--badges-for) var(--settle) calc(var(--at) - var(--stage-age)) both}.side-words{animation:closed-rise .7s var(--settle) calc(var(--labels-at) - var(--stage-age)) both}.side-name{font-size:34px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.side-where{font-size:26px;white-space:nowrap}.divider{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(to bottom,var(--gold) 0%,var(--gold) 75%,rgba(196,163,106,.25) 100%);transform-origin:top center;animation:closed-line var(--divider-for) var(--settle) calc(var(--divider-at) - var(--stage-age)) both;transition:left 1.4s var(--settle)}.groups{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:40px}.groups-stem{position:absolute;top:0;left:50%;width:2px;margin-left:-1px;background:var(--gold);transform-origin:top center;animation:closed-line var(--stem-for) var(--settle) calc(var(--stem-at) - var(--stage-age)) both,scene-fade-out .5s ease calc(var(--deal-at) - var(--stage-age)) both}.groups-key{display:grid;gap:40px 64px;align-items:end}.group{display:flex;flex-direction:column;align-items:center;gap:22px;animation:scene-rise var(--rise-for) var(--settle) calc(var(--at) - var(--stage-age)) both}.group-name{font-size:26px;white-space:nowrap}.baseline{position:relative;align-self:stretch;height:120px;margin:0 14%}.baseline-rule{position:absolute;top:36px;left:0;right:0;height:2px;background:linear-gradient(to right,rgba(196,163,106,0),var(--gold) 12%,var(--gold) 88%,rgba(196,163,106,0));animation:scene-spread var(--baseline-for) var(--settle) calc(var(--baseline-at) - var(--stage-age)) both}.baseline-marker{position:absolute;top:22px;width:2px;height:30px;margin-left:-1px;background:var(--gold);transition:left 1.4s var(--settle),opacity .5s ease}.baseline-end{position:absolute;top:58px;font-size:22px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);transition:opacity .5s ease}.baseline-yes{left:0}.baseline-no{right:0}.is-leaving .side-rise,.is-leaving .side-words,.is-leaving .group,.is-leaving .baseline-marker,.is-leaving .baseline-end{animation:scene-sink .4s ease-in both}.is-leaving .divider{animation:scene-retract .5s ease-in .15s both}.is-leaving .baseline-rule{animation:scene-gather .5s ease-in .15s both}.is-leaving.layout-centre:not(.scene-whole) .closed-label,.is-leaving.layout-centre:not(.scene-whole) .closed-foot{visibility:hidden}.is-leaving.layout-centre:not(.scene-whole) .closed-line{animation:closed-line .5s var(--settle) .1s both}.scene.is-leaving{animation:scene-fade-out .35s ease var(--fade-at) both}@keyframes scene-fade-out{0%{opacity:1}to{opacity:0}}@keyframes scene-rise{0%{opacity:0;transform:translateY(56px)}to{opacity:1;transform:none}}@keyframes scene-sink{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(40px)}}@keyframes scene-retract{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes scene-spread{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes scene-gather{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes closed-ground{0%{opacity:.82}to{opacity:1}}@keyframes closed-label{0%{opacity:0;letter-spacing:.6em}to{opacity:1;letter-spacing:.32em}}@keyframes closed-line{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes closed-ask{0%{opacity:0;transform:translateY(28px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes closed-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes closed-breathe{0%,to{opacity:.35}50%{opacity:1}}.notes{font-size:19px;line-height:1.55;white-space:pre-wrap}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:13px;background:var(--panel);border:1px solid var(--edge);border-radius:999px;padding:4px 10px;color:var(--dim);transition:border-color .2s ease,color .2s ease}.chip-voted{border-color:var(--gold);color:var(--cream)}.button-note{display:block;font-size:13px;font-weight:400;opacity:.75}.tally-row{display:flex;gap:28px;align-items:baseline;font-variant-numeric:tabular-nums}.tally-row b{font-family:ui-monospace,Menlo,monospace;font-size:44px;font-weight:500}.bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--edge)}.offline{background:#3a1f1a;border:1px solid #6b3527;color:#e8b4a4;border-radius:6px;padding:10px 12px;font-size:14px}.nav{display:flex;gap:10px}.nav button{padding:20px;font-size:22px}.vote-button{padding:30px;font-size:24px;font-weight:600;background:transparent}.vote-yes{border-color:var(--yes);color:var(--yes)}.vote-no{border-color:var(--no);color:var(--no)}.vote-chosen{background:var(--panel);border-width:2px}.flood{--settle: cubic-bezier(.16, 1, .3, 1);position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:28px;text-align:center;color:var(--bg);animation:flood-in .7s var(--settle) both}.flood-shape{animation:flood-pop .7s var(--settle) .15s both}.flood-vote{font-size:22px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;animation:closed-rise .6s var(--settle) .3s both}.flood-instruction{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1.2;animation:closed-rise .7s var(--settle) .35s both}.flood-settled,.flood-settled *{animation:none}.flood.flood-leaving{animation:scene-fade-out .4s ease-in both}.flood-leaving *{animation:none}.either{display:flex;gap:28px;align-items:center}@keyframes flood-in{0%{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(75% at 50% 50%)}}@keyframes flood-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.scene,.scene *,.flood,.flood *{animation-delay:0ms!important;animation-iteration-count:1!important}}.slide-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--edge);border-radius:6px;background:var(--panel)}.slide-kind{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--dim);width:18px;text-align:center;flex:0 0 auto}.slide-title{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.icon{flex:0 0 auto;padding:6px 9px;font-size:13px;background:transparent;color:var(--dim)}button.icon.danger:hover:not(:disabled){border-color:#6b3527;color:#e8b4a4}.drop{border:1px dashed var(--edge);border-radius:6px;padding:22px 14px;text-align:center;display:flex;flex-direction:column;gap:5px;font-size:14px;cursor:pointer}.drop:hover{border-color:var(--dim)}.ui-strong{color:var(--cream);font-weight:500}.api-key{font-family:ui-monospace,Menlo,monospace;font-size:12px;word-break:break-all;background:#0b0908;border:1px solid var(--edge);border-radius:6px;padding:10px 12px;display:block;color:var(--gold)}.corner-action{position:fixed;bottom:12px;left:14px;background:transparent;border-color:transparent;color:var(--faint);font-size:12px;padding:6px 8px;opacity:.35}.corner-action:hover{opacity:1;border-color:var(--edge)}
