:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#faf7ff;--surface:#fff;--surface-hover:#f3ecff;--border:#ddd0f5;--text:#1e1530;--text-muted:#6b5f85;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-contrast:#fff;--accent-soft:#ebe0ff;--accent-text:#6d28d9;--error:#c62828;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#130d1f;--surface:#1d1530;--surface-hover:#271c40;--border:#3b2d5c;--text:#eee8fa;--text-muted:#a498c0;--accent:#8b5cf6;--accent-hover:#a78bfa;--accent-contrast:#fff;--accent-soft:#34245c;--accent-text:#c4b5fd;--error:#f28b82}}body{background:var(--bg);color:var(--text);margin:0}button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:6px;padding:6px 12px}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:default}:root{--glow:0 6px 18px color-mix(in srgb, var(--accent) 8%, transparent);--glow-strong:0 10px 24px color-mix(in srgb, var(--accent) 14%, transparent)}.app{box-sizing:border-box;max-width:800px;height:100dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.status{color:var(--text-muted);font-size:.9em}.error{color:var(--error)}.topbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--glow);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.account{align-items:center;gap:10px;min-width:0;display:flex}.avatar{background:var(--accent);width:36px;height:36px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.user-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.btn-ghost{color:var(--accent-text);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--accent-soft);box-shadow:var(--glow)}button:not(.btn-ghost):not(.icon-btn):not(.switch):not(.pill):hover:not(:disabled){box-shadow:0 3px 10px color-mix(in srgb, var(--accent) 15%, transparent)}.upload-status{margin:-4px 4px 12px}.path-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.breadcrumb{flex-wrap:wrap;align-items:center;gap:2px;min-width:0;display:flex}.uploader{flex-shrink:0;gap:8px;display:flex}.crumb-sep{color:var(--text-muted)}.breadcrumb button{color:var(--text-muted);background:0 0;border-radius:6px;padding:4px 8px}.breadcrumb button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.breadcrumb button.current{color:var(--text);font-weight:600}.list-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.list-controls button{border-radius:10px;align-items:center;gap:6px;padding:9px 14px;display:inline-flex}.search{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);min-width:160px;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:9px 12px}.search:focus{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 8%, transparent)}.pill{color:var(--text-muted);border:1px solid var(--border);background:0 0}.pill:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;background:var(--surface);border:1px solid var(--border);min-height:0;box-shadow:var(--glow);border-radius:16px;margin:0 0 12px;padding:6px;list-style:none;overflow-y:auto}.row{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px;padding:11px 12px;transition:background .15s;display:flex}.row:last-child{margin-bottom:0}.row:hover{background:var(--surface-hover)}.row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.row.active{background:var(--accent-soft)}.row.active .row-title{color:var(--accent-text);font-weight:600}.row-main{align-items:center;gap:12px;min-width:0;display:flex}.row-icon{flex-shrink:0;justify-content:center;width:20px;display:inline-flex}.row-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.9em}.empty{color:var(--text-muted);text-align:center;padding:20px 12px}.bars{align-items:flex-end;gap:2px;width:16px;height:14px;display:inline-flex}.bars i{background:var(--accent);border-radius:1px;flex:1;height:25%}.bars.on i{animation:.9s ease-in-out infinite eq}.bars.on i:nth-child(2){animation-delay:.2s}.bars.on i:nth-child(3){animation-delay:.4s}@keyframes eq{0%,to{height:25%}50%{height:100%}}.player{background:linear-gradient(180deg, var(--surface) 0%, var(--surface-hover) 100%);border:1px solid var(--border);box-shadow:var(--glow-strong), 0 2px 4px #0000001f;accent-color:var(--accent);border-radius:28px;flex-shrink:0;margin-top:auto;padding:28px 24px 22px;animation:.25s ease-out rise;position:relative;overflow:hidden}.player:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.45;border-radius:2px;height:2px;position:absolute;inset:10px 28px auto}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.player-inner{flex-direction:column;gap:16px;display:flex}.player video{cursor:pointer;background:#000;border-radius:18px;width:100%;max-height:40vh}.player-head{align-items:center;gap:14px;min-width:0;display:flex}.player-art{background:var(--accent-soft);width:56px;height:56px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:18px;flex-shrink:0;place-items:center;font-size:26px;display:grid}.eq{align-items:flex-end;gap:4px;width:26px;height:26px;display:inline-flex}.eq i{background:var(--accent);border-radius:2px;flex:1;height:25%}.eq.on i{animation:.9s ease-in-out infinite eq}.eq.on i:nth-child(2){animation-delay:.15s}.eq.on i:nth-child(3){animation-delay:.3s}.eq.on i:nth-child(4){animation-delay:.45s}.player-text{flex-direction:column;gap:2px;min-width:0;display:flex}.player-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.15em;font-weight:700;overflow:hidden}.player-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.92em;overflow:hidden}.seek{flex-direction:column;gap:6px;display:flex}.seek input[type=range]{--progress:0%;appearance:none;cursor:pointer;background:linear-gradient(to right, var(--accent) var(--progress), var(--border) var(--progress));border-radius:6px;width:100%;height:12px;margin:0}.seek input[type=range]:disabled{cursor:default;opacity:.6}.seek input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:4px solid var(--surface);border-radius:50%;width:26px;height:26px;transition:transform .12s;box-shadow:0 2px 8px #00000059}.seek input[type=range]::-moz-range-thumb{background:var(--accent);border:4px solid var(--surface);border-radius:50%;width:18px;height:18px;transition:transform .12s;box-shadow:0 2px 8px #00000059}.seek input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.18)}.seek input[type=range]:active::-webkit-slider-thumb{transform:scale(1.18)}.seek input[type=range]:hover::-moz-range-thumb{transform:scale(1.18)}.seek input[type=range]:active::-moz-range-thumb{transform:scale(1.18)}.seek input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.seek-times{justify-content:space-between;display:flex}.time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8em;font-weight:600}.controls{justify-content:center;align-items:center;gap:10px;display:flex}.player .icon-btn{width:48px;height:48px;color:var(--text);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1em;transition:background .15s,transform .12s,box-shadow .15s;display:inline-flex}.player .icon-btn:hover:not(:disabled){background:var(--accent-soft);transform:translateY(-1px)}.player .icon-btn:active:not(:disabled){transform:scale(.93)}.player .icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.player .icon-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent)}.player .icon-btn.downloaded{color:var(--accent-text)}.player .icon-btn.skip{background:var(--surface-hover);font-variant-numeric:tabular-nums;color:var(--accent-text);font-size:.85em;font-weight:700}.player .icon-btn.main{background:var(--accent);width:72px;height:72px;color:var(--accent-contrast);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 25%, transparent)}.player .icon-btn.main:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px)scale(1.04)}.player .icon-btn.main:active:not(:disabled){transform:scale(.95)}@media (width<=480px){.player{border-radius:24px;padding:16px 14px 18px}.controls{gap:4px}.player .icon-btn{width:38px;height:38px}.player .icon-btn.main{width:58px;height:58px}}@media (prefers-reduced-motion:reduce){.player,.eq.on i{animation:none}.player .icon-btn{transition:none}}.auth{background:var(--surface);border:1px solid var(--border);max-width:360px;box-shadow:var(--glow);border-radius:12px;margin:10vh auto 0;padding:24px}.auth form{flex-direction:column;gap:12px;display:flex}.auth label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.9em;display:flex}.auth input{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:6px;padding:8px 10px}.auth input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth .hint{color:var(--text-muted);margin:0;font-size:.85em}.auth .switch{color:var(--accent-text);background:0 0;margin-top:12px;padding:0}.auth .switch:hover:not(:disabled){background:0 0;text-decoration:underline}.download-overlay{z-index:9999;box-sizing:border-box;-webkit-backdrop-filter:blur(5px);background:#08050fb8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.download-popup{box-sizing:border-box;text-align:center;width:100%;max-width:390px;color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:var(--glow-strong), 0 18px 55px #00000059;border-radius:24px;padding:32px 26px 24px;animation:.25s ease-out downloadPopupAppear;position:relative;overflow:hidden}.download-app-icon{width:64px;height:64px;color:var(--accent-contrast);background:linear-gradient(135deg, var(--accent), var(--accent-hover));box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 28%, transparent);border-radius:20px;place-items:center;margin:4px auto 18px;font-size:30px;font-weight:800;display:grid}.download-popup h2{color:var(--accent-text);margin:0 24px 10px;font-size:1.35rem}.download-popup p{color:var(--text-muted);margin:0 0 22px;line-height:1.6}.download-close{width:36px;height:36px;color:var(--text-muted);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:26px;line-height:1;display:grid;position:absolute;top:10px;right:12px}.download-close:hover:not(:disabled){background:var(--surface-hover);box-shadow:none}.download-button{box-sizing:border-box;width:100%;color:var(--accent-contrast);background:var(--accent);border-radius:12px;padding:13px 18px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:block}.download-button:hover{color:var(--accent-contrast);background:var(--accent-hover);transform:translateY(-1px)}.download-later{width:100%;color:var(--text-muted);background:0 0;margin-top:10px;padding:10px}.download-later:hover:not(:disabled){background:var(--surface-hover);box-shadow:none}@keyframes downloadPopupAppear{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.download-popup{animation:none}.download-button{transition:none}}
