*{box-sizing:border-box;margin:0;padding:0}body{background-color:#1a1a2e;color:#e0e0e0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}button{cursor:pointer}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}:root{--primary:#b44fff;--primary-dark:#9633e0;--secondary:#2d1b69;--accent:#ff6ec7;--accent-dark:#d94fa8;--bg-dark:#0e0820;--bg-card:#180f35;--bg-surface:#2d1b69;--text-primary:#f0e6ff;--text-secondary:#b89fd4;--border:#b44fff33;--shadow:0 4px 20px #6400c866}.theme-picker{position:relative}.theme-picker-btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.8rem;gap:6px;padding:6px 10px;transition:background .2s,border-color .2s;white-space:nowrap}.theme-picker-btn:hover{background:var(--secondary);border-color:var(--primary)}.theme-swatch{border:2px solid #ffffff4d;border-radius:50%;display:inline-block;flex-shrink:0;height:12px;width:12px}.theme-picker-label{font-weight:500}.theme-picker-caret{font-size:.6rem;opacity:.7}.theme-picker-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);list-style:none;min-width:160px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:1000}.theme-option{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:8px 10px;text-align:left;transition:background .15s;width:100%}.theme-option:hover{background:var(--bg-surface)}.theme-option.active{color:var(--primary);font-weight:600}.theme-check{color:var(--primary);font-size:.9rem;margin-left:auto}.clearable-input-wrapper{flex:1 1;min-width:0;position:relative}.clearable-input-wrapper>input{box-sizing:border-box;width:100%}.input-clear-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#b89fd4;color:var(--text-secondary,#b89fd4);cursor:pointer;display:flex;font-size:.75rem;height:20px;justify-content:center;line-height:1;padding:.2rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:color .15s,background .15s;width:20px}.input-clear-btn:hover{background:#ffffff1a;color:#f0e6ff;color:var(--text-primary,#f0e6ff)}.welcome-container{align-items:center;background:linear-gradient(135deg,var(--bg-dark) 0,var(--bg-card) 50%,var(--bg-surface) 100%);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 1rem;position:relative}.welcome-theme-corner{align-items:center;display:flex;gap:.5rem;position:absolute;right:1rem;top:1rem;z-index:10}.welcome-notes{inset:0;overflow:hidden;pointer-events:none;position:absolute}.welcome-note{animation:floatNote linear infinite;color:var(--primary);font-size:1.5rem;opacity:.12;position:absolute}.welcome-note--1{animation-delay:0s;animation-duration:9s;font-size:2rem;left:8%}.welcome-note--2{animation-delay:2s;animation-duration:12s;font-size:1.4rem;left:22%}.welcome-note--3{animation-delay:4s;animation-duration:10s;font-size:1.8rem;left:55%}.welcome-note--4{animation-delay:1s;animation-duration:14s;font-size:1.2rem;left:75%}.welcome-note--5{animation-delay:6s;animation-duration:11s;font-size:2.2rem;left:88%}@keyframes floatNote{0%{opacity:0;transform:translateY(100vh) rotate(-10deg)}10%{opacity:.12}90%{opacity:.12}to{opacity:0;transform:translateY(-10vh) rotate(10deg)}}.welcome-hero{margin-bottom:3rem;text-align:center}.welcome-icon{animation:bounce 2s infinite;font-size:5rem;margin-bottom:1rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin-bottom:.5rem}.welcome-subtitle{color:var(--text-secondary);font-size:1.2rem}.welcome-actions{display:flex;flex-direction:column;gap:1rem;max-width:360px;width:100%}.welcome-form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);max-width:400px;padding:2rem;width:100%}.welcome-form-card h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-large{font-size:1.1rem;padding:1rem 2rem}.btn-secondary:hover{transform:translateY(-1px)}.btn-ghost{background:#0000;border:1px solid var(--border);color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-surface);color:var(--text-primary)}.error-msg{margin-bottom:1rem}.video-fullscreen-wrapper{position:relative;width:100%}.video-fullscreen-wrapper.controls-hidden{cursor:none}.video-container{background:#000;border-radius:12px;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.video-fullscreen-wrapper:-webkit-full-screen,.video-fullscreen-wrapper:fullscreen{background:#000}.video-container #yt-player,.video-container iframe{height:100%;inset:0;position:absolute;width:100%}.video-container iframe{border:none}.video-processing-message{background:var(--bg-card);color:var(--text-primary);display:grid;font-size:1rem;inset:0;line-height:1.5;overflow-wrap:anywhere;overflow-y:auto;padding:1.5rem;place-content:center;position:absolute;text-align:center;z-index:1}.video-nav-controls{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-top:.75rem}.nav-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;transition:background .2s,border-color .2s,color .2s}.nav-btn:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.nav-btn:disabled{cursor:not-allowed;opacity:.4}.fullscreen-nav-btn{align-items:center;background:#00000080;border:2px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:64px;justify-content:center;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .3s ease,background .2s;width:64px;z-index:10}.fullscreen-nav-btn.visible{opacity:1;pointer-events:auto}.fullscreen-nav-btn:disabled{opacity:0!important;pointer-events:none}.fullscreen-nav-btn:hover:not(:disabled){background:#000c;border-color:#ffffffb3}.fullscreen-next-btn{right:2rem}.fullscreen-prev-btn{left:2rem}.video-placeholder{background:var(--bg-card);border:2px dashed var(--border);border-radius:12px;padding-bottom:56.25%;position:relative;width:100%}.video-placeholder-inner{align-items:center;display:flex;flex-direction:column;gap:.5rem;inset:0;justify-content:center;position:absolute}.video-placeholder-icon{font-size:3rem}.video-placeholder p{color:var(--text-secondary);font-size:1rem}.muted{font-size:.85rem!important}.ssmusic-player{background:radial-gradient(ellipse at top,#27234b,#090912);color:#fff;display:flex;flex-direction:column;inset:0;position:absolute}.ssmusic-player video{background:#000;height:100%;width:100%}.ssmusic-player audio{background:var(--bg-surface);flex-shrink:0;min-height:40px;width:100%}.ssmusic-player audio,.ssmusic-player video{accent-color:var(--primary);color-scheme:dark}.ssmusic-player audio::-webkit-media-controls-enclosure,.ssmusic-player audio::-webkit-media-controls-panel{background-color:var(--bg-surface)}.sylt-screen{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:1rem;text-align:center}.sylt-screen h2{color:#d4d0ea;font-size:clamp(.85rem,2vw,1.4rem);margin:0 0 .75rem}.sylt-fallback,.sylt-lines{flex:1 1;min-height:0;overflow-wrap:anywhere;overflow-y:auto;white-space:pre-wrap}.sylt-lines{font-size:clamp(1.1rem,3vw,2.6rem);padding:1.5rem 0}.sylt-line{background:none;border:0;color:#aaa4c0;cursor:pointer;display:block;font-family:inherit;font-size:1em;line-height:1.6;margin:.6em 0;white-space:pre-wrap;width:100%}.sylt-line:focus-visible{outline:2px solid #ffe16b;outline-offset:-2px}.sylt-line.active{color:#ffe16b;font-size:1.5em;font-weight:700}.sylt-line.sung{color:#8d849f}.sylt-fallback{display:grid;font-size:clamp(1rem,2.5vw,2rem);place-items:center}.ssmusic-notice,.ssmusic-play-button{background:#171325;border-radius:8px;left:50%;padding:1rem;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:2}.actions-menu-trigger{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.actions-menu-trigger:hover,.actions-menu-trigger[aria-expanded=true]{background:var(--bg-card);border-color:var(--border);color:var(--text-primary)}.actions-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #00000040;max-height:calc(100vh - 16px);max-width:calc(100vw - 16px);overflow-y:auto;padding:4px;position:fixed;width:218px;z-index:1200}.actions-menu-item{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font:inherit;font-size:.85rem;gap:10px;min-height:44px;overflow-wrap:anywhere;padding:8px 10px;text-align:left;width:100%}.actions-menu-item svg{flex-shrink:0}.actions-menu-item:focus-visible,.actions-menu-item:hover:not(:disabled){background:var(--bg-surface)}.actions-menu-item:focus-visible,.actions-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.actions-menu-item:disabled{color:var(--text-secondary);cursor:default}.actions-menu-danger{color:var(--primary)}.actions-menu-separator{border-top:1px solid var(--border);margin:4px 6px}.actions-menu-spinning{animation:actions-menu-spin 1s linear infinite}@keyframes actions-menu-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.actions-menu-spinning{animation:none}}.playlist-list{gap:.5rem;list-style:none}.playlist-item,.playlist-list{display:flex;flex-direction:column}.playlist-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;transition:background .2s,border-color .2s}.playlist-item-row{align-items:center;display:flex;gap:.6rem}.playlist-item.playing{background:#e945601a;border-color:var(--primary)}.playlist-item.played{opacity:.45}.playlist-item.dragging{background:var(--bg-card);box-shadow:0 8px 24px #00000080}.playlist-pos{color:var(--text-secondary);font-size:.85rem;font-weight:700;min-width:12px;text-align:center}.playing-indicator{animation:pulse 1s infinite;color:var(--primary);font-size:1.1rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.drag-handle{color:var(--text-secondary);cursor:grab;font-size:1.2rem;padding:0 .1rem;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.playlist-thumb{border-radius:6px;flex-shrink:0;height:45px;object-fit:cover;width:60px}.playlist-info{flex:1 1;min-width:0}.playlist-title{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.4rem;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.playlist-singer{color:var(--text-secondary);font-size:.8rem;margin-top:.15rem;overflow-wrap:anywhere}.playlist-media-error,.playlist-media-status{color:var(--text-secondary);font-size:.75rem;margin-top:.2rem;overflow-wrap:anywhere}.playlist-media-error{color:var(--primary)}.playlist-actions{display:flex;flex-shrink:0;gap:.4rem}.playlist-playback-button{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.playlist-playback-button:hover{background:var(--bg-card);border-color:var(--border);color:var(--text-primary)}.playlist-playback-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (max-width:768px){.playlist-item{min-height:76px;padding:.35rem .4rem}.playlist-item-row{gap:.35rem}.playlist-thumb{height:36px;width:48px}.playlist-pos{font-size:.75rem;min-width:9px}.drag-handle{font-size:1rem;padding:0}.playlist-title{font-size:.82rem}.playlist-singer{font-size:.75rem}.playlist-actions{gap:.25rem}}.playlist-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:.5rem;padding:2rem 1rem;text-align:center}.playlist-empty span{font-size:2.5rem}.playlist-empty .muted{font-size:.85rem}.playlist-progress{align-items:center;display:flex;gap:.4rem;margin-top:.4rem;padding:0 .1rem}.progress-slider{-webkit-appearance:none;background:var(--bg-surface);border-radius:2px;cursor:pointer;flex:1 1;height:4px;outline:none}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);border-radius:50%;box-shadow:0 2px 4px #0006;cursor:pointer;height:14px;-webkit-transition:background .2s;transition:background .2s;width:14px}.progress-slider::-webkit-slider-thumb:hover{background:var(--accent)}.progress-slider::-moz-range-thumb{background:var(--primary);border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.progress-time{color:var(--text-secondary);font-family:monospace;font-size:.7rem;min-width:30px;text-align:center;white-space:nowrap}.party-invitation .modal-content{border-radius:8px;min-width:0}.party-invitation .modal-header h2{overflow-wrap:anywhere}.party-invitation .qr-wrapper{border-radius:8px;max-width:100%}.party-invitation .qr-wrapper svg{aspect-ratio:1;display:block;height:auto;max-width:100%;width:220px}.party-invitation .url-section{background:none;border:0;border-radius:0;padding:0}.party-invitation .url-text{min-width:0;overflow-wrap:anywhere}.party-invitation .url-label{letter-spacing:0}.party-invitation .copy-btn{display:grid;flex:0 0 36px;height:36px;padding:0;place-items:center;width:36px}.qr-regenerate{align-items:center;display:flex;gap:8px;margin-top:16px}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;box-shadow:0 20px 60px #00000080;padding:1.5rem;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.modal-header h2{color:var(--text-primary);font-size:1.2rem;font-weight:700}.qr-section{align-items:center;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.qr-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000004d;padding:.5rem}.qr-hint{color:var(--text-secondary);font-size:.9rem}.code-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1rem;text-align:center}.code-label,.url-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.join-code-display{color:var(--accent);font-family:Courier New,monospace;font-size:2.5rem;font-weight:800;letter-spacing:.3em}.url-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.url-box{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.url-text{color:var(--text-secondary);flex:1 1;font-size:.75rem;word-break:break-all}.copy-btn{background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .75rem;white-space:nowrap}.copy-btn:hover{background:var(--primary-dark)}.qr-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.qr-toggle-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.85rem;padding:.4rem .75rem;transition:background .2s,color .2s,border-color .2s}.qr-toggle-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.qr-toggle-btn:not(.active):hover{background:var(--bg-card);color:var(--text-primary)}.customization-panel{display:flex;flex-direction:column;gap:1.25rem}.panel-title{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:1rem;font-weight:700;padding-bottom:.75rem}.control-group{display:flex;flex-direction:column;gap:.4rem}.control-header{align-items:center;display:flex;justify-content:space-between}.control-header label{color:var(--text-primary);font-size:.9rem;font-weight:600}.control-value{color:var(--accent);font-family:monospace;font-size:.85rem;font-weight:700}.range-input{-webkit-appearance:none;background:var(--bg-surface);border-radius:2px;cursor:pointer;height:4px;outline:none;width:100%}.range-input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);border-radius:50%;box-shadow:0 2px 6px #0006;cursor:pointer;height:18px;-webkit-transition:background .2s;transition:background .2s;width:18px}.range-input::-webkit-slider-thumb:hover{background:var(--accent)}.range-input::-moz-range-thumb{background:var(--primary);border:none;border-radius:50%;cursor:pointer;height:18px;width:18px}.range-labels{color:var(--text-secondary);display:flex;font-size:.7rem;justify-content:space-between}.control-note{font-size:.72rem;font-style:italic}.btn-reset,.control-note{color:var(--text-secondary)}.btn-reset{align-self:flex-start;background:#0000;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.btn-reset:hover{border-color:var(--primary);color:var(--primary)}.song-search{display:flex;flex-direction:column;gap:1rem}.search-tabs{display:flex;gap:.5rem}.ssmusic-search-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.search-tab{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.6rem .75rem;transition:all .2s}.search-tab:hover{border-color:var(--primary);color:var(--text-primary)}.search-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.search-form{display:flex;gap:.5rem}.search-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);flex:1 1;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s}@media (max-width:768px){.search-input{font-size:16px}}.search-input:focus{border-color:var(--primary);outline:none}.search-btn{border-radius:10px;font-size:1.1rem;min-width:48px;padding:.75rem 1rem}.search-results{display:flex;flex-direction:column;gap:.5rem;list-style:none}.search-result-item{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;display:flex;gap:.75rem;padding:.6rem .75rem;transition:border-color .2s}.search-result-item:hover{border-color:#e9456066}.result-thumb{border-radius:6px;flex-shrink:0;height:60px;object-fit:cover;width:80px}@media (max-width:768px){.result-thumb{height:45px;width:60px}}.result-info{flex:1 1;min-width:0}.result-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:.9rem;font-weight:600;overflow:hidden}.result-channel{color:var(--text-secondary);font-size:.78rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-add{font-size:1.2rem;font-weight:700}.btn-add,.btn-play-next{align-items:center;background:#0000;border:2px solid var(--primary);border-radius:50%;color:var(--primary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-play-next{font-size:1rem}.result-actions{align-items:center;display:flex;flex-shrink:0;gap:.4rem}@media (max-width:768px){.btn-add,.btn-play-next{font-size:1.4rem;height:44px;width:44px}}.btn-add:hover:not(:disabled),.btn-play-next:hover:not(:disabled){background:var(--primary);color:#fff}.btn-add.added,.btn-play-next.added{background:#2ecc71;border-color:#2ecc71;color:#fff}.btn-add:disabled,.btn-play-next:disabled{cursor:not-allowed;opacity:.6}.btn-primary:disabled{opacity:.5}.success-msg{background:#2ecc7126;border:1px solid #2ecc71;border-radius:8px;color:#2ecc71;font-size:.9rem;padding:.75rem 1rem}.karaoke-toggle{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;-webkit-user-select:none;user-select:none}.karaoke-toggle input[type=checkbox]{accent-color:var(--primary);cursor:pointer;height:16px;width:16px}.url-preview{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;display:flex;gap:.75rem;padding:.6rem .75rem}.organizer-layout{background:var(--bg-dark);display:flex;flex-direction:column;height:100dvh}.organizer-header{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;position:sticky;top:0;z-index:100}.home-button,.sidebar-toggle{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;transition:background .2s;width:40px}.home-button:hover,.sidebar-toggle:hover{background:var(--bg-surface)}.header-title{align-items:center;display:flex;flex-shrink:0;gap:.5rem;min-width:0}.header-icon{font-size:1.4rem}.header-title h1{font-size:1.2rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-left{gap:.75rem}.header-left,.header-right{align-items:center;display:flex;flex-shrink:0}.header-right{gap:.5rem;margin-left:auto}.member-name-badge{color:var(--text-secondary);display:none;font-size:.8rem}@media (min-width:480px){.member-name-badge{display:inline}}.btn-danger-sm{background:#0000;border:1px solid var(--primary);border-radius:8px;color:var(--primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .85rem;transition:all .2s}.btn-danger-sm:hover{background:var(--primary);color:#fff}.btn-delete-sm{align-items:center;background:#7f1d1d;border:1px solid #ef4444;border-radius:6px;color:#fca5a5;cursor:pointer;display:inline-flex;font-size:1rem;justify-content:center;line-height:1;padding:.25rem .45rem;transition:all .2s}.btn-delete-sm:hover{background:#ef4444;color:#fff}.btn-lock,.btn-lock-active{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;font-size:1rem;justify-content:center;line-height:1;padding:.25rem .45rem;transition:all .2s}.btn-lock{background:#0000;border:1px solid var(--border);color:var(--text-secondary)}.btn-lock:hover{border-color:#f5a62380}.btn-lock-active,.btn-lock:hover{background:#f5a62326;color:var(--accent)}.btn-lock-active{border:1px solid #f5a62380}.btn-lock-active:hover{background:#f5a6234d}.inactive-banner{align-items:center;background:#eab30826;border-bottom:1px solid #eab308;color:#fde68a;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem;justify-content:space-between;padding:.6rem 1rem}.btn-reactivate{background:#eab308;border:none;border-radius:8px;color:#1a1a1a;cursor:pointer;font-size:.85rem;font-weight:700;padding:.4rem .85rem;transition:background .2s;white-space:nowrap}.btn-reactivate:hover{background:#fbbf24}.error-banner{align-items:center;background:#e9456033;border-bottom:1px solid var(--primary);color:#ff6b6b;display:flex;font-size:.9rem;justify-content:space-between;padding:.6rem 1rem}.error-banner button{background:#0000;border:none;color:#ff6b6b;cursor:pointer;font-size:1rem}.organizer-body{display:flex;flex:1 1;min-height:0;overflow:hidden}.organizer-main{align-items:flex-start;overflow-y:auto;padding:1rem}.main-video-section,.organizer-main{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-width:0}.main-video-section{width:100%}.now-playing{background:var(--bg-card);border:1px solid #e945604d;border-radius:12px;display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem}.header-now-playing{align-items:center;background:#e9456014;border:1px solid #e9456040;border-radius:8px;display:flex;flex:1 1;gap:.6rem;justify-content:center;min-width:0;overflow:hidden;padding:.4rem .75rem}.hnp-thumb{border-radius:6px;flex-shrink:0;height:48px;object-fit:cover;width:64px}.hnp-label{color:var(--primary);flex-shrink:0;font-size:1.1rem}.hnp-text{display:flex;flex-direction:column;max-width:min(400px,50%);min-width:0}.hnp-title{color:var(--text-primary);font-size:1.05rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hnp-singer{color:var(--text-secondary);display:none;font-size:.85rem;white-space:nowrap}@media (min-width:640px){.hnp-singer{display:block}}.np-label{color:var(--primary);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.np-title{color:var(--text-primary);font-size:1rem;font-weight:600}.next-up-hint,.np-singer{color:var(--text-secondary);font-size:.85rem}.next-up-hint{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.5rem 0}.next-up-hint strong{color:var(--accent);letter-spacing:.1em}.btn-sm{border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.btn-outline{background:#0000;border:1px solid var(--border);color:var(--text-primary)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);box-shadow:4px 0 20px #0006;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease;width:0}.sidebar.open{width:min(340px,90vw)}.sidebar-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem}.sidebar-tabs{display:flex;flex:1 1;gap:.4rem}.sidebar-tab{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .75rem;transition:all .2s}.sidebar-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.sidebar-tab:hover:not(.active){border-color:var(--primary);color:var(--text-primary)}.sidebar-body{flex:1 1;overflow-y:auto;padding:1rem}.qr-panel{background:var(--bg-card);border-left:1px solid var(--border);box-shadow:-4px 0 20px #0006;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease;width:0}.qr-panel.open{width:min(320px,90vw)}.qr-panel-header{align-items:center;border-bottom:1px solid var(--border);display:flex;padding:1rem}.qr-panel-title{color:var(--text-primary);font-size:.9rem;font-weight:700;white-space:nowrap}.qr-panel-body{flex:1 1;overflow-y:auto;padding:1rem}.qr-panel-toggle{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;transition:background .2s;width:40px}.qr-panel-toggle:hover{background:var(--bg-surface)}@media (max-width:900px){.organizer-header{gap:8px;padding:10px 12px}.header-left{flex:1 1 100%;gap:8px;min-width:0}.header-title{flex:1 1;overflow:hidden}.header-right{flex:1 1 100%;flex-wrap:wrap;gap:6px;margin-left:0;min-width:0}.member-name-badge{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organizer-body{position:relative}.organizer-body>.sidebar{inset:0 auto 0 0;max-width:100%;position:absolute;z-index:20}.organizer-body>.qr-panel{inset:0 0 0 auto;max-width:100%;position:absolute;z-index:30}.organizer-body>.qr-panel:not(.open),.organizer-body>.sidebar:not(.open){visibility:hidden}}.queue-count-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.queue-count{color:var(--text-secondary);font-size:.8rem}.btn-reset-queue{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;padding:.25rem .6rem;transition:all .2s;white-space:nowrap}.btn-reset-queue:hover{border-color:var(--primary);color:var(--primary)}.guest-layout{background:var(--bg-dark);display:flex;flex-direction:column;height:100vh}.guest-header{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.75rem 1rem;position:sticky;top:0;z-index:50}.guest-header-info{display:flex;flex-direction:column;gap:.15rem;min-width:0;overflow-wrap:anywhere}.guest-header-title{align-items:center;display:flex;gap:8px;min-width:0}.guest-header-title .home-button{flex-shrink:0}.guest-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.guest-qr-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);margin:auto;max-height:calc(100dvh - 2rem);overflow-y:auto;padding:.75rem;width:min(420px,calc(100% - 1rem))}.guest-qr-dialog::backdrop{background:#000000a6}.guest-qr-dialog-actions{display:flex;justify-content:flex-end;margin-bottom:.5rem}.guest-qr-dialog .modal-content{border:none;border-radius:0;box-shadow:none;padding:0}.guest-qr-dialog .modal-header h2{overflow-wrap:anywhere}.party-badge{color:var(--text-primary);font-size:1.05rem;font-weight:700}.member-badge{color:var(--text-secondary);font-size:.8rem}.locked-badge{background:#f5a62326;border:1px solid #f5a62359;border-radius:999px;color:var(--accent);font-size:.75rem;font-weight:600;padding:.15rem .5rem}.btn-leave{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:.4rem .85rem;transition:all .2s}.btn-leave:hover{border-color:var(--primary);color:var(--primary)}.badge{background:var(--primary);border-radius:10px;color:#fff;font-size:.75rem;font-weight:700;margin-left:.35rem;padding:.1rem .45rem}.guest-main{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1200px;overflow-y:auto;padding:1rem;width:100%}.guest-columns{align-items:flex-start;display:flex;gap:1.5rem}.search-section{flex:1 1 55%;flex-direction:column}.queue-section,.search-section{display:flex;gap:1rem;min-width:0}.queue-section{flex:1 1 45%;flex-direction:column}@media (min-width:769px){.guest-layout{height:100dvh;overflow:hidden}.guest-header{flex-shrink:0}.guest-main{display:flex;flex-direction:column;min-height:0;overflow:hidden}.guest-main>.error-msg{flex-shrink:0}.guest-columns{align-items:stretch;flex:1 1;min-height:0}.queue-section,.search-section{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}}@media (max-width:768px){.guest-columns{flex-direction:column}}.mobile-tabs{display:none}.mobile-tab{align-items:center;background:var(--bg-surface);border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:600;gap:.35rem;justify-content:center;padding:.65rem .5rem;transition:all .2s}.mobile-tab.active{background:var(--bg-card);border-bottom-color:var(--primary);color:var(--primary)}@media (max-width:768px){.guest-header{padding:.5rem .75rem}.party-badge{font-size:.95rem}.member-badge{font-size:.75rem}.guest-main{padding:.75rem}.mobile-tabs{background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;position:sticky;top:53px;z-index:40}.mobile-hidden{display:none!important}.section-heading{display:none}}.section-heading{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:.75rem;padding:3rem 1rem;text-align:center}.empty-state span{font-size:3rem}.empty-state .muted{font-size:.9rem}.error-screen,.loading-screen{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.spinner{animation:spin .8s linear infinite;border:4px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.btn-primary:hover{background:var(--primary-dark)}.status-panel{background:var(--bg-card);border-left:1px solid var(--border);bottom:0;box-shadow:-4px 0 20px #0006;display:flex;flex-direction:column;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:min(300px,90vw);z-index:200}.status-panel.open{transform:translateX(0)}.status-overlay{background:#0006;inset:0;position:fixed;z-index:199}.status-panel-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.5rem;justify-content:space-between;padding:1rem}.status-panel-title{color:var(--text-primary);font-size:.9rem;font-weight:700;white-space:nowrap}.status-panel-close{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;transition:background .2s;width:32px}.status-panel-close:hover{background:var(--bg-surface)}.status-panel-body{flex:1 1;overflow-y:auto;padding:1rem}.btn-status-toggle{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:.4rem;padding:.4rem .75rem;transition:all .2s}.btn-status-toggle:hover{border-color:var(--primary);color:var(--primary)}.status-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;gap:.75rem;padding:1rem 1.1rem}.status-card,.status-row{display:flex;flex-direction:column}.status-row{gap:.2rem}.status-label{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.status-value{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;gap:.4rem}.status-mono{color:var(--text-secondary);font-family:monospace;font-size:.75rem;word-break:break-all}.connection-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:9px;width:9px}.connection-dot--connected{background:#4caf82;box-shadow:0 0 5px #4caf82}.connection-dot--reconnecting{animation:pulse-dot 1s ease-in-out infinite;background:var(--accent)}.connection-dot--disconnected{background:#e94560}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.connection-status--connected{color:#4caf82}.connection-status--reconnecting{color:var(--accent)}.connection-status--disconnected{color:#e94560}@media (max-width:768px){.status-section{position:static;width:100%}}.audio-panel{background:var(--bg-card);border-left:1px solid var(--border);bottom:0;box-shadow:-4px 0 20px #0006;display:flex;flex-direction:column;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:min(320px,90vw);z-index:200}.audio-panel.open{transform:translateX(0)}.audio-overlay{background:#0006;inset:0;position:fixed;z-index:199}.audio-panel-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.5rem;justify-content:space-between;padding:1rem}.audio-panel-title{color:var(--text-primary);font-size:.9rem;font-weight:700;white-space:nowrap}.audio-panel-close{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;transition:background .2s;width:32px}.audio-panel-close:hover{background:var(--bg-surface)}.audio-panel-body{flex:1 1;overflow-y:auto;padding:1rem}.btn-audio-toggle{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:.4rem .75rem;transition:all .2s}.btn-audio-toggle:hover{border-color:var(--primary);color:var(--primary)}.join-container{display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:600px;overflow:hidden;padding:1rem}.join-header{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-top:1rem}.join-header h1{font-size:1.8rem;font-weight:700}.btn-back{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.btn-back:hover{background:var(--bg-surface);color:var(--text-primary)}.join-content{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;min-height:0;overflow-y:auto;padding-bottom:1rem}.join-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:1.5rem}.join-card h3{color:var(--text-secondary);font-size:1.1rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.name-filter-row{margin-bottom:.75rem}.code-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem;width:100%}.code-input:focus{border-color:var(--primary);outline:none}.parties-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;max-height:300px;overflow-y:auto}.party-list-item{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:border-color .2s}.party-list-item:hover{border-color:var(--primary)}.party-info{display:flex;flex-direction:column;gap:.2rem}.party-name{font-size:1rem;font-weight:600}.party-code{color:var(--text-secondary);font-size:.8rem}.party-join-btns{display:flex;gap:.5rem}.btn-sm{font-size:.85rem;padding:.4rem .85rem}.selected-party-banner{align-items:center;background:var(--bg-surface);border-radius:10px;display:flex;font-size:1.5rem;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem}.selected-party-banner>div{display:flex;flex:1 1;flex-direction:column;gap:.2rem}.selected-party-banner strong{font-size:1rem;font-weight:700}.btn-icon{background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;padding:.25rem}.btn-icon:hover{color:var(--primary)}.role-tabs{display:flex;gap:.5rem}.role-tab{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;padding:.65rem 1rem;transition:all .2s}.role-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.role-tab:hover:not(.active){border-color:var(--primary);color:var(--text-primary)}.form-group{margin-bottom:1.2rem}.form-group label{color:var(--text-secondary);display:block;font-size:.9rem;font-weight:500;margin-bottom:.4rem}.form-group input{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:var(--primary);outline:none}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.4rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s}.btn-large{font-size:1.05rem;margin-top:.5rem;padding:1rem;width:100%}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-join{background:var(--accent);color:#1a1a2e}.btn-join:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.btn-join:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--secondary);border:1px solid var(--border);color:#fff}.btn-secondary:hover{background:var(--bg-surface)}.error-msg{background:#e9456026;border:1px solid var(--primary);border-radius:8px;color:#ff6b6b;font-size:.9rem;margin-top:.75rem;padding:.75rem 1rem}.muted{color:var(--text-secondary);font-style:italic;padding:1rem;text-align:center}.name-autocomplete-wrapper{position:relative}.name-suggestions{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);left:0;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:.25rem 0;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.name-suggestion-item{align-items:center;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:.6rem 1rem;transition:background .15s}.name-suggestion-item:hover{background:var(--bg-surface)}.suggestion-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.suggestion-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.1rem}.party-members-section{margin-bottom:1.5rem}.party-members-section h3{color:var(--text-secondary);font-size:1.1rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.party-members-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;max-height:200px;overflow-y:auto}.party-member-item{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;padding:.5rem .85rem}.member-info{align-items:center;display:flex;gap:.5rem}.member-name{color:var(--text-primary);font-size:.95rem;font-weight:500}.member-role{font-size:1rem}.settings-container{--primary:#d4af37;--primary-dark:#b89227;--secondary:#222;--accent:#f0d37b;--accent-dark:#c4a54e;--bg-dark:#0a0a0a;--bg-card:#121212;--bg-surface:#1c1c1c;--text-primary:#f2f2f2;--text-secondary:#b9b9b9;--border:#d4af373d;--shadow:0 4px 20px #0006;--settings-gold-tint:#d4af371a;--settings-gold-hover:#d4af372e;background:linear-gradient(135deg,var(--bg-dark),#181818);color:var(--text-primary);color-scheme:dark;display:flex;flex-direction:column;height:100vh}.settings-header{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0af0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;padding:1.25rem 1.5rem;position:sticky;top:0;z-index:10}.settings-back-btn{flex-shrink:0}.settings-header-title{align-items:center;display:flex;gap:.6rem}.settings-icon{font-size:1.6rem}.settings-header-title h1{color:var(--primary);font-size:1.5rem;font-weight:700;margin:0}.settings-content{grid-gap:2rem;align-items:start;display:grid;flex:1 1;gap:2rem;grid-auto-rows:max-content;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.settings-section-header{align-items:center;background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.settings-section-header h2{align-items:center;color:var(--accent);display:flex;flex-wrap:wrap;font-size:1.1rem;font-weight:600;gap:.5rem;margin:0}.settings-section-subtitle{color:var(--accent)}.settings-count{background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.8rem;padding:.2rem .6rem}.settings-list{display:flex;flex-direction:column}.settings-item{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem;transition:background .15s}.settings-item:last-child{border-bottom:none}.settings-item:hover{background:#ffffff08}.settings-item--selected{background:var(--settings-gold-tint);border-left:3px solid var(--primary)}.settings-item-main{flex:1 1;min-width:min(12rem,100%)}.settings-item-info{display:flex;flex-direction:column;gap:.3rem}.settings-item-name{align-items:center;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:1rem;font-weight:600;gap:.5rem}.settings-item-meta{color:var(--text-secondary);font-size:.8rem}.settings-badge{border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.15rem .5rem;text-transform:uppercase}.settings-badge--active{background:var(--settings-gold-tint);border:1px solid var(--border);color:var(--accent)}.settings-badge--inactive{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary)}.settings-badge--organizer{background:var(--settings-gold-tint);border:1px solid var(--border);color:var(--accent)}.settings-badge--guest{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary)}.settings-badge--locked{background:var(--settings-gold-tint);border:1px solid var(--border);color:var(--accent)}.settings-item-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;max-width:100%}.settings-inline-edit{display:flex;flex-direction:column;gap:.5rem;max-width:360px}.settings-inline-input{background:var(--bg-surface);border:1px solid var(--primary);border-radius:8px;color:var(--text-primary);font-size:.95rem;padding:.5rem .75rem;width:100%}.settings-inline-input:focus{border-color:var(--accent);outline:none}.settings-inline-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.9rem;padding:.5rem .75rem;width:160px}.settings-inline-select:focus{border-color:var(--primary);outline:none}.settings-inline-actions{display:flex;gap:.5rem}.settings-inline-error{color:#ff6b6b;font-size:.8rem}.btn-sm{border-radius:6px;font-size:.82rem;padding:.4rem .75rem}.btn-danger{background:#e9456033;border:1px solid #e9456066;color:#ff6b6b}.btn-danger:hover{background:#e9456059}.btn-warning{background:#f5a62333;border:1px solid #f5a62366;color:var(--accent)}.btn-warning:hover{background:#f5a62359}.btn-success{background:#50c87833;border:1px solid #50c87866;color:#5ec87a}.btn-success:hover{background:#50c87859}.settings-container .btn-primary{color:var(--bg-dark)}.settings-container .btn-success,.settings-container .btn-warning{background:var(--settings-gold-tint);border-color:var(--border);color:var(--accent)}.settings-container .btn-success:hover,.settings-container .btn-warning:hover{background:var(--settings-gold-hover);border-color:var(--primary)}.settings-container :is(button,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.settings-empty,.settings-loading{color:var(--text-secondary);font-size:.95rem;padding:2rem 1.5rem;text-align:center}.settings-error{background:#e9456026;border:1px solid #ff6b6b66;border-radius:8px;color:#ff6b6b;font-size:.9rem;margin:1rem 1.5rem;padding:.75rem 1rem}.settings-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:100}.settings-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:440px;padding:2rem;width:100%}.settings-modal h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 1rem}.settings-modal p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.settings-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.settings-members-placeholder{font-style:italic}.settings-tabs{border-bottom:1px solid var(--border);display:flex}.settings-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.65rem 1rem;transition:color .15s,border-color .15s}.settings-tab:hover{color:var(--text-primary)}.settings-tab--active{border-bottom-color:var(--primary);color:var(--primary)}.settings-song-item{align-items:flex-start;gap:.75rem}.settings-song-position{color:var(--text-secondary);flex-shrink:0;font-size:.85rem;padding-top:.15rem;text-align:center;width:1.6rem}.settings-song-thumbnail{border:1px solid var(--border);border-radius:6px;flex-shrink:0;height:42px;object-fit:cover;width:56px}.settings-song-title{color:var(--text-primary);font-size:.95rem;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-song-singer-row{margin-top:.25rem}.settings-singer-btn{background:#ffffff0d;border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.82rem;padding:.2rem .6rem;transition:background .15s,color .15s,border-color .15s}.settings-singer-btn:hover{background:var(--settings-gold-tint);border-color:var(--primary);color:var(--text-primary)}.settings-badge--status-queued{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary)}.settings-badge--status-paused,.settings-badge--status-playing{background:var(--settings-gold-tint);border:1px solid var(--border);color:var(--accent)}.settings-badge--status-played{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary)}@media (max-width:768px){.settings-content{grid-template-columns:1fr;padding:1rem}.settings-item{align-items:flex-start;flex-direction:column}.settings-item-actions{justify-content:flex-start}}.account-page{background:var(--bg-dark);color:var(--text-primary);min-height:100dvh;padding:24px}.account-actions,.account-header,.account-section-heading{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.account-header,.account-page>.error-msg,.account-page>[role=status],.account-section{margin-inline:auto;max-width:1080px}.account-header{border-bottom:1px solid var(--border);padding-bottom:24px}.account-header h1{flex:1 1;font-size:24px;letter-spacing:0;min-width:140px;overflow-wrap:anywhere}.account-actions .btn,.account-header>.btn{align-items:center;display:inline-flex;gap:8px}.account-section{padding-block:24px}.account-section-heading{justify-content:space-between;margin-bottom:16px}.account-section-heading h2{align-items:center;display:flex;font-size:18px;gap:10px}.account-icon-button{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);display:grid;flex:0 0 38px;height:38px;place-items:center;width:38px}.account-icon-button:disabled{cursor:not-allowed;opacity:.4}.account-key-list{list-style:none}.account-key-list li{grid-gap:16px;align-items:center;border-bottom:1px solid var(--border);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;padding:16px 0}.account-key-identity{grid-gap:6px;display:grid;gap:6px;overflow-wrap:anywhere}.account-key-dates,.account-key-identity code,.account-key-identity span{color:var(--text-secondary);font-size:13px}.account-key-dates{grid-gap:8px;display:grid;gap:8px}.account-key-dates div{grid-gap:8px;display:grid;gap:8px;grid-template-columns:72px minmax(0,1fr)}.account-key-dates dd{overflow-wrap:anywhere}.account-user-row{grid-gap:16px;align-items:center;border-bottom:1px solid var(--border);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 160px 200px;padding:16px 0}.account-user-row strong{overflow-wrap:anywhere}.account-user-row label{grid-gap:6px;color:var(--text-secondary);display:grid;font-size:13px;gap:6px;min-width:0}.account-user-row select{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;min-width:0;padding:10px;width:100%}.account-page .error-msg{margin-block:16px}.account-info-details{grid-gap:10px;display:grid;gap:10px;margin-bottom:20px}.account-info-details>div{grid-gap:12px;display:grid;gap:12px;grid-template-columns:90px minmax(0,1fr)}.account-info-details dd{overflow-wrap:anywhere}.account-host-key-label{display:block;font-size:13px;margin-bottom:8px;overflow-wrap:anywhere}.account-host-key{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 38px 38px;max-width:640px}.account-host-key input{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:monospace;min-width:0;padding:8px;width:100%}.account-login-attempts{border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.account-login-attempts td,.account-login-attempts th{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:12px 8px;text-align:left;vertical-align:top}.account-login-attempts th{color:var(--text-secondary);font-weight:500}.account-login-attempts th:first-child{width:38%}.account-login-attempts th:nth-child(2){width:36%}.account-login-attempts code{font-size:13px}.account-login-pagination{margin-top:12px}@media (max-width:600px){.account-page{padding:16px}.account-header h1{font-size:21px}.account-key-list li{gap:12px;grid-template-columns:minmax(0,1fr) 38px}.account-key-list li>.account-icon-button{grid-column:2;grid-row:1}.account-key-dates{grid-column:1/-1}.account-user-row{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.account-user-row strong{grid-column:1/-1}}.passkey-screen{background:var(--bg-dark);display:grid;min-height:100dvh;padding:24px;place-items:center}.passkey-panel{color:#e0e0ff;color:var(--text-primary,#e0e0ff);max-width:390px;text-align:center;width:100%}.passkey-brand{color:#6c63ff;color:var(--accent,#6c63ff)}.passkey-panel h1{font-size:28px;letter-spacing:0;margin:16px 0 8px}.passkey-panel h2{font-size:18px;font-weight:500;margin:0 0 28px}.passkey-actions,.passkey-panel form{grid-gap:12px;display:grid;gap:12px}.passkey-actions,.passkey-panel .passkey-notice+form{margin-top:12px}.passkey-panel .form-group{margin:0;min-width:0;text-align:left}.passkey-panel .btn{align-items:center;display:flex;gap:10px;justify-content:center;min-height:46px;white-space:normal}.passkey-notice,.passkey-panel .error-msg{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.passkey-notice{border-block:1px solid var(--border);padding:12px 0}.App{min-height:100vh}.version-watermark{bottom:8px;color:#ffffff40;font-size:.7rem;letter-spacing:.03em;pointer-events:none;position:fixed;right:10px;-webkit-user-select:none;user-select:none;z-index:9999}
/*# sourceMappingURL=main.748b739e.css.map*/