@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");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}:root{--base:#000;--bg:#121212;--surface:#1f1f1f;--raised:#2a2a2a;--line:#2e2e2e;--text:#fff;--muted:#b3b3b3;--amber:#1ed760;--coral:#f0715a;--display:"Figtree Variable", system-ui, sans-serif;--body:"Figtree Variable", system-ui, sans-serif;--glow:30%;--on-accent:#000;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--base:#e4dfd3;--bg:#f6f3ec;--surface:#fff;--raised:#ebe6da;--line:#d8d1c2;--text:#1c2a2d;--muted:#5d6f72;--coral:#cf4a33;--on-accent:#fff;--glow:18%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{background:var(--base);color:var(--text);font:400 .9375rem/1.5 var(--body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}h1{font:700 clamp(2rem, 1.2rem + 3vw, 3.5rem) / 1.02 var(--display);letter-spacing:-.03em;text-wrap:balance}h2{font:600 1.375rem/1.2 var(--display);letter-spacing:-.01em;margin:2.75rem 0 .875rem}h3{font:600 1rem/1.3 var(--body);margin:1.75rem 0 .75rem}.app{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:15.5rem minmax(0,1fr);gap:.5rem;height:100dvh;padding:.5rem;display:grid}.sidebar{background:var(--bg);border-radius:.5rem;flex-direction:column;gap:1.25rem;padding:1.5rem 1rem 1rem;display:flex;overflow-y:auto}.brand{font:800 1.625rem/1 var(--display);letter-spacing:-.04em;color:var(--amber);padding:0 .625rem}.menu-toggle,.tabbar{display:none}.search-box{background:var(--surface);max-width:34rem;color:var(--muted);border-radius:.5rem;align-items:center;gap:.5rem;margin-top:1.25rem;padding:0 .75rem;display:flex}.search-box:focus-within{outline:2px solid var(--amber)}.search-box input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:.6875rem 0}.nav-groups{flex-direction:column;flex:1;gap:1.25rem;display:flex}.nav a,.nav button{width:100%;color:var(--muted);text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:.375rem;padding:.4375rem .625rem;font-weight:500;display:block;overflow:hidden}.nav a:hover,.nav button:hover{color:var(--text)}.nav a.active{color:var(--text);background:var(--raised)}.nav-playlists{flex:1}.nav-playlists h2{font:600 .8125rem/1 var(--body);letter-spacing:0;color:var(--muted);border-top:1px solid var(--line);margin:0 0 .5rem;padding:.75rem .625rem 0}.nav-playlists input,.menu input{border:1px dashed var(--line);background:0 0;border-radius:.375rem;width:100%;margin-top:.375rem;padding:.4375rem .625rem}.nav-playlists input::placeholder,.menu input::placeholder{color:var(--muted)}.nav-foot{border-top:1px solid var(--line);padding-top:.75rem}.main{background:linear-gradient(to bottom, color-mix(in oklab, var(--amber) var(--glow), var(--bg)), var(--bg) 22rem) local;background-color:var(--bg);border-radius:.5rem;padding:clamp(1.25rem,4vw,3rem) clamp(1.25rem,4vw,3rem) 4rem;overflow-y:auto}.page{max-width:72rem;margin:0 auto}.page-narrow{max-width:40rem;margin-left:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 1.5rem;margin-bottom:1.75rem;display:flex}.hero{grid-template-columns:minmax(8rem,15rem) minmax(0,1fr);align-items:end;gap:clamp(1rem,3vw,2.25rem);margin-bottom:2rem;display:grid}.hero-meta{margin-top:.75rem;font-size:1.0625rem;font-weight:500}.hero-meta a:hover,.track-album:hover,.player-text a:hover{text-decoration:underline}.hero-sub{color:var(--muted);margin:.375rem 0 0}.hero .btn{margin-top:1.25rem}.empty{max-width:34rem;color:var(--muted);margin-top:1.5rem;font-size:1.0625rem}.empty a{color:var(--amber);text-decoration:underline}.btn{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.5625rem 1.125rem;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted)}.btn-primary{border-color:var(--amber);background:var(--amber);color:var(--on-accent)}.btn-primary:hover:not(:disabled){border-color:color-mix(in oklab, var(--amber), white 22%);background:color-mix(in oklab, var(--amber), white 22%)}.btn-danger{border-color:var(--coral);color:var(--coral)}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.icon-btn{width:2.25rem;height:2.25rem;color:var(--muted);border-radius:50%;place-items:center;display:inline-grid;position:relative}.icon-btn:hover:not(:disabled){color:var(--text)}.mode-btn{border:1px solid var(--line);width:2.5rem;height:2.5rem}.mode-btn.is-on{border-color:var(--amber)}.icon-btn.toggle.is-on{color:var(--amber)}.heart.is-on{color:var(--coral)}.segmented{background:var(--surface);border-radius:999px;padding:.1875rem;display:inline-flex}.segmented button{color:var(--muted);border-radius:999px;padding:.375rem .875rem;font-weight:500}.segmented button[aria-pressed=true]{background:var(--raised);color:var(--text)}.lyrics-title{gap:.125rem;margin-bottom:1rem;display:grid}.lyrics-text{white-space:pre-line;font-size:1.0625rem;line-height:1.7}.lyrics{overflow-y:auto}.swatches{flex-wrap:wrap;gap:.625rem;display:flex}.swatch{border:3px solid var(--bg);border-radius:50%;outline:2px solid #0000;width:2.25rem;height:2.25rem}.swatch[aria-pressed=true]{outline-color:var(--text)}.more{color:var(--muted);font:500 .875rem var(--body);margin-left:.75rem}.more:hover,button.link:hover{color:var(--amber)}button.link{color:var(--amber);text-decoration:underline}.share-link{max-width:44rem;color:var(--muted);overflow-wrap:anywhere;margin:-.75rem 0 1.5rem}.share-link a{color:var(--text)}.share{max-width:44rem;margin:0 auto;padding:1.5rem 1rem 8rem}.share .brand{margin-bottom:2rem;padding:0}.share-tracks{margin-top:1.5rem}.share-tracks button{text-align:left;border-radius:.5rem;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;padding:.5rem .625rem;display:grid}.share-tracks button:hover,.share-tracks .is-current button{background:var(--surface)}.share-tracks .is-current .track-title{color:var(--amber)}.share-tracks img,.share-nocover{aspect-ratio:1;object-fit:cover;background:var(--raised);border-radius:.25rem;width:2.75rem}.share-player{border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex;position:fixed;inset:auto 0 0}.share-player audio{flex:18rem;max-width:32rem}.guest-now{background:var(--surface);border-radius:.75rem;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.75rem;display:grid}.guest-now img,.guest-now .share-nocover{aspect-ratio:1;object-fit:cover;background:var(--raised);border-radius:.375rem;width:3.5rem}.guest-now .track-title{font-weight:600}.guest .search-box{background:var(--surface);max-width:none}.guest .share-tracks{margin-top:.75rem}.guest-queue li{grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.5rem .625rem;display:grid}.guest h2{margin-top:2rem}.device-list{gap:.5rem;margin-top:.75rem;display:grid}.device-list li{background:var(--surface);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem .875rem;display:flex}.device-list span{gap:.125rem;min-width:0;display:grid}.device-list small{color:var(--muted)}.menu:has(.qr-backdrop){z-index:80}.qr-backdrop{cursor:default;align-items:center}.qr-backdrop .app-prompt{text-align:center;justify-items:center;max-width:24rem}.qr-code{border-radius:.5rem;width:min(100%,16rem)}.qr-backdrop .guest-link{color:var(--muted);padding:0}.guest-link{overflow-wrap:anywhere;padding:.375rem .625rem .5rem;font-size:.8125rem}.guest-link a{color:var(--amber)}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chips a{background:var(--surface);border-radius:999px;align-items:baseline;gap:.375rem;padding:.375rem .875rem;font-weight:600;display:inline-flex}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.4375rem .9375rem;font-weight:600}.chip:hover:not(:disabled){color:var(--text)}.chip[aria-pressed=true]{border-color:var(--amber);background:var(--amber);color:var(--on-accent)}h3.first{margin-top:0}.chips a:hover{color:var(--amber)}.chips small{color:var(--muted);font-weight:400}.members{max-width:34rem;margin:-.75rem 0 1.75rem}.members summary{color:var(--muted);cursor:pointer}.members p{color:var(--muted);margin:.625rem 0}.members label{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.months{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:.375rem;max-width:44rem;height:11rem;display:grid}.months li{grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;height:100%;display:grid}.months-bar{background:var(--amber);border-radius:.25rem .25rem 0 0;align-self:end;width:100%;min-height:2px}.months-value,.months-label{color:var(--muted);font-size:.75rem}.months-value{min-height:1.125rem}.visibility{margin-top:.875rem}.genre-form{flex-wrap:wrap;gap:.5rem;display:flex}.genre-form input{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:12rem;padding:.4375rem .75rem}.artist-image{aspect-ratio:1;object-fit:cover;background:var(--raised);border-radius:50%;width:100%;display:block}.artist-image-blank{background:oklch(.45 .09 var(--hue));place-items:center;display:grid;container-type:inline-size}.artist-image-blank span{font:700 40cqw/1 var(--display)}.artist-card{text-align:center}.artist-card .artist-image{margin-bottom:.625rem;transition:translate .15s ease-out}.artist-card:hover .artist-image{translate:0 -3px}.artist-head{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.artist-head .artist-image{width:8rem}.people .artist-image{width:4.5rem}.people{flex-wrap:wrap;gap:1rem 1.25rem;display:flex}.people a{text-align:center;flex-direction:column;align-items:center;gap:.5rem;width:6.5rem;font-weight:600;display:flex}.people a:hover{color:var(--amber)}.people span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.profile-head{flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem;margin-bottom:2rem;display:flex}.tabs{gap:1.5rem;margin-top:.875rem;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;padding-bottom:.375rem;font-weight:600}.tabs a:hover{color:var(--text)}.tabs a.active{border-color:var(--amber);color:var(--text)}input[type=range]{appearance:none;cursor:pointer;background:0 0;height:1rem;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--amber) var(--fill,0%), var(--line) var(--fill,0%));border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--text);border-radius:50%;width:12px;height:12px;margin-top:-4px}input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-moz-range-progress{background:var(--amber);border-radius:2px;height:4px}input[type=range]::-moz-range-thumb{background:var(--text);border:0;border-radius:50%;width:12px;height:12px}.cover{aspect-ratio:1;object-fit:cover;background:var(--raised);border-radius:.375rem;width:100%;display:block}.cover-blank{background:radial-gradient(circle, var(--bg) 0 3.5%, oklch(.78 .12 var(--hue)) 4% 16%, transparent 16.5%), repeating-radial-gradient(circle, transparent 0 3px, #ffffff0d 3px 4px), radial-gradient(circle, #0a1416 0 45%, transparent 45.5%), oklch(.4 .07 var(--hue))}.cover-mosaic{grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.cover-mosaic img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.album-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem 0;margin-inline:-.75rem;display:grid}.album-card{border-radius:.5rem;padding:.75rem;transition:background-color .15s ease-out;display:block}.album-card:hover,.album-card:focus-visible{background:var(--surface)}.album-card .cover{margin-bottom:.625rem;transition:translate .15s ease-out}.album-card:hover .cover{translate:0 -3px}.album-card-title,.album-card-artist{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.album-card-title{font-weight:600}.album-card-artist{color:var(--muted);font-size:.875rem}.artist-list{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:0 1.5rem;margin-top:1.5rem;display:grid}h2+.artist-list{margin-top:0}.artist-list a{border-bottom:1px solid var(--line);font:600 1.125rem/1.3 var(--display);justify-content:space-between;align-items:baseline;gap:1rem;padding:.6875rem 0;display:flex}.artist-list a:hover{color:var(--amber)}.artist-list small{color:var(--muted);font:400 .8125rem var(--body);white-space:nowrap}.track{border-radius:.5rem;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 2.25rem 3.5rem 2.25rem;align-items:center;gap:.5rem;padding:.25rem .375rem;display:grid}.tracks-no-album .track{grid-template-columns:minmax(0,1fr) 2.25rem 3.5rem 2.25rem}.track:hover,.track:focus-within{background:var(--surface)}.track-main{text-align:left;align-items:center;gap:.75rem;min-width:0;padding:.25rem 0;display:flex}.track-no{width:1.75rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;flex:none}.track-text{min-width:0}.track-title,.track-artist,.track-album{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.track-title{font-weight:500}.track-artist,.track-album,.track-time{color:var(--muted);font-size:.875rem}.track-time{font-variant-numeric:tabular-nums;text-align:right}.is-current .track-title{color:var(--amber)}.track-more{position:relative}.eq{align-items:flex-end;gap:2px;height:.875rem;display:inline-flex}.eq i{background:var(--amber);transform-origin:bottom;border-radius:1px;width:3px;height:40%}.eq i:nth-child(2){height:100%}.eq i:nth-child(3){height:65%}@media (prefers-reduced-motion:no-preference){.eq.is-playing i{animation:.9s ease-in-out infinite alternate eq}.eq.is-playing i:nth-child(2){animation-delay:-.5s}.eq.is-playing i:nth-child(3){animation-delay:-.25s}}@keyframes eq{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.menu{z-index:20;border:1px solid var(--line);background:var(--raised);border-radius:.625rem;width:15.5rem;padding:.375rem;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #030c0e8c}.menu button{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:.375rem;width:100%;padding:.4375rem .625rem;display:block;overflow:hidden}.menu button:hover:not(:disabled){background:var(--line)}.menu hr{border:0;border-top:1px solid var(--line);margin:.375rem 0}.menu-label{color:var(--muted);padding:.25rem .625rem;font-size:.8125rem;display:block}.player{background:var(--base);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;margin:0 -.5rem -.5rem;padding:.5rem 1.25rem .75rem;display:grid;position:relative}.player .player-close{display:none}.seek{width:100%;position:absolute;top:-.5625rem;left:0}.seek::-webkit-slider-runnable-track{border-radius:0}.seek::-moz-range-track{border-radius:0}.seek::-moz-range-progress{border-radius:0}.seek:not(:hover,:focus-visible)::-webkit-slider-thumb{opacity:0}.seek:not(:hover,:focus-visible)::-moz-range-thumb{opacity:0}.player-now{align-items:center;gap:.75rem;min-width:0;display:flex}.player-now .cover{flex:none;width:3.25rem}.player-text{min-width:0}.player-title,.player-artist{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.player-title{font-weight:600}.player-artist,.player-idle,.clock{color:var(--muted);font-size:.875rem}.player-controls{align-items:center;gap:.375rem;display:flex}.play-btn{background:var(--amber);width:2.875rem;height:2.875rem;color:var(--on-accent);border-radius:50%;place-items:center;margin:0 .375rem;display:grid}.play-btn:hover:not(:disabled){background:color-mix(in oklab, var(--amber), white 22%)}.repeat-one{font-size:.625rem;font-weight:700;position:absolute;top:.125rem;right:.125rem}.player-side{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.clock{font-variant-numeric:tabular-nums;white-space:nowrap}.volume{color:var(--muted);align-items:center;gap:.375rem;display:flex}.volume input{width:6rem}.player-remote{color:var(--amber);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;display:block;overflow:hidden}.device-menu{position:relative}.device-menu .menu{width:17rem;top:auto;bottom:calc(100% + .5rem)}.device-menu .menu button small{color:var(--muted);text-overflow:ellipsis;display:block;overflow:hidden}.device-menu .menu button[aria-checked=true] span{color:var(--amber);font-weight:600}.jam-count{background:var(--amber);min-width:1rem;color:var(--on-accent);text-align:center;border-radius:999px;padding:0 .1875rem;font-size:.6875rem;font-weight:700;line-height:1rem;position:absolute;top:0;right:-.125rem}.jam-members li{justify-content:space-between;align-items:baseline;gap:.75rem;padding:.25rem .625rem;font-weight:600;display:flex}.jam-members small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.menu .menu-danger{color:var(--coral);font-weight:600}.album-editor{border:1px solid var(--line);border-radius:.75rem;max-width:40rem;margin-bottom:2rem;padding:1.25rem}.hero-actions{margin-top:1.25rem}.hero .hero-actions .btn{margin-top:0}.menu-hint{color:var(--muted);padding:.375rem .625rem;font-size:.8125rem}.volume input:disabled{opacity:.4;cursor:default}.queue{z-index:30;background:var(--raised);border-left:1px solid var(--line);flex-direction:column;width:min(22rem,100vw);padding:1.25rem .75rem 1rem 1rem;display:flex;position:fixed;top:0;bottom:5rem;right:0;box-shadow:-16px 0 40px #030c0e73}.queue header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.queue h2{margin:0}.queue-sub{color:var(--muted);font-size:.8125rem}.queue-list{flex:1;min-height:0;scroll-padding-top:.25rem;overflow-y:auto}.queue-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:.875rem 0 .25rem;font-size:.75rem;font-weight:700}.queue li:first-child .queue-label{margin-top:.25rem}.queue-row,.queue-item{align-items:center;gap:.625rem;min-width:0;display:flex}.queue-row{border-radius:.5rem;padding:.3125rem .375rem}.queue-row:hover,.queue-row:focus-within{background:color-mix(in srgb, var(--text) 8%, transparent)}.queue-item{text-align:left;flex:1}.queue-row .cover{border-radius:.25rem;flex:none;width:2.5rem}.queue-row .track-text{flex:1}.queue-row .track-time{flex:none}.queue .is-current .queue-row,.queue .queue-row.is-current{background:color-mix(in srgb, var(--amber) 14%, transparent)}.queue li.is-played{opacity:.55}.queue-toggle{color:var(--muted);padding:.375rem;font-size:.8125rem;font-weight:600}.queue-toggle:hover{color:var(--text)}.toast{z-index:40;pointer-events:none;position:fixed;bottom:6.5rem;left:50%;translate:-50%}.toast span{background:var(--text);color:var(--bg);border-radius:999px;padding:.5625rem 1rem;font-weight:600;display:block}.app-prompt-backdrop{z-index:70;background:#0009;align-items:end;padding:.75rem;display:grid;position:fixed;inset:0}.app-prompt{background:var(--raised);border-radius:1rem;gap:.75rem;width:100%;max-width:28rem;margin:0 auto;padding:1.25rem;display:grid}.app-prompt h2{margin:0}.app-prompt-note{color:var(--muted);font-size:.875rem}.app-prompt .actions{margin-top:.25rem}.form,.login-card{justify-items:start;gap:1rem;display:grid}.form label,.login-card label{gap:.375rem;width:100%;font-weight:500;display:grid}.form input:not([type=checkbox]),.login-card input,.title-input{border:1px solid var(--line);background:var(--surface);border-radius:.5rem;width:100%;padding:.625rem .75rem}.form label.check{align-items:center;gap:.5rem;font-weight:400;display:flex}.check input{width:1.0625rem;height:1.0625rem;accent-color:var(--amber)}.title-input{font:700 2rem/1.1 var(--display)}.form-error{color:var(--coral);font-weight:500}.storage{width:100%;height:.625rem;margin-bottom:1.25rem;display:block}.avatar{object-fit:cover;border-radius:50%;flex:none;place-items:center;display:inline-grid}.avatar-blank{background:oklch(.45 .09 var(--hue));color:var(--text);font-weight:700;line-height:1}.profile-photo{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;display:flex}.form label small{color:var(--muted);font-weight:400}.nav-user{border-radius:.375rem;align-items:center;gap:.625rem;padding:.375rem .625rem;font-weight:600;display:flex}.nav-user span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-user.active{background:var(--raised)}.panels{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start;gap:1.25rem;display:grid}.panel{background:var(--surface);border-radius:.75rem;padding:1.25rem 1.375rem 1.375rem}.panel-wide{grid-column:1/-1}.panel h2{margin:0 0 .875rem;font-size:1.125rem}.panel p{max-width:44rem;color:var(--muted);margin-bottom:1rem}.panel p:last-child{margin-bottom:0}.panel a:not(.btn):not(.track-title){color:var(--amber)}.panel .form input:not([type=checkbox]),.panel .user-list form.actions input,.panel .url-form input{background:var(--bg)}.panel code{background:var(--bg);border-radius:.25rem;padding:.0625rem .3125rem;font-size:.875em}.panel-alerts{border-left:4px solid var(--coral);margin-bottom:1.25rem}.panel-alerts ul{gap:.875rem;margin-bottom:1rem;display:grid}.panel-alerts li{gap:.125rem;display:grid}.panel-alerts li span,.panel-alerts li small{color:var(--muted)}.area-list{gap:.5rem;margin-top:1.25rem;display:grid}.area-list a,.area-list .area-row{background:var(--surface);border-radius:.625rem;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1.5rem;padding:.875rem 1.125rem;font-weight:600;display:flex}.panel .area-list{margin-top:0}.panel .area-list a,.panel .area-list .area-row{background:var(--bg);color:var(--text)}.area-list a:hover span{color:var(--amber)}.area-list small{color:var(--muted);font-weight:400}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.875rem;display:flex}.admin-filter,.admin-toolbar select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.5rem;padding:.5625rem .875rem}.admin-filter{flex:16rem;max-width:28rem}.admin-count,.admin-hint,.admin-none{color:var(--muted)}.admin-table-wrap{margin-bottom:1rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;padding:.5rem .625rem;font-size:.8125rem;font-weight:500}.admin-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.5rem .625rem}.admin-table tr.is-selected td{background:var(--surface)}.admin-table td strong,.admin-table td small{display:block}.admin-table td small,.admin-main small{color:var(--muted);font-size:.8125rem}.admin-table a:hover,.admin-main a:hover{color:var(--amber)}.admin-table td input:not([type=checkbox]){border:1px solid var(--line);background:var(--surface);border-radius:.375rem;width:100%;min-width:12rem;padding:.375rem .5rem}.admin-edit{gap:.375rem;display:grid}.admin-table .admin-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.admin-actions{text-align:right;white-space:nowrap}.admin-actions .btn+.btn{margin-left:.375rem}.admin-list>li{border-bottom:1px solid var(--line)}.admin-row{flex-wrap:wrap;align-items:center;gap:.5rem .875rem;padding:.5625rem 0;display:flex}.admin-thumb{flex:none;width:3rem}.admin-main{flex:12rem;min-width:0}.admin-main strong,.admin-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-editor{background:var(--surface);border-radius:.75rem;max-width:44rem;margin:.25rem 0 1.25rem;padding:1.25rem}.admin-editor input:not([type=checkbox]){background:var(--bg)}.duplicate-group{padding:.875rem 0 1rem}.duplicate-group label{cursor:pointer;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem .875rem;padding:.5rem .75rem;display:flex}.duplicate-group label.is-kept{background:var(--surface)}.duplicate-group .actions{margin-top:.625rem}.stats{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.75rem;margin:1.25rem 0 .5rem;display:grid}.stats>div{background:var(--surface);border-radius:.5rem;padding:.75rem .875rem}.panel .stats{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.panel .stats>div{background:var(--bg);overflow-wrap:anywhere}.stats dt{color:var(--muted);font-size:.8125rem}.stats dd{font:700 1.375rem/1.2 var(--display);margin:.125rem 0 0}.user-list form.actions input{border:1px solid var(--line);background:var(--surface);border-radius:.375rem;width:12rem;padding:.4375rem .625rem}.user-name{align-items:center;gap:.625rem;min-width:0;display:flex}.user-detail{display:block}.user-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.625rem 0;font-weight:600;display:flex}.user-list small{color:var(--muted);font-weight:400}.page-narrow>p{color:var(--muted);margin-bottom:1rem}.url-form{max-width:40rem}.job-list{max-width:40rem;margin-top:1.25rem}.job-list li{border-bottom:1px solid var(--line);gap:.125rem;padding:.625rem 0;display:grid}.job-list small{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem}.job-link{color:var(--amber);justify-self:start;font-size:.875rem;font-weight:600;text-decoration:underline}.job-list .actions{margin-top:.5rem}.section-lead{max-width:40rem;color:var(--muted);margin-bottom:.5rem}.section-lead+.url-form,.job-list+.url-form{margin-top:1.25rem}.job-list details{color:var(--muted);margin-top:.25rem;font-size:.875rem}.job-list summary{cursor:pointer}.job-list details ul{margin-top:.375rem;padding-left:1.125rem;list-style:outside}.job-list details li{border:0;padding:.125rem 0;display:list-item}.job-list .is-failed small{color:var(--coral)}.job-list progress{width:100%;height:.375rem;accent-color:var(--amber);margin-top:.25rem}.dropzone{border:2px dashed var(--line);text-align:center;border-radius:1rem;justify-items:center;gap:1rem;padding:clamp(1.5rem,6vw,3.5rem);display:grid}.dropzone p{max-width:30rem;color:var(--muted)}.dropzone.is-dragging{border-color:var(--amber);background:var(--surface)}.dropzone progress{width:min(24rem,100%);accent-color:var(--amber)}.dropzone+.form-error,ul.form-error{margin-top:1rem}.login{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.login-card{width:min(23rem,100%)}.login-card .brand{padding:0;font-size:clamp(2.75rem,12vw,3.75rem)}.login-lead{color:var(--muted)}@media (width<=52rem){.app{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);gap:0;padding:0}.sidebar{background:var(--base);border-radius:0;flex-flow:wrap;align-items:center;gap:.5rem;padding:.625rem .75rem .5rem;overflow:visible}.main{background:linear-gradient(to bottom, color-mix(in oklab, var(--amber) var(--glow), var(--bg)), var(--bg) 14rem) local;background-color:var(--bg);border-radius:0;padding:1rem .875rem 3rem}h1{font-size:1.75rem}.album-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));margin-inline:-.5rem}.album-card{padding:.5rem}.player{margin:0}.brand{padding:0;font-size:1.25rem}.menu-toggle{border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;margin-left:auto;display:grid}.nav-groups{flex:0 0 100%;padding:.5rem 0 1rem;display:none}.sidebar.open{z-index:60;align-content:flex-start;position:fixed;inset:0;overflow-y:auto}.sidebar.open .nav-groups{display:flex}.sidebar.open .nav a,.sidebar.open .nav button{padding:.75rem .625rem;font-size:1.0625rem}.track,.tracks-no-album .track{grid-template-columns:minmax(0,1fr) 2.25rem 2.25rem}.track-album,.track-time{display:none}.hero{grid-template-columns:minmax(0,1fr)}.hero .cover{width:11rem}.player{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:.625rem .75rem .5rem}.player-now{cursor:pointer}.player-now .cover{width:2.75rem}.player-controls{gap:.125rem}.player:not(.expanded) .player-side,.player:not(.expanded) .skip-prev{display:none}.queue{z-index:55;width:100vw;bottom:0}.player-controls .toggle,.clock,.volume{display:none}.play-btn{margin:0}.tabbar{padding:.25rem .75rem calc(.5rem + env(safe-area-inset-bottom));background:var(--base);grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.tabbar a{background:var(--surface);color:var(--muted);border-radius:.625rem;justify-items:center;gap:.125rem;padding:.4375rem .25rem .375rem;font-size:.75rem;font-weight:600;display:grid}.tabbar a.active{background:var(--raised);color:var(--amber)}.toast{bottom:9.5rem}.player.expanded{z-index:50;background:linear-gradient(to bottom, color-mix(in oklab, var(--amber) var(--glow), var(--bg)), var(--bg) 60%);background-color:var(--bg);flex-direction:column;gap:1.25rem;margin:0;padding:.75rem 1.25rem 1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.player.expanded .player-close{color:var(--text);flex:none;order:0;margin-left:-.5rem;display:grid}.player.expanded .player-now{cursor:auto;flex:1;order:1;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:.25rem .5rem;display:grid}.player.expanded .player-now .cover{border-radius:.75rem;grid-column:1/-1;width:min(100%,22rem,45dvh);margin:0 auto 1.25rem}.player.expanded .player-title{font-size:1.375rem;font-weight:700}.player.expanded .player-artist,.player.expanded .player-remote{font-size:1rem}.player.expanded .player-idle{text-align:center;grid-column:1/-1}.player.expanded .seek{flex:none;order:2;position:static}.player.expanded .seek::-webkit-slider-thumb{opacity:1}.player.expanded .seek::-moz-range-thumb{opacity:1}.player.expanded .player-controls{order:3;justify-content:space-between}.player.expanded .player-controls .toggle{display:inline-grid}.player.expanded .player-controls .icon-btn{width:2.75rem;height:2.75rem}.player.expanded .play-btn{width:4rem;height:4rem}.player.expanded .player-side{order:4;justify-content:space-between}.player.expanded .clock{margin-right:auto;display:inline}.player.expanded .device-menu{position:static}.player.expanded .device-menu .menu{width:auto;bottom:4.5rem;left:1.25rem;right:1.25rem}}
