*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{--charcoal-900: #121218;--charcoal-800: #1b1b24;--charcoal-700: #262632;--charcoal-600: #343443;--teal: #2ff2d0;--lilac: #c0aef8;--ink: #f5f4fb;--muted: #9d9cb0;--line: #2f2f3d;--bg: var(--charcoal-900);--surface: var(--charcoal-800);--raised: var(--charcoal-700);--border: var(--line);--text: var(--ink);--on-accent: #10101a;--radius: 18px;--radius-lg: 26px;--gap: .85rem;font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:clamp(17px,.6vw + 15px,22px);font-weight:600;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f1eff8;--surface: #ffffff;--raised: #ece9f6;--border: #ddd8ee;--text: #1b1b24;--muted: #5d5b70;--teal: #0fbfa1;--lilac: #7d5cf0;color-scheme:light}}body{background:var(--bg);color:var(--text);min-height:100dvh}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shell{max-width:44rem;margin-inline:auto;padding:0 1rem 3rem}.shell__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem 0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.shell__brand{font-size:1.15rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.shell__brand span{color:var(--teal)}.tabs{display:flex;gap:.3rem;padding:.25rem;background:var(--raised);border-radius:999px}.tabs__link{padding:.45rem 1.1rem;border-radius:999px;color:var(--muted);font-weight:700;text-decoration:none;transition:background-color .14s ease,color .14s ease}.tabs__link:hover{color:var(--text)}.tabs__link.active{background:var(--lilac);color:var(--on-accent)}.page{display:flex;flex-direction:column;gap:var(--gap)}.page--lost{padding-top:3rem}.card{display:flex;flex-direction:column;gap:var(--gap);padding:1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.card--spot{border-color:color-mix(in srgb,var(--teal) 35%,var(--border))}.card__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.card h1,.card h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.muted{color:var(--muted);font-weight:600}.muted a{color:var(--teal)}.pill{padding:.25rem .75rem;border-radius:999px;background:var(--raised);color:var(--muted);font-size:.8rem;font-weight:700;white-space:nowrap}.pill--lilac{background:color-mix(in srgb,var(--lilac) 22%,transparent);color:var(--lilac)}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.field{flex:1 1 10rem;min-width:0;padding:.7rem 1rem;background:var(--raised);border:1px solid transparent;border-radius:var(--radius);color:var(--text);font-weight:600}.field::placeholder{color:var(--muted)}.field:focus-visible,.score:focus-visible{outline:none;border-color:var(--teal)}.btn{padding:.7rem 1.3rem;border:none;border-radius:var(--radius);font-weight:800;font-size:1rem;letter-spacing:-.01em;text-align:center;text-decoration:none;cursor:pointer;transition:transform .12s ease,filter .14s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--wide{flex:1 1 8rem}.btn--teal{background:var(--teal);color:var(--on-accent)}.btn--lilac{background:var(--lilac);color:var(--on-accent)}.btn--quiet{background:var(--raised);color:var(--muted)}.seg{display:flex;gap:.2rem;padding:.2rem;background:var(--raised);border-radius:999px}.seg__btn{min-width:2.6rem;padding:.35rem .7rem;border:none;border-radius:999px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.seg__btn--on{background:var(--teal);color:var(--on-accent)}.chip{padding:.35rem .85rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:800;cursor:pointer}.chip--on{background:color-mix(in srgb,var(--lilac) 25%,transparent);border-color:var(--lilac);color:var(--lilac)}.chip--ghost{border-color:transparent}.roster,.options,.ranks,.ballots,.team__list,.queue,.reveal__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem}.roster__item,.options__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem .9rem;background:var(--raised);border-radius:var(--radius)}.roster__name,.options__item span:first-child{flex:1;font-weight:700;overflow-wrap:anywhere}.teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem}.team{padding:.9rem;background:var(--raised);border-radius:var(--radius)}.team__name{margin-bottom:.4rem;font-size:1rem;font-weight:800;color:var(--teal);letter-spacing:-.01em}.team__list{gap:.15rem;font-weight:700}.lockmark{font-size:.75em}.turn__label{color:var(--muted);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.turn__now{font-size:clamp(2.4rem,9vw,3.6rem);font-weight:800;line-height:1.05;letter-spacing:-.04em;color:var(--teal)}.turn__members{color:var(--muted);font-weight:700}.turn__next-up{color:var(--muted);text-align:center}.turn__next-up strong{color:var(--lilac)}.btn--next{padding:1.15rem;background:var(--lilac);color:var(--on-accent);font-size:1.25rem;border-radius:var(--radius-lg)}.queue{flex-direction:row;flex-wrap:wrap;gap:.35rem;counter-reset:queue}.queue__item{padding:.3rem .8rem;border-radius:999px;background:var(--raised);color:var(--muted);font-size:.85rem;font-weight:700}.queue__item--on{background:color-mix(in srgb,var(--teal) 20%,transparent);color:var(--teal)}@keyframes bounce-press{0%{transform:scale(1)}35%{transform:scale(.94)}65%{transform:scale(1.05)}to{transform:scale(1)}}.is-bounce{animation:bounce-press .34s cubic-bezier(.34,1.56,.64,1)}.board__scroll{overflow-x:auto}.board{width:100%;border-collapse:collapse;text-align:center}.board th,.board td{padding:.3rem .35rem}.board thead th{color:var(--lilac);font-size:.85rem;font-weight:800}.board tbody th,.board tfoot th{color:var(--muted);font-size:.85rem;font-weight:800;text-align:left}.board tfoot{border-top:1px solid var(--border)}.board__total{padding-top:.6rem;font-size:1.5rem;font-weight:800;color:var(--teal)}.score{width:100%;min-width:3.2rem;padding:.5rem .3rem;background:var(--raised);border:1px solid transparent;border-radius:12px;color:var(--text);font-size:1.05rem;font-weight:800;text-align:center}.clock{font-size:clamp(3rem,14vw,4.5rem);font-weight:800;line-height:1;letter-spacing:-.05em;text-align:center;font-variant-numeric:tabular-nums}.clock--done{color:var(--lilac)}.timer__done{text-align:center;font-weight:800;color:var(--lilac);letter-spacing:.06em;text-transform:uppercase}.rank{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .9rem;background:var(--raised);border:1px solid transparent;border-radius:var(--radius);color:var(--text);font-weight:700;text-align:left;cursor:pointer}.rank--on{border-color:var(--teal)}.rank__badge{display:grid;place-items:center;width:2.1rem;height:2.1rem;flex:none;border-radius:50%;background:var(--surface);color:var(--muted);font-size:.95rem;font-weight:800}.rank--on .rank__badge{background:var(--teal);color:var(--on-accent)}.ballots__item{display:flex;align-items:center;gap:.5rem;padding:.4rem .4rem .4rem .9rem;background:var(--raised);border-radius:var(--radius);font-size:.9rem}.ballots__voter{font-weight:800}.ballots__picks{flex:1;color:var(--muted);overflow-wrap:anywhere}.reveal{padding:1.1rem;border-radius:var(--radius);background:color-mix(in srgb,var(--lilac) 16%,transparent);text-align:center}.reveal__label{color:var(--muted);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.reveal__winner{font-size:clamp(2rem,8vw,3rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--teal)}.reveal__list{margin-top:.8rem;text-align:left}.reveal__list li{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem .6rem;border-radius:12px;background:color-mix(in srgb,var(--surface) 70%,transparent);font-weight:700}.reveal__points{color:var(--muted);white-space:nowrap}@media(prefers-reduced-motion:reduce){.btn,.tabs__link{transition:none}.is-bounce{animation:none}.btn:active{transform:none}}
