:root{--bg:#2b2e31;--text:#fff;--card:#ffffff0d;--accent:#ff4d6d;--accent-secondary:#e7945c;--border:#ffffff1a;--success:#4caf50;--danger:#f44336;--warning:#ff9800}[data-theme=light]{--bg:#f8fafc;--text:#1f1f1f;--card:#ffffffe6;--accent:#e7885c;--accent-secondary:#ff4d6d;--border:#0000001a}#root{flex-direction:column;min-height:100vh;display:flex}:root{--bg:#2b2e31;--text:#fff;--card:#ffffff0d;--accent:#2672b1;--accent-secondary:#7d38cb;--border:#ffffff1a;--success:#4caf6a;--danger:#f44336;--warning:#ff9800;--input-focus:#4d8bff1a;--input-bg:#ffffff0d}[data-theme=light]{--bg:#f8fafc;--text:#1f1f1f;--card:#ffffffe6;--accent:#e7885c;--accent-secondary:#ff4d6d;--border:#0000001a;--input-focus:#ff4d6d1a;--input-bg:#00000006}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100vh;margin:0;font-family:Inter,-apple-system,Segoe UI,system-ui,sans-serif;transition:all .3s;display:flex}.hidden{display:none!important}.container{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:30px 20px}.screen{flex-direction:column;gap:20px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{border-radius:10px;padding:25px;transition:all .3s;box-shadow:0 0 6px #223c5033}.glass{background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));color:#fff;background-clip:padding-box}.center{text-align:center}.game-header{justify-content:space-between;align-items:center;display:flex}.timer{background:#0000004d;border-radius:30px;padding:10px 20px;font-size:24px;font-weight:700;animation:1s infinite pulse}.timer.warning{color:var(--danger);animation:.5s infinite pulseWarning}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulseWarning{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.input-group{margin-bottom:15px}.input-group label{opacity:.8;margin-bottom:5px;font-size:16px;font-weight:500;display:block}input{background:var(--input-bg);width:100%;color:var(--text);border:2px solid #0000;border-radius:10px;padding:12px 15px;font-size:16px;transition:all .3s}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus);outline:none}button{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:12px 20px;font-size:16px;font-weight:600;transition:all .3s}button:hover{box-shadow:0px 0px 4px 0px var(--accent);border-color:var(--accent-secondary);transition:all .3s ease-in-out}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));background-clip:padding-box}.btn-primary-end{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));margin-right:10px}.btn-secondary{background-color:var(--accent-secondary);background-clip:padding-box}.rooms-list{gap:10px;margin-bottom:15px;display:grid}.room-item{background:var(--card);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:15px;transition:all .3s;display:flex;box-shadow:0 0 4px #223c5033}.room-item:hover{transform:scale(1.01)}.room-players{color:var(--accent);align-items:center;gap:5px;display:flex}.players-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;margin:20px 0;display:grid}.player-card{background:var(--card);border:2px solid var(--border);text-align:center;border-radius:10px;padding:15px;transition:all .3s}.player-card.admin{border-color:var(--accent)}.player-card.eliminated{opacity:.5;text-decoration:line-through}.player-name{margin-bottom:5px;font-weight:700}.player-badge{background:var(--accent);color:#fff;border-radius:10px;padding:3px 8px;font-size:12px;display:inline-block}.cards{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:20px;margin-top:15px;display:flex}.card-mini{background:var(--card);cursor:pointer;border:3px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;width:220px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 10px #0003}.card-mini:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 0 8px #223c504d}.card-mini.selected-best{border-color:var(--success);transform:scale(1.05);box-shadow:0 0 30px #4caf5066,0 8px 20px #0000004d}.card-mini.selected-worst{border-color:var(--danger);transform:scale(1.05);box-shadow:0 0 30px #f4433666,0 8px 20px #0000004d}.card-mini img{object-fit:cover;border-bottom:2px solid var(--border);width:100%;height:220px;display:block}.card-mini-content{text-align:center;background:#0000004d;padding:12px}.card-mini-content p{color:var(--text);opacity:.9;margin:0;font-size:14px;font-style:italic;line-height:1.4}.card-actions{background:#0003;gap:8px;padding:12px;display:flex}.card-actions button{border-radius:10px;flex:1;margin:0;padding:10px 8px;font-size:13px;font-weight:600;transition:all .2s}.btn-vote-best{background:linear-gradient(135deg, var(--success), #45a049)!important}.btn-vote-worst{background:linear-gradient(135deg, var(--danger), #d32f2f)!important}.btn-vote-best:hover,.btn-vote-worst:hover{filter:brightness(1.1);transform:translateY(-2px)}.btn-vote-best.active{box-shadow:0 0 15px #4caf5080;background:linear-gradient(135deg, #45a049, var(--success))!important}.btn-vote-worst.active{box-shadow:0 0 15px #f4433680;background:linear-gradient(135deg, #d32f2f, var(--danger))!important}.vote-badge-icon{color:#fff;z-index:10;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;animation:.3s popIn;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 4px 10px #0000004d}@keyframes popIn{0%{transform:scale(0)}80%{transform:scale(1.1)}to{transform:scale(1)}}.vote-badge-icon.best{background:linear-gradient(135deg, var(--success), #45a049)}.vote-badge-icon.worst{background:linear-gradient(135deg, var(--danger), #d32f2f)}.vote-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;display:flex}.vote-status{align-items:center;gap:15px;display:flex}.vote-badge{background:var(--card);border:2px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:8px 15px;display:flex}.vote-badge.best{border-color:var(--success)}.vote-badge.worst{border-color:var(--danger)}.vote-icon{font-size:18px}.vote-divider{color:var(--border);font-weight:700}.vote-instruction{text-align:center;opacity:.8;margin:15px 0;font-size:16px}.vote-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:25px;display:flex}.situation-vote{text-align:center;margin:15px}.winner-display{margin:20px 0}.winner-card{background:var(--card);border:2px solid var(--warning);border-radius:10px;padding:20px;display:inline-block}.winner-card img{border-radius:10px;max-width:250px;margin:15px 0;box-shadow:0 8px 25px #0000004d}.winner-name{color:var(--warning);font-size:24px;font-weight:700}.winner-subtitle{color:var(--text);opacity:.9;margin-top:10px;font-size:16px;font-style:italic}.out-players{background:var(--card);color:var(--danger);border-radius:10px;margin-top:20px;padding:15px}.loading-spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:50px;height:50px;margin:20px auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.abilities-panel{background:var(--card);border-radius:10px;flex-wrap:wrap;gap:10px;margin-bottom:15px;padding:15px;display:flex}.ability-badge{background:var(--accent-secondary);cursor:pointer;border-radius:10px;padding:8px 15px;font-size:14px;transition:all .3s}.ability-badge:hover{transform:scale(1.05)}.text-ability-container{border:2px solid var(--border);background:linear-gradient(135deg,#6c5ce71a,#ff4d6d1a);border-radius:10px;flex-direction:column;gap:12px;width:100%;padding:20px;display:flex}.text-ability-container label{opacity:.95;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.text-ability-container label:before{font-size:20px}.text-ability-container input{border:2px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:10px;padding:14px 16px;font-size:15px;transition:all .3s}.text-ability-container input:focus{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 0 0 4px #ff4d6d26}.text-ability-container input::placeholder{opacity:.5;font-style:italic}.text-ability-container p{opacity:.7;align-items:center;gap:5px;margin:0;font-size:13px;display:flex}.game-info{opacity:.9;margin-top:10px;font-size:14px}.room-info{background:var(--card);border-radius:10px;margin-bottom:15px;padding:10px}.lobby-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.trophy{margin:20px 0;font-size:60px;animation:1s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.end-winner{color:var(--warning);margin:20px 0;font-size:32px;font-weight:700}@media (width<=768px){.header,.container{padding:15px}.cards{gap:15px}.card-mini{width:160px}.card-mini img{height:160px}.vote-header{flex-direction:column;gap:10px}.vote-status{flex-wrap:wrap;justify-content:center}.game-header{flex-direction:column;gap:10px}}[data-theme=light]{--header-background:#fff}[data-theme=dark]{--header-background:#0000001a}.header{background:var(--header-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:20px 30px;display:flex;box-shadow:0 0 8px #223c5033}.header h1{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));-webkit-text-fill-color:transparent;cursor:pointer;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px}.header-controls{align-items:center;gap:15px;display:flex}.status-badge{border-radius:7px;padding:5px 12px;font-size:14px;font-weight:700}.status-badge.connected{background-clip:padding-box}.theme-toggle{background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:18px;box-shadow:0 0 4px #223c5033}@media (width<=768px){.header{padding:15px}}.footer{text-align:center;opacity:.6;background:#0000001a;margin-top:auto;padding:10px}
