#constellation-app[data-astro-cid-sqonj2hp]{background:#072e2c;position:fixed;inset:0;overflow:hidden}#sky-canvas[data-astro-cid-sqonj2hp]{cursor:grab;touch-action:none;width:100%;height:100%;display:block}#sky-canvas[data-astro-cid-sqonj2hp]:active{cursor:grabbing}.label[data-astro-cid-sqonj2hp]{pointer-events:none;z-index:10;text-align:center;white-space:nowrap;padding-bottom:12px;transition:opacity .35s;position:fixed;transform:translate(-50%,-100%)}.label[data-astro-cid-sqonj2hp].hidden{opacity:0}.label-name[data-astro-cid-sqonj2hp]{color:#f5efe0;letter-spacing:.05em;text-shadow:0 0 20px #c9a84c80;font-family:Tan Mon Cheri,serif;font-size:1.1rem;font-weight:400;display:block}.label-subtitle[data-astro-cid-sqonj2hp]{letter-spacing:.25em;text-transform:uppercase;color:#c9a84c;opacity:.7;margin-top:2px;font-family:Quicksand,sans-serif;font-size:.7rem;font-weight:300;display:block}#intro-overlay[data-astro-cid-sqonj2hp]{z-index:15;pointer-events:none;opacity:1;justify-content:center;align-items:center;transition:opacity 2s ease-out;display:flex;position:fixed;inset:0}#intro-overlay[data-astro-cid-sqonj2hp].fading{opacity:0}.intro-text[data-astro-cid-sqonj2hp]{color:#f5efe0;letter-spacing:.08em;text-shadow:0 0 40px #c9a84c4d;opacity:0;font-family:Quicksand,sans-serif;font-size:clamp(1.4rem,4vw,2.4rem);font-style:italic;font-weight:300;animation:3s ease-out .5s forwards intro-appear}@keyframes intro-appear{0%{opacity:0;transform:translateY(10px)}30%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}#hint[data-astro-cid-sqonj2hp]{letter-spacing:.2em;text-transform:uppercase;color:#f5efe040;pointer-events:none;z-index:10;font-family:Quicksand,sans-serif;font-size:.72rem;font-weight:300;transition:opacity 1.5s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.page-fade[data-astro-cid-nvbwujvh]{z-index:150;pointer-events:none;background:#072e2c;animation:1.5s ease-out forwards fade-out;position:fixed;inset:0}@media (width<=768px){.header-left.hide-mobile{visibility:hidden}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.tab-bar[data-astro-cid-nvbwujvh]{z-index:100;backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom,0);background:#072e2ceb;border-top:1px solid #c9a84c1a;display:flex;position:fixed;bottom:0;left:0;right:0}.tab[data-astro-cid-nvbwujvh]{cursor:pointer;color:#f5efe059;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:.75rem .5rem;transition:color .2s;display:flex}.tab[data-astro-cid-nvbwujvh]:hover{color:#f5efe08c}.tab[data-astro-cid-nvbwujvh].active{color:#c9a84c}.tab-icon[data-astro-cid-nvbwujvh]{font-size:1.1rem;line-height:1}.tab-label[data-astro-cid-nvbwujvh]{letter-spacing:.1em;text-transform:uppercase;font-family:Quicksand,sans-serif;font-size:.6rem;font-weight:300}.favorites-view[data-astro-cid-nvbwujvh]{z-index:10;background:#072e2c;padding:5rem 1.5rem 12rem;position:fixed;inset:0;overflow-y:auto}.fav-bg-glow[data-astro-cid-nvbwujvh]{pointer-events:none;background:radial-gradient(#c9a84c0a 0%,#0000 70%);width:120%;height:60%;position:fixed;top:-30%;left:50%;transform:translate(-50%)}.favorites-inner[data-astro-cid-nvbwujvh]{max-width:480px;margin:0 auto;position:relative}.hidden[data-astro-cid-nvbwujvh]{display:none!important}.fav-header[data-astro-cid-nvbwujvh]{text-align:center;margin-bottom:2.5rem;padding-top:1rem}.fav-ornament[data-astro-cid-nvbwujvh]{color:#c9a84c;opacity:.25;letter-spacing:.5rem;margin-bottom:1rem;font-size:.9rem}.fav-title[data-astro-cid-nvbwujvh]{color:#f5efe0;letter-spacing:.06em;text-shadow:0 0 40px #c9a84c26;margin-bottom:.4rem;font-family:Tan Mon Cheri,serif;font-size:clamp(1.1rem,3.5vw,1.5rem);font-weight:300}.fav-subtitle[data-astro-cid-nvbwujvh]{letter-spacing:.3em;text-transform:uppercase;color:#c9a84c;opacity:.45;font-family:Quicksand,sans-serif;font-size:.6rem;font-weight:300}.fav-segment[data-astro-cid-nvbwujvh]{background:#072e2c99;border:1px solid #c9a84c1f;border-radius:999px;gap:4px;margin-bottom:1.75rem;padding:4px;display:flex}.seg[data-astro-cid-nvbwujvh]{cursor:pointer;letter-spacing:.16em;text-transform:uppercase;color:#f5efe066;background:0 0;border:none;border-radius:999px;flex:1;min-height:44px;padding:.7rem .5rem;font-family:Quicksand,sans-serif;font-size:.62rem;font-weight:500;transition:background .25s,color .25s}.seg[data-astro-cid-nvbwujvh].active{color:#c9a84c;background:linear-gradient(135deg,#c9a84c29,#c9a84c12);box-shadow:inset 0 0 0 1px #c9a84c2e}.playlists-list[data-astro-cid-nvbwujvh]{flex-direction:column;gap:.6rem;display:flex}.playlist-new[data-astro-cid-nvbwujvh]{cursor:pointer;letter-spacing:.06em;color:#c9a84cbf;background:0 0;border:1px dashed #c9a84c38;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:48px;margin-top:.9rem;padding:.9rem 1rem;font-family:Quicksand,sans-serif;font-size:.78rem;font-weight:400;transition:border-color .25s,color .25s,background .25s;display:flex}.playlist-new[data-astro-cid-nvbwujvh]:hover{color:#c9a84c;background:#c9a84c0a;border-color:#c9a84c73}.playlist-new-icon[data-astro-cid-nvbwujvh]{font-size:1rem;line-height:1}.favorites-loading[data-astro-cid-nvbwujvh]{justify-content:center;padding:4rem 0;display:flex}.favorites-loading[data-astro-cid-nvbwujvh].hidden{display:none}.fav-spinner[data-astro-cid-nvbwujvh]{border:2px solid #c9a84c26;border-top-color:#c9a84c99;border-radius:50%;width:24px;height:24px;animation:.7s linear infinite fav-spin}@keyframes fav-spin{to{transform:rotate(360deg)}}.favorites-empty[data-astro-cid-nvbwujvh]{text-align:center;padding:3rem 1rem 4rem}.empty-stars[data-astro-cid-nvbwujvh]{color:#c9a84c26;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;font-size:.7rem;display:flex}.empty-stars[data-astro-cid-nvbwujvh] span[data-astro-cid-nvbwujvh]:nth-child(2){margin-top:-.15rem;font-size:1rem}.empty-text[data-astro-cid-nvbwujvh]{color:#f5efe0;opacity:.45;margin-bottom:.6rem;font-family:Quicksand,sans-serif;font-size:1.2rem;font-style:italic}.empty-sub[data-astro-cid-nvbwujvh]{color:#f5efe040;letter-spacing:.05em;font-family:Quicksand,sans-serif;font-size:.7rem;font-weight:300}.track-group{margin-bottom:.75rem}.group-header{background:linear-gradient(135deg, color-mix(in srgb, var(--accent,#c9a84c) 6%, transparent), color-mix(in srgb, var(--accent,#c9a84c) 2%, transparent));border:1px solid color-mix(in srgb, var(--accent,#c9a84c) 12%, transparent);cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;border-radius:10px;align-items:center;padding:1rem 1.2rem;transition:background .3s,border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.group-header:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent,#c9a84c) 25%, transparent), transparent);height:1px;position:absolute;top:0;left:0;right:0}.group-header:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--accent,#c9a84c) 10%, transparent), color-mix(in srgb, var(--accent,#c9a84c) 4%, transparent));border-color:color-mix(in srgb, var(--accent,#c9a84c) 22%, transparent);box-shadow:0 0 20px color-mix(in srgb, var(--accent,#c9a84c) 8%, transparent)}.group-header.open{border-bottom-color:color-mix(in srgb, var(--accent,#c9a84c) 6%, transparent);box-shadow:0 4px 20px color-mix(in srgb, var(--accent,#c9a84c) 6%, transparent);border-radius:10px 10px 2px 2px}.group-constellation{opacity:.85;flex-shrink:0;margin-right:.75rem}.group-name{color:var(--accent,#c9a84c);text-shadow:0 0 24px color-mix(in srgb, var(--accent,#c9a84c) 35%, transparent);flex:1;font-family:Tan Mon Cheri,serif;font-size:.85rem;font-weight:400}.group-count{color:#f5efe047;letter-spacing:.08em;text-transform:uppercase;margin-right:.85rem;font-family:Quicksand,sans-serif;font-size:.58rem;font-weight:300}.group-chevron{color:color-mix(in srgb, var(--accent,#c9a84c) 50%, transparent);font-size:.65rem;transition:transform .3s cubic-bezier(.4,0,.2,1)}.group-header.open .group-chevron{transform:rotate(180deg)}.track-list{background:color-mix(in srgb, var(--accent,#c9a84c) 3%, transparent);border:1px solid color-mix(in srgb, var(--accent,#c9a84c) 8%, transparent);border-top:none;border-radius:0 0 10px 10px;flex-direction:column;gap:1px;max-height:800px;padding:4px;transition:max-height .2s ease-out,padding .1s ease-out;display:flex;overflow:hidden}.track-list.collapsed{border-color:#0000;max-height:0;padding:0 4px;transition:none}.track{cursor:pointer;text-align:left;color:inherit;font:inherit;background:#072e2c80;border:none;border-radius:6px;align-items:center;gap:1rem;padding:.75rem .85rem;transition:background .2s,box-shadow .2s;display:flex}.track:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);background:#072e2c4d}.track.active{background:color-mix(in srgb, var(--accent) 10%, #072e2c99);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent), 0 0 12px color-mix(in srgb, var(--accent) 10%, transparent)}.track-number{color:#f5efe038;min-width:1.4rem;font-family:Quicksand,sans-serif;font-size:.65rem;font-weight:300}.track-info{flex-direction:column;flex:1;gap:.15rem;display:flex}.track-title{color:#f5efe0;font-family:Quicksand,sans-serif;font-size:1.05rem;font-weight:400}.track-duration{color:#f5efe04d;letter-spacing:.05em;font-family:Quicksand,sans-serif;font-size:.6rem;font-weight:300}.track-play-icon{color:#f5efe02e;font-size:.65rem;transition:color .2s}.track:hover .track-play-icon,.track.active .track-play-icon{color:var(--accent)}.fav-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.3rem;transition:transform .2s}.fav-btn:hover{transform:scale(1.2)}.fav-btn:active{transform:scale(.9)}.heart-icon{fill:#f5efe01f;width:15px;height:15px;transition:fill .2s}.fav-btn:hover .heart-icon{fill:#f5efe04d}.fav-btn.favorited .heart-icon{fill:#e74c6f;filter:drop-shadow(0 0 4px #e74c6f4d)}.fav-btn.favorited:hover .heart-icon{fill:#d43a5d}.add-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin:-6px 0;transition:transform .2s,background .2s;display:flex}.add-btn:hover{background:#c9a84c1a;transform:scale(1.1)}.add-btn:active{transform:scale(.9)}.add-icon{fill:#f5efe038;width:15px;height:15px;transition:fill .2s}.add-btn:hover .add-icon{fill:#c9a84c}.add-btn.remove .add-icon{fill:#f5efe02e}.add-btn.remove:hover .add-icon{fill:#e74c6f}.playlist-card{background:linear-gradient(135deg, color-mix(in srgb, var(--accent,#c9a84c) 6%, transparent), color-mix(in srgb, var(--accent,#c9a84c) 2%, transparent));border:1px solid color-mix(in srgb, var(--accent,#c9a84c) 12%, transparent);cursor:pointer;width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;border-radius:10px;align-items:center;gap:.75rem;padding:1rem 1.2rem;transition:background .3s,border-color .3s,box-shadow .3s;display:flex}.playlist-card:hover{border-color:color-mix(in srgb, var(--accent,#c9a84c) 22%, transparent);box-shadow:0 0 20px color-mix(in srgb, var(--accent,#c9a84c) 8%, transparent)}.playlist-card-name{min-width:0;color:var(--accent,#c9a84c);text-shadow:0 0 24px color-mix(in srgb, var(--accent,#c9a84c) 35%, transparent);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:Tan Mon Cheri,serif;font-size:.9rem;overflow:hidden}.playlist-card-count{letter-spacing:.08em;text-transform:uppercase;color:#f5efe047;flex-shrink:0;font-family:Quicksand,sans-serif;font-size:.58rem;font-weight:300}.playlist-card-chevron{color:color-mix(in srgb, var(--accent,#c9a84c) 50%, transparent);flex-shrink:0;font-size:1rem}.pl-detail-head{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.pl-play-all{background:color-mix(in srgb, var(--accent,#c9a84c) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent,#c9a84c) 30%, transparent);cursor:pointer;width:44px;height:44px;color:var(--accent,#c9a84c);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding-left:2px;font-size:.7rem;transition:background .2s,border-color .2s,opacity .2s;display:flex}.pl-play-all:hover:not(:disabled){background:color-mix(in srgb, var(--accent,#c9a84c) 22%, transparent);border-color:color-mix(in srgb, var(--accent,#c9a84c) 50%, transparent)}.pl-play-all:disabled{opacity:.3;cursor:default}.pl-back,.pl-menu-btn{cursor:pointer;width:44px;height:44px;color:color-mix(in srgb, var(--accent,#c9a84c) 70%, transparent);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;transition:background .2s,color .2s;display:flex}.pl-back:hover,.pl-menu-btn:hover{color:#c9a84c;background:#c9a84c1a}.pl-detail-name{color:#f5efe0;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:Tan Mon Cheri,serif;font-size:1rem;overflow:hidden}
