:root{--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--space-mobile: 14px;--touch-target: 44px;color:#1e2228;background:#f6f7f9;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;letter-spacing:0}.library-hub-list{display:flex;flex-direction:column;overflow:hidden}.library-hub-list-top{position:sticky;top:0;z-index:8;flex:0 0 auto;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 16px 30px color-mix(in srgb,var(--shadow) 18%,transparent)}.library-hub-list-body{min-height:0;overflow:auto;padding-top:10px}.library-hub-list .library-hub-header{position:static;padding:18px 18px 10px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.library-hub-list .library-hub-search{margin-bottom:10px;min-height:42px;background:color-mix(in srgb,var(--background) 84%,transparent)}.library-hub-list .library-hub-chips{padding-bottom:2px}.library-hub-player{gap:18px}.library-hub-visual{min-height:clamp(270px,36vh,480px);aspect-ratio:16 / 10;box-shadow:0 24px 70px color-mix(in srgb,var(--shadow) 34%,transparent)}.library-hub-visual:after{content:"";position:absolute;inset:auto 0 0;height:28%;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.42),transparent)}.library-hub-visual iframe{background:#050505}.library-hub-visual-actions{z-index:2;padding:6px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#070a0e9e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.library-hub-visual-actions button{min-height:32px;border-color:#ffffff2e;background:#ffffff14;color:#fff}.library-hub-visual-actions button.selected{background:#ffffffeb;color:#101418}.library-hub-title{align-items:flex-start}.library-hub-title h1{font-size:clamp(1.35rem,2vw,2rem);line-height:1.12}.library-hub-controls{padding:12px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--background) 62%,transparent)}.library-source-tabs{padding:4px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--background) 52%,transparent)}.library-source-tabs button{min-height:36px;border-radius:8px}.library-hub-context{overflow:hidden}.library-context-shell{display:flex;min-height:0;max-height:calc(100vh - 70px);flex-direction:column}.library-context-tabs{display:flex;gap:8px;flex:0 0 auto;margin:-2px -2px 12px;padding:2px 2px 12px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.library-context-tabs::-webkit-scrollbar{display:none}.library-context-tabs button{flex:1 0 max-content;min-height:38px;justify-content:center;border-radius:8px;font-weight:700}.library-context-section{min-height:0;overflow:auto;padding-right:2px}.library-context-card,.library-context-empty{display:grid;gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--border) 86%,transparent);border-radius:8px;background:color-mix(in srgb,var(--background) 54%,transparent)}.library-context-card h3{margin:0}.library-context-card p{margin:0;line-height:1.45}.library-context-list{display:grid;gap:8px}.library-context-danger{padding-top:4px}.library-context-actions{display:grid;grid-template-columns:1fr}.library-queue-control-card{display:grid;gap:8px;padding:8px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:8px;background:color-mix(in srgb,var(--background) 42%,transparent)}.library-queue-control-head{align-items:center;display:flex;gap:10px;justify-content:space-between;padding-inline:2px}.library-queue-control-head h3{color:var(--muted);font-size:.76rem;font-weight:900;letter-spacing:0;margin:0;text-transform:uppercase}.library-queue-actions{align-items:center;display:grid;gap:5px;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:flex-start;position:relative}.library-queue-actions>button{font-size:.78rem;font-weight:800;min-width:0;padding-inline:6px;white-space:nowrap;width:100%}.library-queue-options{display:inline-flex;justify-content:flex-end;position:relative}.library-queue-options-menu.row-action-menu{display:grid;gap:10px;min-width:min(260px,calc(100vw - 48px));padding:10px;right:0;top:calc(100% + 8px);z-index:40}.library-context-actions button,.queue-item-remove,.playlist-song button,.playlist-create button,.playlist-item>button,.recent-item,.library-lyrics-panel header button,.inline-lyric-editor button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 9px;border-radius:8px}.queue-item,.recent-item,.playlist-song{min-height:48px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;background:color-mix(in srgb,var(--background) 48%,transparent)}.queue-item span,.recent-item span,.playlist-song span{min-width:0}.playlist-item{display:grid;gap:8px;padding:12px;background:color-mix(in srgb,var(--background) 48%,transparent)}.playlist-item>button:first-of-type{justify-content:space-between;width:100%;min-width:0;text-align:left}.playlist-create{padding:4px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;background:color-mix(in srgb,var(--background) 48%,transparent)}.inline-lyric-editor{align-items:center;padding:8px;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.library-media-modal{width:min(1120px,calc(100vw - 32px));max-width:none;padding:0;border:0;border-radius:8px;background:transparent;color:#fff}.library-media-modal::backdrop{background:#02060ac7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.library-media-modal-body{position:relative;display:grid;min-height:min(72vh,720px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#05070a;box-shadow:0 28px 90px #0000007a}.library-media-modal-body img,.library-media-modal-body iframe,.library-media-modal-body .library-hub-cover-placeholder{width:100%;height:100%;min-height:min(72vh,720px);border:0;object-fit:contain}.library-media-modal-body iframe{object-fit:initial}.library-media-modal-close{position:absolute;top:12px;right:12px;z-index:3;background:#ffffffeb;color:#101418}@media(max-width:1199px){.library-context-shell{max-height:none}.library-context-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:899px){.library-hub-list{overflow:visible}.library-hub-list-top{position:sticky;top:0}.library-hub-list-body{overflow:visible}.library-hub-visual{min-height:min(62vw,360px);aspect-ratio:16 / 9}.library-hub-title{flex-direction:column}.library-hub-title .primary,.library-title-actions{width:100%}.library-context-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.library-context-section{overflow:visible}}@media(max-width:560px){.library-hub-row{grid-template-columns:minmax(0,1fr)}.library-hub-status,.library-hub-row-actions{justify-self:start}.library-hub-controls{grid-template-columns:auto 1fr auto}.library-hub-controls>span:first-of-type{display:none}.library-hub-controls>input[type=range]{grid-column:2}.inline-lyric-editor{grid-template-columns:1fr}}.library-hub{display:grid;grid-template-columns:minmax(320px,380px) minmax(460px,1fr) minmax(300px,360px);grid-template-rows:minmax(0,1fr) auto;gap:18px;min-height:calc(100vh - 42px);min-width:0}.library-hub-list,.library-hub-player,.library-hub-context{border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 50px color-mix(in srgb,var(--shadow) 36%,transparent);isolation:isolate;min-width:0}.library-hub-list,.library-hub-context{max-height:calc(100vh - 148px);overflow:auto;overscroll-behavior:contain;scroll-padding-top:88px}.library-hub-header,.library-hub-title,.library-context-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.library-hub-header{position:sticky;top:0;z-index:8;padding:18px 18px 14px;background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);border-bottom:1px solid color-mix(in srgb,var(--border) 62%,transparent);box-shadow:0 12px 28px color-mix(in srgb,var(--shadow) 14%,transparent)}.library-hub-header h2,.library-hub-title h1,.library-context-section h3,.library-lyrics-panel h3{margin:0}.library-hub-header p,.library-hub-title p,.library-context-section p,.library-lyrics-panel header p{margin:4px 0 0;color:var(--muted)}.library-title-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px;position:relative}.library-title-actions .primary{align-items:center;display:inline-flex;gap:7px}.library-song-actions{display:inline-flex;position:relative}.library-song-actions-trigger{width:38px;min-height:38px;padding:0}.library-song-actions-menu.row-action-menu{right:0;top:calc(100% + 8px);z-index:42}.library-hub-search{display:flex;align-items:center;gap:8px;margin:14px 18px 12px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--background) 78%,transparent);min-height:42px}.library-hub-search input{border:0;background:transparent;width:100%;min-width:0}.library-source-tabs,.library-context-tabs,.library-context-actions,.library-downloads{display:flex;gap:8px;flex-wrap:wrap}.library-filter-carousel{margin:0 18px 14px;overflow:hidden;position:relative}.library-filter-carousel:before,.library-filter-carousel:after{content:"";position:absolute;top:0;bottom:0;width:22px;z-index:2;pointer-events:none}.library-filter-carousel:before{left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 96%,transparent),transparent)}.library-filter-carousel:after{right:0;background:linear-gradient(270deg,color-mix(in srgb,var(--surface) 96%,transparent),transparent)}.library-hub-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scroll-padding-inline:10px;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch}.library-hub-chips::-webkit-scrollbar{display:none}.library-hub-chips button,.library-source-tabs button,.library-context-tabs button,.library-hub-visual-actions button{border:1px solid var(--border);background:color-mix(in srgb,var(--background) 68%,transparent);color:var(--text);border-radius:8px;min-height:36px;padding:0 12px;scroll-snap-align:center;white-space:nowrap}.library-hub-chips button.selected,.library-source-tabs button.selected,.library-context-tabs button.selected,.library-hub-visual-actions button.selected{border-color:color-mix(in srgb,var(--primary) 72%,var(--border));background:color-mix(in srgb,var(--primary) 18%,var(--surface));color:var(--primary)}.library-hub-rows{display:grid;gap:8px;padding:0 12px 18px;position:relative;z-index:1}.library-hub-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:78px;padding:10px;border:1px solid transparent;border-radius:8px;background:color-mix(in srgb,var(--surface) 66%,transparent);transition:background .16s ease,border-color .16s ease,transform .16s ease}.library-hub-row:hover,.library-hub-row.selected{background:color-mix(in srgb,var(--primary) 9%,var(--surface));border-color:color-mix(in srgb,var(--primary) 25%,var(--border))}.library-hub-row.playing{box-shadow:inset 3px 0 0 var(--primary)}.library-hub-row-main{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;border:0;background:transparent;color:inherit;text-align:left;min-width:0;padding:0}.library-hub-cover{width:54px;height:54px;border-radius:8px;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--primary) 14%,var(--background))}.library-hub-cover img{width:100%;height:100%;object-fit:cover}.library-hub-row-main strong,.library-hub-row-main em,.queue-item span,.playlist-item button,.recent-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-hub-row-main em,.queue-item em,.playlist-item em,.recent-item em{color:var(--muted);font-style:normal;font-size:.84rem}.library-hub-status{font-size:.75rem;color:var(--muted);text-transform:uppercase}.library-hub-status.ready{color:var(--success)}.library-hub-status.failed{color:var(--danger)}.library-hub-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.library-hub-row-actions button,.queue-item-remove,.playlist-item>button,.playlist-song button,.recent-item,.library-context-actions button,.library-lyrics-panel header button{border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--background) 62%,transparent);color:var(--text);min-height:34px;padding:0 10px}.library-hub-player{padding:20px;display:flex;flex-direction:column;gap:18px;min-height:0;max-height:calc(100vh - 148px);overflow:auto;overscroll-behavior:contain}.library-hub-visual{position:relative;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:#111;border:1px solid color-mix(in srgb,var(--border) 52%,transparent);box-shadow:0 24px 70px color-mix(in srgb,var(--shadow) 34%,transparent);min-height:260px}.library-hub-visual img,.library-hub-visual iframe,.library-hub-cover-placeholder{width:100%;height:100%;border:0;object-fit:cover}.library-hub-cover-placeholder{display:grid;place-items:center;color:var(--muted)}.library-hub-visual-actions{position:absolute;right:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:8px;max-width:calc(100% - 24px);padding:6px;border:1px solid color-mix(in srgb,var(--border) 42%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.library-hub-controls{display:grid;grid-template-columns:auto auto minmax(160px,1fr) auto minmax(118px,170px);align-items:center;gap:12px;min-width:0}.library-player-dock{grid-column:1 / -1;justify-self:stretch;position:sticky;bottom:0;z-index:12;display:grid;grid-template-columns:minmax(190px,.85fr) minmax(320px,2fr) max-content;align-items:center;gap:clamp(10px,1.5vw,18px);width:100%;min-width:0;min-height:66px;padding:8px clamp(12px,1.6vw,18px);border:1px solid rgba(255,255,255,.48);border-radius:8px;background:linear-gradient(145deg,#ffffff24,#ffffff3d);-webkit-backdrop-filter:blur(34px) saturate(1.36);backdrop-filter:blur(34px) saturate(1.36);box-shadow:0 -18px 54px color-mix(in srgb,var(--shadow) 28%,transparent),inset 0 1px #ffffff47}.library-dock-track{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0}.library-dock-cover{width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:color-mix(in srgb,var(--primary) 16%,var(--background))}.library-dock-cover img{width:100%;height:100%;object-fit:cover}.library-dock-track strong,.library-dock-track em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-dock-track em{color:var(--muted);font-style:normal;font-size:.8rem}.library-dock-controls{display:grid;grid-template-columns:auto auto minmax(160px,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0}.library-dock-actions{display:flex;justify-content:flex-start;align-items:center;gap:8px;width:auto;min-width:0;justify-self:start}.library-source-menu-wrap{position:relative;display:inline-flex;flex:0 0 auto;justify-content:flex-end}.library-source-menu-trigger,.library-queue-options-trigger{width:38px;min-height:38px;padding:0}.library-source-menu.row-action-menu{bottom:calc(100% + 8px);min-width:230px;right:0;top:auto;position:absolute;z-index:50}.library-source-stack{display:grid;gap:6px;width:min(100%,260px);padding:6px}.library-source-stack .library-source-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;justify-content:stretch;gap:10px;min-height:48px;width:100%;padding:6px 10px;text-align:left}.library-source-menu .library-source-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:46px;padding:7px 10px}.library-source-option svg{color:var(--muted);justify-self:center}.library-source-option span{display:grid;gap:1px;min-width:0}.library-source-option strong,.library-source-option em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-source-option strong{font-size:.88rem;line-height:1.2}.library-source-option em{color:var(--muted);font-size:.76rem;font-style:normal;line-height:1.2}.library-source-option.selected svg,.library-source-option.selected em{color:var(--primary)}.library-source-menu .library-source-option.selected{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.library-hub-list,.library-hub-player,.library-hub-context,.library-context-card,.library-lyrics-panel,.library-hub-row,.queue-item,.playlist-card,.recent-item{background:linear-gradient(145deg,#ffffff1f,#ffffff38);border:1px solid rgba(255,255,255,.48);border-radius:8px;box-shadow:0 22px 64px #0f172a1a,inset 0 1px #ffffff47}.library-hub-list,.library-hub-player,.library-hub-context{-webkit-backdrop-filter:blur(34px) saturate(1.36);backdrop-filter:blur(34px) saturate(1.36)}:root[data-theme=dark] .library-hub-list,:root[data-theme=dark] .library-hub-player,:root[data-theme=dark] .library-hub-context,:root[data-theme=dark] .library-context-card,:root[data-theme=dark] .library-lyrics-panel,:root[data-theme=dark] .library-hub-row,:root[data-theme=dark] .library-player-dock,:root[data-theme=dark] .queue-item,:root[data-theme=dark] .playlist-card,:root[data-theme=dark] .recent-item{background:linear-gradient(145deg,#0f172a2e,#08131c47);border-color:#e2e8f026;box-shadow:0 24px 84px #00000047,inset 0 1px #ffffff12;color:#e5eef8}:root[data-theme=dark] .library-hub-list,:root[data-theme=dark] .library-hub-player,:root[data-theme=dark] .library-hub-context{-webkit-backdrop-filter:blur(38px) saturate(1.42);backdrop-filter:blur(38px) saturate(1.42)}.library-hub-list-body,.library-hub-list,.library-hub-player,.library-hub-context,.library-context-section,.library-lyrics-list,.library-context-list,.library-media-modal-body,.library-hub-rows{scrollbar-color:rgba(20,184,166,.45) transparent;scrollbar-width:thin}:root[data-theme=dark] .library-hub-list-body,:root[data-theme=dark] .library-hub-list,:root[data-theme=dark] .library-hub-player,:root[data-theme=dark] .library-hub-context,:root[data-theme=dark] .library-context-section,:root[data-theme=dark] .library-lyrics-list,:root[data-theme=dark] .library-context-list,:root[data-theme=dark] .library-media-modal-body,:root[data-theme=dark] .library-hub-rows{scrollbar-color:rgba(94,234,212,.5) transparent}.library-hub-list-body::-webkit-scrollbar,.library-hub-list::-webkit-scrollbar,.library-hub-player::-webkit-scrollbar,.library-hub-context::-webkit-scrollbar,.library-context-section::-webkit-scrollbar,.library-lyrics-list::-webkit-scrollbar,.library-context-list::-webkit-scrollbar,.library-media-modal-body::-webkit-scrollbar,.library-hub-rows::-webkit-scrollbar{width:10px;height:10px}.library-hub-list-body::-webkit-scrollbar-track,.library-hub-list::-webkit-scrollbar-track,.library-hub-player::-webkit-scrollbar-track,.library-hub-context::-webkit-scrollbar-track,.library-context-section::-webkit-scrollbar-track,.library-lyrics-list::-webkit-scrollbar-track,.library-context-list::-webkit-scrollbar-track,.library-media-modal-body::-webkit-scrollbar-track,.library-hub-rows::-webkit-scrollbar-track{background:transparent}.library-hub-list-body::-webkit-scrollbar-thumb,.library-hub-list::-webkit-scrollbar-thumb,.library-hub-player::-webkit-scrollbar-thumb,.library-hub-context::-webkit-scrollbar-thumb,.library-context-section::-webkit-scrollbar-thumb,.library-lyrics-list::-webkit-scrollbar-thumb,.library-context-list::-webkit-scrollbar-thumb,.library-media-modal-body::-webkit-scrollbar-thumb,.library-hub-rows::-webkit-scrollbar-thumb{background:#14b8a66b;border:3px solid transparent;border-radius:999px;background-clip:padding-box}:root[data-theme=dark] .library-hub-list-body::-webkit-scrollbar-thumb,:root[data-theme=dark] .library-hub-list::-webkit-scrollbar-thumb,:root[data-theme=dark] .library-hub-player::-webkit-scrollbar-thumb,:root[data-theme=dark] .library-hub-context::-webkit-scrollbar-thumb,:root[data-theme=dark] .library-context-section::-webkit-scrollbar-thumb,:root[data-theme=dark] .library-lyrics-list::-webkit-scrollbar-thumb,:root[data-theme=dark] .library-context-list::-webkit-scrollbar-thumb,:root[data-theme=dark] .library-media-modal-body::-webkit-scrollbar-thumb,:root[data-theme=dark] .library-hub-rows::-webkit-scrollbar-thumb{background:#5eead480;border:3px solid transparent;background-clip:padding-box}.library-play-button{width:48px;height:48px;border-radius:999px;border:0;background:var(--primary);color:var(--primary-contrast);display:grid;place-items:center}.library-player-dock .library-play-button{width:42px;height:42px;min-height:42px}.library-player-dock .library-volume{flex-direction:row;align-items:center;flex:0 0 auto;justify-content:flex-start}.library-player-dock .library-volume input{width:min(120px,18vw)}.library-volume{display:flex;align-items:center;gap:8px;min-width:0}.library-lyrics-panel{display:grid;gap:18px;border-top:1px solid var(--border);padding:20px 14px 4px}.library-lyrics-panel.collapsed{gap:0;padding-bottom:10px}.library-lyrics-panel header,.library-lyric-line button{display:flex;align-items:center;justify-content:space-between;gap:12px}.library-lyrics-panel header{border-radius:8px;cursor:pointer;margin:-6px;padding:6px;transition:background .16s ease}.library-lyrics-panel header:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}.library-lyrics-panel header:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 70%,transparent);outline-offset:2px}.library-lyrics-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.library-lyrics-collapse-button{min-width:38px;padding:0}.library-lyrics-collapse-button svg{transition:transform .16s ease}.library-lyrics-panel.collapsed .library-lyrics-collapse-button svg{transform:rotate(-90deg)}.library-lyrics-list{display:grid;gap:12px;max-height:none;overflow:visible;padding-right:4px}.library-lyric-line button{width:100%;border:0;border-radius:8px;padding:14px 16px;background:transparent;color:color-mix(in srgb,var(--text) 74%,var(--muted));text-align:left;line-height:1.45}.library-lyric-line.active button{background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--text);font-weight:700}.library-lyric-line.bonus button{font-style:italic;opacity:.78}.library-lyric-line em{color:var(--muted);font-style:normal;white-space:nowrap}.inline-lyric-editor{display:grid;grid-template-columns:minmax(160px,1fr) 92px 92px 90px auto auto;gap:10px;align-items:center;margin-block:2px}.inline-lyric-editor input,.inline-lyric-editor select,.playlist-create input,.playlist-item input{min-width:0;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--background) 76%,transparent);color:var(--text);min-height:38px;padding:8px 10px}.library-hub-context{padding:16px}.library-context-tabs{position:sticky;top:0;z-index:7;margin:-16px -16px 0;padding:16px 16px 12px;background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.08);backdrop-filter:blur(16px) saturate(1.08);border-bottom:1px solid color-mix(in srgb,var(--border) 58%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--shadow) 12%,transparent)}.library-context-section{display:grid;gap:12px}.library-hub-context{display:flex;flex-direction:column;overflow:hidden}.library-context-shell{display:flex;flex:1 1 auto;min-height:0;max-height:none;flex-direction:column}.library-context-carousel{flex:1 1 auto;min-height:0;overflow:hidden}.library-context-track{display:flex;height:100%;min-height:0;transition:transform .22s ease;will-change:transform}.library-context-slide{display:flex;flex:0 0 100%;min-height:0;min-width:100%}.library-context-slide[aria-hidden=true]{pointer-events:none}.library-context-section{flex:1 1 auto;display:grid;align-content:start;gap:8px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 2px 0 0;width:100%}.library-context-section h3{font-size:.9rem;margin-top:8px}.library-crossfade-toggle{justify-content:flex-start;flex:0 0 auto;min-height:36px;padding-inline:11px;width:100%}.library-crossfade-panel{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,transparent)}.library-crossfade-panel span{color:var(--primary);font-size:.82rem;font-weight:800;min-width:28px}.library-queue-list{display:grid;gap:10px}.library-context-section .review,.library-lyrics-panel .review,.library-inline-error,.library-save-state.error{color:var(--danger)}.library-save-state.saved{color:var(--success)}.library-downloads a{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);text-decoration:none}.queue-item,.playlist-item,.playlist-song,.recent-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.queue-item{gap:12px;min-height:68px;padding:10px;cursor:grab;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease}.queue-item.dragging{cursor:grabbing;opacity:.62;transform:scale(.99)}.queue-item.drop-target{border-color:color-mix(in srgb,var(--primary) 46%,var(--border));box-shadow:inset 3px 0 0 var(--primary),0 12px 28px color-mix(in srgb,var(--shadow) 14%,transparent)}.queue-item-index{align-items:center;background:color-mix(in srgb,var(--primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);border-radius:8px;color:var(--primary);display:inline-flex;flex:0 0 30px;font-size:.78rem;font-weight:900;height:30px;justify-content:center}.queue-item .queue-item-main{display:grid;gap:3px;flex:1 1 auto;line-height:1.2;min-width:0;overflow:hidden;white-space:normal}.queue-item-cover{align-items:center;background:color-mix(in srgb,var(--primary) 12%,var(--background));border-radius:8px;color:var(--muted);display:inline-flex;flex:0 0 46px;height:46px;justify-content:center;overflow:hidden;width:46px}.queue-item-cover img{height:100%;object-fit:cover;width:100%}.queue-item .queue-item-main strong,.queue-item .queue-item-main em,.queue-item .queue-item-main small{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item .queue-item-main strong{line-height:1.25}.queue-item .queue-item-main em{color:var(--muted);font-size:.78rem;font-style:normal;line-height:1.25}.queue-item .queue-item-main small{color:color-mix(in srgb,var(--muted) 78%,var(--primary));font-size:.72rem;font-weight:700;line-height:1.2;text-transform:uppercase}.queue-item-open{display:flex;align-items:center;flex:1 1 auto;gap:11px;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.queue-item-open:hover,.queue-item-open:focus-visible{color:var(--primary)}.queue-item-remove{flex:0 0 auto}.playlist-item{align-items:stretch;flex-direction:column;border:1px solid var(--border);border-radius:8px;padding:10px;background:color-mix(in srgb,var(--background) 54%,transparent)}.playlist-create{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:25px}.recent-item{width:100%;text-align:left}.library-hub-empty,.library-hub-no-selection{color:var(--muted);text-align:center;padding:32px 16px}.library-hub-media-modal,.library-hub-visual-modal,.library-hub-expanded-media,.library-expanded-media{align-items:center;background:color-mix(in srgb,#020617 78%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;top:0;right:0;bottom:0;left:0;justify-items:center;padding:24px;position:fixed;z-index:60}.library-hub-media-modal{height:100dvh;width:100vw;max-width:none;place-items:center}.library-hub-media-modal .library-hub-visual,.library-hub-visual-modal .library-hub-visual,.library-hub-expanded-media .library-hub-visual,.library-expanded-media .library-hub-visual{align-self:center;justify-self:center;max-height:min(760px,calc(100dvh - 48px));max-width:calc(100vw - 48px);min-height:0;width:100%}.library-hub-media-modal .library-media-modal-body{aspect-ratio:16 / 9;height:auto;min-height:0;width:min(1080px,calc(100vw - 48px))}.library-hub-media-modal.cover .library-media-modal-body{aspect-ratio:1 / 1;width:min(720px,calc(100vw - 48px),calc(100dvh - 48px))}.library-hub-media-modal.video .library-media-modal-body{width:min(1080px,calc(100vw - 48px))}.library-hub-media-modal .library-media-modal-body img,.library-hub-media-modal .library-media-modal-body iframe,.library-hub-media-modal .library-media-modal-body .library-hub-cover-placeholder{height:100%;min-height:0;object-fit:contain;width:100%}.danger.subtle{border-color:color-mix(in srgb,var(--danger) 38%,var(--border));color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}@media(max-width:1199px){.library-hub{grid-template-columns:minmax(300px,360px) minmax(380px,1fr)}.library-hub-context{grid-column:1 / -1;max-height:none}.library-player-dock{grid-template-columns:minmax(180px,.85fr) minmax(280px,1.5fr) auto}.library-dock-actions{justify-content:flex-start}}@media(max-width:899px){.library-hub{display:flex;flex-direction:column;min-height:auto;padding-bottom:84px}.library-hub-list,.library-hub-player,.library-hub-context{max-height:none}.library-hub-controls{grid-template-columns:auto auto minmax(0,1fr) auto}.library-player-dock{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:0}.library-dock-controls{grid-column:1 / -1;grid-template-columns:auto auto minmax(0,1fr) auto}.library-dock-actions{grid-column:2;grid-row:1;justify-content:flex-end;flex-direction:row;align-items:center}.library-source-menu-wrap{align-self:flex-end}.library-player-dock .library-volume{display:none}.inline-lyric-editor{grid-template-columns:1fr 1fr}}@media(max-width:640px){.library-hub{gap:12px;padding-bottom:72px}.library-hub-list,.library-hub-player,.library-hub-context{border-radius:8px}.library-hub-header,.library-hub-title,.library-context-heading,.library-lyrics-panel header{align-items:stretch;flex-direction:column}.library-hub-search,.library-filter-carousel{margin-inline:12px}.library-hub-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.library-hub-row-actions{justify-content:flex-start}.library-hub-player,.library-hub-context{padding:14px}.library-hub-visual{min-height:190px}.library-hub-visual-actions{position:static;margin-top:10px;max-width:none}.library-hub-controls{grid-template-columns:auto minmax(0,1fr) auto}.library-hub-controls>*{min-width:0}.library-volume{align-items:stretch;flex-direction:column}.playlist-create,.inline-lyric-editor{grid-template-columns:1fr}.playlist-create button,.inline-lyric-editor button{width:100%}.queue-item,.playlist-song,.recent-item{align-items:stretch;flex-direction:column}}:root[data-theme=dark]{color:#e5eef8;background:#071113;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 18%,rgba(20,184,166,.15),transparent 34%),radial-gradient(circle at 86% 12%,rgba(244,114,182,.12),transparent 30%),linear-gradient(135deg,#f6f7f9,#eef7f6 54%,#f7f4fb);margin:0;min-height:100dvh;overflow-x:hidden}:root[data-theme=dark] body{background:radial-gradient(circle at 14% 16%,rgba(20,184,166,.22),transparent 34%),radial-gradient(circle at 84% 12%,rgba(96,165,250,.17),transparent 32%),radial-gradient(circle at 54% 92%,rgba(245,158,11,.08),transparent 28%),linear-gradient(135deg,#050b0d,#081a1d 52%,#100f1f)}button,input,select,textarea{font:inherit}button{align-items:center;background:#fff;border:1px solid #d7dce2;border-radius:8px;color:#1e2228;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:40px;padding:0 14px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}:root[data-theme=dark] button{background:#0f172ae0;border-color:#94a3b842;color:#e5eef8}button:disabled{cursor:not-allowed;opacity:.65}button:not(:disabled):not(.sidebar-overlay):hover,.artifact-actions a:hover,.file-button:hover,.download-helper-button:hover,.recommendation-row:not(:disabled):hover,.song-ai-toggle:not(:disabled):hover,.reprocess-option:not(:disabled):hover,.toggle-control:hover,.sing-toggle-control:hover{background:#ffffff57;border-color:#14b8a661;box-shadow:0 10px 24px #0f172a1f;transform:translateY(-1px)}button.primary:not(:disabled):not(.sidebar-overlay):hover,.primary:not(:disabled):hover{background:#0d9488;border-color:#2dd4bf;box-shadow:0 12px 28px #0d948847;transform:translateY(-1px)}button:not(:disabled):not(.sidebar-overlay):active,.artifact-actions a:active,.file-button:active,.download-helper-button:active,.recommendation-row:not(:disabled):active,.song-ai-toggle:not(:disabled):active,.reprocess-option:not(:disabled):active,.toggle-control:active,.sing-toggle-control:active{box-shadow:none;transform:translateY(0)}button:focus-visible,.artifact-actions a:focus-visible,.file-button:focus-visible,.download-helper-button:focus-visible,.recommendation-row:focus-visible,.song-ai-toggle:focus-visible,.reprocess-option:focus-visible,.toggle-control:focus-visible,.sing-toggle-control:focus-visible{outline:2px solid rgba(20,184,166,.62);outline-offset:3px}:root[data-theme=dark] button:not(:disabled):not(.sidebar-overlay):hover,:root[data-theme=dark] .artifact-actions a:hover,:root[data-theme=dark] .file-button:hover,:root[data-theme=dark] .download-helper-button:hover,:root[data-theme=dark] .recommendation-row:not(:disabled):hover,:root[data-theme=dark] .song-ai-toggle:not(:disabled):hover,:root[data-theme=dark] .reprocess-option:not(:disabled):hover,:root[data-theme=dark] .toggle-control:hover,:root[data-theme=dark] .sing-toggle-control:hover{background:#0f172ab8;border-color:#5eead46b;box-shadow:0 12px 28px #00000047}:root[data-theme=dark] button.primary:not(:disabled):not(.sidebar-overlay):hover,:root[data-theme=dark] .primary:not(:disabled):hover{background:#0d9488;border-color:#5eead4;box-shadow:0 12px 28px #0d948847}.ai-tooltip-wrap{align-items:center;display:inline-flex;position:relative}.ai-tooltip-trigger{align-items:center;border-radius:8px;display:inline-flex;justify-content:center}.ai-tooltip-panel{background:#fffffff5;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(148,163,184,.3);border-radius:8px;bottom:calc(100% + 10px);box-shadow:0 18px 44px #0f172a2e,inset 0 1px #ffffffb8;color:#1e2228;display:grid;font-size:13px;font-weight:600;gap:6px;left:50%;line-height:1.45;max-width:min(280px,calc(100vw - 32px));min-width:min(220px,calc(100vw - 32px));opacity:0;padding:10px 12px;pointer-events:none;position:absolute;text-align:left;transform:translate(-50%,4px) scale(.98);transition:opacity .14s ease,transform .14s ease,visibility .14s ease;visibility:hidden;z-index:60}.ai-tooltip-panel strong,.ai-tooltip-panel span{display:block}.ai-tooltip-panel strong{color:#0f766e;font-size:13px;line-height:1.25}.ai-tooltip-panel span{color:#475467}.ai-tooltip-panel:after{background:inherit;border-bottom:1px solid rgba(148,163,184,.3);border-right:1px solid rgba(148,163,184,.3);bottom:-5px;content:"";height:10px;left:50%;position:absolute;transform:translate(-50%) rotate(45deg);width:10px}.ai-tooltip-wrap:hover .ai-tooltip-panel,.ai-tooltip-wrap:focus-within .ai-tooltip-panel{opacity:1;pointer-events:auto;transform:translate(-50%) scale(1);visibility:visible}:root[data-theme=dark] .ai-tooltip-panel{background:#0f172af5;border-color:#94a3b847;box-shadow:0 20px 52px #0000006b,inset 0 1px #ffffff14;color:#e5eef8}:root[data-theme=dark] .ai-tooltip-panel strong{color:#5eead4}:root[data-theme=dark] .ai-tooltip-panel span{color:#cbd5e1}:root[data-theme=dark] .ai-tooltip-panel:after{border-color:#94a3b847}.primary{background:#0f766e;border-color:#0f766e;color:#fff}:root[data-theme=dark] .primary,:root[data-theme=dark] .sing-controls .primary{background:#14b8a6;border-color:#5eead4;color:#031412}.wide{width:100%}input,select,textarea{background:#fff;border:1px solid #cdd5df;border-radius:8px;color:#1e2228;outline:none;padding:11px 12px;width:100%}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:#020617b8;border-color:#94a3b84d;color:#e5eef8}textarea{line-height:1.5;resize:vertical}.auth-shell{display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:100vh}.brand-panel{background:linear-gradient(90deg,#030712cc,#03071280 42%,#0307121a),linear-gradient(180deg,#0f766e2e,#20252c8f),url(/login-hero-karaokeai.png) center / cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:8vw;position:relative;overflow:hidden}.brand-panel:after{background:linear-gradient(115deg,transparent 0 42%,rgba(45,212,191,.2) 48%,transparent 56%),linear-gradient(70deg,transparent 0 52%,rgba(244,114,182,.16) 58%,transparent 66%);content:"";top:-24%;right:-24%;bottom:-24%;left:-24%;opacity:.72;pointer-events:none;position:absolute;transform:translate3d(-5%,0,0);animation:loginHeroLightSweep 13s ease-in-out infinite alternate}.brand-panel>*{position:relative;z-index:1}.brand-panel h1{font-size:clamp(42px,6vw,76px);line-height:1;margin:16px 0;max-width:840px}.brand-panel p{color:#d8f3ef;font-size:20px;line-height:1.5;max-width:720px;text-shadow:0 2px 18px rgba(2,6,23,.42)}.eyebrow{color:#99f6e4;font-weight:700;text-shadow:0 2px 14px rgba(2,6,23,.48);text-transform:uppercase}.auth-card{align-self:center;background:linear-gradient(145deg,#ffffff1f,#ffffff38);-webkit-backdrop-filter:blur(34px) saturate(1.36);backdrop-filter:blur(34px) saturate(1.36);border:1px solid rgba(255,255,255,.48);border-radius:8px;box-shadow:0 18px 50px #0f172a1f;display:grid;gap:16px;margin:32px;padding:24px}:root[data-theme=dark] .auth-card{background:linear-gradient(145deg,#0f172a2e,#08131c47);-webkit-backdrop-filter:blur(38px) saturate(1.42);backdrop-filter:blur(38px) saturate(1.42);border-color:#e2e8f029;box-shadow:0 28px 92px #00000057,inset 0 1px #ffffff14}.auth-card label{display:grid;gap:8px;font-weight:700}.password-input-wrap{display:grid;position:relative}.password-input-wrap input{padding-right:48px}.password-visibility-button{background:transparent;border:0;color:#667085;height:40px;min-height:40px;padding:0;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px}.password-visibility-button:not(:disabled):not(.sidebar-overlay):hover{background:#14b8a614;box-shadow:none;color:#0f766e;transform:translateY(-50%)}.password-visibility-button:not(:disabled):not(.sidebar-overlay):active{transform:translateY(-50%)}:root[data-theme=dark] .password-visibility-button{background:transparent;color:#cbd5e1}:root[data-theme=dark] .password-visibility-button:not(:disabled):not(.sidebar-overlay):hover{background:#5eead41f;box-shadow:none;color:#5eead4}.auth-switch{display:grid;gap:8px;grid-template-columns:1fr 1fr}.auth-feedback{align-items:flex-start;display:flex;gap:8px;line-height:1.4}.auth-feedback svg{flex:0 0 auto;margin-top:1px}.auth-resend-button{align-items:center;background:#14b8a61a;border:1px solid rgba(15,118,110,.22);border-radius:8px;color:#0f766e;display:inline-flex;font-size:.92rem;font-weight:800;gap:8px;justify-content:center;justify-self:stretch;min-height:40px;padding:0 14px;text-decoration:none}.auth-resend-button:not(:disabled):hover{background:#14b8a629;border-color:#0f766e57;box-shadow:0 10px 26px #0f766e1f;color:#0b5f59;transform:translateY(-1px)}.auth-resend-button:disabled{opacity:.62}:root[data-theme=dark] .auth-resend-button{background:#5eead41a;border-color:#5eead43d;color:#5eead4}:root[data-theme=dark] .auth-resend-button:not(:disabled):hover{background:#5eead429;border-color:#5eead461;color:#99f6e4}.google-auth-button{width:100%}.auth-divider{align-items:center;color:#667085;display:grid;font-size:12px;font-weight:800;gap:10px;grid-template-columns:1fr auto 1fr;text-transform:uppercase}.auth-divider:before,.auth-divider:after{background:#66708547;content:"";height:1px}.app-shell{margin:0;max-width:none;min-height:100vh;padding:0;position:relative;z-index:0}.app-layout{align-items:start;display:grid;gap:0;grid-template-columns:var(--sidebar-width, 240px) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.main-content{display:grid;gap:18px;grid-column:2;min-width:0;padding:24px}.sidebar-toggle,.sidebar-overlay,.mobile-sidebar-close{display:none}.app-shell>:not(.music-backdrop):not(.confirm-modal){position:relative;z-index:1}.music-backdrop{top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;perspective:900px;z-index:0}.music-backdrop:before{background:linear-gradient(115deg,transparent 0 34%,rgba(20,184,166,.12) 48%,transparent 62%),linear-gradient(65deg,transparent 0 46%,rgba(59,130,246,.08) 54%,transparent 68%);content:"";top:-30%;right:-30%;bottom:-30%;left:-30%;opacity:.7;position:absolute;transform:rotate3d(1,-1,0,28deg);animation:auroraSweep 16s linear infinite}:root[data-theme=dark] .music-backdrop:before{background:linear-gradient(115deg,transparent 0 32%,rgba(45,212,191,.18) 48%,transparent 64%),linear-gradient(65deg,transparent 0 45%,rgba(96,165,250,.14) 55%,transparent 70%);opacity:.9}.music-depth-plane{border:1px solid rgba(20,184,166,.16);border-radius:8px;box-shadow:0 0 48px #14b8a624;height:46vh;position:absolute;transform-style:preserve-3d;width:64vw}:root[data-theme=dark] .music-depth-plane{border-color:#5eead433;box-shadow:0 0 58px #2dd4bf2e}.plane-a{left:-12vw;top:18vh;transform:rotateX(64deg) rotate(-18deg) translateZ(-80px)}.plane-b{bottom:-20vh;right:-10vw;transform:rotateX(68deg) rotate(16deg) translateZ(-110px)}.music-glow-ring{border:1px solid rgba(94,234,212,.24);border-radius:50%;box-shadow:inset 0 0 36px #5eead41f,0 0 44px #3b82f629;height:180px;position:absolute;width:180px;animation:ringFloat 12s ease-in-out infinite}.ring-a{left:8%;top:62%}.ring-b{animation-delay:-5s;height:260px;right:10%;top:12%;width:260px}.music-backdrop.intense{background:radial-gradient(circle at 18% 22%,rgba(45,212,191,.16),transparent 30%),radial-gradient(circle at 78% 28%,rgba(96,165,250,.14),transparent 28%);position:absolute;z-index:0}.music-particles-canvas{top:0;right:0;bottom:0;left:0;opacity:.95;position:absolute}.music-particles-canvas canvas{filter:drop-shadow(0 0 10px rgba(45,212,191,.24))}.topbar,.submit-panel,.status-panel,.youtube-gate,.lyrics-card,.score-card,.editor-panel,.ai-panel,.recommendations,.library,.empty-state{background:linear-gradient(145deg,#ffffff1f,#ffffff38);-webkit-backdrop-filter:blur(34px) saturate(1.36);backdrop-filter:blur(34px) saturate(1.36);border:1px solid rgba(255,255,255,.48);border-radius:8px;box-shadow:0 22px 64px #0f172a1a,inset 0 1px #ffffff47}:root[data-theme=dark] .topbar,:root[data-theme=dark] .submit-panel,:root[data-theme=dark] .status-panel,:root[data-theme=dark] .youtube-gate,:root[data-theme=dark] .lyrics-card,:root[data-theme=dark] .score-card,:root[data-theme=dark] .editor-panel,:root[data-theme=dark] .ai-panel,:root[data-theme=dark] .recommendations,:root[data-theme=dark] .library,:root[data-theme=dark] .empty-state{background:linear-gradient(145deg,#0f172a2e,#08131c47);border-color:#e2e8f026;-webkit-backdrop-filter:blur(38px) saturate(1.42);backdrop-filter:blur(38px) saturate(1.42);box-shadow:0 24px 84px #00000047,inset 0 1px #ffffff12;color:#e5eef8}.topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px;padding:14px 16px}.topbar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.app-sidebar{background:radial-gradient(circle at 26% 8%,rgba(255,255,255,.2),transparent 28%),linear-gradient(180deg,#0f766e,#0b5f61);color:#eafffb;display:grid;gap:22px;grid-template-rows:auto 1fr auto;height:100dvh;min-height:100vh;left:0;max-height:100dvh;overflow-y:auto;padding:20px 0 18px 18px;position:fixed;top:0;width:var(--sidebar-width, 240px);z-index:5}:root[data-theme=dark] .app-sidebar{background:radial-gradient(circle at 24% 8%,rgba(94,234,212,.12),transparent 30%),linear-gradient(180deg,#071b22,#051116);border-right-color:#5eead414;box-shadow:inset -1px 0 #ffffff0a,18px 0 58px #0000002e;color:#e5fff9}.app-sidebar.collapsed{--sidebar-width: 104px;align-items:start;justify-items:center;overflow:hidden;padding:20px 0 18px 10px}.app-layout:has(.app-sidebar.collapsed){--sidebar-width: 104px}.sidebar-brand{align-items:center;display:flex;font-weight:900;gap:10px;min-height:48px;padding:0 0 0 2px;position:relative;width:100%}.sidebar-collapse-button{background:#f6fbff;border:0;border-radius:999px 0 0 999px;box-shadow:-8px 8px 20px #022c2e1f;color:#0f766e;height:34px;justify-content:center;margin-left:auto;min-height:34px;padding:0;position:relative;width:44px;z-index:1}.sidebar-collapse-button:hover{background:#fff;color:#0b5f61;transform:none}:root[data-theme=dark] .sidebar-collapse-button{background:#07141b;box-shadow:-8px 8px 22px #00000042;color:#5eead4}:root[data-theme=dark] .sidebar-collapse-button:hover{background:#0a1d25;color:#99f6e4}.sidebar-nav,.sidebar-footer{display:grid;gap:6px}.sidebar-nav{align-content:start;padding:4px 0}.sidebar-nav button,.sidebar-footer button{background:transparent;border:0;border-color:transparent;color:inherit;justify-content:flex-start;min-height:52px;padding:0 20px 0 18px;position:relative;transition:color .18s ease,transform .18s ease;width:100%}.sidebar-nav button:hover,.sidebar-footer button:hover{background:transparent;color:#fff;transform:translate(2px)}:root[data-theme=dark] .sidebar-nav button:hover,:root[data-theme=dark] .sidebar-footer button:hover{background:transparent;color:#fff}.sidebar-nav .selected{background:#f6fbff;border-radius:32px 0 0 32px;box-shadow:-12px 10px 26px #022c2e29;color:#0f766e;overflow:visible;transform:none}:root[data-theme=dark] .sidebar-nav .selected{background:#07141b;box-shadow:-12px 12px 30px #00000052;color:#5eead4}.sidebar-nav .selected:before,.sidebar-nav .selected:after{background:transparent;border-radius:50%;box-shadow:16px 16px #f6fbff;content:"";height:28px;right:0;position:absolute;width:28px}.sidebar-nav .selected:before{top:-28px}.sidebar-nav .selected:after{bottom:-28px;box-shadow:16px -16px #f6fbff}:root[data-theme=dark] .sidebar-nav .selected:before{box-shadow:16px 16px #07141b}:root[data-theme=dark] .sidebar-nav .selected:after{box-shadow:16px -16px #07141b}.sidebar-nav .selected svg{color:#0f766e;filter:none}:root[data-theme=dark] .sidebar-nav .selected svg{color:#5eead4;filter:none}.app-sidebar.collapsed .sidebar-brand,.app-sidebar.collapsed .sidebar-nav button,.app-sidebar.collapsed .sidebar-footer button{justify-content:center}.app-sidebar.collapsed .sidebar-brand{display:flex;gap:8px;justify-content:center;padding:0;width:100%}.app-sidebar.collapsed .sidebar-nav,.app-sidebar.collapsed .sidebar-footer{justify-items:center;width:100%}.app-sidebar.collapsed .sidebar-nav button,.app-sidebar.collapsed .sidebar-footer button{flex-shrink:0;height:52px;min-height:52px;min-width:0;overflow:hidden;padding:0;width:58px}.app-sidebar.collapsed .sidebar-nav .selected{border-radius:29px 0 0 29px;width:100%}.app-sidebar.collapsed .sidebar-nav .selected:before,.app-sidebar.collapsed .sidebar-nav .selected:after{display:block}.app-sidebar.collapsed .sidebar-nav button svg,.app-sidebar.collapsed .sidebar-footer button svg{flex:0 0 auto;height:20px;width:20px}.app-sidebar.collapsed .sidebar-collapse-button{height:34px;margin-left:auto;margin-right:0;min-height:34px;width:44px}:root[data-theme=dark] .app-sidebar.collapsed .sidebar-collapse-button{background:#07141b;box-shadow:-8px 8px 22px #00000042}.app-sidebar.collapsed .sidebar-label{display:none}.sidebar-footer{align-self:end;border-top:1px solid rgba(255,255,255,.12);margin-right:14px;padding:12px 0 0}:root[data-theme=dark] .sidebar-footer{border-top-color:#94a3b824}.sidebar-footer>span{color:#eafffbb8;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme=dark] .sidebar-footer>span{color:#e5fff9b3}.logo-lockup{align-items:center;display:flex;gap:10px}.logo-lockup div{display:grid}.logo-lockup span,.muted{color:#667085}:root[data-theme=dark] .logo-lockup span,:root[data-theme=dark] .muted,:root[data-theme=dark] .song-row span,:root[data-theme=dark] .confirm-modal-header p{color:#9fb0c4}.submit-panel,.status-panel,.youtube-gate{display:grid;gap:14px;margin-bottom:18px;padding:18px}.submit-panel{position:relative}.submit-panel-content{display:grid;gap:14px;transition:filter .16s ease,opacity .16s ease}.submit-panel-header{align-items:start;display:flex;gap:16px;justify-content:space-between}.admin-processing-options{align-items:center;color:var(--muted);display:flex;gap:10px;justify-content:flex-end;margin-left:auto;min-width:fit-content}.admin-processing-options span{align-items:center;color:var(--text);display:inline-flex;font-size:.9rem;font-weight:700;gap:7px;white-space:nowrap}.admin-processing-options svg{color:#0f766e}.admin-processing-options select{background:var(--surface);border:1px solid rgba(15,23,42,.14);border-radius:8px;color:var(--text);font:inherit;min-height:36px;padding:0 10px}:root[data-theme=dark] .admin-processing-options select{background:#0f172ae0;border-color:#ffffff29}:root[data-theme=dark] .admin-processing-options svg{color:#5eead4}.song-search-loading .submit-panel-content{filter:blur(2px);opacity:.48}.song-search-loading-indicator{align-items:center;background:#ffffffc2;border:1px solid rgba(148,163,184,.26);border-radius:8px;box-shadow:0 18px 48px #0f172a24;color:#1e2228;display:inline-flex;gap:10px;justify-self:center;left:50%;padding:12px 16px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}:root[data-theme=dark] .song-search-loading-indicator{background:#0f172ad6;border-color:#94a3b83d;box-shadow:0 20px 56px #00000057;color:#e5eef8}.song-search-loading-indicator strong{font-size:14px;white-space:nowrap}.song-search-spinner{animation:spin .78s linear infinite;border:3px solid rgba(20,184,166,.24);border-top-color:#0f766e;border-radius:999px;height:22px;width:22px}:root[data-theme=dark] .song-search-spinner{border-color:#5eead43d;border-top-color:#5eead4}.youtube-gate{align-items:center;grid-template-columns:minmax(0,1fr) auto}.youtube-shortcut{align-items:center;background:linear-gradient(145deg,#ffffff1f,#ffffff38);-webkit-backdrop-filter:blur(30px) saturate(1.28);backdrop-filter:blur(30px) saturate(1.28);border:1px solid rgba(255,255,255,.42);border-radius:8px;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:18px;padding:14px 16px}.youtube-shortcut.ok{background:linear-gradient(145deg,#ecfdf5c7,#f0fdfa9e);border-color:#10b98142}.youtube-shortcut.warning{background:linear-gradient(145deg,#fffbebd1,#fff7edad);border-color:#f59e0b4d}:root[data-theme=dark] .youtube-shortcut{background:linear-gradient(145deg,#0f172a2e,#08131c47);border-color:#e2e8f024}:root[data-theme=dark] .youtube-shortcut.ok{background:linear-gradient(145deg,#064e3b3d,#14532d29);border-color:#34d3993d}:root[data-theme=dark] .youtube-shortcut.warning{background:linear-gradient(145deg,#78350f42,#451a032e);border-color:#fbbf243d}.youtube-shortcut strong,.youtube-shortcut p{margin:0}.youtube-shortcut-icon{align-items:center;border-radius:999px;display:inline-flex;height:42px;justify-content:center;width:42px}.youtube-shortcut.ok .youtube-shortcut-icon{background:#10b98124;color:#047857}.youtube-shortcut.warning .youtube-shortcut-icon{background:#f59e0b29;color:#b45309}:root[data-theme=dark] .youtube-shortcut.ok .youtube-shortcut-icon{background:#34d39924;color:#6ee7b7}:root[data-theme=dark] .youtube-shortcut.warning .youtube-shortcut-icon{background:#fbbf2424;color:#fde68a}.youtube-icon{align-items:center;background:#fee2e2;border-radius:8px;color:#b91c1c;display:inline-flex;height:48px;justify-content:center;margin-bottom:12px;width:48px}.youtube-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.file-button{align-items:center;background:#fff;border:1px solid #d7dce2;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:700;min-height:40px;padding:0 14px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}:root[data-theme=dark] .file-button,:root[data-theme=dark] .artifact-actions a{background:#0f172ae0;border-color:#94a3b847;color:#e5eef8}.file-button input{height:1px;opacity:0;position:absolute;width:1px}.cookie-paste{display:grid;gap:10px;grid-column:1 / -1}.cookie-paste textarea{border:1px solid #d7dce2;border-radius:8px;font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;min-height:132px;padding:12px;resize:vertical;width:100%}.cookie-paste-actions{display:flex;flex-wrap:wrap;gap:10px}.submit-panel h2,.library h2,.empty-state h2{margin:0 0 6px}.url-row{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto}.song-search-results{display:grid;gap:10px}.song-search-result{align-items:center;background:#ffffff57;border:1px solid rgba(148,163,184,.22);border-radius:8px;display:grid;gap:12px;grid-template-columns:78px minmax(0,1fr) auto;padding:10px}:root[data-theme=dark] .song-search-result{background:#0f172a52;border-color:#94a3b829}.song-search-result img,.song-search-thumb{aspect-ratio:16 / 9;background:#0f172a24;border-radius:6px;object-fit:cover;width:78px}.song-search-result div{display:grid;gap:4px;min-width:0}.song-search-result strong,.song-search-result span,.song-search-result p{margin:0;min-width:0;overflow-wrap:anywhere}.song-search-result strong{color:#1e2228;font-weight:900}:root[data-theme=dark] .song-search-result strong{color:#e5eef8}.song-search-result span,.song-search-result p{color:#667085;font-size:13px}:root[data-theme=dark] .song-search-result span,:root[data-theme=dark] .song-search-result p{color:#94a3b8}.song-search-result em{color:#0f766e;font-size:12px;font-style:normal;font-weight:900;text-transform:uppercase}:root[data-theme=dark] .song-search-result em{color:#5eead4}.song-search-result button{white-space:nowrap}.status-title,.panel-heading,.control-row,.score-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.status-title{justify-content:flex-start}.processing-message{animation:processing-message-swap .46s ease both;color:#344054;font-weight:700;margin:0;min-height:1.45em;transform-origin:left center}:root[data-theme=dark] .processing-message{color:#d7e3f1}.toggle-control,.sing-toggle-control{align-items:center;background:#ffffff2e;border:1px solid rgba(148,163,184,.24);border-radius:8px;color:#475467;cursor:pointer;display:inline-flex;font-size:14px;font-weight:800;gap:8px;min-height:40px;padding:0 12px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.toggle-control.checked,.sing-toggle-control.checked{background:#14b8a624;border-color:#14b8a661;color:#0f766e}:root[data-theme=dark] .toggle-control,:root[data-theme=dark] .sing-toggle-control{background:#0f172a42;border-color:#94a3b838;color:#cbd5e1}:root[data-theme=dark] .toggle-control.checked,:root[data-theme=dark] .sing-toggle-control.checked{background:#2dd4bf21;border-color:#2dd4bf57;color:#5eead4}.toggle-control input,.sing-toggle-control input{height:1px;margin:0;opacity:0;position:absolute;width:1px}.guide-control{align-items:center;display:grid;gap:10px}.score-card>.toggle-control,.score-card .guide-control .toggle-control{justify-content:center;width:100%}.score-card>.toggle-control:hover,.score-card .guide-control .toggle-control:hover{background:#ffffff57;border-color:#14b8a66b;box-shadow:0 10px 24px #0f172a1f;transform:translateY(-1px)}.score-card>.toggle-control:active,.score-card .guide-control .toggle-control:active{box-shadow:none;transform:translateY(0)}:root[data-theme=dark] .score-card>.toggle-control:hover,:root[data-theme=dark] .score-card .guide-control .toggle-control:hover{background:#0f172ab8;border-color:#2dd4bf73;box-shadow:0 12px 28px #00000047}.artifact-actions{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.artifact-actions a{align-items:center;border:1px solid #d7dce2;border-radius:8px;color:#1e2228;display:inline-flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;min-height:38px;min-width:0;padding:0 12px;text-decoration:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;width:100%;white-space:nowrap}.artifact-actions a svg{flex:0 0 auto}.artifact-actions a span{min-width:0;overflow:hidden;text-overflow:ellipsis}.range-control,.sing-guide-control{align-items:center;display:flex;gap:10px}.range-control span{color:#667085;font-size:13px;font-weight:700;min-width:38px}.range-control input,.sing-guide-control input[type=range]{accent-color:#0f766e}.song-progress-control{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;width:100%}.song-progress-control input[type=range]{accent-color:#0f766e;min-width:0;width:100%}.song-progress-control input[type=range]:disabled{cursor:not-allowed;opacity:.55}.song-progress-time{color:#667085;font-size:12px;font-variant-numeric:tabular-nums;font-weight:800;min-width:38px;text-align:center}:root[data-theme=dark] .song-progress-time{color:#94a3b8}.sing-progress-control{background:#0f172ad6;border-bottom:1px solid rgba(148,163,184,.18);padding:10px 22px}.sing-progress-control .song-progress-time{color:#cbd5e1}.mic-control-stack{display:grid;flex:1 1 150px;gap:8px}.mic-control-stack button{width:100%}.progress-track{background:#e8edf2;border-radius:999px;height:10px;overflow:hidden;position:relative}:root[data-theme=dark] .progress-track{background:#334155c7}:root[data-theme=dark] .progress-track span{background:#5eead4}.progress-track span{background:#0f766e;display:block;height:100%;position:relative;transition:width .7s cubic-bezier(.22,1,.36,1)}.progress-track span:after{animation:progress-shimmer 1.4s linear infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);content:"";top:0;right:0;bottom:0;left:0;position:absolute;transform:translate(-100%)}.workspace{--karaoke-panel-height: clamp(640px, calc(100vh - 185px) , 760px);align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(380px,440px) minmax(0,1fr)}.settings-panel,.profile-panel{display:grid;gap:16px}.settings-heading,.settings-tabs,.settings-grid{display:grid;gap:12px}.settings-heading{align-items:center;grid-template-columns:minmax(0,1fr) auto}.settings-heading-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.settings-heading h2,.settings-heading p,.admin-card-heading p,.admin-card h3{margin:0}.settings-tabs{grid-template-columns:repeat(2,minmax(0,180px))}.settings-tabs button{justify-content:flex-start}.settings-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.admin-card{background:linear-gradient(145deg,#ffffff1f,#ffffff38);-webkit-backdrop-filter:blur(34px) saturate(1.36);backdrop-filter:blur(34px) saturate(1.36);border:1px solid rgba(255,255,255,.48);border-radius:8px;box-shadow:0 22px 64px #0f172a1a,inset 0 1px #ffffff47;display:grid;gap:14px;padding:18px}.user-management-card{margin:0 auto;max-width:1040px;overflow:visible;width:min(100%,1040px)}.profile-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.profile-account-card,.youtube-profile-card,.youtube-helper-card{overflow:hidden}.youtube-profile-card{align-content:center;justify-items:center;text-align:center}.youtube-profile-card .admin-card-heading{justify-content:center;max-width:520px;width:100%}.youtube-profile-card .admin-card-heading>div:first-child{display:grid;gap:6px;justify-items:center}.youtube-profile-title{align-items:center;display:inline-flex;gap:10px;justify-content:center}.youtube-profile-card .profile-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;max-width:520px;width:100%}.youtube-profile-card .profile-status-card{justify-items:center}.youtube-profile-card .profile-action-row{justify-content:center}.profile-card-icon{align-items:center;background:#e0f2fe;border-radius:8px;color:#075985;display:inline-flex;height:44px;justify-content:center;width:44px}:root[data-theme=dark] .profile-card-icon{background:#14b8a624;color:#5eead4}.youtube-profile-icon{background:#fee2e2;color:#b91c1c}:root[data-theme=dark] .youtube-profile-icon{background:#f8717129;color:#fca5a5}.profile-detail-list{display:grid;gap:12px;margin:0}.profile-detail-list div{align-items:center;border-bottom:1px solid rgba(148,163,184,.18);display:flex;gap:12px;justify-content:space-between;padding-bottom:10px}.profile-detail-list div:last-child{border-bottom:0;padding-bottom:0}.profile-detail-list dt{color:#667085;font-weight:700}:root[data-theme=dark] .profile-detail-list dt{color:#9fb0c4}.profile-detail-list dd{font-weight:800;margin:0;text-align:right}.profile-status-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.profile-status-card{background:#ffffff7a;border:1px solid rgba(148,163,184,.22);border-radius:8px;display:grid;gap:6px;min-height:126px;padding:12px}:root[data-theme=dark] .profile-status-card{background:#0f172a75;border-color:#94a3b829}.profile-status-card svg{color:#64748b}.profile-status-card.ready svg{color:#0f766e}:root[data-theme=dark] .profile-status-card.ready svg{color:#5eead4}.profile-status-card span{color:#667085;font-size:13px}:root[data-theme=dark] .profile-status-card span{color:#9fb0c4}.profile-action-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.download-helper-button{align-items:center;background:#0f766e;border:1px solid #0f766e;border-radius:8px;color:#fff;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:40px;padding:0 14px;text-decoration:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}:root[data-theme=dark] .download-helper-button{background:#14b8a6;border-color:#5eead4;color:#031412}.helper-steps{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.helper-steps>div{align-items:flex-start;background:#ffffff7a;border:1px solid rgba(148,163,184,.18);border-radius:8px;display:flex;gap:10px;min-height:82px;padding:12px}:root[data-theme=dark] .helper-steps>div{background:#0f172a75;border-color:#94a3b829}.helper-steps>div>div{display:grid;gap:8px}.helper-steps span{align-items:center;background:#0f766e;border-radius:999px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:900;height:24px;justify-content:center;width:24px}.helper-token-panel{background:#0f766e14;border:1px solid rgba(15,118,110,.18);border-radius:8px;display:grid;gap:12px;padding:14px}:root[data-theme=dark] .helper-token-panel{background:#14b8a61a;border-color:#5eead42e}.helper-token-panel>div:first-child{display:grid;gap:4px}.helper-token-panel span{color:#667085;font-size:13px}:root[data-theme=dark] .helper-token-panel span{color:#9fb0c4}.helper-token-value{align-items:center;background:#ffffffad;border:1px solid rgba(148,163,184,.2);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;padding:10px 12px}:root[data-theme=dark] .helper-token-value{background:#0f172a70;border-color:#94a3b829}.helper-token-value code{color:#0f766e;font-size:14px;font-weight:900;overflow-wrap:anywhere}:root[data-theme=dark] .helper-token-value code{color:#5eead4}.manual-cookie-area{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.manual-cookie-section{border-top:1px solid rgba(148,163,184,.18);display:grid;gap:12px;padding-top:4px}.manual-cookie-toggle{background:#ffffff5c;border-color:#94a3b838;justify-content:space-between;min-height:58px;padding:10px 12px;text-align:left;width:100%}:root[data-theme=dark] .manual-cookie-toggle{background:#0f172a75;border-color:#94a3b829}.manual-cookie-toggle div{display:grid;gap:2px}.manual-cookie-toggle span{color:#667085;font-size:13px;font-weight:500}:root[data-theme=dark] .manual-cookie-toggle span{color:#9fb0c4}.manual-cookie-toggle svg{transition:transform .16s ease}.manual-cookie-toggle svg.expanded{transform:rotate(180deg)}.admin-card-heading{align-items:center;display:flex;justify-content:space-between}:root[data-theme=dark] .admin-card{background:linear-gradient(145deg,#0f172a2e,#08131c47);border-color:#e2e8f026;box-shadow:0 24px 84px #00000047,inset 0 1px #ffffff12}.admin-card label,.admin-user-list,.subscription-list{display:grid;gap:10px}.admin-user-row,.subscription-row{align-items:center;background:#ffffff24;border:1px solid rgba(255,255,255,.26);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto 44px;overflow:visible;padding:12px;position:relative}:root[data-theme=dark] .admin-user-row,:root[data-theme=dark] .subscription-row{background:#0f172a33;border-color:#94a3b82e}.admin-user-row div,.subscription-row div{min-width:0}.admin-user-main{display:grid;gap:4px}.admin-user-row span,.subscription-row span{color:#667085;overflow:hidden;text-overflow:ellipsis}:root[data-theme=dark] .admin-user-row span,:root[data-theme=dark] .subscription-row span{color:#9fb0c4}.subscription-row select{min-width:120px}.admin-user-badges{align-items:center;display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.admin-plan-badge,.admin-status-badge,.admin-role-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;min-height:28px;padding:5px 10px;text-transform:uppercase}.admin-plan-badge{background:#14b8a624;border:1px solid rgba(20,184,166,.26);color:#0f766e}.admin-status-badge.active{background:#16a34a1f;border:1px solid rgba(22,163,74,.24);color:#15803d}.admin-status-badge.inactive{background:#94a3b824;border:1px solid rgba(148,163,184,.26);color:#64748b}.admin-role-badge{background:#6366f121;border:1px solid rgba(99,102,241,.25);color:#4f46e5}:root[data-theme=dark] .admin-plan-badge{background:#2dd4bf24;border-color:#2dd4bf47;color:#5eead4}:root[data-theme=dark] .admin-status-badge.active{background:#22c55e21;border-color:#22c55e42;color:#86efac}:root[data-theme=dark] .admin-status-badge.inactive{background:#64748b2e;border-color:#94a3b833;color:#cbd5e1}:root[data-theme=dark] .admin-role-badge{background:#818cf826;border-color:#818cf84d;color:#c4b5fd}.row-action-wrap{align-items:center;display:flex;justify-content:flex-end;position:relative}.row-menu-trigger{height:38px;width:38px}.row-action-menu{background:#fffffff0;-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12);border:1px solid rgba(203,213,225,.72);border-radius:8px;box-shadow:0 14px 34px #0f172a24;display:grid;gap:4px;min-width:210px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:40}:root[data-theme=dark] .row-action-menu{background:#0f172af0;border-color:#94a3b833;box-shadow:0 16px 42px #00000057}.row-action-menu button{background:transparent;border:0;border-radius:8px;box-shadow:none;color:#344054;justify-content:flex-start;min-height:38px;padding:0 10px;transform:none;width:100%}:root[data-theme=dark] .row-action-menu button{background:transparent;color:#d7e3f1}.row-action-menu button:hover{background:#14b8a617;border-color:transparent;box-shadow:none;color:#0f766e;transform:none}:root[data-theme=dark] .row-action-menu button:hover{background:#2dd4bf1f;color:#5eead4}.row-action-menu .row-danger-button{color:#b42318}.row-action-menu .row-danger-button:hover{background:#b4231814;color:#b42318}:root[data-theme=dark] .row-action-menu .row-danger-button{color:#fca5a5}:root[data-theme=dark] .row-action-menu .row-danger-button:hover{background:#f871711f;color:#fecaca}.admin-modal-surface{max-width:520px}.admin-modal-form{display:grid;gap:12px}.admin-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-row-actions button{min-height:34px}.danger-button{border-color:#dc262666;color:#b42318;padding:0;width:38px}:root[data-theme=dark] .danger-button{border-color:#f8717161;color:#fca5a5}.active-song-panel{display:grid;gap:12px;min-width:0}.workspace>.empty-state{align-content:center;justify-items:center;min-height:var(--karaoke-panel-height);text-align:center}.workspace>.empty-state p{margin:0;max-width:420px}.active-song-actions{display:flex;justify-content:flex-end}.library{display:grid;gap:14px;grid-template-rows:auto auto minmax(0,1fr);height:var(--karaoke-panel-height);max-height:var(--karaoke-panel-height);min-height:var(--karaoke-panel-height);min-width:0;overflow:hidden;padding:18px}.library-header{align-items:start;display:flex;gap:14px;justify-content:space-between;min-width:0}.library-header h2,.library-header p{margin:0}.library-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.library-clear-button{background:transparent!important;border-color:#94a3b83d;border-radius:8px;color:#667085;font-size:12px;font-weight:800;min-height:34px;padding:0 11px}.library-clear-button:hover{border-color:#14b8a64d;color:#0f766e}.library-clear-button.danger{color:#b42318}:root[data-theme=dark] .library-clear-button{border-color:#94a3b82e;color:#9fb0c4}:root[data-theme=dark] .library-clear-button:hover{border-color:#5eead447;color:#5eead4}:root[data-theme=dark] .library-clear-button.danger{color:#fca5a5}.library-filters{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.library-search{grid-column:1 / -1}.library-filters label{display:grid;gap:6px}.library-table{display:grid;align-content:start;gap:8px;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:0 4px 4px 0;scroll-padding-top:38px;scrollbar-color:rgba(20,184,166,.45) transparent}.library-table-head,.library-table-row{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(92px,.32fr) 36px;min-width:0}.library-table-head{background:linear-gradient(135deg,#ffffff24,#14b8a614);-webkit-backdrop-filter:blur(22px) saturate(1.24);backdrop-filter:blur(22px) saturate(1.24);border:1px solid rgba(255,255,255,.38);border-radius:8px;box-shadow:0 12px 30px #0f172a14,inset 0 1px #ffffff42;color:#475467;font-size:11px;font-weight:900;letter-spacing:.04em;padding:8px 10px;position:sticky;top:0;text-transform:uppercase;z-index:4}:root[data-theme=dark] .library-table-head{background:linear-gradient(135deg,#0f172ab8,#14b8a61f);border-color:#e2e8f026;box-shadow:0 18px 42px #00000042,inset 0 1px #ffffff14;color:#b9c8d8}.library-table-row{background:#ffffff80;border:1px solid rgba(148,163,184,.18);border-radius:8px;min-height:88px;padding:14px 10px 14px 14px;position:relative;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.library-table-row>*{justify-self:stretch;min-width:0}.library-table-row:hover{background:#14b8a614}.library-table-row.selected{background:linear-gradient(90deg,#14b8a629,#14b8a60a);border-color:#14b8a647;box-shadow:inset 3px 0 #14b8a6c7}:root[data-theme=dark] .library-table-row{background:#0f172a61;border-color:#94a3b824}:root[data-theme=dark] .library-table-row:hover{background:#2dd4bf14}:root[data-theme=dark] .library-table-row.selected{background:linear-gradient(90deg,#2dd4bf29,#0f172a05);border-color:#2dd4bf47;box-shadow:inset 3px 0 #5eead4db}.library-song-cell{align-items:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;color:inherit;display:grid;gap:6px;height:auto;justify-items:start;min-height:42px;min-width:0;padding:0;place-content:center start;text-align:left;width:100%}.library-song-cell:hover{background:transparent!important}.library-song-cell:focus-visible{outline:1px solid rgba(20,184,166,.5);outline-offset:3px}.library-song-cell:disabled{cursor:default;opacity:.65}.library-song-cell strong{display:block;line-height:1.24;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-song-cell span{color:#667085;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-status-cell{display:grid;gap:8px;justify-items:start;min-width:0;text-align:left}.library-status-cell span{color:#667085;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-song-cell em{background:#14b8a61f;border:1px solid rgba(20,184,166,.2);border-radius:999px;color:#0f766e;font-size:12px;font-style:normal;font-weight:800;justify-self:start;max-width:100%;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}:root[data-theme=dark] .library-song-cell span,:root[data-theme=dark] .library-status-cell span{color:#9fb0c4}:root[data-theme=dark] .library-song-cell em{background:#2dd4bf21;border-color:#2dd4bf3d;color:#5eead4}.song-row-menu-wrap{align-items:start;display:flex;justify-self:end;justify-content:center;position:relative;padding-top:0;width:38px}.song-row-menu-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent!important;border:1px solid transparent!important;border-radius:8px;box-shadow:none!important;color:#667085;height:34px;min-height:34px;padding:0;width:34px}.song-row-menu-trigger:hover{background:#14b8a614!important;border-color:#14b8a62e!important;color:#0f766e}:root[data-theme=dark] .song-row-menu-trigger{color:#9fb0c4}:root[data-theme=dark] .song-row-menu-trigger:hover{color:#5eead4}.song-action-menu{right:0;top:calc(100% + 8px)}.library-empty{margin:10px 2px}.song-row-progress{background:#e2e8f0e6;border-radius:999px;height:6px;overflow:hidden;position:relative;width:100%}:root[data-theme=dark] .song-row-progress{background:#334155bd}.song-row-progress span{background:#0f766e;display:block;height:100%;min-width:8px;position:relative;transition:width .7s cubic-bezier(.22,1,.36,1)}.song-row-progress span:after{animation:progress-shimmer 1.4s linear infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);content:"";top:0;right:0;bottom:0;left:0;position:absolute;transform:translate(-100%)}:root[data-theme=dark] .song-row-progress span{background:#5eead4}.selected{border-color:#0f766e}:root[data-theme=dark] .selected{border-color:#5eead4;box-shadow:inset 0 0 0 1px #5eead440}.karaoke-grid{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(320px,380px);height:var(--karaoke-panel-height);min-width:0}.karaoke-grid>*{animation:karaoke-panel-enter .24s ease both}.karaoke-grid>*:nth-child(2){animation-delay:45ms}.lyrics-card{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:var(--karaoke-panel-height);max-height:var(--karaoke-panel-height);min-height:var(--karaoke-panel-height);padding:24px}.song-ai-details{align-self:start;background:linear-gradient(145deg,#ffffff1a,#ffffff2e);border:1px solid rgba(255,255,255,.24);border-radius:8px;box-shadow:inset 0 1px #ffffff29;margin-top:16px;overflow:hidden;transform-origin:top center;transition:max-height .22s ease,opacity .18s ease,transform .18s ease}.song-ai-details.open{animation:karaoke-collapse-open .22s ease both;max-height:min(300px,38vh)}:root[data-theme=dark] .song-ai-details{background:linear-gradient(145deg,#0f172a1f,#08131c38);border-color:#e2e8f021;box-shadow:inset 0 1px #ffffff12}.song-ai-toggle{align-items:center;background:transparent;border:0;border-radius:0;color:inherit;display:grid;font-weight:800;gap:10px;grid-template-columns:auto 1fr auto;height:auto;justify-items:start;padding:15px 16px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;width:100%}.song-ai-toggle:hover{background:#ffffff1f}:root[data-theme=dark] .song-ai-toggle:hover{background:#ffffff0f}.song-ai-toggle svg:last-child{justify-self:end;transition:transform .16s ease}.song-ai-details.open .song-ai-toggle svg:last-child{transform:rotate(180deg)}.song-ai-content{display:grid;gap:12px;line-height:1.55;max-height:calc(min(300px,38vh) - 54px);overflow-y:auto;padding:2px 18px 18px;scrollbar-color:rgba(20,184,166,.45) transparent}.song-ai-content .ai-summary{background:#ffffff29;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#243040;padding:14px 15px}:root[data-theme=dark] .song-ai-content .ai-summary{background:#0f172a2e;border-color:#e2e8f01f;color:#dbeafe}.song-ai-content article{border-top:1px solid rgba(15,23,42,.1);display:grid;gap:6px;padding-top:12px}:root[data-theme=dark] .song-ai-content article{border-top-color:#94a3b82e}.song-ai-content p{margin:0}.track-info-list{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:8px;display:grid;gap:8px;padding:12px 14px}:root[data-theme=dark] .track-info-list{background:#0f172a29;border-color:#e2e8f01a}.track-info-list div,.track-info-list{min-width:0}.track-info-list div{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.track-info-list span{color:#667085;font-size:12px;font-weight:800;text-transform:uppercase}.track-info-list strong{color:#243040;font-size:13px;overflow-wrap:anywhere;text-align:right}:root[data-theme=dark] .track-info-list span{color:#94a3b8}:root[data-theme=dark] .track-info-list strong{color:#dbeafe}.ai-refinement-details{border-top:1px solid rgba(15,23,42,.1);padding-top:10px}:root[data-theme=dark] .ai-refinement-details{border-top-color:#94a3b82e}.ai-refinement-details summary{align-items:center;color:#0f766e;cursor:pointer;display:flex;font-weight:900;justify-content:space-between;list-style:none}.ai-refinement-details summary::-webkit-details-marker{display:none}.ai-refinement-details summary:after{border-bottom:2px solid currentColor;border-right:2px solid currentColor;content:"";height:7px;transform:rotate(45deg);transition:transform .16s ease;width:7px}.ai-refinement-details[open] summary:after{transform:rotate(225deg)}:root[data-theme=dark] .ai-refinement-details summary{color:#5eead4}.ai-refinement-details>div{display:grid;gap:12px;padding-top:10px}.lyrics-card h2,.score-card h3,.recommendations h3{margin:0}.status-pill{align-items:center;background:#e7f8f5;border-radius:999px;color:#0f766e;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:700;min-height:30px;padding:6px 10px}:root[data-theme=dark] .status-pill{background:#14b8a629;color:#5eead4}.badge-stack{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-items:end;justify-content:flex-end}.ai-pill{align-items:center;background:#fff7ed;border:1px solid rgba(251,146,60,.22);border-radius:999px;color:#9a3412;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.song-menu-button{min-height:34px;width:38px}:root[data-theme=dark] .ai-pill{background:#fbbf2421;border-color:#fbbf243d;color:#fde68a}.song-title-block{flex:1 1 320px;min-width:0}.song-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px 10px;min-width:0}.song-title-row h2{min-width:0;overflow-wrap:anywhere}.ai-summary{background:#ffffff1f;-webkit-backdrop-filter:blur(24px) saturate(1.24);backdrop-filter:blur(24px) saturate(1.24);border:1px solid rgba(255,255,255,.32);border-radius:8px;color:#475467;line-height:1.45;margin:18px 0 0;padding:12px}:root[data-theme=dark] .ai-summary{background:#0206172e;border-color:#e2e8f01f;color:#d7e1ee}.lyrics-preview-list{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin-top:24px;max-height:420px;min-height:0;overflow-y:auto;padding:6px 10px 28px 0;scroll-behavior:smooth;scrollbar-color:#cbd5e1 transparent}.lyric-line-row{contain:layout paint;display:block;flex:0 0 auto;isolation:isolate;position:relative;width:100%;z-index:0}.lyrics-preview-list .lyric-line-row{max-width:900px}:root[data-theme=dark] .lyrics-preview-list .lyric-line-row{background:transparent;border-color:transparent;box-shadow:none;color:#7e8ba0}.sing-lyrics .lyric-line-row{max-width:1120px}.lyrics-preview-list .lyric-line-row{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0;box-shadow:none;color:#7b8796;display:block;font-size:clamp(18px,2vw,24px);font-weight:800;height:auto;letter-spacing:.025em;line-height:normal;margin:0;min-height:0;padding:0;position:relative;text-align:left;opacity:.62;transition:color .16s ease,opacity .16s ease,text-shadow .16s ease,transform .16s ease;width:100%;z-index:1}.lyric-line-hitbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;color:inherit;cursor:pointer;display:block;height:auto;min-height:0;padding:0;pointer-events:auto;text-align:inherit;width:100%}.lyric-line-hitbox:focus-visible{outline:1px solid rgba(20,184,166,.42);outline-offset:2px}.lyrics-preview-wait-cue{align-items:center;display:inline-flex;gap:8px;justify-content:flex-start;min-height:28px;width:100%}.lyrics-preview-wait-cue span{animation:wait-cue-pulse 1.16s ease-in-out infinite;background:#2dd4bf;border-radius:999px;box-shadow:0 0 14px #2dd4bf6b;display:block;height:8px;width:8px}.lyrics-preview-wait-cue span:nth-child(2){animation-delay:.14s}.lyrics-preview-wait-cue span:nth-child(3){animation-delay:.28s}.lyrics-preview-list .lyric-line-row:not(.active-line):hover{color:#425066;opacity:.82}:root[data-theme=dark] .lyrics-preview-list .lyric-line-row:not(.active-line):hover{color:#b8c5d8;opacity:.82}.lyrics-preview-list .lyric-line-hitbox span{display:inline;line-height:1.75;padding:0;white-space:normal;word-break:normal;overflow-wrap:break-word;word-spacing:.12em}.lyrics-preview-list .dense-lyric{font-size:clamp(16px,1.7vw,21px)}.lyrics-preview-list .lyric-line-row.dense-lyric{max-width:760px}.lyrics-preview-list .dense-lyric .lyric-line-hitbox span{line-height:1.85}.lyrics-preview-list .very-dense-lyric{font-size:clamp(15px,1.55vw,19px)}.lyrics-preview-list .lyric-line-row.very-dense-lyric{max-width:680px}.lyrics-preview-list .very-dense-lyric .lyric-line-hitbox span{line-height:1.95}.lyrics-preview-list .active-line{background:transparent;border:0;box-shadow:none;color:#111827;opacity:1;transform:translate(4px)}.lyrics-preview-list .active-line:before{background:linear-gradient(90deg,#14b8a600,#14b8a638,#3b82f600);content:"";height:2px;left:0;position:absolute;right:22%;top:50%;transform:translateY(1.25em)}.lyrics-preview-list .active-line .lyric-line-hitbox span{color:#0f172a;position:relative;text-shadow:0 0 16px rgba(20,184,166,.62),0 0 36px rgba(59,130,246,.24)}.lyrics-preview-list .bonus-lyric-line{color:#7c3aed;font-size:clamp(15px,1.45vw,18px);font-style:italic;opacity:.68}.lyrics-preview-list .bonus-lyric-line.active-line .lyric-line-hitbox span{color:#6d28d9;text-shadow:0 0 14px rgba(124,58,237,.34)}:root[data-theme=dark] .lyrics-preview-list .active-line{background:transparent;border:0;box-shadow:none;color:#f8fafc}:root[data-theme=dark] .lyrics-preview-list .active-line:before{background:linear-gradient(90deg,#5eead400,#5eead447,#60a5fa00)}:root[data-theme=dark] .lyrics-preview-list .active-line .lyric-line-hitbox span{color:#f8fafc;text-shadow:0 0 20px rgba(94,234,212,.68),0 0 46px rgba(96,165,250,.32)}:root[data-theme=dark] .lyrics-preview-list .bonus-lyric-line{color:#c4b5fd}:root[data-theme=dark] .lyrics-preview-list .bonus-lyric-line.active-line .lyric-line-hitbox span{color:#ddd6fe;text-shadow:0 0 18px rgba(167,139,250,.48)}.sing-modal{align-items:stretch;animation:karaoke-backdrop-in .18s ease both;background:#020617b8;display:grid;top:0;right:0;bottom:0;left:0;isolation:isolate;padding:24px;position:fixed;z-index:20}.confirm-modal{align-items:center;animation:karaoke-backdrop-in .18s ease both;background:#0f172a94;display:grid;top:0;right:0;bottom:0;left:0;justify-items:center;padding:18px;position:fixed;z-index:30}.confirm-modal-surface{animation:karaoke-modal-in .22s cubic-bezier(.2,.8,.2,1) both;background:linear-gradient(145deg,#ffffff29,#ffffff47);-webkit-backdrop-filter:blur(34px) saturate(1.34);backdrop-filter:blur(34px) saturate(1.34);border-radius:8px;box-shadow:0 24px 80px #0f172a47;display:grid;gap:16px;max-width:520px;padding:20px;width:min(100%,520px)}:root[data-theme=dark] .confirm-modal-surface{background:linear-gradient(145deg,#0f172a3d,#08131c5c);-webkit-backdrop-filter:blur(38px) saturate(1.42);backdrop-filter:blur(38px) saturate(1.42);border:1px solid rgba(148,163,184,.16);color:#e5eef8}.confirm-modal-header,.confirm-modal-actions{align-items:center;display:flex;gap:14px;justify-content:space-between}.confirm-modal-header h2,.confirm-modal-header p{margin:0}.danger-confirm-button{background:#b42318;border-color:#b42318;color:#fff}:root[data-theme=dark] .danger-confirm-button{background:#f87171;border-color:#fca5a5;color:#2b0909}.confirm-modal-header p{color:#667085}.confirm-modal-surface label{display:grid;gap:8px;font-weight:700}.youtube-cookie-modal-surface{max-height:min(720px,calc(100vh - 36px));max-width:720px;overflow:auto;width:min(100%,720px)}.processing-error-modal-surface{max-width:560px}.processing-error-message{background:#b4231814;border:1px solid rgba(180,35,24,.22);border-radius:8px;color:#7a271a;line-height:1.55;margin:0;padding:14px}:root[data-theme=dark] .processing-error-message{background:#f871711f;border-color:#f871713d;color:#fecaca}.cookie-option-list{display:grid;gap:12px}.cookie-option{align-items:flex-start;background:#ffffffad;border:1px solid rgba(215,220,226,.86);border-radius:8px;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr);padding:14px}:root[data-theme=dark] .cookie-option{background:#0f172a94;border-color:#94a3b82e}.cookie-option-icon{align-items:center;background:#e0f2fe;border-radius:8px;color:#075985;display:inline-flex;height:42px;justify-content:center;width:42px}:root[data-theme=dark] .cookie-option-icon{background:#14b8a624;color:#5eead4}.cookie-option h3,.cookie-option p{margin:0}.cookie-option h3{font-size:16px;margin-bottom:4px}.cookie-option button,.cookie-option .file-button{margin-top:10px}.youtube-cookie-modal-surface .file-button{display:inline-flex;font-weight:700;gap:8px;width:fit-content}.reprocess-modal-surface{max-width:680px;width:min(100%,680px)}.reprocess-options{display:grid;gap:12px}.reprocess-option{align-items:center;background:#ffffffad;border-color:#cbd5e1d6;display:grid;gap:14px;grid-template-columns:34px minmax(0,1fr);height:auto;justify-items:stretch;min-height:88px;padding:16px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;width:100%}.reprocess-option svg{color:#0f766e}.reprocess-option div{display:grid;gap:5px;min-width:0}.reprocess-option strong{font-size:17px}.reprocess-option span{color:#667085;line-height:1.4}:root[data-theme=dark] .reprocess-option{background:#0f172ab8;border-color:#94a3b847}:root[data-theme=dark] .reprocess-option svg{color:#5eead4}:root[data-theme=dark] .reprocess-option span{color:#9fb0c4}.sing-modal-surface{animation:karaoke-modal-in .26s cubic-bezier(.2,.8,.2,1) both;-webkit-backdrop-filter:blur(18px) saturate(1.16);backdrop-filter:blur(18px) saturate(1.16);background:radial-gradient(circle at 18% 14%,rgba(94,234,212,.18),transparent 30%),radial-gradient(circle at 82% 22%,rgba(251,191,36,.12),transparent 28%),linear-gradient(135deg,#020617eb,#091227db 52%,#030712f0);border-radius:8px;box-shadow:0 24px 80px #00000080;color:#e5e7eb;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;overflow:hidden;position:relative;z-index:1}.sing-progress-shell{animation:karaoke-panel-enter .24s ease 80ms both;background:#02061785;border-bottom:1px solid rgba(148,163,184,.16);padding:12px 22px 14px}.sing-stage-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(230px,290px);min-height:0;padding:18px}.sing-stage{animation:karaoke-panel-enter .24s ease .12s both;background:linear-gradient(180deg,#0f172a75,#02061761);border:1px solid rgba(148,163,184,.16);border-radius:8px;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.sing-feedback-lane{align-items:center;background:linear-gradient(180deg,#0f172ac2,#0f172a57);border-bottom:1px solid rgba(148,163,184,.16);color:#94a3b8;display:flex;justify-content:center;min-height:58px;padding:8px 18px;text-align:center}.sing-feedback-lane>span{font-size:13px;font-weight:800}.sing-judgement{align-items:center;animation:judgement-pop 1.18s ease both;background:#020617b8;border:1px solid rgba(148,163,184,.22);border-radius:999px;box-shadow:0 14px 34px #0000003d,inset 0 1px #ffffff14;display:inline-flex;gap:10px;justify-content:center;max-width:min(620px,calc(100vw - 28px));min-height:42px;padding:7px 12px 7px 16px;pointer-events:none;position:static;text-align:center;text-transform:none;z-index:4}.sing-judgement strong{color:#f8fafc;font-size:24px;font-weight:950;line-height:1;text-shadow:0 0 18px currentColor;text-transform:uppercase;white-space:nowrap}.sing-judgement span{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#e5e7eb;font-size:12px;font-weight:900;letter-spacing:0;line-height:1.2;padding:7px 12px}.sing-judgement.perfect strong{color:#fef3c7}.sing-judgement.great strong{color:#5eead4}.sing-judgement.good strong{color:#86efac}.sing-judgement.bad strong{color:#fb7185}.sing-judgement.warning strong{color:#fbbf24}@keyframes judgement-pop{0%{opacity:0;transform:translateY(-6px) scale(.96)}18%{opacity:1;transform:translateY(0) scale(1.02)}36%{transform:translateY(0) scale(1)}78%{opacity:1}to{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes karaoke-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes karaoke-modal-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes karaoke-panel-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes karaoke-controls-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes karaoke-collapse-open{0%{opacity:0;transform:translateY(-6px) scaleY(.98)}to{opacity:1;transform:translateY(0) scaleY(1)}}.sing-modal-header,.sing-controls,.sing-score-strip{align-items:center;display:flex;gap:14px;justify-content:space-between}.sing-modal-header{border-bottom:1px solid rgba(148,163,184,.22);padding:16px 22px}.sing-modal-header h2,.sing-modal-header p{margin:0}.sing-modal-header p,.sing-score-strip span{color:#94a3b8}.sing-header-status{align-items:center;display:flex;gap:12px}.sing-header-status span{background:#14b8a61a;border:1px solid rgba(94,234,212,.22);border-radius:999px;color:#99f6e4;font-size:12px;font-weight:900;padding:7px 10px;text-transform:uppercase}.sing-header-status strong{color:#fef3c7;font-size:15px}.icon-button{background:#0f172ab8;border-color:#94a3b859;color:#f8fafc;padding:0;width:44px}.sing-score-strip{background:#0f172ac2;border-bottom:1px solid rgba(148,163,184,.2);justify-content:center;padding:14px 22px}.sing-score-strip div{align-items:center;border-right:1px solid rgba(148,163,184,.22);display:grid;gap:2px;justify-items:center;min-width:108px;padding:0 18px}.sing-score-strip div:last-child{border-right:0}.sing-score-strip strong{color:#5eead4;font-size:34px;line-height:1}.sing-lyrics{align-content:start;display:flex;flex-direction:column;gap:34px;align-items:center;min-height:0;overflow-y:auto;padding:13vh min(8vw,108px);scroll-behavior:smooth;scrollbar-color:rgba(94,234,212,.5) transparent}.sing-lyrics .lyric-line-row{background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;color:#64748b;display:block;flex:0 0 auto;font-size:clamp(24px,3.2vw,42px);font-weight:900;height:auto;letter-spacing:.045em;line-height:normal;margin:0;min-height:0;opacity:.42;padding:0;position:relative;text-align:center;transition:color .16s ease,opacity .16s ease,text-shadow .16s ease,transform .16s ease;width:100%;z-index:1}.sing-lyrics .lyric-line-hitbox span{display:inline;line-height:2.22;padding:0;white-space:normal;word-break:normal;overflow-wrap:break-word;word-spacing:.16em}.sing-lyrics .dense-lyric{font-size:clamp(22px,2.7vw,36px)}.sing-lyrics .lyric-line-row.dense-lyric{max-width:980px}.sing-lyrics .dense-lyric .lyric-line-hitbox span{line-height:2.35}.sing-lyrics .very-dense-lyric{font-size:clamp(20px,2.35vw,32px)}.sing-lyrics .lyric-line-row.very-dense-lyric{max-width:860px}.sing-lyrics .very-dense-lyric .lyric-line-hitbox span{line-height:2.48}.sing-wait-cue{align-items:center;display:inline-flex;gap:12px;justify-content:center;min-height:42px;opacity:.88;width:100%}.sing-wait-cue span{animation:wait-cue-pulse 1.16s ease-in-out infinite;background:#5eead4;border-radius:999px;box-shadow:0 0 18px #2dd4bf9e,0 0 34px #60a5fa38;display:block;height:12px;width:12px}.sing-wait-cue span:nth-child(2){animation-delay:.14s}.sing-wait-cue span:nth-child(3){animation-delay:.28s}@keyframes wait-cue-pulse{0%,72%,to{opacity:.34;transform:translateY(0) scale(.78)}30%{opacity:1;transform:translateY(-3px) scale(1.08)}}.sing-lyrics .active-line{background:transparent;color:#fff;opacity:1;transform:scale(1.02)}.sing-lyrics .active-line:before{background:radial-gradient(ellipse at center,rgba(94,234,212,.18),rgba(96,165,250,.08) 38%,transparent 68%);content:"";filter:blur(12px);top:-18px;right:8%;bottom:-18px;left:8%;position:absolute;z-index:-1}.sing-lyrics .active-line .lyric-line-hitbox span{color:#fff;position:relative;text-shadow:0 0 18px rgba(45,212,191,.85),0 0 48px rgba(59,130,246,.5),0 0 72px rgba(251,191,36,.16)}.sing-lyrics .bonus-lyric-line{color:#c4b5fd;font-size:clamp(18px,2.25vw,30px);font-style:italic;opacity:.5}.sing-lyrics .bonus-lyric-line.active-line{color:#ddd6fe;opacity:.95;transform:scale(1.01)}.sing-lyrics .bonus-lyric-line.active-line .lyric-line-hitbox span{color:#ede9fe;text-shadow:0 0 16px rgba(167,139,250,.64),0 0 44px rgba(45,212,191,.22)}.sing-controls{animation:karaoke-controls-in .24s ease .12s both;background:#020617e6;border-top:1px solid rgba(148,163,184,.22);justify-content:center;padding:14px 22px}.sing-score-panel{animation:karaoke-panel-enter .24s ease .15s both;align-self:stretch;background:linear-gradient(180deg,#0f172ab8,#0206178f);border:1px solid rgba(148,163,184,.18);border-radius:8px;display:grid;gap:14px;grid-template-rows:auto minmax(0,1fr);min-height:0;padding:16px}.sing-score-hero{align-items:center;background:radial-gradient(circle at center top,rgba(94,234,212,.24),transparent 62%),#02061780;border:1px solid rgba(94,234,212,.24);border-radius:8px;display:grid;justify-items:center;padding:18px 12px}.sing-score-hero span,.sing-score-hero small,.sing-score-grid span{color:#94a3b8;font-size:12px;font-weight:850;text-transform:uppercase}.sing-score-hero strong{color:#5eead4;font-size:clamp(54px,7vw,86px);line-height:.95;text-shadow:0 0 32px rgba(45,212,191,.38)}.sing-score-hero small{color:#fef3c7;margin-top:6px}.sing-score-grid{display:grid;gap:10px;grid-template-columns:1fr}.sing-score-grid div{background:#0f172a94;border:1px solid rgba(148,163,184,.15);border-radius:8px;display:flex;justify-content:space-between;min-height:54px;padding:10px 12px}.sing-score-grid strong{color:#e5e7eb;font-size:22px;line-height:1}.sing-controls button{background:#0f172aeb;border-color:#94a3b859;color:#f8fafc}.score-actions button.active-control,.sing-controls button.active-control{background:#b453092e;border-color:#fbbf2494;color:#fde68a}.sing-toggle-control,.sing-guide-control{color:#cbd5e1}.sing-mic-control{align-items:center;display:flex;gap:10px}.sing-mic-control button{flex:0 0 auto}.sing-mic-control .sing-guide-control input[type=range]{width:118px}.sing-guide-control input[type=range]{width:90px}.sing-controls .primary{background:#0f766e;border-color:#2dd4bf}.sing-feedback-inline,.speech-warning,.speech-info{color:#fbbf24;font-size:13px}.speech-info{background:#14b8a61a;border:1px solid rgba(94,234,212,.24);border-radius:999px;color:#99f6e4;font-weight:800;padding:8px 12px}.sing-feedback-inline{background:#fbbf241f;border:1px solid rgba(251,191,36,.28);border-radius:999px;color:#fde68a;font-weight:800;padding:8px 12px}.side-panel{display:grid;gap:18px}.score-card,.editor-panel,.ai-panel,.recommendations,.empty-state{display:grid;gap:14px;padding:18px}.score-card{gap:16px}.score-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.score-card h3{font-size:19px;line-height:1.2;margin:2px 0 0}.score-eyebrow,.score-label{color:#667085;font-size:12px;font-weight:800;letter-spacing:0;margin:0;text-transform:uppercase}:root[data-theme=dark] .score-eyebrow,:root[data-theme=dark] .score-label{color:#94a3b8}.score-status{background:#64748b24;border:1px solid rgba(100,116,139,.22);border-radius:999px;color:#475467;flex:0 0 auto;font-size:12px;font-weight:800;padding:6px 9px}.score-status.on{background:#14b8a624;border-color:#14b8a647;color:#0f766e}:root[data-theme=dark] .score-status{background:#94a3b81f;border-color:#94a3b833;color:#cbd5e1}:root[data-theme=dark] .score-status.on{background:#2dd4bf1f;border-color:#2dd4bf42;color:#5eead4}.score-hero{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.score-history{color:#475467;display:grid;gap:6px;justify-items:end;margin-bottom:8px}.score-history span{align-items:baseline;display:flex;font-size:13px;font-weight:700;gap:6px;white-space:nowrap}.score-history strong{color:#1e2228;font-size:19px;line-height:1}:root[data-theme=dark] .score-history{color:#cbd5e1}:root[data-theme=dark] .score-history strong{color:#f8fafc}.score-number{color:#0f766e;font-size:76px;font-weight:900;line-height:1}:root[data-theme=dark] .score-number{color:#5eead4;text-shadow:0 0 24px rgba(45,212,191,.2)}.score-metrics{display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.score-metrics div{background:#ffffff2e;border-block:1px solid rgba(148,163,184,.18);display:grid;gap:4px;min-width:0;padding:10px 8px;text-align:center}.score-metrics div:nth-child(1){border-left:1px solid rgba(148,163,184,.18);border-radius:8px 0 0}.score-metrics div:nth-child(2){border-radius:0 8px 0 0;border-right:1px solid rgba(148,163,184,.18)}.score-metrics div:nth-child(3){border-left:1px solid rgba(148,163,184,.18);border-radius:0 0 0 8px}.score-metrics div:nth-child(4){border-radius:0 0 8px;border-right:1px solid rgba(148,163,184,.18)}.score-metrics span{color:#667085;font-size:12px;font-weight:800}.score-metrics strong{color:#1e2228;font-size:20px;line-height:1}:root[data-theme=dark] .score-metrics div{background:#0f172a33;border-color:#94a3b829}:root[data-theme=dark] .score-metrics span{color:#94a3b8}:root[data-theme=dark] .score-metrics strong{color:#f8fafc}.score-actions{flex-wrap:wrap}.score-actions button{flex:1 1 110px}.score-actions .mic-control-stack button{flex:none}.score-card button{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.score-card button:not(:disabled):hover{background:#ffffff57;border-color:#14b8a66b;box-shadow:0 10px 24px #0f172a1f;transform:translateY(-1px)}.score-card button.primary:not(:disabled):hover{background:#0d9488;border-color:#2dd4bf;box-shadow:0 12px 28px #0d948847}.score-card button:not(:disabled):active{box-shadow:none;transform:translateY(0)}:root[data-theme=dark] .score-card button:not(:disabled):hover{background:#0f172ab8;border-color:#2dd4bf73;box-shadow:0 12px 28px #00000047}:root[data-theme=dark] .score-card button.primary:not(:disabled):hover{background:#0d9488;border-color:#5eead4}.recommendation-row{background:#ffffff29;border:1px solid rgba(255,255,255,.3);border-radius:8px;box-shadow:inset 0 1px #ffffff29;display:grid;gap:7px;height:auto;justify-items:start;line-height:1.35;min-height:0;padding:13px 14px;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease;width:100%}:root[data-theme=dark] .recommendation-row,:root[data-theme=dark] .ai-panel article{border-color:#94a3b82e}:root[data-theme=dark] .recommendation-row{background:#0f172a38;box-shadow:inset 0 1px #ffffff0f}.recommendation-row:hover{background:#ffffff3d;border-color:#0f766e47;transform:translateY(-1px)}:root[data-theme=dark] .recommendation-row:hover{background:#0f172a57;border-color:#5eead442}.recommendation-row strong{line-height:1.25}.ai-panel article{border-top:1px solid #edf0f3;display:grid;gap:4px;padding-top:12px}.ai-panel p{margin:0}.recommendation-row span,.recommendation-row p{color:#667085;margin:0}:root[data-theme=dark] .recommendation-row span,:root[data-theme=dark] .recommendation-row p{color:#9fb0c4}.error{color:#b42318;margin:0}:root[data-theme=dark] .error{color:#fca5a5}.success{color:#0f766e;margin:0}:root[data-theme=dark] .success{color:#5eead4}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes processing-message-swap{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes progress-shimmer{to{transform:translate(100%)}}@keyframes loginHeroLightSweep{0%{transform:translate3d(-5%,0,0)}to{transform:translate3d(5%,-2%,0)}}@keyframes auroraSweep{0%{transform:rotate3d(1,-1,0,28deg) translate3d(-6%,0,0)}to{transform:rotate3d(1,-1,0,28deg) translate3d(6%,-3%,0)}}@keyframes ringFloat{0%,to{transform:translateZ(-40px) rotateX(58deg) scale(1)}50%{transform:translate3d(18px,-22px,20px) rotateX(64deg) scale(1.08)}}@media(prefers-reduced-motion:reduce){.music-backdrop:before,.music-glow-ring{animation:none}.karaoke-grid>*,.sing-modal,.sing-modal-surface,.sing-progress-shell,.sing-stage,.sing-score-panel,.sing-controls,.confirm-modal,.confirm-modal-surface,.song-ai-details.open{animation:none}.song-ai-details,.ai-tooltip-panel,.sing-lyrics .lyric-line-row{transition:none}.music-particles-canvas{display:none}}@media(max-width:720px){.ai-tooltip-panel{left:auto;max-width:calc(100vw - 28px);min-width:min(220px,calc(100vw - 28px));right:0;transform:translateY(4px)}.ai-tooltip-panel:after{left:auto;right:14px;transform:rotate(45deg)}.ai-tooltip-wrap:hover .ai-tooltip-panel,.ai-tooltip-wrap:focus-within .ai-tooltip-panel{transform:translateY(0)}.music-backdrop:before,.music-glow-ring{animation:none}.music-depth-plane,.music-glow-ring{display:none}.library{gap:12px;height:min(680px,calc(100dvh - 112px));max-height:min(680px,calc(100dvh - 112px));min-height:390px;padding:12px}.library-header,.library-header-actions{align-items:stretch}.library-header-actions button,.library-clear-button{width:100%}.library-table{gap:10px;padding-right:2px}.library-table-row{grid-template-columns:minmax(0,1fr) 40px;min-height:104px;padding:14px 10px}.library-song-cell strong,.library-song-cell span,.library-status-cell span{white-space:normal}.library-status-cell{align-content:start}.song-action-menu{max-width:calc(100vw - 36px);min-width:190px}.submit-panel-header{display:grid}.admin-processing-options{justify-content:space-between;margin-left:0;min-width:0}.admin-processing-options select{min-width:0;width:min(100%,230px)}}@media(max-width:980px){.music-backdrop:before,.music-depth-plane,.music-glow-ring{animation:none}.music-depth-plane,.music-glow-ring{opacity:.35}.auth-shell,.app-layout,.workspace,.karaoke-grid{grid-template-columns:1fr}.main-content{grid-column:1}.app-sidebar{height:100dvh;max-height:100dvh;position:fixed;width:min(82vw,300px)}.workspace{--karaoke-panel-height: auto;align-items:start}.karaoke-grid{height:auto}.library{height:min(620px,calc(100vh - 140px));max-height:min(620px,calc(100vh - 140px));min-height:420px;padding:14px}.library-header{align-items:stretch;display:grid}.library-header-actions{justify-content:flex-start}.library-filters{grid-template-columns:1fr}.library-table-head{display:none}.library-table-row{grid-template-columns:minmax(0,1fr) 40px;gap:10px;min-height:88px;padding:14px 10px 14px 12px}.library-info-cell,.library-status-cell{grid-column:1}.song-row-menu-wrap{grid-column:2;grid-row:1;width:40px}.app-shell{padding:0}.main-content{padding:64px 14px 18px}body.mobile-menu-open{overflow:hidden;overscroll-behavior:contain}.sidebar-toggle{display:inline-flex;left:14px;position:fixed;top:14px;z-index:25}body.mobile-menu-open .sidebar-toggle{opacity:0;pointer-events:none}.sidebar-overlay{background:#02060c75;border:0;border-radius:0;display:block;top:0;right:0;bottom:0;left:0;opacity:0;padding:0;pointer-events:none;position:fixed;transition:opacity .18s ease;z-index:23}body.mobile-menu-open .sidebar-overlay{opacity:1;pointer-events:auto}.app-sidebar{--sidebar-width: 240px;border:0;border-radius:0;border-right:1px solid rgba(203,213,225,.18);bottom:0;box-shadow:18px 0 70px #0f172a47,inset -1px 0 #ffffff24;height:100dvh;left:0;max-height:100dvh;min-height:100dvh;overflow-y:auto;padding:18px 0 calc(18px + env(safe-area-inset-bottom)) 18px;top:0;transform:translate(-100%);transition:transform .18s ease;width:min(86vw,320px);z-index:24}:root[data-theme=dark] .app-sidebar{border-right-color:#94a3b833;box-shadow:18px 0 74px #00000061,inset -1px 0 #ffffff0d}.app-sidebar.collapsed{--sidebar-width: 240px;justify-items:stretch;overflow-y:auto;padding:18px 0 calc(18px + env(safe-area-inset-bottom)) 18px}.app-sidebar.collapsed .sidebar-label{display:inline}.app-sidebar.collapsed .sidebar-brand,.app-sidebar.collapsed .sidebar-nav button,.app-sidebar.collapsed .sidebar-footer button{justify-content:flex-start}.app-sidebar.collapsed .sidebar-nav,.app-sidebar.collapsed .sidebar-footer{justify-items:stretch}.app-sidebar.collapsed .sidebar-nav button,.app-sidebar.collapsed .sidebar-footer button{height:52px;min-height:52px;padding:0 20px 0 18px;width:100%}.app-sidebar.collapsed .sidebar-nav .selected:before,.app-sidebar.collapsed .sidebar-nav .selected:after{display:block}.sidebar-collapse-button{display:none}.mobile-sidebar-close{display:inline-flex;margin-left:auto;min-height:36px;padding:0;width:36px}.app-sidebar.open{transform:translate(0)}.settings-heading,.settings-grid,.profile-grid,.profile-status-grid,.helper-steps,.manual-cookie-area,.youtube-shortcut{grid-template-columns:1fr}.settings-heading-actions{justify-content:flex-start}.youtube-shortcut{align-items:stretch}.youtube-shortcut button,.download-helper-button{width:100%}.settings-tabs{grid-template-columns:1fr 1fr}.admin-user-row{grid-template-columns:minmax(0,1fr) 42px}.admin-user-badges{grid-column:1 / -1;grid-row:2;justify-content:flex-start}.row-action-wrap{grid-column:2;grid-row:1}.row-action-menu{right:0}.subscription-row{grid-template-columns:1fr}.admin-row-actions{justify-content:flex-start}.auth-card{align-self:stretch}.url-row{grid-template-columns:1fr}.song-search-result{align-items:start;grid-template-columns:72px minmax(0,1fr)}.song-search-result button{grid-column:1 / -1;justify-self:stretch;width:100%}.brand-panel h1{font-size:42px}.lyrics-card{height:auto;max-height:none;min-height:520px}.lyrics-preview-list{max-height:380px}.lyrics-preview-list .lyric-line-row{font-size:20px;word-spacing:.1em}.lyrics-preview-list .lyric-line-hitbox span{line-height:2.25;padding:14px 8px}.lyrics-preview-list .dense-lyric,.lyrics-preview-list .very-dense-lyric{font-size:17px}.lyrics-preview-list .dense-lyric .lyric-line-hitbox span,.lyrics-preview-list .very-dense-lyric .lyric-line-hitbox span{line-height:2.35}.sing-modal{padding:0}.sing-modal-surface{border-radius:0}.sing-modal-header{align-items:flex-start;gap:10px;padding:12px 14px}.sing-modal-header h2{font-size:18px}.sing-header-status{gap:8px}.sing-header-status span{display:none}.sing-progress-shell{padding:10px 14px 12px}.sing-stage-layout{gap:10px;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);padding:10px}.sing-stage{grid-row:2}.sing-score-panel{gap:8px;grid-row:1;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr;padding:10px}.sing-score-hero{min-width:112px;padding:10px}.sing-score-hero span,.sing-score-hero small{font-size:10px}.sing-score-hero strong{font-size:42px}.sing-score-grid{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.sing-score-grid div{min-height:42px;padding:7px 8px}.sing-score-grid span{font-size:10px}.sing-score-grid strong{font-size:17px}.sing-score-strip{gap:0;padding:12px}.sing-score-strip div{min-width:0;padding:0 6px;width:14.28%}.sing-score-strip strong{font-size:22px}.sing-feedback-lane{min-height:64px;padding:8px 10px}.sing-judgement{border-radius:8px;flex-wrap:wrap;gap:6px;max-width:calc(100vw - 20px);padding:8px 10px}.sing-lyrics{gap:28px;padding:12vh 18px}.sing-lyrics .lyric-line-row{font-size:clamp(20px,6vw,28px);letter-spacing:.035em;word-spacing:.12em}.sing-lyrics .lyric-line-hitbox span{line-height:2.25;padding:14px 4px}.sing-lyrics .dense-lyric,.sing-lyrics .very-dense-lyric{font-size:clamp(18px,5vw,24px)}.sing-lyrics .dense-lyric .lyric-line-hitbox span,.sing-lyrics .very-dense-lyric .lyric-line-hitbox span{line-height:2.4}.sing-wait-cue{min-height:34px}.sing-wait-cue span{height:10px;width:10px}.sing-judgement strong{font-size:22px}.sing-judgement span{max-width:84vw}.sing-controls{flex-wrap:wrap}.sing-mic-control{flex:1 1 260px;justify-content:center}.sing-mic-control .sing-guide-control input[type=range]{width:min(120px,28vw)}}@media(max-width:720px){.library{gap:12px;height:min(680px,calc(100dvh - 112px));max-height:min(680px,calc(100dvh - 112px));min-height:390px;padding:12px}.library-header,.library-header-actions{align-items:stretch}.library-header-actions button,.library-clear-button{width:100%}.library-table{gap:10px;padding-right:2px}.library-table-row{grid-template-columns:minmax(0,1fr) 40px;min-height:104px;padding:14px 10px}.library-song-cell strong,.library-song-cell span,.library-status-cell span{white-space:normal}.library-status-cell{align-content:start}.song-action-menu{max-width:calc(100vw - 36px);min-width:190px}}@media(max-width:1199px){.main-content{padding:20px}.workspace{--karaoke-panel-height: auto;grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.karaoke-grid{height:auto}.lyrics-card{height:auto;max-height:none;min-height:min(620px,calc(100dvh - 180px))}.settings-grid,.profile-grid{grid-template-columns:1fr}.profile-status-grid,.helper-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){button,.file-button,.download-helper-button{min-height:var(--touch-target)}.icon-button,.row-menu-trigger,.song-menu-button{min-width:var(--touch-target);width:var(--touch-target)}.app-layout,.workspace,.karaoke-grid{grid-template-columns:minmax(0,1fr)}.main-content{grid-column:1;padding:calc(64px + var(--safe-top)) var(--space-mobile) calc(18px + var(--safe-bottom));width:100%}.topbar{align-items:stretch;display:grid;gap:12px}.topbar-actions{justify-content:flex-start}.topbar-actions button,.settings-heading-actions button{flex:1 1 180px}.auth-shell{grid-template-columns:minmax(0,1fr);min-height:100dvh}.brand-panel{min-height:clamp(220px,34dvh,360px);padding:48px 22px 28px}.brand-panel h1{font-size:clamp(34px,8vw,52px);max-width:680px}.brand-panel p{font-size:17px;max-width:620px}.auth-card{align-self:stretch;margin:16px auto calc(18px + var(--safe-bottom));max-width:520px;width:calc(100% - 28px)}.library{height:auto;max-height:none;min-height:0}.library-table{overflow:visible}.active-song-panel,.empty-state{min-width:0}.settings-heading,.admin-card-heading,.confirm-modal-header,.confirm-modal-actions{align-items:stretch;flex-direction:column}.settings-heading{grid-template-columns:1fr}.settings-heading-actions,.admin-row-actions,.profile-action-row{justify-content:flex-start}.admin-user-row,.subscription-row{align-items:stretch;grid-template-columns:minmax(0,1fr) var(--touch-target)}.admin-user-badges{grid-column:1 / -1;grid-row:2;justify-content:flex-start}.row-action-wrap{align-items:start;grid-column:2;grid-row:1}.row-action-menu,.song-action-menu{max-width:calc(100vw - 32px);min-width:min(230px,calc(100vw - 32px));right:0}.confirm-modal{align-items:end;padding:12px;padding-bottom:max(12px,var(--safe-bottom))}.confirm-modal-surface{border-radius:8px 8px 0 0;max-height:min(86dvh,760px);max-width:none;overflow:auto;width:min(100%,720px)}}@media(max-width:899px){.workspace{gap:14px}.library-header,.library-header-actions,.library-filters,.url-row,.manual-cookie-area,.settings-tabs{grid-template-columns:1fr}.library-header-actions{display:grid}.library-table-head{display:none}.library-table-row{align-items:stretch;grid-template-columns:minmax(0,1fr) var(--touch-target);min-height:0;padding:12px}.library-song-cell{min-height:var(--touch-target)}.library-status-cell{grid-column:1}.song-row-menu-wrap{grid-column:2;grid-row:1}.lyrics-card{min-height:min(620px,calc(100dvh - 120px));padding:18px}.lyrics-preview-list{max-height:none}.score-actions,.artifact-actions,.recommendation-list{align-items:stretch}.score-actions,.artifact-actions{display:grid;grid-template-columns:1fr}.score-actions button,.artifact-actions a,.guide-control,.toggle-control{width:100%}}@media(max-width:720px){.main-content{gap:14px}.brand-panel{min-height:190px;padding:34px 18px 22px}.brand-panel p{display:none}.auth-card{gap:14px;padding:18px}.auth-switch{grid-template-columns:1fr}.song-search-result{grid-template-columns:64px minmax(0,1fr)}.song-search-result button{grid-column:1 / -1;width:100%}.profile-status-grid,.helper-steps,.admin-user-row,.subscription-row{grid-template-columns:1fr}.profile-detail-list div,.helper-token-value{align-items:flex-start;flex-direction:column}.profile-detail-list dd{text-align:left}.row-action-wrap{grid-column:1;grid-row:auto;justify-content:flex-start}.row-action-menu{left:0;right:auto}.confirm-modal{padding-inline:0}.confirm-modal-surface{border-radius:8px 8px 0 0;padding:18px;width:100%}.cookie-option,.reprocess-option{grid-template-columns:1fr}.sing-modal{padding:0}.sing-modal-surface{border-radius:0;min-height:100dvh}.sing-modal-header,.sing-controls{padding-left:var(--space-mobile);padding-right:var(--space-mobile)}.sing-controls{padding-bottom:max(12px,var(--safe-bottom))}.sing-stage-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);padding:10px}.sing-score-panel{grid-row:1}.sing-stage{grid-row:2}.sing-lyrics{padding:10dvh 16px}}@media(max-width:640px){.main-content{padding-inline:12px}.topbar,.submit-panel,.status-panel,.youtube-gate,.lyrics-card,.score-card,.ai-panel,.recommendations,.library,.admin-card,.profile-account-card,.youtube-profile-card,.youtube-helper-card{padding:14px}.library-hub{gap:12px;padding-bottom:calc(126px + var(--safe-bottom))}.library-hub-list,.library-hub-player,.library-hub-context{min-width:0}.library-hub-title,.library-hub-header,.library-context-heading,.library-lyrics-panel header{align-items:stretch;flex-direction:column}.library-hub-row{grid-template-columns:minmax(0,1fr)}.library-hub-row-actions{justify-content:flex-start}.library-hub-visual{min-height:180px}.library-hub-visual-actions,.library-source-tabs,.library-context-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.library-hub-visual-actions::-webkit-scrollbar,.library-source-tabs::-webkit-scrollbar,.library-context-tabs::-webkit-scrollbar{display:none}.library-hub-controls,.library-dock-controls{grid-template-columns:auto minmax(0,1fr) auto}.library-volume,.library-player-dock .library-volume{display:none}.library-player-dock{border-radius:8px 8px 0 0;bottom:0;left:0;right:0;padding:10px 12px max(10px,var(--safe-bottom));width:100%}.library-dock-track{min-width:0}.library-dock-actions{justify-content:flex-end}.library-source-menu,.library-queue-menu{bottom:calc(100% + 8px);max-width:calc(100vw - 24px);right:0;top:auto}.library-hub-media-modal{padding:12px}.library-hub-media-modal .library-media-modal-body{max-height:calc(100dvh - 32px);max-width:calc(100vw - 24px)}.inline-lyric-editor,.playlist-create{grid-template-columns:1fr}.inline-lyric-editor button,.playlist-create button,.settings-heading-actions button,.profile-action-row button,.download-helper-button{width:100%}}@media(max-width:480px){:root{--space-mobile: 12px}.main-content{padding-top:calc(60px + var(--safe-top))}.brand-panel h1{font-size:30px}.auth-card,.submit-panel,.status-panel,.youtube-gate,.lyrics-card,.score-card,.ai-panel,.recommendations,.library,.admin-card{border-radius:8px}.song-title-row,.badge-stack,.score-metrics,.sing-score-grid{grid-template-columns:1fr}.track-info-list div{align-items:flex-start;flex-direction:column}.track-info-list strong{text-align:left}.lyrics-preview-list .lyric-line-row{font-size:18px}.sing-score-panel{grid-template-columns:1fr}.sing-score-hero strong{font-size:36px}.sing-score-strip{overflow-x:auto;justify-content:flex-start}.sing-score-strip div{flex:0 0 86px;width:auto}.sing-controls>*,.sing-mic-control{flex:1 1 100%}.library-player-dock{grid-template-columns:minmax(0,1fr) auto}.library-dock-cover{height:40px;width:40px}.library-dock-actions{grid-column:2}.library-dock-controls{grid-column:1 / -1}.admin-user-main strong,.library-hub-row-main strong,.library-dock-track strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
