:root{--bg: #0c0e10;--bg-card: #161a1e;--bg-row-hover: rgba(52, 211, 153, .06);--bg-row-selected: rgba(52, 211, 153, .14);--fg: #eaeaea;--fg-dim: rgba(234, 234, 234, .7);--accent: #34d399;--muted: rgba(234, 234, 234, .55);--border: rgba(234, 234, 234, .08);--error: #f87171}.player-shell{display:flex;flex-direction:column;height:100%;background:var(--bg);color:var(--fg);user-select:none;font-family:system-ui,-apple-system,Segoe UI,sans-serif;position:relative;overflow:hidden}.player-shell-drag{outline:2px dashed var(--accent);outline-offset:-8px}.player-shell-fullscreen .player-header,.player-shell-fullscreen .player-library,.player-shell-fullscreen .player-footer{display:none}.player-shell-fullscreen .player-vis-banner{height:auto;flex:1 1 auto;border-bottom:none}.player-shell-fullscreen .player-vis-title{font-size:2.4rem}.player-shell-fullscreen .player-vis-artist{font-size:1.2rem}.player-shell-fullscreen .player-transport{position:absolute;left:0;right:0;bottom:0;z-index:6;background:#161a1ec7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.06)}.player-shell-fullscreen .shell-canvas-scroll{scrollbar-width:none}.player-shell-fullscreen .shell-canvas-scroll::-webkit-scrollbar{width:0;height:0}.player-shell-idle{cursor:none}.player-shell-idle .player-transport{transform:translateY(110%);pointer-events:none}.player-transport{transition:transform .25s ease}.player-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem;border-bottom:1px solid var(--border)}.player-brand-row{display:flex;align-items:baseline;gap:.6rem}.player-brand{font-size:1.1rem;font-weight:800;letter-spacing:.3em;padding-left:.3em;color:var(--accent)}.player-tagline{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.player-search{flex:0 1 22rem;padding:.5rem .7rem;border:1px solid var(--border);background:var(--bg-card);color:var(--fg);border-radius:6px;font-size:.85rem;outline:none}.player-search:focus{border-color:var(--accent)}.player-vis-banner{position:relative;height:240px;flex:0 0 auto;border-bottom:1px solid var(--border);overflow:hidden;background:#000}.player-vis-wrap{position:absolute;inset:0}.player-vis-canvas{display:block;width:100%;height:100%}.player-vis-dim{position:absolute;inset:0;background:#000;pointer-events:none}.player-vis-overlay{position:absolute;left:1.4rem;bottom:1.1rem;z-index:5;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.8);opacity:0;transform:translateY(4px);transition:opacity .28s ease,transform .28s ease}.player-vis-overlay-shown{opacity:1;transform:translateY(0)}.player-vis-title{font-size:1.45rem;font-weight:700;color:var(--fg);letter-spacing:.01em}.player-vis-artist{font-size:.95rem;color:var(--accent);margin-top:.15rem;letter-spacing:.04em}.shell-canvas-scroll{position:absolute;inset:0;z-index:3;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 2rem;background:#08090e8c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);scrollbar-width:thin;scrollbar-color:rgba(52,211,153,.4) transparent}.shell-canvas-scroll::-webkit-scrollbar{width:6px}.shell-canvas-scroll::-webkit-scrollbar-track{background:transparent}.shell-canvas-scroll::-webkit-scrollbar-thumb{background:#34d39966;border-radius:3px}.shell-canvas-scroll-pad{flex:0 0 50%;width:100%;pointer-events:none}.shell-canvas-scroll-pill{position:absolute;top:24px;right:24px;z-index:4;background:#0f1218d9;border:1px solid rgba(255,255,255,.14);color:#ffffffeb;padding:8px 16px;border-radius:999px;font-size:.85rem;font-weight:500;letter-spacing:.01em;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px #00000059;opacity:0;animation:shell-canvas-scroll-pill-in .22s ease forwards;transition:background .12s ease,border-color .12s ease,transform .16s ease}.shell-canvas-scroll-pill:hover{background:#141820f2;border-color:#ffffff38;transform:translateY(-1px)}.shell-canvas-scroll-pill:active{transform:translateY(0)}@keyframes shell-canvas-scroll-pill-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.shell-canvas-scroll-line{width:100%;max-width:60ch;font-size:calc(2rem * var(--lyric-zoom, 1.4));font-weight:600;line-height:1.4;padding:calc(.45rem * var(--lyric-zoom, 1.4)) .5rem;overflow-wrap:anywhere;color:#eaeaea8c;transition:color .22s ease,transform .22s ease,opacity .22s ease;text-shadow:0 2px 6px rgba(0,0,0,.55);cursor:pointer}.shell-canvas-scroll-break{width:100%;max-width:60ch;height:calc(1.4rem * var(--lyric-zoom, 1.4));pointer-events:none;flex:0 0 auto}.shell-canvas-scroll-line-past{color:#eaeaea33;text-shadow:none;font-weight:500}.shell-canvas-scroll-line-active{color:#fff;font-weight:700;transform:scale(1.04);text-shadow:0 2px 12px var(--lyric-glow-strong, rgba(52, 211, 153, .55)),0 0 24px var(--lyric-glow-soft, rgba(52, 211, 153, .25));position:relative}.shell-canvas-scroll-word{transition:color .12s ease,opacity .12s ease,text-shadow .16s ease,font-weight .12s ease}.shell-canvas-scroll-word-unsung{opacity:.45}.shell-canvas-scroll-word-sung{color:#fff;opacity:1}.shell-canvas-scroll-word-current{color:#fff;opacity:1;font-weight:800;text-shadow:0 2px 14px var(--lyric-current-strong, rgba(52, 211, 153, .85)),0 0 28px var(--lyric-current-soft, rgba(52, 211, 153, .45))}.shell-canvas-scroll[data-lyric-style=emerald]{--lyric-glow-strong: rgba(52, 211, 153, .55);--lyric-glow-soft: rgba(52, 211, 153, .25);--lyric-current-strong: rgba(52, 211, 153, .85);--lyric-current-soft: rgba(52, 211, 153, .45)}.shell-canvas-scroll[data-lyric-style=amber]{--lyric-glow-strong: rgba(255, 176, 32, .55);--lyric-glow-soft: rgba(255, 176, 32, .25);--lyric-current-strong: rgba(255, 176, 32, .85);--lyric-current-soft: rgba(255, 176, 32, .45)}.shell-canvas-scroll[data-lyric-style=crystal]{--lyric-glow-strong: rgba(255, 255, 255, .42);--lyric-glow-soft: rgba(255, 255, 255, .18);--lyric-current-strong: rgba(255, 255, 255, .65);--lyric-current-soft: rgba(255, 255, 255, .32)}.shell-canvas-scroll[data-lyric-style=neon]{--lyric-glow-strong: rgba(0, 229, 255, .55);--lyric-glow-soft: rgba(0, 229, 255, .3);--lyric-current-strong: rgba(255, 61, 219, .8);--lyric-current-soft: rgba(255, 61, 219, .4)}.shell-canvas-scroll[data-lyric-style=mono]{--lyric-glow-strong: rgba(0, 0, 0, 0);--lyric-glow-soft: rgba(0, 0, 0, 0);--lyric-current-strong: rgba(0, 0, 0, 0);--lyric-current-soft: rgba(0, 0, 0, 0)}.shell-canvas-scroll[data-lyric-style=plum]{--lyric-glow-strong: rgba(180, 80, 200, .55);--lyric-glow-soft: rgba(180, 80, 200, .28);--lyric-current-strong: rgba(255, 105, 180, .85);--lyric-current-soft: rgba(255, 105, 180, .45)}.player-library{flex:1 1 auto;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(52,211,153,.4) transparent}.player-library::-webkit-scrollbar{width:8px;height:8px}.player-library::-webkit-scrollbar-track{background:transparent}.player-library::-webkit-scrollbar-thumb{background:#34d39959;border-radius:4px}.player-library::-webkit-scrollbar-thumb:hover{background:#34d3998c}.player-library::-webkit-scrollbar-corner{background:transparent}.player-vis-resizer{flex:0 0 auto;height:6px;cursor:ns-resize;position:relative;background:transparent;z-index:4}.player-vis-resizer:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;background:var(--border);transition:background .12s ease,height .12s ease}.player-vis-resizer:hover:after,.player-vis-resizer:active:after{background:var(--accent);height:2px;margin-top:-1px}.player-vis-resizer-vertical{height:auto;width:6px;align-self:stretch;cursor:ew-resize}.player-vis-resizer-vertical:after{inset:0 auto 0 50%;width:1px;height:100%;margin-top:0;margin-left:-.5px;transition:background .12s ease,width .12s ease}.player-vis-resizer-vertical:hover:after,.player-vis-resizer-vertical:active:after{width:2px;height:100%;margin-top:0;margin-left:-1px}.player-split{display:flex;flex:1 1 auto;flex-direction:row;min-height:0;overflow:hidden}.player-split .player-library{height:auto;min-height:0;border-right:1px solid var(--border)}.player-split .player-vis-banner{flex:1 1 auto;height:auto;border-bottom:none}.player-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:16rem;color:var(--muted);text-align:center}.player-empty-title{font-size:1.1rem;font-weight:600;color:var(--fg-dim);margin-bottom:.4rem}.player-empty-hint{font-size:.85rem}.player-table{width:100%;border-collapse:collapse;font-size:.88rem}.player-table thead{position:sticky;top:0;background:var(--bg);z-index:1;box-shadow:0 1px 0 var(--border)}.player-th{text-align:left;padding:.6rem .8rem;font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);cursor:pointer;user-select:none;white-space:nowrap}.player-th:hover{color:var(--fg-dim)}.player-th-active{color:var(--accent)}.player-th-right{text-align:right}.player-th-arrow{display:inline-block;width:.9em;text-align:center;margin-left:.25em;font-variant-numeric:tabular-nums}.player-row{cursor:pointer;transition:background 80ms ease}.player-row:hover{background:var(--bg-row-hover)}.player-row-selected{background:var(--bg-row-selected)}.player-row-playing .player-cell-title{color:var(--accent)}.player-row td{padding:.55rem .8rem;border-top:1px solid var(--border);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.player-cell-title{font-weight:500;color:var(--fg)}.player-cell-title-row{display:flex;align-items:center;gap:.6rem;min-width:0}.player-cell-title-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.player-row-thumb{width:36px;height:36px;border-radius:4px;flex:0 0 auto;object-fit:cover;background:var(--bg);border:1px solid var(--border)}.player-row-thumb-empty{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:var(--fg-dim);background:linear-gradient(135deg,#1a1f24,#0f1418)}.player-table-card .player-row td{padding:.7rem .9rem;border-top:1px solid var(--border)}.player-table-card .player-row-thumb{width:48px;height:48px}.player-table-card .player-cell-title-row{gap:.85rem;align-items:center}.player-cell-stack{display:flex;flex-direction:column;min-width:0;gap:.1rem;flex:1 1 auto}.player-cell-stack-title{color:var(--fg);font-weight:600;font-size:.92rem;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.player-cell-stack-artist{color:var(--fg-dim);font-size:.78rem;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.player-table-card .player-cell-num{vertical-align:middle;white-space:nowrap;color:var(--fg-dim)}.player-cell-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--fg-dim);width:6rem}.player-footer{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1.2rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--muted)}.player-footer-now{display:inline-flex;align-items:center;gap:.35rem;color:var(--fg-dim)}.player-footer-now-dot{color:var(--accent)}.player-footer-now-title{color:var(--fg);font-weight:500}.player-footer-now-artist{color:var(--accent)}.player-footer-now-status{color:var(--muted)}.player-transport{display:flex;align-items:center;gap:1rem;padding:.7rem 1.2rem;border-top:1px solid var(--border);background:var(--bg-card)}.player-transport-skip{width:2.2rem;height:2.2rem;background:transparent;border:none;color:var(--fg-dim);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:6px;transition:color .1s ease,background .1s ease}.player-transport-skip:hover:not(:disabled){color:var(--fg);background:#ffffff0f}.player-transport-skip:disabled{opacity:.3;cursor:not-allowed}.player-transport-play{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--accent);color:#042f1f;border:none;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.player-transport-play:hover:not(:disabled){background:#2cb98a}.player-transport-play:disabled{background:#34d39940;color:#042f1f80;cursor:not-allowed}.player-transport-time{flex:1 1 auto;display:flex;align-items:center;gap:.6rem}.player-transport-time-num{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--fg-dim);min-width:3rem;text-align:center}.player-transport-scrub{flex:1 1 auto;height:4px;appearance:none;background:var(--border);border-radius:2px;outline:none;cursor:pointer}.player-transport-scrub::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer}.player-transport-scrub:disabled{opacity:.4;cursor:not-allowed}.player-transport-queue{position:relative;background:transparent;border:1px solid var(--border);color:var(--fg-dim);width:2.2rem;height:2.2rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.05rem}.player-transport-queue:hover{color:var(--fg);background:#ffffff0a}.player-transport-queue-open{background:#34d3992e;border-color:var(--accent);color:var(--accent)}.player-transport-queue-badge{position:absolute;top:-4px;right:-4px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--accent);color:#042f1f;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.player-transport-mic{background:transparent;border:1px solid var(--border);color:var(--fg);width:2.2rem;height:2.2rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.95rem}.player-transport-mic:disabled{opacity:.35;cursor:not-allowed}.player-transport-mic-on{background:#34d3992e;border-color:var(--accent);color:var(--accent)}.player-transport-volume{display:flex;align-items:center;gap:.35rem}.player-transport-mute{background:transparent;border:none;color:var(--fg-dim);cursor:pointer;font-size:.95rem;padding:.2rem .4rem}.player-transport-volume-slider{width:5rem;height:4px;appearance:none;background:var(--border);border-radius:2px;outline:none;cursor:pointer}.player-transport-volume-slider::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:50%;background:var(--fg-dim);cursor:pointer}.player-transport-icon{background:transparent;border:1px solid var(--border);color:var(--fg-dim);height:2.2rem;min-width:2.2rem;padding:0 .5rem;border-radius:6px;cursor:pointer;font:inherit;font-size:.85rem;display:flex;align-items:center;justify-content:center}.player-transport-icon:hover{color:var(--fg);background:#ffffff0a}.player-transport-icon-on{background:#34d3992e;border-color:var(--accent);color:var(--accent)}.player-transport-lyrics-size{display:flex;align-items:center;gap:2px}.player-transport-lyric-pct{background:transparent;border:1px solid var(--border);border-left:none;border-right:none;color:var(--fg-dim);height:2.2rem;min-width:3rem;padding:0 .4rem;cursor:pointer;font:inherit;font-size:.78rem;font-variant-numeric:tabular-nums}.player-transport-lyric-pct:hover{color:var(--fg);background:#ffffff0a}.player-transport-lyrics-size .player-transport-icon{font-weight:600}.player-transport-lyrics-size .player-transport-icon:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.player-transport-lyrics-size .player-transport-icon:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.player-upnext{position:absolute;top:0;right:0;bottom:0;width:22rem;max-width:80vw;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:-8px 0 24px #0006;z-index:5}.player-upnext-header{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--border)}.player-upnext-title{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg);flex:0 0 auto}.player-upnext-count{font-size:.72rem;color:var(--muted);flex:1 1 auto}.player-upnext-clear{background:transparent;border:1px solid var(--border);color:var(--fg-dim);padding:.2rem .55rem;border-radius:4px;font-size:.72rem;cursor:pointer}.player-upnext-clear:hover:not(:disabled){color:var(--fg);border-color:var(--fg-dim)}.player-upnext-clear:disabled{opacity:.35;cursor:not-allowed}.player-upnext-close{background:transparent;border:none;color:var(--muted);font-size:1.2rem;cursor:pointer;padding:0 .2rem}.player-upnext-close:hover{color:var(--fg)}.player-upnext-empty{padding:2rem 1rem;text-align:center;color:var(--muted);font-size:.85rem}.player-upnext-hint{margin-top:.4rem;font-size:.75rem;color:var(--muted)}.player-upnext-list{list-style:none;margin:0;padding:.3rem 0;flex:1 1 auto;overflow-y:auto}.player-upnext-row{display:grid;grid-template-columns:1.6rem 1fr 1.4rem;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.85rem;border-bottom:1px solid rgba(234,234,234,.04)}.player-upnext-row:hover{background:#ffffff08}.player-upnext-row-num{text-align:right;font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--muted)}.player-upnext-row-text{min-width:0}.player-upnext-row-title{color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-upnext-row-artist{color:var(--accent);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-upnext-row-remove{background:transparent;border:none;color:var(--muted);font-size:1rem;cursor:pointer;padding:.15rem .3rem;border-radius:3px;opacity:0;transition:opacity .1s ease,color .1s ease,background .1s ease}.player-upnext-row:hover .player-upnext-row-remove{opacity:1}.player-upnext-row-remove:hover{color:var(--error);background:#f8717114}.player-ctxmenu{position:fixed;z-index:20;min-width:12rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 24px #00000073;padding:.25rem 0;font-size:.85rem}.player-ctxmenu-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--fg);padding:.45rem .9rem;cursor:pointer;font:inherit}.player-ctxmenu-item:hover:not(:disabled){background:#34d39924;color:var(--accent)}.player-ctxmenu-item:disabled{opacity:.4;cursor:not-allowed}.player-ctxmenu-item-danger{color:var(--error)}.player-ctxmenu-item-danger:hover:not(:disabled){background:#f871711f;color:var(--error)}.player-ctxmenu-sep{height:1px;background:var(--border);margin:.25rem 0}.player-ctxmenu-item-toggle{display:flex;align-items:center;gap:.5rem}.player-ctxmenu-item-check{flex:0 0 auto;width:1.1em;text-align:center;color:var(--accent);font-weight:700}.player-ctxmenu-submenu-anchor{position:relative}.player-ctxmenu-item-submenu{display:flex;align-items:center;gap:.5rem}.player-ctxmenu-item-label{flex:1 1 auto;text-align:left}.player-ctxmenu-item-hint{flex:0 0 auto;color:var(--muted);font-size:.78rem;letter-spacing:.01em;margin-right:.1rem}.player-ctxmenu-item-chevron{flex:0 0 auto;color:var(--muted);font-size:1rem;line-height:1}.player-ctxmenu-item-submenu-open{background:#34d3991a}.player-ctxmenu-item-submenu-open .player-ctxmenu-item-chevron{color:var(--accent)}.player-ctxmenu-slider{padding:.5rem .85rem .55rem;min-width:14rem}.player-ctxmenu-slider-row{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.35rem}.player-ctxmenu-slider-label{flex:1 1 auto;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.player-ctxmenu-slider-value{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--fg)}.player-ctxmenu-slider-reset{flex:0 0 auto;background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:.75rem;padding:0;letter-spacing:.02em}.player-ctxmenu-slider-reset:hover:not(:disabled){text-decoration:underline}.player-ctxmenu-slider-reset:disabled{opacity:.3;cursor:not-allowed}.player-ctxmenu-slider-input{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:#eaeaea24;border-radius:2px;outline:none;cursor:pointer}.player-ctxmenu-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 0 0 1px #34d3994d;cursor:grab;transition:transform 80ms ease,box-shadow .12s ease}.player-ctxmenu-slider-input::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 3px #34d39940}.player-ctxmenu-slider-input::-webkit-slider-thumb:active{cursor:grabbing}.player-ctxmenu-slider-input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);cursor:grab}.player-ctxmenu-slider-input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.player-splash{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#08090eeb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);user-select:none}.player-splash-card{width:min(28rem,90vw);padding:1.6rem 1.8rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;gap:.6rem}.player-splash-brand{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.player-splash-title{font-size:1.05rem;font-weight:600;color:var(--fg)}.player-splash-current{font-size:.85rem;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1.2em}.player-splash-bar{width:100%;height:6px;background:#eaeaea1a;border-radius:3px;overflow:hidden;margin-top:.2rem}.player-splash-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .18s ease}.player-splash-bar-indeterminate{width:30%;background:var(--accent);animation:player-splash-bar-slide 1.4s ease-in-out infinite}@keyframes player-splash-bar-slide{0%{transform:translate(-100%)}to{transform:translate(360%)}}.player-splash-errors{font-size:.78rem;color:var(--error);margin-top:.3rem}.player-splash-song .player-splash-card{align-items:center;text-align:center}.player-splash-cover{width:128px;height:128px;border-radius:8px;object-fit:cover;margin:0 auto .4rem;border:1px solid var(--border);box-shadow:0 6px 20px #0006}.player-empty-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#08090ed9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.player-empty-card{width:min(32rem,90vw);padding:2rem 2.2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:.7rem}.player-empty-card .player-empty-hint{font-size:.92rem;color:var(--fg-dim);line-height:1.5}.player-empty-card code{background:#ffffff0f;padding:0 .3rem;border-radius:3px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.85em}.player-empty-actions{display:flex;gap:.6rem;margin-top:.6rem}.player-empty-btn{flex:1 1 auto;background:transparent;color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.55rem .9rem;font-size:.88rem;font:inherit;font-weight:500;cursor:pointer;transition:background .1s ease,border-color .1s ease}.player-empty-btn:hover{background:#ffffff0a;border-color:#ffffff2e}.player-empty-btn-primary{background:var(--accent);border-color:var(--accent);color:#042f1f;font-weight:600}.player-empty-btn-primary:hover{background:#2cb98a;border-color:#2cb98a}.player-toast{position:fixed;left:50%;bottom:1.6rem;transform:translate(-50%);padding:.6rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:.85rem;color:var(--fg);box-shadow:0 4px 16px #0006;z-index:10}@media (max-width: 700px){.player-header{flex-direction:column;align-items:stretch;gap:.55rem;padding:.7rem .9rem}.player-brand-row{justify-content:flex-start}.player-brand{font-size:1rem;letter-spacing:.25em}.player-search{flex:1 1 auto;width:100%;font-size:.95rem;padding:.55rem .7rem}.player-vis-banner{height:55vh!important;min-height:240px}.player-vis-overlay{left:.9rem;bottom:.7rem}.player-vis-title{font-size:1.05rem}.player-vis-artist{font-size:.78rem}.shell-canvas-scroll{padding:0 .7rem}.shell-canvas-scroll-line{font-size:calc(1.5rem * var(--lyric-zoom, 1.4));line-height:1.3;padding:calc(.3rem * var(--lyric-zoom, 1.4)) .3rem}.shell-canvas-scroll-pill{top:12px;right:12px;padding:6px 12px;font-size:.78rem}.player-vis-resizer,.player-vis-resizer-vertical{display:none}.player-table{font-size:.92rem}.player-table thead{display:none}.player-table tr{display:grid;grid-template-columns:1fr auto;gap:.4rem;align-items:center;padding:.55rem .9rem;border-top:1px solid var(--border)}.player-table td{border-top:none!important;padding:0!important;max-width:none!important;white-space:normal}.player-table .player-cell-title{grid-column:1;overflow:hidden}.player-table .player-cell-num{grid-column:2;text-align:right;font-size:.78rem;color:var(--muted)}.player-table .player-row td:nth-child(2),.player-table .player-row td:nth-child(3),.player-table .player-row td:nth-child(4),.player-table .player-row td:nth-child(6){display:none}.player-cell-title-row{gap:.7rem}.player-row-thumb{width:44px;height:44px}.player-cell-title-row>span{font-size:.95rem;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.player-footer{display:none}.player-transport{gap:.5rem;padding:.55rem .7rem;flex-wrap:nowrap}.player-transport-skip,.player-transport-queue,.player-transport-mic,.player-transport-icon{width:2.6rem;height:2.6rem;min-width:2.6rem;font-size:1.1rem}.player-transport-play{width:3rem;height:3rem;font-size:1rem}.player-transport-time{gap:.4rem;min-width:0}.player-transport-time-num{font-size:.7rem;min-width:2.4rem}.player-transport-volume-slider{display:none}.player-transport-mute{width:2.6rem;height:2.6rem;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.player-transport-lyric-pct{height:2.6rem;min-width:2.4rem;font-size:.7rem}.player-upnext{width:100vw;max-width:100vw;border-left:none}.player-upnext-row{padding:.7rem .9rem;font-size:.95rem}.player-upnext-row-remove{opacity:1;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.player-empty-btn{padding:.75rem 1rem;font-size:.95rem}.player-toast{bottom:5.5rem;max-width:calc(100vw - 1.6rem);text-align:center}}@media (max-width: 380px){.player-header{padding:.55rem .7rem}.player-vis-banner{height:50vh!important}.shell-canvas-scroll-line{font-size:calc(1.35rem * var(--lyric-zoom, 1.4))}.player-transport-lyrics-size{display:none}}.m-shell{display:flex;flex-direction:column;height:100dvh;min-height:100dvh;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;overscroll-behavior:none;position:relative}.m-library,.m-sheet-body,.m-nowplaying-surface .shell-canvas-scroll{overscroll-behavior:contain}@media (prefers-reduced-motion: reduce){.m-shell *,.m-shell *:before,.m-shell *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.m-shell,.m-shell *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.m-library{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-top:env(safe-area-inset-top,0)}.m-library-with-minibar{padding-bottom:calc(76px + env(safe-area-inset-bottom,0))}.m-library-header{display:flex;flex-direction:column;gap:.55rem;padding:.9rem 1rem .6rem;position:sticky;top:0;z-index:2;background:var(--bg);border-bottom:1px solid transparent}.m-library-brand{display:flex;align-items:baseline;gap:.55rem}.m-library-brand-name{font-size:1rem;font-weight:800;letter-spacing:.3em;color:var(--accent)}.m-library-brand-tag{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.m-library-search{width:100%;font-size:1rem;padding:.7rem .9rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:var(--fg);outline:none}.m-library-search:focus{border-color:var(--accent)}.m-library-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);padding:4rem 2rem;text-align:center}.m-library-empty-title{font-size:1.05rem;color:var(--fg-dim)}.m-library-list{list-style:none;margin:0;padding:0}.m-card{display:flex;align-items:center;gap:.85rem;padding:.65rem 1rem;border-bottom:1px solid rgba(234,234,234,.04);cursor:pointer;user-select:none;touch-action:manipulation}.m-card:active{background:#ffffff0a}.m-card-playing{background:#34d3990f}.m-card-playing .m-card-title{color:var(--accent)}.m-card-thumb{width:56px;height:56px;border-radius:6px;flex:0 0 auto;background:linear-gradient(135deg,#1a1f24,#0f1418);display:flex;align-items:center;justify-content:center;color:var(--fg-dim);font-weight:700;font-size:1.4rem;overflow:hidden;border:1px solid var(--border)}.m-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.m-card-text{flex:1 1 auto;min-width:0}.m-card-title{color:var(--fg);font-size:1rem;font-weight:500;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-card-meta{color:var(--muted);font-size:.8rem;line-height:1.2;margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-card-duration{flex:0 0 auto;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.m-minibar{position:fixed;left:0;right:0;bottom:env(safe-area-inset-bottom,0);z-index:30;display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;background:#161a1eeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);cursor:pointer;user-select:none}.m-minibar:active{background:#1c2024f2}.m-minibar-progress{position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent);transform-origin:0 0;transition:transform .25s ease}.m-minibar-thumb{width:44px;height:44px;border-radius:5px;overflow:hidden;flex:0 0 auto;background:linear-gradient(135deg,#1a1f24,#0f1418);display:flex;align-items:center;justify-content:center;color:var(--fg-dim);font-weight:700;border:1px solid var(--border)}.m-minibar-thumb img{width:100%;height:100%;object-fit:cover}.m-minibar-text{flex:1 1 auto;min-width:0}.m-minibar-title{color:var(--fg);font-size:.92rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-minibar-artist{color:var(--muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-minibar-btn{flex:0 0 auto;width:44px;height:44px;background:transparent;border:none;color:var(--fg);font-size:1.1rem;cursor:pointer;border-radius:8px}.m-minibar-btn:active{background:#ffffff0f}.m-minibar-btn:disabled{opacity:.35;cursor:not-allowed}.m-nowplaying{position:fixed;inset:0;z-index:40;background:var(--bg);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);pointer-events:none;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.m-nowplaying-open{transform:translateY(0);pointer-events:auto}.m-nowplaying-surface{position:relative;flex:1 1 auto;overflow:hidden;min-height:0}.m-nowplaying-meta{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;z-index:4;text-shadow:0 2px 12px rgba(0,0,0,.7);pointer-events:none}.m-nowplaying-title{color:var(--fg);font-size:1.5rem;font-weight:700;letter-spacing:.005em;line-height:1.2}.m-nowplaying-artist{color:var(--accent);font-size:1rem;margin-top:.2rem;letter-spacing:.04em}.m-nowplaying-album{color:var(--fg-dim);font-size:.85rem;margin-top:.1rem}.m-nowplaying-top{position:absolute;left:0;right:0;top:env(safe-area-inset-top,0);z-index:5;display:flex;align-items:center;gap:.55rem;padding:.65rem .7rem;background:linear-gradient(to bottom,#0c0e10d9,#0c0e1000);pointer-events:auto;transition:opacity .28s ease}.m-nowplaying-top-text{flex:1 1 auto;min-width:0;text-align:center}.m-nowplaying-top-title{color:var(--fg);font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-nowplaying-top-artist{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-nowplaying-icon{flex:0 0 auto;width:44px;height:44px;background:#ffffff0f;border:none;border-radius:50%;color:var(--fg);font-size:1.5rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.m-nowplaying-icon:active{background:#ffffff1f}.m-nowplaying-bottom{position:absolute;left:0;right:0;bottom:env(safe-area-inset-bottom,0);z-index:5;background:linear-gradient(to top,#0c0e10eb,#0c0e1099 80%,#0c0e1000);padding:.7rem 1rem 1rem;display:flex;flex-direction:column;gap:.6rem;transition:opacity .32s ease,transform .32s ease}.m-nowplaying-idle .m-nowplaying-top,.m-nowplaying-idle .m-nowplaying-bottom{opacity:0;pointer-events:none}.m-nowplaying-scrub-row{display:flex;align-items:center;gap:.6rem}.m-nowplaying-time{flex:0 0 auto;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;min-width:2.4rem;text-align:center}.m-nowplaying-scrub{flex:1 1 auto;height:6px;appearance:none;background:#eaeaea2e;border-radius:3px;outline:none}.m-nowplaying-scrub::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--fg);border:2px solid var(--accent);box-shadow:0 2px 8px #00000059;cursor:pointer}.m-nowplaying-scrub::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--fg);border:2px solid var(--accent);cursor:pointer}.m-nowplaying-transport{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.m-nowplaying-mode-btn{flex:0 0 auto;width:44px;height:44px;background:transparent;border:1px solid var(--border);border-radius:50%;color:var(--fg-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background .12s ease,color .12s ease,border-color .12s ease}.m-nowplaying-mode-btn:active{background:#ffffff0f}.m-nowplaying-mode-btn-on{background:#34d3992e;border-color:var(--accent);color:var(--accent)}.m-nowplaying-skip{flex:0 0 auto;width:56px;height:56px;background:transparent;border:none;color:var(--fg);font-size:1.4rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center}.m-nowplaying-skip:active:not(:disabled){background:#ffffff0f}.m-nowplaying-skip:disabled{opacity:.3;cursor:not-allowed}.m-nowplaying-play{flex:0 0 auto;width:72px;height:72px;border-radius:50%;background:var(--fg);color:var(--bg);border:none;font-size:1.5rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #00000059;transition:transform 80ms ease,background .12s ease}.m-nowplaying-play:active{transform:scale(.92);background:var(--accent)}.m-nowplaying-skip:active:not(:disabled),.m-nowplaying-mode-btn:active:not(:disabled),.m-nowplaying-icon:active,.m-nowplaying-mic:active,.m-minibar-btn:active:not(:disabled){transform:scale(.92);transition:transform 80ms ease}.m-nowplaying-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#042f1f;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.m-vocal-toggle{display:grid;grid-template-columns:1fr 1fr;background:#eaeaea14;border:1px solid var(--border);border-radius:999px;padding:4px;position:relative;overflow:hidden}.m-vocal-toggle-option{position:relative;z-index:1;background:transparent;border:none;color:var(--muted);padding:.7rem .9rem;font:inherit;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:color .16s ease;-webkit-tap-highlight-color:transparent}.m-vocal-toggle-option:active{transform:scale(.98);transition:transform 60ms ease,color .16s ease}.m-vocal-toggle-option-active{color:#042f1f;font-weight:700;background:var(--accent);box-shadow:0 2px 8px #34d39959}.m-vocal-toggle-karaoke{border-color:var(--accent);box-shadow:0 0 0 1px #34d39926}.m-vocal-toggle-option svg{flex:0 0 auto}.m-nowplaying-surface .shell-canvas-scroll{padding:5rem .9rem 7.5rem;z-index:4}.m-nowplaying-surface .shell-canvas-scroll-line{font-size:calc(1.6rem * var(--lyric-zoom, 1.4));line-height:1.3;padding:calc(.35rem * var(--lyric-zoom, 1.4)) .4rem;cursor:default}.m-nowplaying-surface .shell-canvas-scroll-pill{z-index:5;top:5rem;right:1rem}.m-nowplaying-mode-label{font-size:.95rem;font-weight:700;letter-spacing:.02em;font-family:ui-serif,Georgia,Times New Roman,serif}.m-sheet{position:fixed;inset:0;z-index:50;background:#0000;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;transition:background .28s ease}.m-sheet-open{background:#0000008c;pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.m-sheet-panel{width:100%;max-height:85vh;background:var(--bg-card);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -10px 40px #00000080;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);padding-bottom:env(safe-area-inset-bottom,0)}.m-sheet-open .m-sheet-panel{transform:translateY(0)}.m-sheet-grabber{display:flex;justify-content:center;padding:.5rem 0 .3rem;cursor:grab;touch-action:none}.m-sheet-handle{width:38px;height:4px;border-radius:2px;background:#eaeaea40}.m-sheet-header{display:flex;align-items:center;gap:.5rem;padding:0 1.1rem .6rem;border-bottom:1px solid var(--border)}.m-sheet-title{flex:1 1 auto;margin:0;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.m-sheet-close{flex:0 0 auto;width:32px;height:32px;background:transparent;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer;border-radius:50%}.m-sheet-close:active{background:#ffffff0f}.m-sheet-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.5rem 0}.m-settings{display:flex;flex-direction:column;gap:.75rem;padding:0 .5rem .4rem}.m-settings-section{padding:.4rem .6rem}.m-settings-section-title{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.55rem;padding-left:.1rem}.m-settings-row{display:flex;align-items:center;width:100%;background:transparent;border:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}.m-settings-row-slider{flex-direction:column;gap:.3rem;padding:.5rem .2rem}.m-settings-row-toggle{padding:.85rem .2rem;border-bottom:1px solid rgba(234,234,234,.04)}.m-settings-row-toggle:last-child{border-bottom:none}.m-settings-label{flex:1 1 auto;font-size:.95rem;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;color:var(--fg)}.m-settings-value{color:var(--accent);font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:500}.m-settings-slider{width:100%;height:4px;appearance:none;background:#eaeaea29;border-radius:2px;outline:none}.m-settings-slider::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);cursor:pointer;box-shadow:0 0 0 1px #34d3994d}.m-settings-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}.m-settings-switch{flex:0 0 auto;width:44px;height:26px;background:#eaeaea29;border-radius:999px;position:relative;transition:background .16s ease}.m-settings-switch-on{background:var(--accent)}.m-settings-switch-knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--fg);transition:transform .16s ease;box-shadow:0 1px 4px #00000059}.m-settings-switch-on .m-settings-switch-knob{transform:translate(18px);background:var(--bg-card)}.m-settings-pill-row{display:flex;flex-wrap:wrap;gap:.4rem}.m-settings-pill{flex:0 1 auto;background:#eaeaea0f;border:1px solid var(--border);color:var(--fg-dim);padding:.5rem .85rem;border-radius:999px;font:inherit;font-size:.82rem;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.m-settings-pill:active{background:#eaeaea1a}.m-settings-pill-active{background:#34d3992e;border-color:var(--accent);color:var(--accent)}.m-settings-pill-emerald:before{background:#34d399}.m-settings-pill-amber:before{background:#ffb020}.m-settings-pill-crystal:before{background:#ffffffb3}.m-settings-pill-neon:before{background:#00e5ff}.m-settings-pill-mono:before{background:#eaeaea80}.m-settings-pill-plum:before{background:#b450c8}.m-settings-pill-emerald,.m-settings-pill-amber,.m-settings-pill-crystal,.m-settings-pill-neon,.m-settings-pill-mono,.m-settings-pill-plum{display:inline-flex;align-items:center;gap:.4rem}.m-settings-pill-emerald:before,.m-settings-pill-amber:before,.m-settings-pill-crystal:before,.m-settings-pill-neon:before,.m-settings-pill-mono:before,.m-settings-pill-plum:before{content:"";width:8px;height:8px;border-radius:50%}.m-settings-action{display:block;width:100%;background:transparent;border:1px solid var(--border);color:var(--fg);padding:.85rem;border-radius:10px;font:inherit;font-size:.95rem;cursor:pointer;text-align:center}.m-settings-action:active:not(:disabled){background:#ffffff0a}.m-settings-action:disabled{opacity:.35;cursor:not-allowed}.m-queue{display:flex;flex-direction:column}.m-queue-empty{padding:2.5rem 1.5rem;text-align:center;color:var(--muted)}.m-queue-empty-hint{margin-top:.4rem;font-size:.78rem;color:var(--muted)}.m-queue-meta{display:flex;justify-content:space-between;align-items:center;padding:.4rem 1.1rem .6rem;font-size:.78rem;color:var(--muted)}.m-queue-clear{background:transparent;border:1px solid var(--border);color:var(--fg-dim);padding:.35rem .7rem;border-radius:999px;font:inherit;font-size:.72rem;cursor:pointer}.m-queue-clear:active{background:#ffffff0a}.m-queue-list{list-style:none;margin:0;padding:0}.m-queue-row{display:grid;grid-template-columns:2rem 1fr 2.4rem;align-items:center;gap:.6rem;padding:.7rem 1.1rem;border-bottom:1px solid rgba(234,234,234,.04)}.m-queue-row-num{text-align:center;font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--muted)}.m-queue-row-text{min-width:0}.m-queue-row-title{color:var(--fg);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-queue-row-artist{color:var(--muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}.m-queue-row-remove{background:transparent;border:none;color:var(--muted);font-size:1.05rem;cursor:pointer;width:2.4rem;height:2.4rem;border-radius:50%}.m-queue-row-remove:active{background:#ffffff0f;color:var(--fg)}.m-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0) + 5.5rem);transform:translate(-50%);z-index:60;padding:.6rem 1rem;background:#161a1ef5;border:1px solid var(--border);border-radius:999px;color:var(--fg);font-size:.85rem;white-space:nowrap;max-width:calc(100vw - 2rem);overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 24px #00000080}.m-loading{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#08090eeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.m-loading-card{width:min(20rem,80vw);padding:1.6rem 1.4rem;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center}.m-loading-cover{width:120px;height:120px;border-radius:10px;object-fit:cover;border:1px solid var(--border);box-shadow:0 6px 20px #00000073}.m-loading-title{color:var(--fg);font-size:1rem;font-weight:600}.m-loading-bar{width:100%;height:4px;background:#eaeaea1a;border-radius:2px;overflow:hidden}.m-loading-bar-fill{width:30%;height:100%;background:var(--accent);border-radius:2px;animation:m-loading-slide 1.4s ease-in-out infinite}@keyframes m-loading-slide{0%{transform:translate(-100%)}to{transform:translate(360%)}}
