:root{color-scheme:dark;--accent-rgb:60, 73, 126;--gradient-strength:1;--gradient-range:1;--gradient-description-strength:.5;--gradient-description-stop:600px;--gradient-track-stop:800px;--surface:#121212;--surface-raised:#181818;--text:#fff;--text-muted:#b3b3b3;--spotify-green:#1ed760;--compact-header-height:72px;--content-max-width:800px;--page-gutter:clamp(16px, 3vw, 36px);font-synthesis:none;font-family:Avenir Next,Avenir,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}html{background:var(--surface);scrollbar-color:#5a5a5a var(--surface);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--text);background:var(--surface);margin:0;overflow-x:hidden}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #fff}svg{display:block}.app-shell{background:linear-gradient(180deg, rgba(var(--accent-rgb), var(--gradient-strength)) 0, rgba(var(--accent-rgb), calc(var(--gradient-strength) * var(--gradient-description-strength))) calc(var(--gradient-description-stop) * var(--gradient-range)), #000 calc(var(--gradient-track-stop) * var(--gradient-range))), #000;min-height:100vh}.compact-header{z-index:50;height:var(--compact-header-height);visibility:hidden;opacity:0;background:linear-gradient(90deg, rgba(var(--accent-rgb), .98), rgba(var(--accent-rgb), .82)), #282828;will-change:opacity, transform;position:fixed;inset:0 0 auto;box-shadow:0 10px 32px #00000047}.compact-header__inner{width:min(100%, var(--content-max-width));height:100%;padding-inline:var(--page-gutter);align-items:center;gap:16px;margin:auto;display:flex}.compact-header__title{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.05rem,2vw,1.5rem);font-weight:800;overflow:hidden}.compact-header__top-button{color:#fff;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:44px;height:44px;padding:0;transition:opacity .16s,transform .16s;display:grid}.compact-header__top-button:hover{opacity:.76;transform:translateY(-2px)}.compact-header__top-button svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.8px;width:26px;height:26px}.playlist-hero{isolation:isolate;position:relative}.playlist-hero__inner{width:min(100%, var(--content-max-width));padding:0 var(--page-gutter) min(32px, 4vw);flex-direction:column;justify-content:flex-end;align-items:center;margin:auto;display:flex}.cover-wrap{will-change:width, padding-top, opacity;flex:none;width:min(70%,560px);padding-top:min(80px,10vw)}.cover-visual{aspect-ratio:1;transform-origin:50%;background:#282828;border-radius:2px;width:100%;position:relative;overflow:hidden;box-shadow:0 22px 56px #0000006b;container-type:inline-size}.cover-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000 42%,#000000b8);position:absolute;inset:0}.cover-art{object-fit:cover;width:100%;height:100%;display:block}.playlist-meta{text-shadow:0 2px 24px #00000040;min-width:0;padding-bottom:4px}.playlist-meta__eyebrow{letter-spacing:.055em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:800}.playlist-meta__title{z-index:1;letter-spacing:0;text-shadow:0 2px 18px #00000073;text-wrap:balance;margin:0;font-size:12cqw;font-weight:900;line-height:.95;position:absolute;inset:auto 8% 8%}.playlist-meta__description{color:#ffffffc7;max-width:66ch;margin:0 0 12px;font-size:.95rem;font-weight:500;line-height:1.6}.playlist-meta__details{flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:.86rem;display:flex}.owner-mark{color:#0e2717;background:var(--spotify-green);letter-spacing:-.04em;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.55rem;font-weight:900;display:grid}.playlist-content{--content-top-space:24px;min-height:100vh;padding:var(--content-top-space) var(--page-gutter) 120px;position:relative}.playlist-meta,.playlist-actions,.track-table{width:min(100%, var(--content-max-width));margin-inline:auto}.playlist-actions{align-items:center;gap:20px;min-height:88px;display:flex}.play-button{color:#000;background:var(--spotify-green);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;padding:0;transition:filter .18s,transform .18s;display:grid;box-shadow:0 8px 26px #0000003d}.play-button:hover{filter:brightness(1.08);transform:scale(1.04)}.play-button svg{fill:currentColor;width:25px;height:25px;margin-left:3px}.icon-button{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:color .18s,background-color .18s;display:grid}.icon-button:hover{color:#fff;background:#ffffff12}.icon-button svg{fill:currentColor;width:29px;height:29px;overflow:visible}.icon-button--save{color:var(--spotify-green)}.icon-button--save svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.track-table{container-type:inline-size}.playlist-switcher{width:min(100%, var(--content-max-width));margin:48px auto 0}.playlist-switcher h2{letter-spacing:-.025em;margin:0 0 16px;font-size:clamp(1.15rem,3vw,1.45rem)}.playlist-switcher ul{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:inline proximity;gap:24px;margin:0;padding:0 0 8px;list-style:none;display:flex;overflow-x:auto}.playlist-switcher ul::-webkit-scrollbar{display:none}.playlist-switcher li{scroll-snap-align:start;flex:0 0 clamp(152px,28vw,200px)}.playlist-switcher__button{aspect-ratio:1;width:100%;color:var(--text);text-align:left;cursor:pointer;background:#282828;border:1px solid #ffffff14;border-radius:2px;padding:0;transition:border-color .16s,transform .16s;display:block;position:relative;overflow:hidden;box-shadow:0 12px 28px #00000052;container-type:inline-size}.playlist-switcher__button:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#0000 42%,#000000b8);position:absolute;inset:0}.playlist-switcher__button:hover{border-color:#ffffff2e;transform:translateY(-2px)}.playlist-switcher__button img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.playlist-switcher__button span{z-index:2;position:absolute;inset:auto 8% 8%}.playlist-switcher__button strong{letter-spacing:0;text-shadow:0 2px 14px #0000007a;text-wrap:balance;font-size:12cqw;font-weight:900;line-height:.95;display:block}.track-row{min-height:64px;color:var(--text-muted);border-radius:5px;grid-template-columns:42px minmax(190px,1.45fr) minmax(160px,1fr) 70px;align-items:center;padding:7px 16px;font-size:.88rem;transition:background-color .16s;display:grid}.track-row:not(.track-row--header):hover{background:#ffffff14}.track-row--header{letter-spacing:.04em;border-bottom:1px solid #ffffff1f;border-radius:0;min-height:36px;margin-bottom:8px;padding-block:0;font-size:.78rem}.track-number{text-align:center;font-variant-numeric:tabular-nums}.track-title{gap:4px;min-width:0;display:grid}.track-title strong,.track-title span,.track-album{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.track-title strong{color:var(--text);font-size:.98rem;font-weight:600}.track-duration{font-variant-numeric:tabular-nums;justify-self:end}.track-clock{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;justify-self:end;width:18px;height:18px}.pane-toggle{z-index:90;color:#fff;backdrop-filter:blur(16px);cursor:pointer;background:#121212db;border:1px solid #ffffff29;border-radius:999px;min-width:44px;min-height:44px;padding:0 15px;position:fixed;bottom:14px;right:14px;box-shadow:0 10px 30px #00000059}.tweakpane-host{z-index:80;border-radius:8px;width:min(300px,100vw - 28px);max-height:calc(100vh - 164px);transition:opacity .18s,transform .18s;position:fixed;top:88px;right:14px;overflow:auto;box-shadow:0 18px 54px #00000061}.tweakpane-host[data-collapsed=true]{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(8px)}@container (width<680px){.track-row{grid-template-columns:36px minmax(160px,1fr) 60px;padding-inline:6px}.track-album{display:none}}@media (width<=720px){.playlist-meta{width:100%}.playlist-meta__description{margin-top:16px}.playlist-meta__details{line-height:1.55}.playlist-content{--content-top-space:12px}.playlist-actions{min-height:78px}.play-button{width:54px;height:54px}.tweakpane-host{top:78px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
