@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap";:root{--bg-base:#0a0a12;--bg-surface:#13131f;--bg-card:#1a1a2e;--bg-elevated:#1f1f35;--accent:#7c5cfc;--accent-light:#a082fd;--accent-dim:#7c5cfc26;--accent-glow:#7c5cfc66;--gold:#f5c842;--gold-dim:#f5c84226;--green:#2dd4bf;--red:#f87171;--orange:#fb923c;--text-primary:#f0f0ff;--text-secondary:#9090b8;--text-muted:#55556a;--border:#ffffff12;--border-accent:#7c5cfc59;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-card:0 4px 32px #0006;--shadow-glow:0 0 40px #7c5cfc40;--shadow-gold:0 0 30px #f5c84233;--transition:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Outfit,sans-serif;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:700}h3{font-size:1.2rem;font-weight:600}.text-accent{color:var(--accent-light)}.text-gold{color:var(--gold)}.text-muted{color:var(--text-secondary)}.text-center{text-align:center}.page{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.25rem;display:flex}.container{width:100%;max-width:480px}.container--wide{max-width:720px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.75rem}.card--glow{border-color:var(--border-accent);box-shadow:var(--shadow-card), var(--shadow-glow)}.card--gold{box-shadow:var(--shadow-card), var(--shadow-gold);border-color:#f5c84259}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-light);box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px)}.btn--gold{background:var(--gold);color:#111}.btn--gold:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn--ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn--ghost:hover{border-color:var(--accent-light);color:var(--accent-light)}.btn--danger{color:var(--red);background:#f8717126;border:1px solid #f871714d}.btn--danger:hover{background:#f8717140}.btn--full{width:100%}.btn--lg{border-radius:var(--radius-lg);padding:1rem 2rem;font-size:1.05rem}.btn--sm{border-radius:var(--radius-sm);padding:.45rem 1rem;font-size:.85rem}.input-group{flex-direction:column;gap:.45rem;display:flex}.input-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:600}.input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);transition:var(--transition);outline:none;width:100%;padding:.8rem 1rem;font-family:inherit;font-size:1rem}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.input::placeholder{color:var(--text-muted)}.input--code{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-size:1.3rem;font-weight:700}.room-code{background:var(--accent-dim);border:1px solid var(--border-accent);border-radius:var(--radius-md);letter-spacing:.25em;color:var(--accent-light);align-items:center;gap:.5rem;padding:.5rem 1.2rem;font-size:1.5rem;font-weight:800;display:inline-flex}.player-list{flex-direction:column;gap:.6rem;display:flex}.player-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);justify-content:space-between;align-items:center;padding:.75rem 1rem;animation:.3s slideIn;display:flex}.player-item--host{border-color:var(--accent)}.player-item--winner{border-color:var(--gold);background:var(--gold-dim)}.player-item--eliminated{opacity:.45}.player-item--you{border-color:var(--green)}.player-avatar{background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex}.player-info{flex:1;margin-left:.75rem}.player-name{font-size:.95rem;font-weight:600}.player-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.badge--host{background:var(--accent-dim);color:var(--accent-light)}.badge--you{color:var(--green);background:#2dd4bf26}.badge--winner{background:var(--gold-dim);color:var(--gold)}.badge--out{color:var(--red);background:#f871711a}.questions-log{flex-direction:column;gap:.6rem;max-height:340px;padding-right:.25rem;display:flex;overflow-y:auto}.question-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem;animation:.3s slideIn}.question-header{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.question-asker{color:var(--accent-light);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.question-text{color:var(--text-primary);margin-bottom:.4rem;font-size:.95rem}.question-answer{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .75rem;font-size:.82rem;font-weight:700;display:inline-block}.answer--yes{color:var(--green);background:#2dd4bf26}.answer--no{color:var(--red);background:#f8717126}.answer--maybe{color:var(--orange);background:#fb923c26}.answer--pending{color:var(--text-muted);font-style:italic}.character-mystery{background:var(--accent-dim);border:2px dashed var(--accent);border-radius:var(--radius-xl);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.character-mystery__icon{font-size:4rem;animation:2s infinite pulse}.character-mystery__label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-size:.8rem;font-weight:600}.character-mystery__name{color:var(--accent-light);font-size:1.5rem;font-weight:800}.winner-banner{text-align:center;border:2px solid var(--gold);border-radius:var(--radius-xl);box-shadow:var(--shadow-gold);background:linear-gradient(135deg,#f5c8421f,#7c5cfc1f);padding:2.5rem 1.5rem}.winner-emoji{font-size:5rem;animation:1s infinite bounce;display:block}.winner-name{color:var(--gold);margin-top:.5rem;font-size:2rem;font-weight:900}.divider{color:var(--text-muted);align-items:center;gap:.75rem;margin:.5rem 0;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.stack{flex-direction:column;gap:1rem;display:flex}.stack--sm{gap:.5rem}.stack--lg{gap:1.5rem}.row{gap:.75rem;display:flex}.row--between{justify-content:space-between;align-items:center}.logo{text-align:center;background:linear-gradient(135deg, var(--accent-light) 0%, var(--gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:900;line-height:1}.logo-mark{letter-spacing:.15em;text-transform:uppercase;-webkit-text-fill-color:var(--text-secondary);color:var(--text-secondary);margin-top:.25rem;font-size:.3em;font-weight:500;display:block}.mode-select{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.mode-option{background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:center;transition:var(--transition);color:var(--text-secondary);padding:1.25rem 1rem;font-family:inherit;font-size:.9rem}.mode-option:hover{border-color:var(--accent);color:var(--text-primary)}.mode-option.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-light)}.mode-option__icon{margin-bottom:.4rem;font-size:1.8rem;display:block}.mode-option__label{font-weight:700;display:block}.mode-option__hint{color:var(--text-muted);margin-top:.2rem;font-size:.78rem}.chars-grid{flex-wrap:wrap;gap:.4rem;max-height:180px;padding:.25rem;display:flex;overflow-y:auto}.char-chip{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;transition:var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;padding:.3rem .75rem;font-size:.82rem}.char-chip:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-light)}.answer-btns{gap:.5rem;display:flex}.answer-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.04em;flex:1;padding:.6rem .5rem;font-family:inherit;font-size:.85rem;font-weight:700}.answer-btn--yes{color:var(--green)}.answer-btn--yes:hover{border-color:var(--green);background:#2dd4bf26}.answer-btn--no{color:var(--red)}.answer-btn--no:hover{border-color:var(--red);background:#f8717126}.answer-btn--maybe{color:var(--orange)}.answer-btn--maybe:hover{border-color:var(--orange);background:#fb923c26}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.toast{background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-md);color:var(--text-primary);box-shadow:var(--shadow-glow);z-index:999;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;animation:.3s toastIn;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade{animation:.4s fadeIn}.animate-slide{animation:.4s slideIn}@media (width<=420px){.card{padding:1.25rem}.page{padding:1.5rem 1rem}.mode-select{grid-template-columns:1fr}}
