:root{--glass-spring:cubic-bezier(.34, 1.36, .64, 1);--glass-rim:linear-gradient(180deg, #ffffff17, #ffffff09 30% 72%, #ffffff0f)}@supports (transition-timing-function:linear(0, 1)){:root{--glass-spring:linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.9%, 1)}}:root:not([data-glass=false]) .glass{--frost:1.5px;isolation:isolate;background:linear-gradient(#ffffff06, #ffffff06), color-mix(in srgb, var(--bg) 22%, transparent);-webkit-backdrop-filter:blur(var(--frost)) var(--glass-refract,blur(0px)) saturate(1.6) brightness(1.04);backdrop-filter:blur(var(--frost)) var(--glass-refract,blur(0px)) saturate(1.6) brightness(1.04);border:0;position:relative;box-shadow:inset 0 1px #ffffff09,inset 0 -1px #ffffff08,0 18px 48px #0000006b,0 2px 6px #00000038}:root:not([data-glass=false]) .glass:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;background:var(--glass-rim);-webkit-mask-composite:xor;padding:.75px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}:root:not([data-glass=false]) :is(.navigation-dock,.dock-results,.collection-surface){--frost:1px}:root:not([data-glass=false]) .navigation-dock{-webkit-user-select:none;user-select:none;touch-action:pan-y}:root:not([data-glass=false]) :is(.dock-results,.playlist-dialog){text-shadow:0 1px 6px #00000073}:root:not([data-glass=false]) .navigation-dock button{z-index:1;text-shadow:0 1px 6px #00000073;position:relative}:root:not([data-glass=false]) .navigation-dock.has-lens button.active{background:0 0}.dock-lens{z-index:0;width:var(--lens-w,0);height:var(--lens-h,40px);translate:var(--lens-x,0) var(--lens-y,5px);pointer-events:none;transition:translate .55s var(--glass-spring), width .55s var(--glass-spring), height .55s var(--glass-spring), scale .45s var(--glass-spring), background .3s, box-shadow .3s, opacity .2s;background:linear-gradient(#ffffff29,#ffffff12);border-radius:999px;position:absolute;top:0;left:0;box-shadow:inset 0 .5px #ffffff61,inset 0 -.5px #ffffff1a,0 3px 10px #00000038}.navigation-dock:not(.has-lens) .dock-lens{display:none}.dock-lens.is-instant{transition:none}.dock-lens.is-moving{scale:1.1 .94}.dock-lens.is-pressed{background:linear-gradient(#ffffff1a,#ffffff08);scale:1.1 1.16;box-shadow:inset 0 .5px #ffffff8c,inset 0 0 14px #ffffff14,0 8px 22px #00000052}.dock-lens.is-dragging{transition-duration:.14s,.55s,.55s,.45s,.3s,.3s,.2s}:root:not([data-glass=false]) .focus-panel .glass-panel{--frost:6px;isolation:isolate;background:linear-gradient(#ffffff08, #ffffff08), color-mix(in srgb, var(--bg) 48%, transparent);-webkit-backdrop-filter:blur(var(--frost)) saturate(1.6) brightness(1.04);backdrop-filter:blur(var(--frost)) saturate(1.6) brightness(1.04);position:relative;box-shadow:inset 0 1px #ffffff09,0 24px 60px #00000073,0 2px 6px #00000038}:root:not([data-glass=false]) .focus-panel .glass-panel:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;background:var(--glass-rim);-webkit-mask-composite:xor;padding:.75px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}:root:not([data-glass=false]) .focus-panel .glass-panel :is(.device-option.selected,.party-code,.party-join input,.party-name){background:#ffffff14}:root[data-glass=false] .dock-lens{display:none}:root[data-motion=false] .dock-lens{transition:none}.universal-search{min-height:55vh}.search-heading{margin-bottom:22px}.search-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;display:flex}.search-filters,.search-scope{gap:6px;display:flex}.search-filters button{min-height:38px;color:var(--text-2);white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:0 17px;font-size:14px;transition:background .2s,color .2s}.search-filters button:hover{color:#fff;background:#ffffff0d}.search-filters button.selected{color:#0a0a0a;background:#fff;border-color:#fff}.search-scope{border:1px solid var(--line);border-radius:11px;padding:4px}.search-scope button{white-space:nowrap;color:var(--text-2);border-radius:7px;padding:7px 11px;font-size:13px}.search-scope button.selected{color:#eee;background:#ffffff1a}.search-status{min-height:48px;color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.search-section{margin-top:32px}.search-section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.search-section-heading h2{letter-spacing:-.6px;align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.search-section-heading .quiet-button{font-size:13px}.search-top-match{max-width:640px;margin:4px 0 34px}.search-top-card{border-radius:22px;align-items:center;gap:22px;padding:22px;display:flex}.search-top-cover{width:100px;height:100px;color:var(--text-3);background:#191919;border-radius:9px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.search-top-cover img{object-fit:cover;width:100%;height:100%}.search-top-cover.round-cover{border-radius:50%}.search-top-copy{flex-direction:column;flex:1;align-items:flex-start;gap:7px;min-width:0;display:flex}.search-top-copy>.text-button{letter-spacing:-.7px;text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:Manrope,sans-serif;font-size:25px;overflow:hidden}.search-top-copy .source-label{text-transform:capitalize;font-size:13px}.search-top-copy p{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:14px;overflow:hidden}.search-top-play{color:#111;background:#eee;border-radius:50%;flex-shrink:0;place-items:center;width:43px;height:43px;transition:transform .2s;display:grid}.search-top-play:hover:not(:disabled){transform:scale(1.07)}.search-top-play svg{margin-left:2px}.search-entity-grid>[data-search-result]{min-width:0}.search-artist .search-entity-art,.search-artist .search-entity-art:after{border-radius:50%}.search-artist .album-play{bottom:4%;right:8%}.search-art-placeholder{color:#555;background:radial-gradient(at 40% 20%,#242424,#0c0c0c);place-items:center;width:100%;height:100%;display:grid}.search-entity-caption{justify-content:space-between;align-items:flex-start;gap:10px;padding-top:13px;display:flex}.search-entity-caption>div{min-width:0}.search-entity-caption p{color:var(--text-2);margin:7px 0 0;font-size:13px;line-height:1.7}.search-saved{color:var(--text-2);border:1px solid var(--line);white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:13px}.search-entity-caption p .search-saved{margin-top:5px;font-size:12px;display:table}.search-history{margin:30px 0 38px}.search-history-list{flex-wrap:wrap;gap:10px;display:flex}.search-history-list>div{border:1px solid var(--line);background:#ffffff06;border-radius:12px;align-items:center;max-width:100%;display:flex}.search-history-list button{min-height:43px;color:var(--text-2);align-items:center;gap:11px;min-width:0;padding:0 13px;display:flex}.search-history-list button:first-child{padding-right:7px}.search-history-list button:last-child{color:var(--text-3);padding-left:7px}.search-history-list button:hover{color:#fff}.search-history-list button span{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.search-history-list button svg{flex-shrink:0}.search-connect{border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px;padding:15px 18px;display:flex}.search-connect>span{color:var(--text-2);font-size:14px}.search-connect .secondary{white-space:nowrap;min-height:35px;font-size:13px}.search-error{border:1px solid var(--line-strong);background:var(--surface);color:#bbb;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;padding:18px;font-size:14px;display:flex}.search-error button{flex-shrink:0}.search-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:280px;display:flex}.search-empty>svg{color:var(--text-3)}.search-empty h2{letter-spacing:-.5px;margin:0;font-size:23px}.search-empty p{color:var(--text-2);margin:0;font-size:14px;line-height:1.8}.search-empty .secondary{margin-top:8px}.search-more{margin:24px auto 0;display:flex}@media (min-width:1001px){.search-matches:has(.search-top-match):has(.search-songs){grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:32px 38px;display:grid}.search-matches:has(.search-top-match):has(.search-songs)>.search-top-match{max-width:none;margin:0}.search-matches:has(.search-top-match):has(.search-songs)>.search-section{grid-column:1/-1;margin:0}.search-matches:has(.search-top-match)>.search-songs.search-section{grid-area:1/2}.search-matches:has(.search-top-match) .search-songs .track-album{display:none}.search-top-cover{width:82px;height:82px}}@media (max-width:900px){.search-toolbar{flex-wrap:wrap;gap:14px}}@media (max-width:640px){.search-heading{margin-bottom:24px}.search-heading>.quiet-button{font-size:13px}.search-toolbar{gap:16px;padding-bottom:17px}.search-filters{scrollbar-width:none;gap:5px;width:100%;overflow-x:auto}.search-filters button{padding:8px 12px;font-size:13px}.search-scope button{padding:6px 10px;font-size:13px}.search-status{min-height:43px;font-size:13px}.search-top-match{margin-bottom:27px}.search-top-card{border-radius:16px;gap:13px;padding:15px}.search-top-cover{border-radius:7px;width:67px;height:67px}.search-top-copy>.text-button{letter-spacing:-.5px;font-size:18px}.search-top-copy p{font-size:13px}.search-top-copy .source-label{font-size:12px}.search-top-play{width:33px;height:33px}.search-top-play>svg{width:16px}.search-section{margin-top:27px}.search-section-heading{gap:10px;margin-bottom:16px}.search-section-heading h2{font-size:19px}.search-section-heading .quiet-button{font-size:13px}.search-entity-caption{gap:5px}.search-entity-caption p{font-size:13px}.search-connect{flex-direction:column;align-items:flex-start;gap:12px;padding:14px}.search-connect>span{font-size:13px}.search-history-list{gap:8px}.search-history-list button{min-height:42px}.search-history-list button span{font-size:13px}.search-empty h2{font-size:21px}.search-empty p{font-size:13px}.search-error{align-items:flex-start;gap:12px;padding:14px;font-size:13px}}.browse .search-section{margin-top:34px}.browse-tiles{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;display:grid}.browse-tile{text-align:left;background:linear-gradient(135deg, hsl(var(--hue) 38% 30% / .85), hsl(calc(var(--hue) + 30) 30% 14% / .9));height:92px;transition:transform .3s var(--ease), filter .2s;border-radius:18px;align-items:flex-end;padding:14px 16px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff1f}.browse-tile:after{content:"";background:linear-gradient(135deg,#ffffff29,#ffffff05);border-radius:22px;width:84px;height:84px;position:absolute;top:-18px;right:-18px;rotate:22deg}.browse-tile span{z-index:1;font-family:var(--display);letter-spacing:-.02em;font-size:18px;font-weight:700;position:relative}.browse-tile:hover{filter:brightness(1.12);transform:translateY(-2px)}.browse-artists{scroll-snap-type:x mandatory;gap:18px;padding-bottom:4px;display:flex;overflow-x:auto}.browse-artist{text-align:center;scroll-snap-align:start;flex-direction:column;flex:0 0 116px;align-items:center;gap:10px;display:flex}.browse-artist-art{background:var(--surface-2);width:116px;height:116px;transition:transform .3s var(--ease);border-radius:50%;overflow:hidden;box-shadow:0 10px 24px -10px #000000b3,inset 0 0 0 1px #ffffff0f}.browse-artist-art img{width:100%;height:100%}.browse-artist:hover .browse-artist-art{transform:scale(1.04)}.browse-artist strong{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:14px;font-weight:600;overflow:hidden}.browse-recent{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.browse-recent-item{text-align:left;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;align-items:center;gap:12px;min-width:0;padding:8px;display:flex}.browse-recent-item:hover,.browse-recent-item:focus-visible{background:var(--surface-hover)}.browse-recent-item>span:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.browse-recent-item strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.browse-recent-item small{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.browse-recent-art{background:var(--surface-2);border-radius:9px;flex:none;place-items:center;width:52px;height:52px;display:grid;position:relative;overflow:hidden}.browse-recent-art img{width:100%;height:100%}.browse-recent-art svg{color:#fff;opacity:0;filter:drop-shadow(0 1px 4px #000000b3);position:absolute}.browse-recent-item:hover .browse-recent-art img{filter:brightness(.55)}.browse-recent-item:hover .browse-recent-art svg{opacity:1}.browse-row{scroll-snap-type:x mandatory;grid-auto-columns:minmax(168px,190px);grid-auto-flow:column;gap:20px;padding-bottom:6px;display:grid;overflow-x:auto}.browse-row>div{scroll-snap-align:start;min-width:0}@media (max-width:760px){.browse-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.browse-tile{height:80px}.browse-tile span{font-size:16px}.browse-artist{flex-basis:96px}.browse-artist-art{width:96px;height:96px}.browse-recent{grid-template-columns:minmax(0,1fr)}.browse-row{grid-auto-columns:150px;gap:14px}}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:450;font-display:swap;src:url(/fonts/font-0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:550;font-display:swap;src:url(/fonts/font-0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:650;font-display:swap;src:url(/fonts/font-0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:550;font-display:swap;src:url(/fonts/font-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:650;font-display:swap;src:url(/fonts/font-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:750;font-display:swap;src:url(/fonts/font-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/font-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --tone{syntax:"<color>";inherits:true;initial-value:#262626}:root{--bg:#000;--surface:#ffffff09;--surface-2:#ffffff0f;--surface-hover:#ffffff14;--line:#ffffff14;--line-strong:#ffffff24;--text:#f4f4f4;--text-2:#ffffffad;--text-3:#ffffff7a;--accent:#fff;--panel:#101010f5;--radius:24px;--ease:cubic-bezier(.2, .7, .2, 1);--display:"Manrope", "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--stack-space:200px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;transition:background-color .4s}:root[data-theme=graphite]{--bg:#0d0d0e;--surface:#ffffff0b;--panel:#18181af7}:root[data-theme=midnight]{--bg:#05070c;--surface:#aabeff0b;--surface-2:#aabeff12;--line:#becdff17;--panel:#0c0f17f7}:root[data-theme=espresso]{--bg:#0c0907;--surface:#ffe4c80a;--surface-2:#ffe4c811;--line:#ffe8d216;--text:#f5f0ea;--panel:#18130ff7}*{box-sizing:border-box}html{background:var(--bg)}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}body{background:var(--bg);min-width:320px;margin:0;line-height:1.45}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}button:disabled,input:disabled{cursor:default;opacity:.38}button:not(:disabled),a,input{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}svg{flex-shrink:0}img{object-fit:cover;max-width:100%;display:block}p,h1,h2,h3,ol,ul,dl,dd{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;font-weight:700;line-height:1.15}button,a{transition:background-color .2s, color .2s, transform .25s var(--ease), opacity .2s, box-shadow .2s}::selection{background:#ffffff40}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:200;color:#000;background:#fff;border-radius:12px;padding:10px 16px;font-weight:600;position:fixed;top:-60px;left:16px}.skip-link:focus{top:16px}kbd{text-align:center;border:1px solid var(--line-strong);min-width:22px;color:var(--text-3);white-space:nowrap;border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px;line-height:20px;display:inline-block}.muted{color:var(--text-3);font-size:14px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tag{border:1px solid var(--line-strong);height:24px;color:var(--text-2);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 9px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;display:inline-flex}.backdrop{z-index:0;pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--tone) 26%, var(--bg)) 0%, color-mix(in srgb, var(--tone) 9%, var(--bg)) 38%, var(--bg) 72%);position:fixed;inset:0}.backdrop,.hero,.scene-thumb{transition:--tone 1.4s var(--ease)}:root[data-grain=true] :is(.backdrop,.focus-scene):after{content:"";pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.6 -.62'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.icon-button{width:40px;height:40px;color:var(--text-2);border-radius:999px;flex-shrink:0;place-items:center;display:inline-grid;position:relative}.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-button:active:not(:disabled){transform:scale(.92)}.icon-button.is-active{color:var(--accent)}.icon-button.is-active:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:4px;left:50%}.icon-button.is-active svg.lucide-heart{fill:currentColor}.icon-button:is(.pin-button,.pin-toggle,.track-unpin).is-active:before{display:none}.primary,.secondary{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 22px;font-size:15px;font-weight:600;display:inline-flex}.primary{background:var(--accent);color:#0a0a0a}.primary:hover:not(:disabled){background:#e8e8e8;transform:scale(1.02)}.primary:active:not(:disabled),.secondary:active:not(:disabled){transform:scale(.97)}.secondary{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.secondary:hover:not(:disabled){background:var(--surface-hover)}.quiet-button{color:var(--text-2);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 4px;font-size:14px;font-weight:500;display:inline-flex}.quiet-button:hover{color:var(--text)}.text-button{text-align:left}.text-button:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.spin{animation:1s linear infinite spin}.app-shell{z-index:1;max-width:1400px;margin:0 auto;padding:0 48px;position:relative}.app-shell.is-hidden{visibility:hidden}.topbar{align-items:center;gap:24px;height:84px;display:flex}.brand{font-family:var(--display);letter-spacing:-.04em;white-space:nowrap;align-items:center;gap:10px;font-size:20px;font-weight:750;display:flex}.brand-mark{align-items:center;gap:2.5px;height:22px;display:inline-flex}.brand-mark i{background:currentColor;border-radius:2px;width:3.5px;display:block}.brand-mark i:first-child{height:11px}.brand-mark i:nth-child(2){height:20px}.brand-mark i:nth-child(3){height:15px}.brand-mark i:nth-child(4){height:8px}.search-field{background:var(--surface-2);height:44px;box-shadow:inset 0 0 0 1px var(--line);color:var(--text-3);border-radius:999px;flex:0 440px;align-items:center;gap:10px;margin:0 auto;padding:0 8px 0 15px;transition:box-shadow .2s,background .2s;display:flex}.search-field:focus-within{box-shadow:inset 0 0 0 1px var(--line-strong), 0 0 0 4px #ffffff0a;background:#ffffff14}.search-field input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:15px}.search-field input::placeholder{color:var(--text-3)}.search-field .icon-button{width:32px;height:32px}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.connect-button{background:var(--accent);color:#0a0a0a;white-space:nowrap;border-radius:999px;align-items:center;gap:9px;height:42px;padding:0 18px;font-size:14px;font-weight:650;display:inline-flex}.connect-button:hover:not(:disabled){background:#e8e8e8}.profile-button{background:var(--surface-2);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:50%;place-items:center;font-weight:600;display:grid;overflow:hidden}.profile-button img{width:100%;height:100%}main{padding:12px 0 var(--stack-space);outline:none}.view-enter{animation:view-in .4s var(--ease)}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin:16px 0 28px;display:flex}.page-heading h1{align-items:center;gap:14px;font-size:36px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{align-items:center;gap:12px;font-size:22px;display:flex}.surface{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--radius)}.hero-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;gap:20px;display:grid}.hero{isolation:isolate;background:linear-gradient(135deg, color-mix(in srgb, var(--tone) 34%, transparent), color-mix(in srgb, var(--tone) 8%, transparent) 55%, transparent), var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:28px;grid-template-columns:clamp(220px,25vw,340px) minmax(0,1fr);align-items:center;gap:clamp(24px,3vw,44px);padding:clamp(20px,2.4vw,32px);display:grid;position:relative;overflow:hidden}.hero-cover{aspect-ratio:1;background:var(--surface-2);border-radius:14px;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #000000b3,0 8px 20px #0000004d}.hero-cover img{width:100%;height:100%;animation:art-in .7s var(--ease)}.hero-cover:hover{transform:scale(1.012)}.hero-cover:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff14}.cover-skeleton,.album-skeleton{background:linear-gradient(100deg, var(--surface) 20%, var(--surface-2) 50%, var(--surface) 80%);background-size:200% 100%;width:100%;height:100%;animation:1.4s infinite shimmer;display:block}.hero-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.hero-status{letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:600;display:inline-flex}.hero h1{letter-spacing:-.035em;text-wrap:balance;-webkit-line-clamp:3;animation:text-in .5s var(--ease);-webkit-box-orient:vertical;font-size:clamp(30px,3.5vw,50px);line-height:1.04;display:-webkit-box;overflow:hidden}.hero-artist{color:var(--text);opacity:.86;margin-top:12px;font-size:19px;font-weight:500}.hero-meta{color:var(--text-3);gap:8px;margin-top:6px;font-size:15px;display:flex}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-actions .primary,.hero-actions .secondary{min-height:50px;padding:0 24px;font-size:16px}.connect-large{min-height:52px;padding:0 26px;font-size:16px;font-weight:650;box-shadow:0 10px 30px -8px #ffffff40}.hero-note{color:var(--text-3);margin-top:18px;font-size:14px}.eq-bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.eq-bars i{transform-origin:bottom;background:currentColor;border-radius:1px;width:3px;height:12px;animation:.9s ease-in-out infinite alternate eq}.eq-bars i:nth-child(2){animation-delay:-.3s}.eq-bars i:nth-child(3){animation-delay:-.6s}.party-card{flex-direction:column;gap:14px;padding:24px;display:flex}.party-card .primary{width:100%}.party-card>.party-hint+:is(.primary,.party-join,.party-name){margin-top:auto}.popover-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.popover-heading h3{align-items:center;gap:9px;font-size:18px;display:flex}.party-hint{color:var(--text-2);font-size:14px;line-height:1.55}.party-join{gap:8px;display:flex}.party-join input{background:var(--surface-2);min-width:0;height:44px;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:12px;outline:none;flex:1;padding:0 14px;font-size:15px}.party-name{background:var(--surface-2);width:100%;height:44px;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:12px;outline:none;padding:0 14px;font-size:15px}.party-name:focus{box-shadow:inset 0 0 0 1px var(--line-strong)}.member-audio{color:var(--text-2);margin-left:auto}.member-guest{color:var(--text-3);margin-left:auto;font-size:12px;font-style:normal}.party-join input:focus{box-shadow:inset 0 0 0 1px var(--line-strong)}.party-join .secondary{border-radius:12px;padding:0 18px}.party-code{background:var(--surface-2);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.party-code span{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600;display:block}.party-code strong{font-family:var(--display);letter-spacing:.06em;font-size:22px}.party-code .secondary{min-height:38px;padding:0 14px;font-size:14px}.party-status{color:var(--text-2);align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.status-dot{background:var(--text-3);border-radius:50%;width:7px;height:7px}.status-live .status-dot{background:#fff;box-shadow:0 0 0 3px #ffffff24}.party-now{color:var(--text-2);font-size:14px}.party-now strong{color:var(--text);font-weight:600}.party-members{flex-direction:column;gap:8px;display:flex}.party-members li{align-items:center;gap:10px;font-size:14px;display:flex}.party-members em{color:var(--text-3);font-style:normal}.avatar{background:var(--surface-hover);border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:650;display:grid}.party-leave{align-self:flex-start}.icon-button.party-live{color:var(--accent)}.icon-button.party-live:after{content:"";width:7px;height:7px;box-shadow:0 0 0 2px var(--bg);background:#fff;border-radius:50%;position:absolute;top:8px;right:8px}.shelf{margin-top:48px}.album-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 22px;display:grid}.library-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr))}.album-skeleton{aspect-ratio:1;border-radius:12px}.album-card{min-width:0}.album-art{position:relative}.album-art-button{aspect-ratio:1;background:var(--surface-2);width:100%;transition:transform .4s var(--ease), box-shadow .4s var(--ease);border-radius:12px;display:block;overflow:hidden;box-shadow:0 10px 28px -12px #000000b3}.album-art-button img{width:100%;height:100%}.album-art-button:after{content:"";pointer-events:none;border-radius:12px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff12}.album-art:hover .album-art-button{transform:translateY(-3px);box-shadow:0 18px 34px -14px #000c}.album-play{color:#0a0a0a;opacity:0;background:#fff;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:absolute;bottom:10px;right:10px;transform:translateY(6px)scale(.94);box-shadow:0 8px 20px #00000073}.album-play svg{margin-left:2px}.album-art:hover .album-play,.album-play:focus-visible{opacity:1;transform:translateY(-3px)scale(1)}.album-play:hover{transform:translateY(-3px)scale(1.07)!important}.album-caption{justify-content:space-between;align-items:flex-start;gap:8px;padding-top:12px;display:flex}.album-caption>div{min-width:0}.album-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:15px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.album-caption p{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:14px;overflow:hidden}.spotify-link{width:32px;height:32px;color:var(--text-3);border-radius:50%;flex-shrink:0;place-items:center;margin:-5px -6px 0 0;display:inline-grid}.spotify-link:hover{color:var(--text);background:var(--surface-hover)}.home-pin{color:#fff;-webkit-backdrop-filter:blur(10px);opacity:0;width:36px;height:36px;transition:opacity .2s, background .2s, transform .2s var(--ease);background:#00000080;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;left:10px;box-shadow:inset 0 0 0 1px #ffffff2e}.album-art:hover .home-pin,.home-pin:focus-visible,.home-pin.on{opacity:1}.home-pin:hover{background:#000000a6;transform:scale(1.08)}.home-pin.on{color:#0a0a0a;background:#fff;box-shadow:0 4px 12px #0006}.album-card.is-pinned .album-art-button{box-shadow:0 0 0 2px #ffffffd9,0 10px 28px -12px #000000b3}.shelf-note{color:var(--text-3);margin-top:16px;font-size:14px}.shelf-note .text-button{color:var(--text-2);text-underline-offset:3px;text-decoration:underline}.liked-songs-art{color:var(--text);background:radial-gradient(ellipse at 30% 15%, #ffffff26, transparent 70%), var(--surface-2);place-items:center;display:grid}.album-art-button.liked-songs-art{display:grid}@media (hover:none){.home-pin{opacity:1}.album-play{opacity:1;width:40px;height:40px;bottom:8px;right:8px;transform:none}}.track-list{flex-direction:column;display:flex}.track-row{border-radius:12px;grid-template-columns:40px 44px minmax(0,1.5fr) minmax(0,1fr) 52px 32px;align-items:center;gap:14px;min-height:62px;padding:8px 12px 8px 6px;display:grid}.track-row:hover,.track-row:focus-within{background:var(--surface-2)}.track-row>img{border-radius:6px;width:44px;height:44px}.track-row.no-album>img{display:none}.track-row.no-album{grid-template-columns:40px minmax(0,1fr) 52px 32px}.track-play{width:36px;height:36px;color:var(--text-3);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:14px;display:grid}.track-play svg.lucide-play,.track-row:hover .track-play span,.track-row:focus-within .track-play span{display:none}.track-row:hover .track-play svg.lucide-play,.track-row:focus-within .track-play svg.lucide-play{color:var(--text);display:block}.track-play:hover{background:var(--surface-hover)}.current-track .track-play,.current-track .track-title strong{color:var(--accent)}.track-title{flex-direction:column;gap:3px;min-width:0;display:flex}.track-title strong{align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:600;display:flex}.track-title strong,.track-title span,.track-album{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.track-title>span{color:var(--text-2);font-size:14px}.explicit{width:17px;height:17px;color:var(--text);background:#fff3;border-radius:4px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.track-album{color:var(--text-3);font-size:14px}.track-duration{color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;font-size:14px}.track-row .spotify-link{opacity:0;margin:0}.track-row:hover .spotify-link,.track-row .spotify-link:focus-visible{opacity:1}.eq{animation:1.2s ease-in-out infinite pulse}.library-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.segmented{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.segmented button{height:38px;color:var(--text-2);border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:550;display:inline-flex}.segmented button:hover{color:var(--text)}.segmented button.selected{color:var(--text);background:#ffffff1f;box-shadow:inset 0 .5px #fff3}.load-more{margin:36px auto 0;display:flex}.empty-state{text-align:center;min-height:300px;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:48px 24px;display:flex}.empty-state>svg{color:var(--text-3)}.empty-state h2{color:var(--text);font-size:22px}.empty-state p{font-size:15px}.inline-empty{color:var(--text-2);align-items:center;gap:14px;padding:22px 24px;font-size:15px;display:flex}.inline-empty .quiet-button{margin-left:auto}.bottom-stack{z-index:30;pointer-events:none;flex-direction:column;align-items:center;gap:10px;width:min(1260px,100% - 32px);display:flex;position:fixed;bottom:16px;left:50%;translate:-50%}.bottom-stack>*{pointer-events:auto}.navigation-dock{background:color-mix(in srgb, var(--bg) 82%, #222);box-shadow:inset 0 0 0 1px var(--line), 0 12px 30px #00000059;border-radius:999px;align-items:center;gap:2px;padding:5px;display:flex}.navigation-dock button{height:40px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:550;display:inline-flex}.navigation-dock button:hover{color:var(--text)}.navigation-dock button.active{color:var(--text);background:#ffffff1a}.navigation-dock button:active{transform:scale(.95)}.player-shell{background:color-mix(in srgb, var(--bg) 86%, #1c1c1c);width:100%;box-shadow:inset 0 0 0 1px var(--line), 0 18px 48px #00000073;border-radius:26px}.player{grid-template-columns:minmax(0,1fr) minmax(380px,1.25fr) minmax(0,1fr);align-items:center;gap:20px;min-height:88px;padding:12px 18px 12px 12px;display:grid;position:relative}.player.is-stale .player-meta span{color:var(--text-3)}.player-track{align-items:center;gap:12px;min-width:0;display:flex}.player-art{background:var(--surface-2);border-radius:10px;flex-shrink:0;width:60px;height:60px;position:relative;overflow:hidden;box-shadow:0 6px 16px #0006}.player-art img{width:100%;height:100%;animation:art-in .5s var(--ease)}.player-art>span{opacity:0;background:#00000073;place-items:center;transition:opacity .2s;display:grid;position:absolute;inset:0}.player-art:hover>span,.player-art:focus-visible>span{opacity:1}.player-meta{text-align:left;flex-direction:column;gap:3px;min-width:0;display:flex}.player-meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.player-meta span{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.player-meta:hover strong{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.pin-button{margin-left:2px}.player-center{flex-direction:column;gap:6px;min-width:0;display:flex}.transport{justify-content:center;align-items:center;gap:10px;display:flex}.transport .icon-button{width:38px;height:38px;color:var(--text)}.transport .transport-minor{color:var(--text-3)}.transport .transport-minor.is-active{color:var(--accent)}.play-button{color:#0a0a0a;background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 6px 18px #00000059}.play-button:hover:not(:disabled){transform:scale(1.06)}.play-button:active:not(:disabled){transform:scale(.94)}.play-glyph{margin-left:2px}.seek-row{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.time{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12.5px}.seek-row .time:first-child{text-align:right}input[type=range]{appearance:none;cursor:pointer;--fill:0%;background:0 0;width:100%;height:18px;margin:0}input[type=range]:disabled{cursor:default}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--text) var(--fill), #ffffff2e var(--fill));border-radius:999px;height:4px}input[type=range]::-moz-range-track{background:#ffffff2e;border-radius:999px;height:4px}input[type=range]::-moz-range-progress{background:var(--text);border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;margin-top:-4.5px;transform:scale(0);box-shadow:0 1px 6px #00000080}input[type=range]::-moz-range-thumb{width:13px;height:13px;transition:transform .2s var(--ease);background:#fff;border:0;border-radius:50%;transform:scale(0)}input[type=range]:not(:disabled):is(:hover,:focus-visible,:active)::-webkit-slider-thumb{transform:scale(1)}input[type=range]:not(:disabled):is(:hover,:focus-visible,:active)::-moz-range-thumb{transform:scale(1)}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-runnable-track{box-shadow:0 0 0 3px #fff3}.player-extras{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.volume-control{align-items:center;gap:4px;margin-right:6px;display:flex}.volume-control input{width:120px}.device-button{max-width:170px;height:40px;color:var(--text-2);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.device-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-button:hover:not(:disabled),.device-button.is-active{background:var(--surface-hover);color:var(--text)}.mini-progress,.mini-actions{display:none}:root{interpolate-size:allow-keywords}.navigation-dock{transition:width .5s var(--glass-spring,var(--ease)), background-color .3s}.navigation-dock.is-searching{width:min(560px,100vw - 32px)}.navigation-dock.is-searching .dock-lens{opacity:0!important}.dock-search{width:100%;height:40px;color:var(--text-2);animation:dock-search-in .4s var(--ease);align-items:center;gap:10px;padding:0 0 0 14px;display:flex}.dock-search input{min-width:0;height:100%;color:var(--text);text-shadow:0 1px 6px #00000073;background:0 0;border:0;outline:0;flex:1;font-size:16px}.dock-search input::placeholder{color:var(--text-2)}.navigation-dock .dock-search-close{width:32px;height:32px;color:var(--text);background:#ffffff1f;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.navigation-dock .dock-search-close:hover{background:#fff3}.dock-results{width:min(560px,100vw - 32px);max-height:min(62vh, 540px, calc(100dvh - var(--stack-space)));background:var(--panel);animation:popover-in .28s var(--ease);border-radius:26px;flex-direction:column;display:flex;overflow:hidden}.dock-results-scroll{max-height:inherit;overscroll-behavior:contain;flex-direction:column;gap:14px;padding:14px;display:flex;overflow:auto}.dock-results-empty{color:var(--text-2);align-items:center;gap:10px;padding:14px 8px;font-size:15px;display:flex}.quick-group h3{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin:2px 8px 8px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:650}.quick-row{text-align:left;border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:6px 8px;display:grid}.quick-row:hover,.quick-row:focus-visible,.quick-album:hover,.quick-album:focus-visible,.quick-all:hover,.quick-all:focus-visible{background:#ffffff17;outline:none}.quick-art{background:var(--surface-2);width:44px;height:44px;color:var(--text-3);border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.quick-art.round{border-radius:50%}.quick-art img{width:100%;height:100%}.quick-art svg.lucide-play{color:#fff;opacity:0;filter:drop-shadow(0 1px 4px #000000b3);position:absolute}.quick-row:hover .quick-art svg.lucide-play,.quick-row:focus-visible .quick-art svg.lucide-play{opacity:1}.quick-row:hover .quick-art img,.quick-row:focus-visible .quick-art img{filter:brightness(.6)}.quick-text{flex-direction:column;gap:2px;min-width:0;display:flex}.quick-text strong{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;font-size:15px;font-weight:600;display:flex;overflow:hidden}.quick-text small{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.quick-meta{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:13px}.quick-albums{scroll-snap-type:x mandatory;gap:10px;padding:0 2px 2px;display:flex;overflow-x:auto}.quick-album{text-align:left;scroll-snap-align:start;border-radius:14px;flex-direction:column;flex:0 0 116px;gap:3px;padding:6px;display:flex}.quick-album img{border-radius:10px;width:104px;height:104px;margin-bottom:5px}.quick-album strong,.quick-album small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.quick-album strong{font-size:14px;font-weight:600}.quick-album small{color:var(--text-2);font-size:13px}.quick-pair{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 10px;display:grid}.quick-pair .quick-row{grid-template-columns:44px minmax(0,1fr)}.quick-all{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text);background:color-mix(in srgb, var(--bg) 55%, #ffffff14);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-size:15px;font-weight:550;display:flex;position:sticky;bottom:0}@keyframes dock-search-in{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0}}.glass-panel{background:var(--panel);-webkit-backdrop-filter:blur(24px)saturate(1.4);box-shadow:inset 0 0 0 1px var(--line-strong), 0 24px 60px #0009}.player-popover{width:360px;max-width:calc(100vw - 32px);max-height:min(520px,100dvh - 220px);animation:popover-in .25s var(--ease);z-index:5;border-radius:22px;flex-direction:column;gap:12px;padding:20px;display:flex;position:absolute;bottom:calc(100% + 12px);right:8px;overflow:auto}.device-option{text-align:left;width:100%;color:var(--text-2);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.device-option:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.device-option.selected{color:var(--text);background:var(--surface-2)}.device-option>span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.device-option strong{color:var(--text);font-size:15px;font-weight:600}.device-option small{color:var(--text-3);font-size:13px}.popover-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.popover-footer p{color:var(--text-3);font-size:13px}.popover-empty{min-height:110px;color:var(--text-2);text-align:center;place-items:center;padding:16px;font-size:15px;display:grid}.queue-list{flex-direction:column;gap:2px;display:flex}.queue-track{border-radius:10px;align-items:center;gap:4px;display:flex}.queue-play{text-align:left;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;padding:7px 4px;display:flex}.queue-play:is(:hover,:focus-visible):not(:disabled){background:var(--surface-2)}.queue-art{border-radius:6px;flex:none;width:42px;height:42px;position:relative;overflow:hidden}.queue-art img{width:100%;height:100%}.queue-art>svg{color:#fff;opacity:0;position:absolute;top:13px;left:13px}.queue-play:is(:hover,:focus-visible):not(:disabled) .queue-art img{opacity:.4}.queue-play:is(:hover,:focus-visible):not(:disabled) .queue-art>svg{opacity:1}.queue-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.queue-track strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.queue-track span{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.queue-track .spotify-link{margin:0}.party-popover .primary{width:100%}.focus-mode:focus{outline:none}.focus-mode{z-index:50;overscroll-behavior:contain;background:var(--bg);animation:focus-in .55s var(--ease);place-items:start center;display:grid;position:fixed;inset:0;overflow:hidden auto}.focus-mode.is-closing{pointer-events:none;animation:.24s cubic-bezier(.4,0,1,1) both focus-out}.focus-mode.is-closing .focus-stage{animation:focus-stage-out .24s var(--ease) both}.focus-mode:before{content:"";background:radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--tone) 42%, transparent), transparent 70%), linear-gradient(0deg, color-mix(in srgb, var(--tone) 14%, transparent), transparent 40%);transition:background 1.4s;position:absolute;inset:0}.focus-scene{pointer-events:none;position:absolute;inset:0;overflow:hidden}.focus-scene i{display:block;position:absolute}.scene-aurora .focus-scene i{opacity:.32;border-radius:50%;width:140%;height:34%;animation:26s ease-in-out infinite alternate aurora;left:-20%}.scene-aurora .focus-scene .aurora-band{object-fit:fill;width:calc(100% + 420px);max-width:none;height:calc(100% + 420px);position:absolute;inset:-210px}:root:not([data-motion=false]) .scene-aurora .focus-scene i{will-change:transform}.scene-aurora .focus-scene i:first-child{top:4%}.scene-aurora .focus-scene i:nth-child(2){opacity:.16;animation-duration:34s;animation-delay:-8s;top:30%}.scene-aurora .focus-scene i:nth-child(3){opacity:.2;animation-duration:40s;animation-delay:-16s;bottom:-8%}.scene-orbit .focus-scene i{border:1px solid #ffffff12;border-radius:50%;animation:90s linear infinite orbit;top:42%;left:50%;translate:-50% -50%}.scene-orbit .focus-scene i:first-child{border-top-color:#fff3;width:min(76vh,92vw);height:min(76vh,92vw)}.scene-orbit .focus-scene i:nth-child(2){border-right-color:#ffffff24;width:min(108vh,130vw);height:min(108vh,130vw);animation-duration:140s;animation-direction:reverse}.scene-orbit .focus-scene i:nth-child(3){border-left-color:#ffffff1a;width:min(144vh,170vw);height:min(144vh,170vw);animation-duration:200s}.focus-corner-control{top:max(20px, env(safe-area-inset-top));z-index:3;width:46px;height:46px;box-shadow:none;color:var(--text);background:0 0;border-radius:12px;place-items:center;display:grid;position:fixed}.focus-close{left:max(24px, env(safe-area-inset-left))}.focus-fullscreen{right:max(24px, env(safe-area-inset-right))}.focus-corner-control:hover:not(:disabled){opacity:.75;background:0 0;transform:scale(1.08)}.focus-corner-control:active:not(:disabled){transform:scale(.94)}.focus-feedback{z-index:3;top:max(78px, calc(env(safe-area-inset-top) + 58px));background:var(--panel);max-width:min(520px,100% - 48px);color:var(--text-2);text-align:center;border-radius:12px;padding:10px 14px;font-size:14px;position:fixed;left:50%;translate:-50%}.focus-stage{--focus-layout-height:min(100dvh, var(--focus-initial-height,100dvh));--focus-bottom-space:max(16px, env(safe-area-inset-bottom));--focus-cover-fit:min(calc(var(--focus-layout-height) * .46), 440px, 82vw);--focus-cover-size:min(var(--focus-fullscreen-cover,var(--focus-cover-fit)), calc(100vw - 32px));--focus-center-top:calc(50dvh - var(--focus-cover-size) / 2 - clamp(20px, 3dvh, 32px) - var(--focus-cover-size) / 16);--focus-fit-top:calc(100dvh - var(--focus-cover-size) - var(--focus-details-height,280px) - var(--focus-bottom-space));z-index:2;text-align:center;width:min(620px,90vw);margin-top:max(76px, min(var(--focus-center-top), var(--focus-fit-top)));padding-bottom:var(--focus-bottom-space);flex-direction:column;align-items:center;display:flex;position:relative}.focus-cover{width:var(--focus-cover-size);aspect-ratio:1;border-radius:16px;flex:none;overflow:hidden;box-shadow:0 40px 90px -20px #000c,0 0 0 1px #ffffff0f}.focus-details{flex-direction:column;align-items:center;width:100%;display:flex}.focus-cover img{width:100%;height:100%;animation:art-in .8s var(--ease)}.focus-info{margin-top:clamp(16px, calc(var(--focus-layout-height) * .025), 28px);flex-direction:column;align-items:center;gap:4px;min-width:0;max-width:100%;display:flex}.focus-info h1{font-family:var(--display);font-weight:750;font-size:clamp(28px, min(3.8vw, calc(var(--focus-layout-height) * .05)), 54px);letter-spacing:-.04em;text-wrap:balance;animation:text-in .6s var(--ease);line-height:1.05}.focus-info p{color:var(--text-2);font-size:clamp(17px,1.6vw,21px);font-weight:500}.focus-controls{width:100%;margin-top:clamp(12px, calc(var(--focus-layout-height) * .02), 24px);gap:clamp(8px, calc(var(--focus-layout-height) * .0125), 14px);flex-direction:column;display:flex}.focus-seek{grid-template-columns:48px minmax(0,1fr) 48px}.transport-large{gap:22px}.transport-large .icon-button{width:48px;height:48px}.transport-large .play-button{width:clamp(52px, calc(var(--focus-layout-height) * .07), 68px);height:clamp(52px, calc(var(--focus-layout-height) * .07), 68px)}.focus-extras{justify-content:space-between;align-items:center;gap:12px;display:flex}.focus-extras>div:last-child{gap:4px;display:flex}.focus-extras .volume-control{--volume-width:140px;flex:none;gap:0;margin-right:0;padding-right:4px;position:relative}.focus-extras .volume-control .icon-button{flex:none}.focus-extras .volume-control input{width:var(--volume-width);transform-origin:0;opacity:0;pointer-events:none;min-width:0;transition:transform .28s var(--ease), opacity .18s var(--ease);display:block;position:absolute;top:50%;left:100%;transform:translateY(-50%)scaleX(0)}.focus-extras .volume-control:is(:hover,:focus-within) input{opacity:1;pointer-events:auto;transform:translateY(-50%)scaleX(1)}.focus-panel{z-index:4;position:fixed;bottom:24px;right:24px}.focus-panel .player-popover{position:static}.settings-page{max-width:1080px;margin:0 auto}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.settings-card{padding:26px}.settings-card h2{align-items:center;gap:10px;margin-bottom:18px;font-size:19px;display:flex}.setting-block{border-top:1px solid var(--line);padding:16px 0}.setting-label{color:var(--text-2);margin-bottom:12px;font-size:14px;font-weight:600;display:block}.setting-note,.setting-copy{color:var(--text-3);margin-top:12px;font-size:14px;line-height:1.55}.setting-copy{color:var(--text-2);margin:0 0 18px}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.setting-row strong{font-size:15px;font-weight:600}.setting-row p{color:var(--text-3);margin-top:2px;font-size:14px}.switch{background:#ffffff29;border-radius:999px;flex-shrink:0;width:50px;height:30px;padding:3px}.switch span{width:24px;height:24px;transition:transform .3s var(--glass-spring,var(--ease));background:#fff;border-radius:50%;display:block;box-shadow:0 2px 6px #00000059}.switch.on{background:#fff}.switch.on span{background:#111;transform:translate(20px)}.theme-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.theme-option{color:var(--text-2);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:10px 6px;font-size:13px;font-weight:550;display:flex}.theme-option:hover{background:var(--surface-2);color:var(--text)}.theme-option[aria-checked=true]{color:var(--text);background:var(--surface-2)}.swatch{width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--line-strong);color:#fff;border-radius:50%;place-items:center;display:grid}.theme-black .swatch{background:#000}.theme-graphite .swatch{background:#1a1a1c}.theme-midnight .swatch{background:#0b1120}.theme-espresso .swatch{background:#1c140e}.theme-option[aria-checked=true] .swatch{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #fff}.target-options{flex-direction:column;gap:8px;display:flex}.target-options button{text-align:left;box-shadow:inset 0 0 0 1px var(--line);color:var(--text-2);border-radius:14px;align-items:center;gap:14px;padding:14px;display:flex}.target-options button:hover:not(:disabled){background:var(--surface-2)}.target-options button.selected{color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1.5px #fff9}.target-options span{flex-direction:column;flex:1;gap:2px;display:flex}.target-options strong{color:var(--text);font-size:15px;font-weight:600}.target-options small{color:var(--text-3);font-size:13px}.scene-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.scene-options button{color:var(--text-2);border-radius:14px;flex-direction:column;gap:8px;padding:6px 6px 10px;font-size:14px;font-weight:550;display:flex}.scene-options button:hover{background:var(--surface-2)}.scene-options button.selected{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1.5px #ffffff80}.scene-thumb{aspect-ratio:16/10;background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--tone) 45%, transparent), transparent 70%), var(--bg);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;display:block;position:relative;overflow:hidden}.scene-thumb i{display:block;position:absolute}.scene-thumb.scene-aurora i{filter:blur(10px);opacity:.45;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--tone) 80%, #fff), transparent);border-radius:50%;width:140%;height:34%;left:-20%}.scene-thumb.scene-aurora i:first-child{top:6%}.scene-thumb.scene-aurora i:nth-child(2){opacity:.2;top:40%}.scene-thumb.scene-aurora i:nth-child(3){opacity:.25;bottom:-10%}.scene-thumb.scene-orbit i{border:1px solid #ffffff24;border-radius:50%;top:50%;left:50%;translate:-50% -50%}.scene-thumb.scene-orbit i:first-child{aspect-ratio:1;width:40%}.scene-thumb.scene-orbit i:nth-child(2){aspect-ratio:1;width:64%}.scene-thumb.scene-orbit i:nth-child(3){aspect-ratio:1;width:90%}.connection-status{letter-spacing:0;color:var(--text-3);margin-left:auto;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600}.connection-status.connected{color:var(--text)}.account-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.connection-help{border-top:1px solid var(--line);color:var(--text-2);margin-top:20px;padding-top:14px;font-size:14px}.connection-help summary{cursor:pointer;align-items:center;gap:8px;padding:6px 0;font-weight:550;display:flex}.connection-help p{margin:10px 0;line-height:1.6}.connection-help code{background:var(--surface-2);overflow-wrap:anywhere;border-radius:10px;padding:10px 12px;font-size:13px;display:block}.connection-help label{margin:14px 0 6px;font-weight:550;display:block}.connection-help input{background:var(--surface-2);width:100%;height:42px;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:10px;padding:0 12px;font-family:ui-monospace,monospace;font-size:13px}.connection-help a{color:var(--text);text-underline-offset:3px;align-items:center;gap:4px;margin-top:12px;text-decoration:underline;display:inline-flex}.keyboard-settings dl{flex-direction:column;display:flex}.keyboard-settings dl>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;font-size:15px;display:flex}.keyboard-settings dd{gap:6px;display:flex}.album-dialog-content{padding:32px;position:relative}.playlist-popover{z-index:60;width:min(560px,100vw - 48px);height:min(600px, calc(100dvh - var(--stack-space)));transform-origin:center var(--playlist-arrow-y,50%);animation:playlist-side-in .36s var(--ease) both;position:fixed}.playlist-popover[data-closing=true]{pointer-events:none;animation:.2s ease-in both playlist-side-out}.playlist-popover>.glass{animation:playlist-glass-in .36s var(--ease) both}.playlist-popover[data-closing=true]>.glass{animation:.2s ease-in both playlist-glass-out}.playlist-dialog{width:100%;height:100%;color:var(--text);background:var(--panel);box-shadow:inset 0 0 0 1px var(--line-strong), 0 24px 60px #00000080;border-radius:26px;outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.playlist-arrow{top:calc(var(--playlist-arrow-y,50%) - 28px);z-index:3;background:var(--panel);width:40px;height:56px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--text);border-radius:14px;position:absolute;left:-20px}.playlist-popover[data-side=left] .playlist-arrow{left:auto;right:-20px}.playlist-dialog-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex:1;min-height:0;padding:20px;overflow:auto}:root .collection-popover>.collection-surface{pointer-events:none;box-shadow:none;border-radius:26px;position:absolute;inset:0 -20px}:root[data-glass=false] .collection-popover>.collection-surface{background:var(--panel)}:root .collection-surface.glass:after{display:none}.collection-popover>.playlist-dialog{z-index:1;box-shadow:none;background:0 0}.collection-popover>.playlist-arrow{box-shadow:none;background:0 0;border-radius:999px}.collection-popover>.playlist-arrow:hover{opacity:.7;background:0 0}.collection-rim{z-index:2;pointer-events:none;width:calc(100% + 40px);height:100%;position:absolute;top:0;left:-20px;overflow:visible}.playlist-popover>.collection-rim{animation:playlist-glass-in .36s var(--ease) both}.playlist-popover[data-closing=true]>.collection-rim{animation:.2s ease-in both playlist-glass-out}.playlist-dialog .album-detail-header{align-items:center;gap:16px;margin-bottom:20px}.playlist-dialog .collection-cover{aspect-ratio:1;width:84px;max-width:28%;box-shadow:0 14px 28px -12px #000000b3, inset 0 0 0 1px var(--line);border-radius:10px;flex-shrink:0;padding:0}.playlist-dialog .collection-cover svg{width:36px;height:36px}.playlist-dialog .album-detail-header>div:not(.collection-cover){padding:0}.playlist-dialog h2{overflow-wrap:anywhere;margin:8px 0 6px;font-size:clamp(22px,2.4vw,30px)}.playlist-dialog .eyebrow{flex-wrap:wrap;gap:6px;font-size:10px}.playlist-dialog .album-artist{font-size:14px}.playlist-dialog .album-detail-actions{gap:8px;margin-top:12px}.playlist-dialog .album-detail-actions>*{min-height:36px;padding:0 12px;font-size:12px}.playlist-dialog .album-detail-actions .secondary>svg:last-child{display:none}.playlist-dialog .track-row{grid-template-columns:28px 36px minmax(0,1fr) 44px 28px;gap:8px;min-height:58px;padding:6px 4px}.playlist-dialog .track-row>img{width:36px;height:36px}.playlist-dialog .track-album{display:none}.playlist-dialog .track-play{width:28px}.playlist-dialog .track-title strong{font-size:14px}.playlist-dialog .track-title>span{font-size:12px}.playlist-dialog .track-row .spotify-link{width:28px;display:inline-grid}.playlist-list-heading{border-bottom:1px solid var(--line);color:var(--text-3);margin:0 0 8px;padding:0 0 10px 92px;font-size:12px}.playlist-list-heading>span:last-child{display:none}.playlist-dialog .track-list:not(:empty){animation:playlist-tracks-in .28s var(--ease) both}.playlist-skeleton>div{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:6px 40px;display:grid}.playlist-skeleton i,.playlist-skeleton span{background:var(--surface-2);border-radius:6px;animation:1.4s ease-in-out infinite pulse}.playlist-skeleton i{width:44px;height:44px}.playlist-skeleton span{width:80%;height:12px}.playlist-skeleton span:last-child{display:none}.playlist-status{color:var(--text-2);justify-content:center;align-items:center;gap:10px;padding:20px 0;font-size:14px;line-height:1.6;display:flex}.playlist-status.sr-only{padding:0}.playlist-unavailable{min-height:62px;color:var(--text-3);grid-template-columns:40px minmax(0,1fr);align-items:center;gap:14px;padding:8px 12px 8px 6px;display:grid}.playlist-unavailable>.track-duration{text-align:center}.playlist-unavailable .track-title>span{color:var(--text-3)}.playlist-unavailable.has-action{grid-template-columns:40px minmax(0,1fr) 32px}.icon-button.track-unpin{width:32px;height:32px}.playlist-dialog .track-row.has-action{grid-template-columns:28px 36px minmax(0,1fr) 44px 32px 28px}.album-detail-header{align-items:flex-end;gap:28px;margin-bottom:24px;display:flex}.album-detail-header>img{aspect-ratio:1;border-radius:14px;width:210px;max-width:38%;box-shadow:0 20px 40px -12px #000000b3}.album-detail-header>div{min-width:0;padding-bottom:4px}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.eyebrow>span:not(.tag)+span:before{content:"·";margin-right:10px}.album-detail-header h2{letter-spacing:-.035em;text-wrap:balance;margin:10px 0 8px;font-size:clamp(26px,3.4vw,38px);line-height:1.08}.album-artist{color:var(--text-2);font-size:17px;font-weight:500}.album-detail-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.album-connect-hint{color:var(--text-2);background:var(--surface-2);border-radius:16px;padding:18px;font-size:15px;line-height:1.6}.toast{z-index:100;background:var(--panel);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:max-content;max-width:min(560px,100vw - 32px);box-shadow:inset 0 0 0 1px var(--line-strong), 0 16px 50px #00000080;animation:toast-in .3s var(--ease);border-radius:18px;align-items:center;gap:12px;padding:10px 10px 10px 18px;font-size:15px;line-height:1.5;display:flex;position:fixed;top:20px;left:50%;translate:-50%}.toast .icon-button{width:34px;height:34px}:root[data-glass=false] .glass{-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-glass=false] .player-shell,:root[data-glass=false] .navigation-dock{background:color-mix(in srgb, var(--bg) 70%, #1a1a1a)}:root[data-motion=false] *,:root[data-motion=false] :before,:root[data-motion=false] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes view-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes art-in{0%{opacity:0;scale:1.03}to{opacity:1;scale:1}}@keyframes text-in{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}@keyframes focus-in{0%{opacity:0;scale:1.015}to{opacity:1;scale:1}}@keyframes focus-out{0%{opacity:1}to{opacity:0}}@keyframes focus-stage-out{0%{transform:translateY(0)scale(1)}to{transform:translateY(18px)scale(.975)}}@keyframes popover-in{0%{opacity:0;translate:0 8px;scale:.98}to{opacity:1;translate:0;scale:1}}@keyframes playlist-side-in{0%{transform:translateX(var(--playlist-enter-x,-18px)) scale(.975)}to{transform:translate(0)scale(1)}}@keyframes playlist-side-out{0%{transform:translate(0)scale(1)}to{transform:translateX(var(--playlist-enter-x,-18px)) scale(.985)}}@keyframes playlist-glass-in{0%{opacity:0}to{opacity:1}}@keyframes playlist-glass-out{0%{opacity:1}to{opacity:0}}@keyframes playlist-tracks-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;translate:-50% -8px}to{opacity:1;translate:-50%}}@keyframes eq{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}@keyframes pulse{50%{opacity:.5}}@keyframes aurora{0%{transform:translate(-6%)rotate(-3deg)}to{transform:translate(6%,4%)rotate(3deg)}}@keyframes orbit{to{rotate:360deg}}@media (max-width:1240px){.app-shell{padding:0 36px}.hero-layout{grid-template-columns:minmax(0,1fr)}.party-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:28px;display:grid}.party-card>.popover-heading,.party-card>.party-hint{grid-column:1}.party-card>:is(.primary,.secondary,.party-name,.party-join,.party-code,.party-members,.party-leave,.party-now){grid-column:2}.party-card>.popover-heading+.party-hint+.primary{grid-row:1}.album-grid:not(.library-grid){grid-template-columns:repeat(3,minmax(0,1fr))}.player{grid-template-columns:minmax(0,1fr) minmax(320px,1.2fr) auto}.device-button span,.volume-control input{display:none}.volume-control{margin-right:0}}@media (max-width:900px){.app-shell{padding:0 24px}.search-field kbd{display:none}.party-card{display:flex}.settings-grid{grid-template-columns:minmax(0,1fr)}.track-row{grid-template-columns:40px 44px minmax(0,1fr) 52px 32px}.track-album{display:none}.player{grid-template-columns:minmax(0,1fr) auto auto;gap:12px}.player-center .seek-row,.pin-button{display:none}.transport{gap:4px}}@media (max-width:760px){.playlist-dialog .track-row.has-action{grid-template-columns:28px 36px minmax(0,1fr) 44px 32px}.playlist-dialog .track-row.has-action .spotify-link{display:none}:root{--stack-space:calc(176px + env(safe-area-inset-bottom))}.app-shell{padding:0 18px}.topbar{gap:12px;height:68px}.brand{font-size:19px}.search-field{display:none}.view-search .topbar{flex-wrap:wrap;row-gap:12px;height:auto;padding:12px 0}.view-search .search-field{flex:100%;order:3;height:46px;margin:0;display:flex}.view-search .search-field input{font-size:16px}.connect-button{height:40px;padding:0 15px}.page-heading{margin:8px 0 22px}.page-heading h1{font-size:30px}.hero{border-radius:24px;grid-template-columns:minmax(0,1fr);gap:22px;padding:16px 16px 22px}.hero-cover{border-radius:12px;justify-self:center;width:100%;max-width:440px}.hero h1{font-size:clamp(28px,8vw,36px)}.hero-artist{font-size:17px}.hero-actions{width:100%;margin-top:22px}.hero-actions>*{flex:auto}.shelf{margin-top:38px}.album-grid:not(.library-grid),.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.section-heading h2{font-size:20px}.track-row{grid-template-columns:36px 44px minmax(0,1fr) 48px;gap:12px;padding-right:6px}.track-row .spotify-link{display:none}.track-row.no-album{grid-template-columns:36px minmax(0,1fr) 48px}.library-toolbar{flex-wrap:wrap}.bottom-stack{gap:8px;width:100%;bottom:0}.player-shell{border-radius:18px;width:calc(100% - 16px)}.player{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:64px;padding:8px}.player-center,.player-extras{display:none}.player-art{border-radius:8px;width:48px;height:48px}.player-art>span{display:none}.mini-progress{background:#ffffff24;border-radius:2px;height:2px;display:block;position:absolute;bottom:0;left:18px;right:18px;overflow:hidden}.mini-progress span{background:var(--text);height:100%;transition:width .5s linear;display:block}.mini-actions{align-items:center;gap:4px;display:flex}.mini-actions .play-button{width:44px;height:44px;box-shadow:none}.mini-actions .icon-button{width:44px;height:44px;color:var(--text)}.mini-connect{color:#0a0a0a;background:#fff;border-radius:999px;height:40px;padding:0 16px;font-size:14px;font-weight:650}.player-popover{left:8px;right:8px;bottom:calc(150px + env(safe-area-inset-bottom));width:auto;max-width:none;position:fixed}.navigation-dock{width:100%;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;justify-content:space-around}.navigation-dock button{border-radius:16px;flex-direction:column;flex:1;gap:3px;height:54px;padding:0 4px;font-size:12px}.dock-lens{border-radius:16px}.navigation-dock.is-searching{width:100%}.dock-search{height:54px;padding-left:16px}.navigation-dock .dock-search-close{flex-direction:row;flex:none;width:36px;height:36px;margin-right:6px}.dock-results{width:calc(100% - 16px);max-height:min(58vh, 520px, calc(100dvh - var(--stack-space)));border-radius:22px}.focus-close{left:max(12px, env(safe-area-inset-left))}.focus-fullscreen{right:max(12px, env(safe-area-inset-right))}.transport-large{gap:12px}.focus-extras .volume-control{--volume-width:96px}.focus-panel{bottom:8px;left:8px;right:8px}.focus-panel .player-popover{position:static}.album-dialog-content{padding:22px 18px}.album-detail-header{flex-direction:column;align-items:flex-start;gap:18px}.album-detail-header>img{width:160px;max-width:60%}.playlist-dialog .album-detail-header{flex-direction:row}.playlist-dialog-scroll{padding:18px 14px}.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-card{padding:20px}}@media (max-width:380px){.app-shell{padding:0 14px}.connect-button span{display:none}.connect-button{justify-content:center;width:40px;padding:0}.album-grid:not(.library-grid),.library-grid{gap:18px 10px}}
