:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--gap:1rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.4}.card{padding:1.5rem}h1{margin:0 0 .25rem;font-size:1.75rem}.lede{margin:0 0 var(--gap);opacity:.75}.me{border-bottom:1px solid color-mix(in srgb, currentcolor 20%, transparent);align-items:center;gap:.5rem;padding:.75rem 1.5rem;display:flex}.me-name{font-size:1.25rem;font-weight:600}.tag{text-transform:uppercase;letter-spacing:.05em;background:color-mix(in srgb, currentcolor 15%, transparent);border-radius:999px;padding:.1rem .5rem;font-size:.75rem}form{flex-direction:column;gap:.5rem;max-width:24rem;display:flex}label{opacity:.75;font-size:.875rem}input[type=text]{border:1px solid color-mix(in srgb, currentcolor 35%, transparent);font:inherit;border-radius:.5rem;padding:.75rem;font-size:1.125rem}button{font:inherit;color:canvas;background:canvastext;border:0;border-radius:.5rem;padding:.9rem;font-size:1.125rem;font-weight:600}.error{margin:var(--gap) 0 0;color:#b3261e;max-width:24rem;font-weight:600}@media (prefers-color-scheme:dark){.error{color:#f2b8b5}}.join{justify-content:center;align-items:center;gap:var(--gap);text-align:center;color:#fff;background:linear-gradient(125deg,#fff 0%,#ffd6f0 16%,#ff8fce 34%,#ff2e97 56%,#c724ff 78%,#7a1fd6 100%) 0 0/300% 300%;flex-direction:column;min-height:100dvh;animation:18s infinite present-party-drift;display:flex}@media (prefers-reduced-motion:reduce){.join{animation:none}}.join h1{letter-spacing:.01em;text-shadow:0 .08em #0000002e;font-size:clamp(2rem,9vw,3rem);font-weight:800}.join .lede{opacity:.95;text-shadow:0 .06em #0000002e;font-weight:600}.join form{align-items:stretch;width:100%}.join label{color:#fff;opacity:.95;text-align:left}.join{--join-radius:.9rem}.join input[type=text]{border-radius:var(--join-radius);color:#10131a;background:#fff;border:0;box-shadow:0 .15em 1rem #0003}.join button[type=submit]{border-radius:var(--join-radius);color:#fff;background:#10131a;box-shadow:0 .15em 1rem #00000040}.join .error{color:#fff;background:#b3261eeb;border-radius:.5rem;padding:.6rem .9rem}.join .name-field{display:flex;position:relative}.join .name-field input[type=text]{flex:1;width:100%;padding-left:2.6rem}.join .name-prefix{pointer-events:none;font-size:1.25rem;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.join .role-toggle{border:0;margin:0;padding:0}.join .role-toggle legend{color:#fff;text-shadow:0 .06em #0000002e;margin-bottom:.4rem;padding:0;font-weight:600}.join .role-options{gap:.5rem;display:flex}.join .role-option{border-radius:var(--join-radius);opacity:1;color:#10131a;cursor:pointer;background:#ffffffeb;border:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.8rem .6rem;font-size:1.05rem;font-weight:700;display:flex;box-shadow:0 .1em .6rem #0000002e}.join .role-option input[type=radio]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.join .role-option:has(input:checked){color:#fff;background:#10131a;border-color:#ff2e97;box-shadow:0 0 1rem .15rem #ffffffe6}.role-fix{margin:var(--gap) 1.5rem 0;background:#ff2e971f;border-radius:.75rem;padding:.9rem 1rem}.role-fix .lede{margin-bottom:.6rem}.guests{margin:0;padding-left:1.25rem}h2,h3{margin:var(--gap) 0 .5rem;font-size:1.1rem}.admin-hint{margin:0 0 var(--gap);background:color-mix(in srgb, currentcolor 8%, transparent);border-radius:.5rem;padding:.75rem}.admin-code{margin:0;font-size:1.25rem}.admin-code strong,.admin-hint strong{letter-spacing:.15em;font-family:ui-monospace,monospace}.roster{margin:0;padding:0;list-style:none}.roster li{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.roster li.removed{opacity:.6}.guest-name{flex:1;font-weight:600}.roster button{padding:.4rem .75rem;font-size:.9rem}.roster .why{flex-basis:100%;margin:0}.roles{margin:0 0 var(--gap);padding:0;list-style:none}.roles li{align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.role-name{flex:1;font-weight:600}.roles button{padding:.4rem .75rem;font-size:.9rem}.rounds{margin:0;padding:0;list-style:none}.rounds li{align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.rounds li.current .round-label{font-weight:700}.round-label{flex:1}.rounds button{padding:.4rem .75rem;font-size:.9rem}.why{opacity:.75;max-width:24rem;margin:.5rem 0 0}button:disabled{opacity:.4}.reconnecting{margin:0 0 var(--gap);color:#8a5300;font-weight:600}@media (prefers-color-scheme:dark){.reconnecting{color:#f0c078}}.chooser{flex-direction:column;gap:.5rem;height:100dvh;padding:.5rem;display:flex}.chooser-caption{text-align:center;margin:0;font-size:clamp(1rem,4vh,1.5rem);font-weight:600}.chooser-progress{text-align:center;opacity:.7;margin:0;font-size:.9rem}.options{flex:1;gap:.5rem;min-height:0;display:flex}.option{min-width:0;color:inherit;background:0 0;border:3px solid #0000;border-radius:.75rem;flex:50%;justify-content:center;align-items:center;padding:0;display:flex}.name-card{flex-direction:column;gap:.35rem;width:100%;height:100%;min-height:0;margin:0;display:flex}.name-card-image{background:#ff2e97;border-radius:.75rem;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.name-card-image img{width:auto;max-width:none;height:100%;display:block}.option-name{text-align:center;margin:0;font-size:clamp(.95rem,3.2vh,1.75rem);font-weight:700;line-height:1.15}.option.chosen{background:color-mix(in srgb, currentcolor 12%, transparent);border-color:currentColor}.chooser-buttons{display:none}@media (orientation:portrait){.chooser-cards{display:none}.chooser-buttons{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}}.option-button{color:#fff;cursor:pointer;text-align:center;background:#ff2e97;border:3px solid #0000;border-radius:.9rem;flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;font-size:clamp(1.5rem,6vh,3rem);font-weight:800;display:flex;box-shadow:0 .15em 1rem #0003}.option-button.chosen{background:#c724ff;border-color:#10131a}.look-up h1{font-size:clamp(1.75rem,9vw,3rem)}.look-up.outcome{text-align:center}.outcome-right h1{color:#1a7f37}.outcome-wrong h1{color:#b3261e}.outcome-missed h1{opacity:.75}@media (prefers-color-scheme:dark){.outcome-right h1{color:#86ffb0}.outcome-wrong h1{color:#f2b8b5}}.bride-status{margin:0 0 var(--gap);font-weight:600}button.destructive{margin-top:var(--gap);color:#b3261e;background:0 0;border:2px solid #b3261e}@media (prefers-color-scheme:dark){button.destructive{color:#f2b8b5;border-color:#f2b8b5}}@keyframes present-party-drift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.present-screen,.waiting{box-sizing:border-box;text-align:center;color:#fff;background:linear-gradient(125deg,#fff 0%,#ffd6f0 16%,#ff8fce 34%,#ff2e97 56%,#c724ff 78%,#7a1fd6 100%) 0 0/300% 300%;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,4vh,3rem);height:100dvh;padding:clamp(2rem,6vh,5rem) clamp(1.5rem,4vw,4rem);animation:18s infinite present-party-drift;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.present-screen,.waiting{animation:none}}.waiting{position:relative}.waiting-back{font:inherit;color:#fff;cursor:pointer;background:#00000047;border:0;border-radius:999px;padding:.55rem 1rem;font-weight:700;position:absolute;top:clamp(.75rem,3vh,1.5rem);left:clamp(.75rem,3vw,1.5rem);box-shadow:0 .1em .6rem #0003}.waiting-host{opacity:.95;text-shadow:0 .06em #0000002e;margin:0;font-size:clamp(1rem,2.5vw,1.5rem)}.waiting-host a{color:#fff}.present-heading{letter-spacing:.01em;text-shadow:0 .08em #0000002e;margin:0;font-size:clamp(2.5rem,8vw,6rem);font-weight:800}.present-status{opacity:.95;text-shadow:0 .06em #0000002e;margin:0;font-size:clamp(1.25rem,3vw,2rem)}.present-join{text-shadow:0 .06em #0000002e;margin:0;font-size:clamp(1.25rem,3vw,2.25rem);font-weight:600}.present-address{letter-spacing:.01em;word-break:break-all;color:#10131a;background:#fff;border-radius:.4em;margin:0;padding:.3em .65em;font-size:clamp(1.9rem,6.5vw,5rem);font-weight:800;box-shadow:0 .15em 1.5rem #00000047}.present-qr{background:#fff;border-radius:2rem;align-self:center;padding:clamp(1.25rem,3vw,2.25rem);display:inline-flex;box-shadow:0 .2em 2.5rem #00000059}.present-qr svg{width:clamp(140px,24vmin,300px);height:auto;display:block}.present-progress{text-shadow:0 .06em #0003;margin:0;font-size:clamp(1.5rem,4vw,3rem);font-weight:700}.present-guests{flex-wrap:wrap;justify-content:center;gap:clamp(.5rem,2vw,1rem);margin:0;padding:0;font-size:clamp(1.1rem,2.5vw,1.75rem);list-style:none;display:flex}.present-guests li{color:#10131a;background:#ffffffeb;border-radius:999px;padding:.4em .9em;font-weight:600;box-shadow:0 .1em .6rem #0000002e}.results{flex-direction:column;align-items:center;gap:clamp(.5rem,2vw,1.5rem);width:100%;display:flex}.result-caption{margin:0;font-size:clamp(1.1rem,3vw,2.25rem);font-weight:600}.result-sides{justify-content:center;gap:clamp(.5rem,2vw,2rem);width:100%;display:flex}.result-side{flex-direction:column;flex:50%;align-items:center;gap:.5rem;min-width:0;display:flex}.result-card{width:100%;height:clamp(6rem,40vh,22rem)}.result-side.bride-pick .result-card{border-radius:.9rem;box-shadow:0 0 0 .35rem #ff2e97,0 .4rem 2.5rem #ff2e978c}.result-side.dimmed .name-card-image img{filter:grayscale();opacity:.85}.result-count{margin:0;font-size:clamp(1.5rem,5vw,4rem);font-weight:700}.result-score{justify-content:center;gap:clamp(1rem,4vw,3rem);font-size:clamp(1.25rem,3.5vw,2.5rem);font-weight:700;display:flex}.result-matched{color:#1a7f37;margin:0}.result-missed{color:#b3261e;margin:0}.present-screen .result-matched{color:#86ffb0;text-shadow:0 .06em #00000040}.present-screen .result-missed{color:#ffb3ac;text-shadow:0 .06em #00000040}.result-bride{margin:0;font-size:clamp(1.1rem,3vw,2.25rem);font-weight:600}.result-voters{flex-wrap:wrap;justify-content:center;gap:clamp(.35rem,1.5vw,.75rem);margin:0;padding:0;font-size:clamp(.95rem,2vw,1.5rem);list-style:none;display:flex}.result-voters .result-name{background:color-mix(in srgb, currentcolor 12%, transparent);border-radius:999px;padding:.3em .8em}button.toggle{margin-bottom:var(--gap);border:2px solid color-mix(in srgb, currentcolor 45%, transparent);color:inherit;background:0 0;padding:.5rem .9rem;font-size:.95rem}.present-reconnect{color:#10131a;background:#f0c078e6;border-radius:999px;margin:0;padding:.35rem .75rem;font-size:.9rem;font-weight:600;position:fixed;top:1rem;right:1rem}.countdown{font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:.5em;display:flex}.countdown-time{letter-spacing:.02em;font-size:clamp(1.5rem,6vw,4rem);font-weight:800}.countdown.paused{opacity:.65}.countdown-paused{text-transform:uppercase;letter-spacing:.08em;font-size:.8em;font-weight:700}.present-control{font:inherit;color:#10131a;cursor:pointer;background:#fff;border:0;border-radius:999px;padding:.6em 1.4em;font-size:clamp(1.1rem,2.6vw,1.9rem);font-weight:800;box-shadow:0 .15em 1rem #00000040}.present-control-score{letter-spacing:.02em;color:#10131a;background:#ffd400;font-size:clamp(1.3rem,3.4vw,2.4rem)}.present-startover{z-index:2;font:inherit;color:#fff;cursor:pointer;background:#0000004d;border:0;border-radius:999px;padding:.45em 1.1em;font-size:clamp(.9rem,1.8vw,1.4rem);font-weight:700;position:absolute;top:clamp(.75rem,2.5vh,1.75rem);right:clamp(.75rem,2.5vw,1.75rem)}.present-options{justify-content:center;gap:clamp(1rem,4vw,3rem);width:min(100%,70rem);display:flex}.present-options .name-card{flex:1 1 0;min-width:0;height:clamp(8rem,34vh,22rem)}.present-options .name-card-image{box-shadow:0 .2em 2rem #00000047}@keyframes bride-pick-reveal{0%{opacity:.4;transform:scale(.7)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1.06)}}.present-screen .result-side.bride-pick{z-index:1;flex:2.6 1 0;animation:.8s ease-out bride-pick-reveal;transform:scale(1.06)}.present-screen .result-side.dimmed{opacity:.8;flex:.9 1 0;transform:scale(.82)}@media (prefers-reduced-motion:reduce){.present-screen .result-side.bride-pick{animation:none}}.leaderboard{counter-reset:rank;flex-direction:column;align-items:stretch;gap:clamp(.4rem,1.5vh,.9rem);width:min(100%,40rem);margin:0;padding:0;list-style:none;display:flex}.leaderboard-line{counter-increment:rank;color:#10131a;background:#ffffffeb;border-radius:.9rem;justify-content:space-between;align-items:baseline;gap:1rem;padding:clamp(.4rem,1.5vh,.9rem) clamp(.9rem,3vw,1.5rem);font-size:clamp(1.1rem,2.8vw,2rem);display:flex;box-shadow:0 .1em .6rem #0000002e}.leaderboard-line:before{content:counter(rank) ".";opacity:.6;font-weight:800}.leaderboard-name{text-align:left;flex:1;font-weight:700}.leaderboard-score{white-space:nowrap;font-weight:600}.timer-controls{align-items:center;gap:var(--gap);margin-bottom:var(--gap);flex-wrap:wrap;display:flex}.timer-controls .countdown{justify-content:flex-start}.timer-controls .countdown-time{font-size:1.6rem}