html{font-size:16px}body{color:#eaeaea;direction:rtl;background:#1a1a2e;margin:0;padding:0;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}*,:before,:after{box-sizing:border-box}:root{--bg:#1a1a2e;--surface:#16213e;--surface2:#0f3460;--accent:#e94560;--accent2:#533483;--text:#eaeaea;--text-muted:#88a;--border:#2a2a4a;--radius:10px}html,body{background:var(--bg);color:var(--text);direction:rtl;min-height:100vh;margin:0;padding:0;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{max-width:680px;margin:0 auto;padding:0 12px 80px}.app-header{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 0;display:flex;position:sticky;top:0}.app-title{color:var(--accent);margin:0;font-size:1.6rem}.header-meta{align-items:center;gap:10px;display:flex}.connected-count{color:var(--text-muted);font-size:.85rem}button{cursor:pointer;border-radius:var(--radius);border:none;padding:6px 14px;font-family:inherit;font-size:.875rem;transition:opacity .15s}button:hover:not(:disabled){opacity:.85}button:disabled{opacity:.4;cursor:not-allowed}.facilitator-btn{background:var(--accent2);color:#fff}.reset-btn{color:#fff;background:#7a1a2e}.now-playing-banner{background:linear-gradient(90deg, var(--accent2), var(--accent));color:#fff;border-radius:var(--radius);text-align:center;margin-bottom:12px;padding:10px 16px;font-size:1rem}.search-bar{margin-bottom:16px}.search-bar input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);direction:rtl;outline:none;padding:10px 14px;font-family:inherit;font-size:1rem}.search-bar input:focus{border-color:var(--accent2)}.song-section{margin-bottom:24px}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:1rem}.song-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:10px 14px;transition:border-color .15s}.song-card:hover{border-color:var(--accent2)}.song-card.played{opacity:.5}.song-card-main{justify-content:space-between;align-items:center;gap:10px;display:flex}.song-info{flex:1;min-width:0}.song-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;display:block;overflow:hidden}.song-title:hover{color:var(--accent)}.song-artist{color:var(--text-muted);font-size:.8rem}.song-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.vote-btn{background:var(--surface2);width:36px;height:36px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.1rem;display:flex}.vote-btn.voted{background:var(--accent);color:#fff}.vote-count{color:var(--accent);text-align:center;min-width:24px;font-size:1.1rem;font-weight:700}.push-live-btn{color:#fff;background:#1a6e4a;padding:5px 10px;font-size:.8rem}.voter-names{color:var(--text-muted);margin-top:4px;font-size:.75rem}.empty-state{text-align:center;color:var(--text-muted);padding:32px}.dialog-overlay{z-index:999;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);direction:rtl;flex-direction:column;gap:16px;min-width:280px;max-width:90vw;padding:32px;display:flex}.dialog h2{color:var(--text);margin:0;font-size:1.3rem}.dialog input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);direction:rtl;outline:none;padding:10px 14px;font-family:inherit;font-size:1rem}.dialog input:focus{border-color:var(--accent2)}.dialog button{background:var(--accent);color:#fff;border-radius:var(--radius);padding:10px;font-size:1rem}.song-page{max-width:800px;margin:0 auto;padding:16px 12px 60px}.back-btn{color:var(--text-muted);margin-bottom:16px;font-size:.9rem;display:inline-block}.song-page-title{color:var(--text);margin:0 0 4px;font-size:1.5rem}.song-page-artist{color:var(--text-muted);margin:0 0 20px}.chord-sheet{border-radius:var(--radius);border:1px solid var(--border);width:100%;max-width:700px;display:block}.song-page-error{text-align:center;color:var(--text-muted);padding:60px}.app-footer{text-align:center;margin-top:16px;padding:24px 0 12px}.app-version{color:var(--text-muted);opacity:.7;font-size:.75rem}
