:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}:root{--primary: #6366f1;--primary-hover: #4f46e5;--secondary: #64748b;--emerald: #10b981;--rose: #f43f5e;--bg: #0f172a;--card-bg: #1e293b;--text: #f8fafc;--text-dim: #94a3b8;--input-bg: #0f172a;--border: #334155;--table-bg: #1e293b;--table-border: #334155;--table-cloth: #064e3b}[data-theme=light]{--bg: #f8fafc;--card-bg: #ffffff;--text: #0f172a;--text-dim: #64748b;--input-bg: #f1f5f9;--border: #e2e8f0;--table-bg: #ffffff;--table-border: #e2e8f0;--table-cloth: #10b981}body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);transition:background-color .3s,color .3s;line-height:1.5}.landing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.room-container{display:flex;flex-direction:column;min-height:100vh;padding:1rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.card h1,.card h2{text-align:center;margin-top:0;margin-bottom:1.5rem}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-left{display:flex;align-items:center;gap:1.5rem}header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-dim)}.header-actions{display:flex;gap:.75rem;align-items:center}.leave-btn{background:transparent;color:var(--rose);border:1px solid var(--rose);padding:.4rem .8rem;width:auto;font-size:.8rem}.leave-btn:hover{background:var(--rose);color:#fff}.theme-toggle-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--text);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;font-size:1.1rem;padding:0}.theme-toggle-btn:hover{border-color:var(--primary)}.view-toggle-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--text);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;font-size:1.1rem;padding:0}.view-toggle-btn:hover{border-color:var(--primary)}.user-profile-row{display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);padding:.6rem 1rem;border-radius:.75rem;border:1px solid var(--border);margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.profile-main{display:flex;align-items:center;gap:.75rem}.name-edit{display:flex;align-items:center;gap:.5rem}.name-display{display:flex;align-items:baseline;gap:.5rem}.name-display span{font-weight:700;font-size:1.05rem}.edit-text-btn{background:transparent;color:var(--primary);border:none;padding:0;width:auto;font-size:.7rem;text-decoration:underline;cursor:pointer}.team-info{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.9rem;color:var(--text-dim)}.mini-btn-group{display:flex;background:var(--input-bg);padding:3px;border-radius:.5rem;border:1px solid var(--border)}.mini-btn{padding:.3rem .6rem;font-size:.7rem;font-weight:600;border-radius:.35rem;border:none;background:transparent;color:var(--text-dim);width:auto;min-height:0;display:inline-flex}.mini-btn.active{background:var(--primary);color:#fff}.mini-btn:hover:not(.active){color:var(--text);background:#ffffff0d}.table-area{position:relative;background:var(--table-cloth);border-radius:160px;border:10px solid var(--table-border);min-height:280px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;box-shadow:inset 0 0 30px #0000004d}.target-selector{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem;font-size:.9rem;color:var(--text-dim);background:var(--card-bg);padding:.8rem 1.5rem;border-radius:1rem;border:1px solid var(--border);width:fit-content;margin-left:auto;margin-right:auto;box-shadow:0 4px 12px #0000001a}.target-selector span{font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.target-selector .mini-btn{padding:.6rem 1.2rem;font-size:.9rem;border-radius:.6rem;min-width:70px}.reveal-stats{position:absolute;top:1rem;right:2rem;display:flex;gap:1.5rem;background:#0006;padding:.5rem 1rem;border-radius:2rem;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5}.stat-item{display:flex;align-items:center;gap:.5rem}.stat-item .label{font-size:.75rem;color:#ffffffa6;text-transform:uppercase;letter-spacing:.05em}.stat-item .value{font-size:1.1rem;font-weight:800;color:var(--emerald)}.participants{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:90%;padding:1rem}.participant-card{background:var(--card-bg);padding:.6rem .8rem;border-radius:.5rem;min-width:90px;text-align:center;border:2px solid transparent;box-shadow:0 4px 6px -1px #0003;transition:transform .2s}.participant-card.voted{border-color:var(--emerald)}.participant-card.mandatory{transform:scale(1.05)}.participant-card.optional{opacity:.4}.participant-card .name{font-size:.75rem;font-weight:600;margin-bottom:.2rem}.participant-card .category-tag{font-size:.6rem;color:var(--text-dim);text-transform:uppercase}.participant-card .vote-value{font-size:1.5rem;font-weight:800;margin-top:.4rem;color:var(--text);min-height:2rem;display:flex;align-items:center;justify-content:center}.voting-section{text-align:center;margin-bottom:2rem}.voting-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:1rem}.cards-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.card-btn{width:54px;height:80px;background:var(--card-bg);border:2px solid var(--border);border-radius:.5rem;font-size:1.25rem;font-weight:700;color:var(--text);transition:all .2s;padding:0;display:flex;align-items:center;justify-content:center}.card-btn:hover:not(:disabled){transform:translateY(-5px);border-color:var(--primary);color:var(--primary)}.card-btn.selected{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-5px);box-shadow:0 0 15px #6366f14d}.card-btn.selected:hover{color:#fff}.bottom-controls{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:2rem}.auto-reveal-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-dim)}.main-actions{display:flex;gap:.75rem;width:100%;max-width:400px;justify-content:center}button{cursor:pointer;border-radius:.5rem;border:1px solid transparent;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;font-family:inherit;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;gap:.5rem}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--primary);color:#fff;font-weight:600;border:1px solid var(--primary);width:100%}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}button.secondary{background:var(--card-bg);border:1px solid var(--border);color:var(--text);width:100%}button.secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.new-round-group{display:flex;flex-direction:column;gap:.5rem;width:100%}.quick-category-btns{display:flex;gap:.5rem}.quick-category-btns button{flex:1;font-size:.75rem;background:var(--card-bg);border:1px solid var(--border);color:var(--text-dim);padding:.5rem}.quick-category-btns button:hover{border-color:var(--primary);color:var(--primary)}.actions{display:flex;flex-direction:column;gap:1rem;width:100%}.separator{text-align:center;font-size:.8rem;color:var(--text-dim);position:relative}.separator:before,.separator:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border)}.separator:before{left:0}.separator:after{right:0}.landing-inputs{display:flex;flex-direction:column;gap:1.25rem;width:100%;margin-bottom:2rem}.input-hint{font-size:.75rem;color:var(--text-dim);text-align:center;margin-top:.25rem;margin-bottom:.5rem;line-height:1.2}input[type=text]{background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:.8rem 1rem;border-radius:.5rem;font-size:1rem;outline:none;width:100%;box-sizing:border-box;transition:border-color .2s}input[type=text]:focus{border-color:var(--primary)}.participant-card.watcher{opacity:.6;border-style:dashed}.watcher-notice{padding:2rem;background:var(--card-bg);border-radius:.75rem;border:1px solid var(--border);color:var(--text-dim);font-size:1rem}.list-view{background:var(--card-bg);border-radius:.75rem;border:1px solid var(--border);margin-bottom:2rem;overflow:hidden}.list-header{padding:1rem;border-bottom:1px solid var(--border);display:flex;justify-content:flex-end}.list-stats{font-size:.85rem;color:var(--text-dim)}.list-stats .value{color:var(--emerald);font-weight:700;margin-left:.5rem}.list-users{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:none}.list-item.voted{background:#10b9810d}.list-item.optional{opacity:.4}.list-item.watcher{opacity:.6;font-style:italic}.list-name{flex:1;font-weight:500}.list-category{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;margin-right:1.5rem;min-width:30px}.list-vote{font-size:1.25rem;font-weight:700;min-width:40px;text-align:center}.list-empty{padding:2rem;text-align:center;color:var(--text-dim)}.connection-banner{padding:.75rem 1rem;text-align:center;font-weight:500}.connection-banner.disconnected{background:var(--rose);color:#fff}.connection-banner.reconnecting{background:#f59e0b;color:#fff}
