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}.suggest-box{border:1px solid var(--accent2);border-radius:var(--radius);background:linear-gradient(135deg,#53348359,#e945602e);margin-bottom:14px;padding:12px 14px}.suggest-head{color:var(--accent);letter-spacing:.03em;margin-bottom:8px;font-size:.8rem;font-weight:700}.suggest-main{justify-content:space-between;align-items:center;gap:10px;display:flex}.suggest-info{flex-direction:column;gap:2px;min-width:0;display:flex}.suggest-title{color:var(--text);font-size:1.1rem;font-weight:700}.suggest-title:hover{color:var(--accent)}.suggest-artist{color:var(--text-muted);font-size:.85rem}.suggest-reason{color:var(--accent);margin-top:2px;font-size:.75rem}.suggest-alts{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.suggest-alt{color:var(--text);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0f;border-radius:999px;max-width:100%;padding:4px 12px;font-size:.8rem;overflow:hidden}.suggest-alt:hover{border-color:var(--accent2);text-decoration:none}.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}.voter-chips{flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;display:flex}.voter-lead{color:var(--text-muted);margin-inline-end:2px;font-size:.7rem}.voter-chip{border:1px solid var(--border);color:var(--text);background:#ffffff0f;border-radius:999px;align-items:center;gap:5px;padding:2px 9px 2px 3px;font-size:.78rem;animation:.25s chip-pop;display:inline-flex}.voter-chip.is-me{border-color:var(--accent);background:#e9456026;font-weight:600}.voter-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex}.voter-name{white-space:nowrap}@keyframes chip-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.install-banner{border:1px solid var(--accent2);border-radius:var(--radius);background:linear-gradient(135deg,#1f2a4a,#2a1633);align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.install-icon{flex-shrink:0;font-size:1.5rem}.install-text{flex-direction:column;flex:1;min-width:0;display:flex}.install-text b{font-size:.9rem}.install-text span{color:var(--text-muted);font-size:.72rem}.install-btn{background:var(--accent);color:#fff;flex-shrink:0;padding:7px 16px;font-weight:700}.install-x{color:var(--text-muted);background:0 0;flex-shrink:0;padding:2px 6px;font-size:1.3rem;line-height:1}.fun-overlay{z-index:1200;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.2s fun-fade;display:flex;position:fixed;inset:0}.fun-card{border:2px solid var(--accent);text-align:center;background:linear-gradient(160deg,#2a1633,#1a1a2e);border-radius:18px;width:100%;max-width:360px;padding:26px 22px 22px;animation:.45s cubic-bezier(.18,1.4,.4,1) fun-pop;box-shadow:0 12px 40px #0009}.fun-emoji{margin-bottom:10px;font-size:3.2rem;line-height:1;animation:.6s .2s 2 fun-wiggle;display:inline-block}.fun-title{color:var(--accent);margin-bottom:8px;font-size:1.3rem;font-weight:800}.fun-text{color:var(--text);margin-bottom:18px;font-size:1rem;line-height:1.5}.fun-dismiss{background:var(--accent);color:#fff;border-radius:999px;padding:10px 24px;font-size:1rem;font-weight:700}@keyframes fun-fade{0%{opacity:0}to{opacity:1}}@keyframes fun-pop{0%{opacity:0;transform:scale(.6)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fun-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.stats-page{max-width:680px;margin:0 auto;padding:16px 14px 60px}.stats-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.stats-head h1{color:var(--accent);margin:0;font-size:1.4rem}.stats-sec{color:var(--text);margin:22px 0 8px;font-size:1rem}.muted{color:var(--text-muted)}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:12px 10px}.stat-value{color:var(--accent);font-size:1.7rem;font-weight:800}.stat-label{color:var(--text);margin-top:2px;font-size:.72rem}.stat-hint{color:var(--text-muted);margin-top:2px;font-size:.62rem}.stat-bars{flex-direction:column;gap:6px;display:flex}.stat-bar-row{align-items:center;gap:8px;font-size:.8rem;display:flex}.stat-bar-label{width:92px;color:var(--text);flex-shrink:0}.stat-bar{background:#ffffff0d;border-radius:8px;flex:1;height:16px;overflow:hidden}.stat-bar-fill{background:linear-gradient(90deg, var(--accent2), var(--accent));height:100%;display:block}.stat-bar-val{text-align:left;width:34px;color:var(--text-muted);flex-shrink:0}.stats-list{margin:0;padding-inline-start:20px}.stats-list li{padding:3px 0;font-size:.88rem}.stats-list b{color:var(--accent)}.stats-people{flex-direction:column;gap:6px;display:flex}.person-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 10px;display:flex}.person-info{flex-direction:column;flex:1;min-width:0;display:flex}.person-name{font-size:.9rem;font-weight:600}.person-meta{color:var(--text-muted);font-size:.7rem}.person-time{color:var(--text-muted);flex-shrink:0;font-size:.68rem}.stats-foot{color:var(--text-muted);text-align:center;margin-top:20px;font-size:.72rem}@media (width<=420px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.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:900px;margin:0 auto;padding:16px 0 60px}.back-btn{color:var(--text-muted);margin:0 12px 16px;font-size:.9rem;display:inline-block}.song-page-title{color:var(--text);margin:0 12px 4px;font-size:1.5rem}.song-page-artist{color:var(--text-muted);margin:0 12px 20px}.chord-sheet{border:none;border-radius:0;width:100%;max-width:none;display:block}.song-page-error{text-align:center;color:var(--text-muted);padding:60px}
