.audio-player-unified{position:fixed;bottom:calc(var(--bottom-bar-height,60px) + var(--safe-bottom,0px));left:0;right:0;background:color-mix(in srgb,var(--bg,#fff) 82%,transparent);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);z-index:99;transform:translateY(calc(100% + var(--bottom-bar-height,60px) + var(--safe-bottom,0) + 20px));transition:transform .4s cubic-bezier(.32, .72, 0, 1),bottom .3s;border-top:.5px solid color-mix(in srgb,var(--border,#e2e8f0) 60%,transparent);overflow:hidden}body:has(.bar-hidden) .audio-player-unified{bottom:var(--safe-bottom,0)}body:has(.bar-hidden) .player-bubble.show{bottom:calc(var(--safe-bottom,0px) + 12px)}.audio-player-unified.show{transform:translateY(0)}.player-mini-progress{position:absolute;top:0;left:0;right:0;height:2px;background:color-mix(in srgb,var(--text,#1a202c) 6%,transparent);z-index:2}.player-mini-progress-fill{height:100%;background:var(--brand,#1e3a5f);width:0%;transition:width .3s linear;border-radius:0 1px 1px 0}.player-main{display:flex;align-items:center;gap:12px;padding:8px 12px;position:relative}.player-play{width:36px;height:36px;background:var(--brand,#1e3a5f);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(30,58,95,.3);transition:transform .1s,box-shadow .2s}.player-play:hover{box-shadow:0 3px 12px rgba(30,58,95,.4)}.player-play:active{transform:scale(.92)}.audio-player-unified.playing .player-play{animation:2.5s ease-in-out infinite playGlow}@keyframes playGlow{0%,100%{box-shadow:0 0 0 0 rgba(30,58,95,.5),0 2px 8px rgba(30,58,95,.3)}50%{box-shadow:0 0 0 10px rgba(30,58,95,0),0 4px 20px rgba(30,58,95,.15)}}.player-play svg{width:13px;height:13px;margin-left:1px}.player-info{flex:1;min-width:0}.player-title{font-size:13px;font-weight:600;color:var(--text,#1a202c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.player-time{font-size:11px;color:var(--text-muted,#718096);margin-top:1px;font-variant-numeric:tabular-nums;font-weight:500}.player-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.player-action-btn{width:30px;height:30px;background:0 0;border:none;color:var(--text-muted,#718096);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s,background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.player-action-btn:hover{color:var(--text,#1a202c);background:color-mix(in srgb,var(--text,#1a202c) 6%,transparent)}.player-action-btn:active{transform:scale(.88)}.player-action-btn svg{width:16px;height:16px}.player-action-close:hover{color:#e53e3e;background:rgba(229,62,62,.08)}.player-bubble{position:fixed;bottom:calc(var(--bottom-bar-height,60px) + var(--safe-bottom,0px) + 12px);right:14px;width:48px;height:48px;background:var(--brand,#1e3a5f);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;z-index:98;cursor:pointer;box-shadow:0 4px 16px rgba(30,58,95,.35);opacity:0;transform:scale(.5);pointer-events:none;transition:opacity .3s,transform .3s cubic-bezier(.32, .72, 0, 1),box-shadow .3s;-webkit-tap-highlight-color:transparent;overflow:hidden}.player-bubble.show{opacity:1;transform:scale(1);pointer-events:auto}.player-bubble.playing{animation:3s ease-in-out infinite bubbleBreath}@keyframes bubbleBreath{0%,100%{box-shadow:0 4px 16px rgba(30,58,95,.35),0 0 0 0 rgba(30,58,95,.3)}50%{box-shadow:0 4px 20px rgba(30,58,95,.2),0 0 0 8px rgba(30,58,95,0)}}.player-bubble:active{transform:scale(.9)}.player-bubble-icon{width:20px;height:20px}.player-bubble-eq{gap:2.5px;align-items:flex-end;height:16px}.player-bubble .player-bubble-eq,.player-bubble-eq{display:none}.player-bubble.playing .player-bubble-eq{display:flex}.player-bubble.playing .player-bubble-icon{display:none}.player-bubble-eq span{width:3px;background:#fff;border-radius:1.5px;transform-origin:bottom}.player-bubble-eq span:first-child{animation:1.2s ease-in-out infinite eqBar1}.player-bubble-eq span:nth-child(2){animation:1s ease-in-out infinite eqBar2}.player-bubble-eq span:nth-child(3){animation:1.4s ease-in-out infinite eqBar3}@keyframes eqBar1{0%,100%{height:5px}30%{height:14px}60%{height:8px}}@keyframes eqBar2{0%,100%{height:10px}40%{height:4px}70%{height:16px}}@keyframes eqBar3{0%,100%{height:7px}35%{height:16px}65%{height:5px}}.player-close,.player-controls,.player-expand,.player-next,.player-thumb{display:none}.player-fs-backdrop{position:fixed;inset:0;z-index:199;background:rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .35s}.player-fs-backdrop.show{opacity:1;pointer-events:auto}.player-fullscreen{position:fixed;bottom:0;left:0;right:0;max-height:70vh;z-index:200;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(60px) saturate(2.0) brightness(1.05);backdrop-filter:blur(60px) saturate(2.0) brightness(1.05);border-radius:20px 20px 0 0;border-top:1px solid rgba(255,255,255,.6);border-left:.5px solid rgba(255,255,255,.3);border-right:.5px solid rgba(255,255,255,.3);box-shadow:0 -12px 48px rgba(0,0,0,.1),0 -2px 8px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.7);transform:translateY(100%);transition:transform .4s cubic-bezier(.32, .72, 0, 1);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.player-fullscreen.show{transform:translateY(0)}.player-fs-handle{display:flex;justify-content:center;padding:10px 0 0;flex-shrink:0}.player-fs-handle-bar{width:36px;height:5px;background:rgba(120,120,128,.3);border-radius:3px}.player-fs-close{position:absolute;top:10px;right:14px;width:32px;height:32px;background:rgba(120,120,128,.16);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:.5px solid rgba(255,255,255,.25);color:var(--text-secondary,#4a5568);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;border-radius:50%;transition:.15s}.player-fs-close:hover{background:rgba(120,120,128,.24);color:var(--text,#1a202c)}.player-fs-close svg{width:14px;height:14px}.player-fs-artwork{display:flex;justify-content:center;padding:8px 48px 12px;flex-shrink:0}.player-fs-artwork img{width:100%;max-width:160px;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md,8px);box-shadow:0 4px 12px rgba(0,0,0,.08),0 8px 20px rgba(0,0,0,.08)}.player-fs-artwork-placeholder{width:100%;max-width:160px;aspect-ratio:1;border-radius:var(--radius-md,8px);background:rgba(120,120,128,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:.5px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.06)}.player-fs-artwork-placeholder svg{width:40px;height:40px;color:var(--text-muted,#718096);opacity:.3}.player-fs-info{text-align:center;padding:0 24px 16px;flex-shrink:0}.player-fs-title{font-size:16px;font-weight:700;color:var(--text,#1a202c);line-height:1.3;margin-bottom:3px;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.player-fs-source{font-size:14px;color:var(--brand,#1e3a5f);font-weight:500}.player-fs-progress{padding:0 24px 4px;flex-shrink:0}.player-fs-bar{position:relative;height:4px;background:color-mix(in srgb,var(--text,#1a202c) 8%,transparent);border-radius:2px;cursor:pointer;touch-action:none;transition:height .15s}.player-fs-bar-fill{height:100%;background:var(--brand,#1e3a5f);border-radius:2px;width:0%;position:relative;transition:width .15s linear}.player-fs-bar-handle{position:absolute;top:50%;right:-6px;width:12px;height:12px;background:var(--brand,#1e3a5f);border-radius:50%;transform:translateY(-50%) scale(0);box-shadow:0 1px 3px rgba(30,58,95,.3);transition:transform .15s cubic-bezier(.32, .72, 0, 1)}.player-fs-bar.is-dragging .player-fs-bar-handle,.player-fs-bar:hover .player-fs-bar-handle{transform:translateY(-50%) scale(1)}.player-fs-bar.is-dragging{height:6px}.player-fs-time{display:flex;justify-content:space-between;padding:6px 0;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted,#718096);font-weight:500}.player-fs-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:4px 24px 12px;flex-shrink:0}.player-fs-btn{width:48px;height:48px;background:0 0;border:none;color:var(--text,#1a202c);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .1s,opacity .15s}.player-fs-btn:hover{opacity:.7}.player-fs-btn:active{transform:scale(.88);opacity:.5}.player-fs-btn svg{width:24px;height:24px}.player-fs-play{width:64px;height:64px;background:var(--brand,#1e3a5f);border:.5px solid rgba(255,255,255,.15);border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(30,58,95,.4),inset 0 1px 0 rgba(255,255,255,.15);transition:transform .12s cubic-bezier(.32, .72, 0, 1),box-shadow .2s}.player-fs-play:hover{box-shadow:0 6px 28px rgba(30,58,95,.5),inset 0 1px 0 rgba(255,255,255,.2)}.player-fs-play:active{transform:scale(.92)}.player-fs-play svg{width:28px;height:28px;margin-left:2px}.player-fs-extras{display:flex;align-items:center;justify-content:center;gap:20px;padding:4px 24px 12px;flex-shrink:0}.player-fs-speed{padding:5px 14px;font-size:12px;font-weight:700;color:var(--text-secondary,#4a5568);background:rgba(120,120,128,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:.5px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;transition:.15s;font-variant-numeric:tabular-nums;letter-spacing:.02em}.player-fs-speed:hover{background:rgba(120,120,128,.18)}.player-fs-speed:active{transform:scale(.95)}.player-fs-autoplay{display:flex;align-items:center;gap:6px}.player-fs-autoplay-label{font-size:12px;color:var(--text-muted,#718096);font-weight:500}.player-fs-autoplay-toggle{position:relative;width:42px;height:26px;background:color-mix(in srgb,var(--text,#1a202c) 16%,transparent);border-radius:13px;cursor:pointer;transition:background .25s;border:none}.player-fs-autoplay-toggle.active{background:var(--brand,#1e3a5f)}.player-fs-autoplay-toggle .toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .25s cubic-bezier(.32, .72, 0, 1);pointer-events:none}.player-fs-autoplay-toggle.active .toggle-knob{transform:translateX(16px)}.player-fs-queue{padding:0 24px 24px;border-top:1px solid var(--border-light,#f3f4f6);flex-shrink:0}.player-fs-queue-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text,#1a202c);letter-spacing:.02em;padding:20px 0 12px}.player-fs-queue-list{list-style:none;margin:0;padding:0}.player-fs-queue-item{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;transition:opacity .15s}.player-fs-queue-item:hover{opacity:.7}.player-fs-queue-item:active{opacity:.5}.player-fs-queue-thumb{width:48px;height:48px;border-radius:var(--radius-xs,4px);overflow:hidden;flex-shrink:0;background:var(--bg-tertiary,#edf2f7)}.player-fs-queue-thumb img{width:100%;height:100%;object-fit:cover}.player-fs-queue-info{flex:1;min-width:0}.player-fs-queue-info-title{font-size:14px;font-weight:600;color:var(--text,#1a202c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-fs-queue-info-meta{font-size:12px;color:var(--text-muted,#718096);margin-top:2px}body.player-active .toast{bottom:calc(var(--bottom-bar-height,60px) + var(--safe-bottom,0px) + 72px)!important}@media (max-width:480px){.player-fullscreen{max-height:75vh}.player-fs-artwork{padding:6px 40px 10px}.player-fs-artwork img{max-width:140px}.player-fs-title{font-size:15px}.player-fs-play{width:56px;height:56px}.player-fs-play svg{width:24px;height:24px}.player-fs-controls{gap:16px}.player-fs-progress{padding:0 20px 4px}.player-fs-info{padding:0 20px 12px}.player-fs-extras{padding:4px 20px 10px}}@media (prefers-color-scheme:dark){.player-fullscreen{background:rgba(20,20,28,.6);border-top-color:rgba(255,255,255,.1);border-left-color:rgba(255,255,255,.06);border-right-color:rgba(255,255,255,.06);box-shadow:0 -12px 48px rgba(0,0,0,.3),0 -2px 8px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08)}.player-fs-backdrop{background:rgba(0,0,0,.4)}.player-fs-close{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.08)}.player-fs-play{box-shadow:0 4px 20px rgba(29,155,240,.3),inset 0 1px 0 rgba(255,255,255,.15)}.player-fs-speed{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08)}.player-fs-handle-bar{background:rgba(255,255,255,.2)}.player-fs-artwork-placeholder{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}}