:root{--bg: #17111c;--surface: #221a29;--surface-2: #2b2132;--border: #3c2f45;--text: #f6ede2;--text-dim: #ab9cb4;--text-faint: #7c6f88;--accent: #ff3d82;--accent-soft: #ffb648;--danger: #ff6b5b;--success: #5fd9a4}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:radial-gradient(ellipse 60% 40% at 15% 0%,rgba(255,182,72,.1),transparent 60%),radial-gradient(ellipse 50% 35% at 100% 15%,rgba(255,61,130,.12),transparent 60%);color:var(--text);font-family:Manrope,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.mono{font-family:Space Mono,ui-monospace,monospace}button{font:inherit}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.panel h2{margin:0 0 1.1rem;font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:1.02rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:.6rem}.badge{font-family:Space Mono,monospace;font-size:.72rem;font-weight:400;color:var(--bg);background:var(--accent-soft);padding:.15rem .5rem;border-radius:999px}.field{margin-bottom:1.1rem}.field:last-of-type{margin-bottom:0}.field label{display:block;font-size:.82rem;font-weight:600;color:var(--text-dim);margin-bottom:.4rem}input[type=text]{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:.7rem .8rem;border-radius:8px;font-size:.92rem;font-family:Space Mono,ui-monospace,monospace}input::placeholder{color:var(--text-faint)}.primary-btn{background:var(--accent);color:#1a0a10;border:none;font-family:Bricolage Grotesque,system-ui,sans-serif;font-weight:700;font-size:.95rem;padding:.8rem 1.5rem;border-radius:9px;cursor:pointer;transition:transform .12s,filter .12s}.primary-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.status-text{font-size:.85rem;color:var(--text-dim);font-family:Space Mono,monospace}.error-msg{margin:1rem 0 0;padding:.8rem 1rem;background:#ff6b5b1f;border:1px solid rgba(255,107,91,.4);color:#ffb3a8;border-radius:8px;font-size:.87rem;line-height:1.5}.error-msg a{color:#ffd8d1}.chip-grid{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:flex;flex-direction:column;gap:.35rem;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:.5rem .65rem;font-size:.84rem;flex:1 1 260px;max-width:260px}.chip.excluded{opacity:.65}.chip-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chip-avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#1a0a10}.chip-avatar img{width:100%;height:100%;object-fit:cover;display:block}.chip-snippet{color:var(--text-faint);font-size:.78rem;line-height:1.4;white-space:pre-line;word-break:break-word}.chip-remove,.chip-restore{background:none;border:none;font-family:inherit;cursor:pointer;padding:0 .15rem;line-height:1;flex-shrink:0}.chip-remove{color:var(--text-faint);font-size:.8rem}.chip-remove:hover{color:var(--danger)}.chip-restore{color:var(--accent-soft);font-size:.76rem;font-weight:700}.chip-restore:hover{color:var(--success)}.chip-empty{color:var(--text-faint);font-size:.85rem}@media (max-width: 520px){.panel{padding:1.15rem}.chip{flex-basis:100%;max-width:100%}input[type=text]{font-size:16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app[data-v-7dbc9a9f]{max-width:780px;margin:0 auto;padding:3rem 1.5rem 6rem;display:flex;flex-direction:column;gap:1.5rem}.masthead[data-v-7dbc9a9f]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.masthead-text h1[data-v-7dbc9a9f]{margin:0;font-family:Bricolage Grotesque,system-ui,sans-serif;font-weight:700;font-size:clamp(2rem,5vw,2.7rem);letter-spacing:-.01em;text-wrap:balance}.masthead-actions[data-v-7dbc9a9f]{display:flex;align-items:center;gap:.6rem}#resetBtn[data-v-7dbc9a9f]{background:none;border:1px solid var(--border);color:var(--text-dim);font-family:inherit;font-size:.82rem;padding:.5rem .9rem;border-radius:8px;cursor:pointer;transition:border-color .15s,color .15s}#resetBtn[data-v-7dbc9a9f]:hover{border-color:var(--text-dim);color:var(--text)}@media (max-width: 520px){.app[data-v-7dbc9a9f]{padding:2rem 1rem 4rem}.masthead-actions[data-v-7dbc9a9f]{width:100%;flex-wrap:wrap}#resetBtn[data-v-7dbc9a9f]{padding:.6rem 1rem}}.setup-actions[data-v-e52a5be8]{display:flex;align-items:center;gap:1rem;margin-top:1.3rem;flex-wrap:wrap}.filters-row[data-v-a347be2c]{display:flex;gap:1.6rem;flex-wrap:wrap;margin-bottom:1rem}.toggle[data-v-a347be2c]{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input[data-v-a347be2c]{accent-color:var(--accent);width:17px;height:17px;cursor:pointer}.eligible-count[data-v-a347be2c]{margin:0;font-size:.88rem;color:var(--text-dim);padding-top:.9rem;border-top:1px solid var(--border)}.eligible-count strong[data-v-a347be2c]{color:var(--accent-soft);font-family:Space Mono,monospace;font-size:1rem}.comments-list[data-v-23553d7c]{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding-right:.3rem}.comments-list[data-v-23553d7c]::-webkit-scrollbar{width:8px}.comments-list[data-v-23553d7c]::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.comment-row[data-v-23553d7c]{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.65rem .8rem;transition:opacity .15s}.comment-row.ineligible[data-v-23553d7c]{opacity:.38}.comment-row-top[data-v-23553d7c]{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.comment-name[data-v-23553d7c]{font-weight:700;font-size:.87rem}.comment-trophy[data-v-23553d7c]{font-size:.8rem}.comment-excluded[data-v-23553d7c]{font-size:.68rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-left:auto}.comment-text[data-v-23553d7c]{font-size:.87rem;color:var(--text-dim);line-height:1.45;word-break:break-word}.stage[data-v-c09f0c2e]{position:relative;border-radius:22px;padding:3rem 2rem 2.5rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,61,130,.18),transparent 65%),var(--surface);border:1px solid var(--border);box-shadow:0 30px 60px -30px #0009;text-align:center;overflow:hidden}.stage[data-v-c09f0c2e]:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background-image:radial-gradient(circle,var(--accent-soft) 2.6px,transparent 3px);background-size:26px 100%;background-repeat:repeat-x;opacity:.8}.pick-btn[data-v-c09f0c2e]{position:relative;z-index:2;background:linear-gradient(135deg,var(--accent),#ff6f9f);color:#1a0a10;border:none;font-family:Bricolage Grotesque,system-ui,sans-serif;font-weight:800;font-size:1.15rem;padding:1.05rem 2.4rem;border-radius:14px;cursor:pointer;letter-spacing:-.01em;box-shadow:0 12px 30px -10px #ff3d828c;transition:transform .15s,box-shadow .15s}.pick-btn[data-v-c09f0c2e]:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 16px 36px -8px #ff3d82a6}.pick-btn[data-v-c09f0c2e]:disabled{opacity:.55;cursor:not-allowed;transform:none}.empty-pool-msg[data-v-c09f0c2e]{position:relative;z-index:2;margin-top:1.5rem;color:var(--text-dim);font-size:.92rem}.past-winners[data-v-c09f0c2e]{position:relative;z-index:2;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--border);text-align:left}.past-winners h3[data-v-c09f0c2e]{margin:0 0 .7rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);text-align:center}.past-winners ol[data-v-c09f0c2e]{list-style:none;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:.5rem;max-width:460px}.past-winners li[data-v-c09f0c2e]{display:flex;align-items:baseline;gap:.6rem;font-size:.87rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem}.past-winners li .pw-rank[data-v-c09f0c2e]{color:var(--accent-soft);font-family:Space Mono,monospace;font-size:.78rem;flex-shrink:0}.past-winners li .pw-name[data-v-c09f0c2e]{font-weight:700;flex-shrink:0}.past-winners li .pw-comment[data-v-c09f0c2e]{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.past-winners li .pw-time[data-v-c09f0c2e]{color:var(--text-faint);font-family:Space Mono,monospace;font-size:.72rem;flex-shrink:0}.past-winners li .pw-link[data-v-c09f0c2e]{color:var(--accent-soft);font-weight:700;font-size:.78rem;text-decoration:none;flex-shrink:0}.past-winners li .pw-link[data-v-c09f0c2e]:hover{text-decoration:underline}@media (max-width: 520px){.stage[data-v-c09f0c2e]{padding:2.2rem 1.2rem 2rem}}.reveal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;background:#0a060ccc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:backdropIn .2s ease-out}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.reveal-card{position:relative;width:100%;max-width:560px;border-radius:24px;padding:3.2rem 2.2rem 2.6rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,61,130,.22),transparent 65%),var(--surface);border:1px solid var(--border);box-shadow:0 40px 90px -20px #000000bf;text-align:center;overflow:hidden;animation:cardPopIn .35s cubic-bezier(.2,1.3,.4,1)}@keyframes cardPopIn{0%{opacity:0;transform:scale(.9) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.reveal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background-image:radial-gradient(circle,var(--accent-soft) 2.6px,transparent 3px);background-size:26px 100%;background-repeat:repeat-x;opacity:.8}.modal-close{position:absolute;top:.9rem;right:1rem;background:none;border:none;color:var(--text-faint);font-size:1.05rem;cursor:pointer;padding:.3rem;line-height:1}.modal-close:hover{color:var(--text)}.reveal-label{margin:0 0 .6rem;font-size:clamp(1.6rem,5vw,2.2rem);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft);font-weight:800}.winner-name{margin:0;font-family:Bricolage Grotesque,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;text-wrap:balance;color:var(--text)}.winner-name.shuffling{font-size:clamp(1.05rem,3vw,1.4rem);line-height:1.3;color:var(--text-dim);animation:flicker .09s steps(1) infinite}.winner-name.revealed{font-size:clamp(2.3rem,7vw,3.8rem);line-height:1.05;color:#fff;text-shadow:0 0 24px rgba(255,61,130,.55),0 0 60px rgba(255,182,72,.35);animation:popIn .5s cubic-bezier(.2,1.4,.4,1)}@keyframes flicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.99)}}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.comment-label{margin:.9rem 0 .4rem;font-size:clamp(.95rem,2.2vw,1.1rem);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-weight:800}.comment-label.no-name{margin-top:0}.winner-comment{margin:0 auto;max-width:46ch;font-size:.85rem;color:var(--text-dim);font-style:italic;line-height:1.5}.winner-comment.headline{max-width:34ch;margin-left:auto;margin-right:auto;font-family:Bricolage Grotesque,system-ui,sans-serif;font-weight:800;font-size:clamp(1.05rem,3vw,1.4rem);line-height:1.3;font-style:normal;color:#fff;text-wrap:balance;text-shadow:0 0 24px rgba(255,61,130,.55),0 0 60px rgba(255,182,72,.35);animation:popIn .5s cubic-bezier(.2,1.4,.4,1)}.winner-timestamp{margin:.6rem 0 0;font-size:.78rem;color:var(--text-faint);font-family:Space Mono,monospace}.winner-links{display:flex;justify-content:center;gap:1.4rem;margin-top:1.1rem;flex-wrap:wrap}.winner-link{display:inline-block;color:var(--accent-soft);font-weight:700;font-size:.88rem;text-decoration:none;border-bottom:1px solid transparent}.winner-link:hover{border-bottom-color:var(--accent-soft)}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:-12px;width:9px;height:16px;opacity:.95;animation-name:confettiFall;animation-timing-function:cubic-bezier(.3,0,.7,1);animation-fill-mode:forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(600deg);opacity:0}}@media (prefers-reduced-motion: reduce){.reveal-backdrop,.reveal-card,.winner-name.shuffling,.winner-name.revealed,.winner-comment.headline{animation:none}}@media (max-width: 520px){.reveal-backdrop{padding:1rem}.reveal-card{padding:2.4rem 1.3rem 1.8rem;border-radius:18px}.winner-links{gap:.9rem}}.bulk-exclude[data-v-fe8567f1]{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--border)}.bulk-exclude label[data-v-fe8567f1]{display:block;font-size:.82rem;font-weight:600;color:var(--text-dim);margin-bottom:.4rem}.bulk-exclude textarea[data-v-fe8567f1]{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:.65rem .75rem;border-radius:8px;font-size:.85rem;font-family:inherit;resize:vertical}.bulk-exclude textarea[data-v-fe8567f1]::placeholder{color:var(--text-faint)}.bulk-actions[data-v-fe8567f1]{display:flex;align-items:center;gap:.9rem;margin-top:.7rem;flex-wrap:wrap}.exclude-btn[data-v-fe8567f1]{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:inherit;font-weight:700;font-size:.85rem;padding:.55rem 1.1rem;border-radius:8px;cursor:pointer}.exclude-btn[data-v-fe8567f1]:hover{border-color:var(--accent-soft);color:var(--accent-soft)}.excluded-details[data-v-fe8567f1]{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--border)}.excluded-details summary[data-v-fe8567f1]{cursor:pointer;font-size:.82rem;font-weight:600;color:var(--text-dim)}.excluded-details summary[data-v-fe8567f1]:hover{color:var(--text)}.excluded-details .chip-grid[data-v-fe8567f1]{margin-top:.8rem}@media (max-width: 520px){.bulk-exclude textarea[data-v-fe8567f1]{font-size:16px}}.manage-page[data-v-b8670c08]{display:flex;flex-direction:column;gap:1.2rem}.back-link[data-v-b8670c08]{align-self:flex-start;color:var(--text-dim);font-size:.85rem;text-decoration:none;border-bottom:1px solid transparent}.back-link[data-v-b8670c08]:hover{color:var(--text);border-bottom-color:var(--text)}.empty-msg[data-v-b8670c08]{color:var(--text-dim);font-size:.92rem}
