*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0f14;--bg-card: #151921;--bg-panel: #1a1f2e;--border: #2a3040;--gold: #e2c97e;--gold-dark: #c9a84c;--text: #e8eaf0;--text-muted: #8899aa;--accent: #4a7aff;--danger: #ff5555}html,body{height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:15px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#1a2040,#0d0f14 70%)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:48px 40px;text-align:center;width:360px;box-shadow:0 20px 60px #00000080}.login-emoji{font-size:56px;margin-bottom:16px}.login-card h1{font-size:26px;font-weight:700;color:var(--gold);margin-bottom:8px}.login-card p{color:var(--text-muted);margin-bottom:28px;font-size:14px;direction:rtl}.login-card input{width:100%;padding:12px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;margin-bottom:12px;outline:none;text-align:center;transition:border-color .2s}.login-card input:focus{border-color:var(--gold)}.login-error{color:var(--danger);font-size:13px;margin-bottom:12px;direction:rtl}.login-card button{width:100%;padding:12px;background:var(--gold);color:#0d0f14;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.login-card button:hover:not(:disabled){background:var(--gold-dark)}.login-card button:disabled{opacity:.5;cursor:not-allowed}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;z-index:10}.header-left{display:flex;align-items:center;gap:10px;flex-shrink:0}.logo{font-size:24px}.logo-text{font-size:18px;font-weight:700;color:var(--gold);white-space:nowrap}.url-form{display:flex;gap:8px;flex:1;max-width:680px;margin:0 auto}.url-form input{flex:1;padding:10px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s;text-align:left}.url-form input:focus{border-color:var(--gold)}.url-form input::placeholder{color:var(--text-muted);direction:rtl}.url-form button{padding:10px 20px;background:var(--gold);color:#0d0f14;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.url-form button:hover:not(:disabled){background:var(--gold-dark)}.url-form button:disabled{opacity:.6;cursor:not-allowed}.logout-btn{padding:8px 16px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap;direction:rtl}.logout-btn:hover{border-color:var(--text-muted);color:var(--text)}.error-banner{background:#ff55551f;border-bottom:1px solid rgba(255,85,85,.3);color:#ff8080;padding:10px 24px;text-align:center;font-size:14px;direction:rtl}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px;color:var(--text-muted);padding:40px}.empty-icon{font-size:72px;opacity:.4}.empty-state h2{font-size:20px;font-weight:600;color:var(--text);direction:rtl}.empty-state p{font-size:14px;direction:rtl}.example-link{color:var(--gold);text-decoration:none;font-size:14px;opacity:.7}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px;color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.song-layout{display:flex;flex:1;overflow:hidden}.song-panel{flex:1;overflow-y:auto;padding:28px 32px;border-right:1px solid var(--border)}.right-panel{width:460px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-card)}.song-view{max-width:640px;margin:0 auto;direction:rtl}.song-header{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}.song-header h1{font-size:26px;font-weight:700;color:var(--text);margin-bottom:6px}.artist{font-size:15px;color:var(--gold);font-weight:500}.song-section{margin-bottom:24px}.section-label{font-size:12px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;padding:4px 10px;background:#e2c97e14;border-radius:4px;display:inline-block}.song-line{margin-bottom:4px}.chords-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:2px;flex-direction:row-reverse}.chord-badge{padding:2px 10px;border-radius:4px;font-size:13px;font-weight:600;font-family:Inter,monospace;background:#e2c97e1a;border:1px solid rgba(226,201,126,.25);color:var(--gold);cursor:pointer;transition:all .15s;direction:ltr}.chord-badge:hover{background:#e2c97e33;border-color:var(--gold)}.chord-badge.active{background:var(--gold);color:#0d0f14;border-color:var(--gold)}.lyrics-row{font-size:16px;line-height:1.6;color:var(--text);direction:rtl;unicode-bidi:embed;white-space:pre-wrap}.chord-panel{padding:24px;display:flex;flex-direction:column;gap:24px}.piano-display{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:24px 16px;display:flex;align-items:center;justify-content:center;overflow-x:auto}.chord-grid h3{font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:14px;direction:rtl;text-transform:uppercase;letter-spacing:.5px}.chord-buttons{display:flex;flex-wrap:wrap;gap:8px}.chord-pill{padding:8px 18px;border-radius:8px;font-size:14px;font-weight:600;background:var(--bg-panel);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:all .15s;font-family:Inter,monospace;direction:ltr}.chord-pill:hover{border-color:var(--gold);color:var(--gold)}.chord-pill.active{background:var(--gold);color:#0d0f14;border-color:var(--gold)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a4050}@media (max-width: 860px){.song-layout{flex-direction:column}.right-panel{width:100%;border-right:none;border-top:1px solid var(--border)}.app-header{flex-wrap:wrap}.url-form{order:3;width:100%;max-width:100%}}
