*,:before,:after{box-sizing:border-box}body{color:#f0f0f0;-webkit-font-smoothing:antialiased;background:#0d0d0d;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#000000b8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#1a1a1a;border:1px solid #2e2e2e;border-radius:14px;flex-direction:column;width:100%;max-width:440px;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid #222;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem 1rem;display:flex}.modal-album-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.modal-album-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.modal-album-artist{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.4rem;line-height:1;transition:color .15s}.modal-close:hover{color:var(--text)}.modal-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.star-section{flex-direction:column;align-items:center;gap:.6rem;display:flex}.star-picker{gap:.1rem;display:flex}.star-cell{justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex;position:relative}.star-hit{cursor:pointer;z-index:1;background:0 0;border:none;width:50%;padding:0;position:absolute;top:0;bottom:0}.star-hit-left{left:0}.star-hit-right{right:0}.star-glyph{pointer-events:none;font-size:2.25rem;line-height:1;transition:transform 80ms;display:inline-block}.star-cell:has(.star-hit:hover) .star-glyph{transform:scale(1.15)}.star-empty{color:#2e2e2e}.star-full{color:var(--accent)}.star-half{background:linear-gradient(to right, var(--accent) 50%, #2e2e2e 50%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.rating-label{color:var(--text-muted);letter-spacing:.02em;min-height:1.2em;font-size:.82rem;font-weight:600}.review-section{flex-direction:column;gap:.4rem;display:flex}.review-label{letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.review-label span{opacity:.6;font-weight:400}.review-textarea{color:var(--text);resize:vertical;background:#111;border:1px solid #2a2a2a;border-radius:8px;outline:none;min-height:90px;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5;transition:border-color .15s}.review-textarea:focus{border-color:#444}.review-textarea::placeholder{color:#444}.modal-error{color:#ff6b6b;background:#ff6b6b14;border:1px solid #ff6b6b2e;border-radius:6px;padding:.5rem .75rem;font-size:.8rem}.modal-footer{border-top:1px solid #222;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem 1.25rem;display:flex}.modal-footer-right{gap:.5rem;margin-left:auto;display:flex}.btn-delete{color:#e05555;cursor:pointer;background:0 0;border:1px solid #3a1a1a;border-radius:7px;padding:.45rem .875rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s,color .15s}.btn-delete:hover:not(:disabled){background:#e055551a}.btn-delete:disabled{opacity:.4;cursor:not-allowed}.btn-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:7px;padding:.45rem .875rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:color .15s,border-color .15s}.btn-cancel:hover:not(:disabled){color:var(--text);border-color:#444}.btn-cancel:disabled{opacity:.4;cursor:not-allowed}.btn-save{background:var(--accent);color:#0d0d0d;cursor:pointer;border:none;border-radius:7px;padding:.45rem 1rem;font-family:inherit;font-size:.8rem;font-weight:700;transition:opacity .15s}.btn-save:hover:not(:disabled){opacity:.88}.btn-save:disabled{opacity:.35;cursor:not-allowed}@media (width<=560px){.modal-overlay{align-items:flex-end;padding:0}.modal{border-bottom:none;border-radius:16px 16px 0 0;max-width:none;max-height:92vh;overflow-y:auto}.modal-header{z-index:1;background:#1a1a1a;padding:1.1rem 1.1rem .9rem;position:sticky;top:0}.modal-close{justify-content:flex-end;align-items:center;min-width:44px;min-height:44px;margin:-.5rem -.35rem 0 0;font-size:1.6rem;display:flex}.modal-body{padding:1.25rem 1.1rem}.star-picker{justify-content:space-between;gap:0;width:100%}.star-cell{width:3.25rem;height:3.25rem}.star-glyph{font-size:2.6rem}.review-textarea{min-height:110px;font-size:1rem}.modal-footer{flex-wrap:wrap;padding:1rem 1.1rem 1.25rem}.btn-delete,.btn-cancel,.btn-save{min-height:44px;padding:.6rem 1.1rem;font-size:.875rem}.modal-footer-right{gap:.5rem}.btn-save{flex:1}.modal:before{content:"";background:#ffffff38;border-radius:999px;flex-shrink:0;width:36px;height:4px;margin:.6rem auto .1rem;display:block}.modal{box-shadow:var(--shadow-modal)}}@keyframes star-pick{0%{transform:scale(1)}45%{transform:scale(1.32)}to{transform:scale(1)}}.star-cell:has(.star-hit:active) .star-glyph{animation:star-pick .28s var(--ease-out)}.star-glyph.star-full,.star-glyph.star-half{filter:drop-shadow(0 0 6px #e8ff6b4d)}@media (prefers-reduced-motion:reduce){.star-cell:has(.star-hit:active) .star-glyph{animation:none}}.skeleton{background-color:#1a1a2e;background-image:linear-gradient(100deg,#1a1a2e 0% 38%,#2a2a4e 50%,#1a1a2e 62% 100%);background-position:130% 0;background-repeat:no-repeat;background-size:220% 100%;border-radius:4px;flex-shrink:0;animation:1.5s ease-in-out infinite skeleton-sweep;display:block;position:relative;overflow:hidden}@keyframes skeleton-sweep{to{background-position:-30% 0}}.skeleton-box{width:100%}.skeleton-circle{border-radius:50%}.skeleton-text{flex-direction:column;gap:.4rem;width:100%;display:flex}.skeleton-line{border-radius:4px;height:11px}.skeleton-track-row{background:var(--bg-raised);border:1px solid #0000;border-radius:10px;align-items:center;gap:.875rem;padding:.6rem .875rem;display:flex}.skeleton-track-row-body{flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.skeleton-album-card{background:var(--bg-raised);border:1px solid #0000;border-radius:10px;overflow:hidden}.skeleton-album-art{aspect-ratio:1;border-radius:0;width:100%}.skeleton-album-card-body{flex-direction:column;gap:.4rem;padding:.75rem .875rem .875rem;display:flex}.skeleton-discover-card{flex-direction:column;flex:none;gap:.55rem;width:168px;display:flex}.skeleton-discover-art{aspect-ratio:1;width:100%}.skeleton-feed-item{align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex}.skeleton-feed-item-body{flex-direction:column;flex:1;gap:.45rem;min-width:0;display:flex}.skeleton-review{gap:.75rem;display:flex}.skeleton-review-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.skeleton-stats{background:var(--border);border:1px solid var(--border);border-radius:10px;gap:1px;display:flex;overflow:hidden}.skeleton-stat{background:var(--bg-raised);flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:1rem .5rem;display:flex}.skeleton-tracklist{flex-direction:column;display:flex}.skeleton-tracklist-row{grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.5rem;padding:.7rem .5rem;display:grid}.skeleton-tracklist-row .skeleton:first-child{justify-self:center}@media (prefers-reduced-motion:reduce){.skeleton{background-color:#20203a;background-image:none;animation:none}}.home{gap:var(--sp-6);flex-direction:column;display:flex}.welcome-banner{align-items:flex-start;gap:var(--sp-4);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);margin-bottom:calc(var(--sp-6) * -1 + var(--sp-2));background:linear-gradient(135deg,#e8ff6b1f,#e8ff6b0a);border:1px solid #e8ff6b4d;display:flex}.welcome-banner-body{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.welcome-banner-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em}.welcome-banner-text{font-size:var(--fs-base);font-weight:var(--fw-body);color:var(--text-muted);max-width:60ch;line-height:1.55}.welcome-banner-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.35rem;transition:color .15s,background .15s;display:flex}.welcome-banner-close svg{width:16px;height:16px}.welcome-banner-close:hover{color:var(--text);background:#ffffff0f}.search-wrap{padding:var(--sp-7) 0 var(--sp-2);align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.search-eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.search-heading{font-size:var(--fs-2xl);font-weight:var(--fw-display);letter-spacing:-.04em;color:var(--text);text-align:center;margin:0;line-height:1.1}.search-tagline{font-size:var(--fs-md);font-weight:var(--fw-body);color:var(--text-muted);text-align:center;margin-top:calc(var(--sp-2) * -1)}.search-tabs{border:1px solid var(--border-strong);margin-top:var(--sp-2);background:#161616;border-radius:11px;gap:.3rem;padding:.3rem;display:flex}.search-tab{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:40px;padding:.55rem 1.6rem;font-family:inherit;transition:background .15s,color .15s}.search-tab:hover:not(.active){color:var(--text);background:#ffffff0d}.search-tab.active{background:var(--accent);color:var(--accent-ink);box-shadow:0 2px 12px #e8ff6b40}.search-form{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#1c1c1c;gap:0;width:100%;max-width:640px;margin-top:.25rem;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.search-hint{font-size:var(--fs-base);font-weight:var(--fw-body);color:var(--text-dim);text-align:center}.search-hint-example{font-family:inherit;font-size:inherit;font-weight:var(--fw-medium);color:var(--text-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .15s}.search-hint-example:hover{color:var(--accent)}.how-it-works{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);max-width:860px;margin:0 auto;display:grid}.how-it-works-step{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-4);flex-direction:column;gap:.3rem;display:flex}.how-it-works-num{width:26px;height:26px;color:var(--accent);font-size:var(--fs-sm);font-weight:var(--fw-display);margin-bottom:var(--sp-2);background:#e8ff6b1f;border-radius:50%;justify-content:center;align-items:center;display:flex}.how-it-works-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text)}.how-it-works-text{font-size:var(--fs-sm);font-weight:var(--fw-body);color:var(--text-muted);line-height:1.5}.trending-section{gap:var(--sp-3);flex-direction:column;width:100%;max-width:860px;margin:0 auto;display:flex}.trending-scroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.trending-scroll::-webkit-scrollbar{height:6px}.trending-scroll::-webkit-scrollbar-track{background:0 0}.trending-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.trending-card{scroll-snap-align:start;width:152px;color:inherit;cursor:pointer;flex-direction:column;flex:none;gap:.5rem;text-decoration:none;display:flex}.trending-card-art{aspect-ratio:1;background:#1e1e1e;border:1px solid #0000;border-radius:8px;width:100%;transition:border-color .18s,transform .18s;position:relative;overflow:hidden}.trending-card:hover .trending-card-art{border-color:#2e2e2e;transform:translateY(-2px)}.trending-card-art img{object-fit:cover;width:100%;height:100%;display:block}.trending-card-art-placeholder{color:#333;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.trending-card-art-placeholder svg{width:28px;height:28px}.trending-card-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.trending-card-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trending-card-artist{font-size:var(--fs-xs);font-weight:var(--fw-body);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #e8ff6b1f}.search-form-disabled{border-color:var(--border);opacity:.75;background:#171717}.search-form-disabled .search-btn{color:#444;cursor:not-allowed}.sign-in-gate{padding:var(--sp-6) var(--sp-5);align-items:center;gap:var(--sp-4);text-align:center;position:relative}.sign-in-gate-close{position:absolute;top:.75rem;right:.9rem}.sign-in-gate-text{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em;margin-top:var(--sp-2)}.sign-in-gate-btn{text-decoration:none}.search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:.875rem 1.125rem;font-family:inherit;font-size:1rem}.search-input::placeholder{color:#555}.search-input-disabled{cursor:not-allowed;color:var(--text-dim)}.search-input-disabled::placeholder{color:var(--text-dim)}.search-btn{cursor:pointer;color:#555;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 1.125rem;transition:color .15s;display:flex}.search-btn:hover{color:var(--accent)}.search-btn svg{width:18px;height:18px}.search-status{min-height:120px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.results-meta{color:var(--text-muted);font-size:.8rem}.album-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:1.25rem;display:grid}.album-card{position:relative}.album-card-link{cursor:pointer;color:inherit;background:#141414;border:1px solid #0000;border-radius:10px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:block;overflow:hidden}.album-card-link:hover{border-color:#2e2e2e;transform:translateY(-4px);box-shadow:0 12px 32px #0000008c}.album-card-art{aspect-ratio:1;background:#1e1e1e;width:100%;position:relative;overflow:hidden}.album-card-art img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.album-card-link:hover .album-card-art img{transform:scale(1.04)}.album-card-art-placeholder{color:#333;background:#1e1e1e;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.album-card-art-placeholder svg{width:40px;height:40px}.album-card-info{flex-direction:column;gap:.2rem;padding:.75rem .875rem .875rem;display:flex}.album-card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;line-height:1.3;overflow:hidden}.album-card-meta{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.75rem;display:flex;overflow:hidden}.album-card-artist{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.album-card-dot{opacity:.4;flex-shrink:0}.album-card-year{flex-shrink:0}.track-list{flex-direction:column;gap:.4rem;display:flex}.track-card{background:#141414;border:1px solid #0000;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem .875rem;transition:border-color .15s,background .15s;display:flex}.track-card:hover{background:#191919;border-color:#2e2e2e}.track-card-link{cursor:pointer;min-width:0;color:inherit;flex:1;align-items:center;gap:.875rem;text-decoration:none;display:flex}.track-card-art{background:#1e1e1e;border-radius:6px;flex-shrink:0;width:48px;height:48px;position:relative;overflow:hidden}.track-card-art img{object-fit:cover;width:100%;height:100%;display:block}.track-card-art-placeholder{color:#333;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.track-card-art-placeholder svg{width:20px;height:20px}.track-card-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.track-card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.track-card-meta{color:var(--text-muted);align-items:center;font-size:.78rem;display:flex}.track-card-artist{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.track-card-duration{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem}.rate-btn{min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;background:#ffffff08;border:1px solid #333;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;padding:0 .6rem;font-family:inherit;font-size:.8rem;font-weight:700;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.rate-btn:hover{border-color:var(--accent);color:var(--accent)}.rate-btn-star{font-size:1.05rem;line-height:1}.rate-btn-value{font-variant-numeric:tabular-nums}.rate-btn-rated{color:var(--accent);background:#e8ff6b1a;border-color:#e8ff6b66}.rate-btn-corner{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a0ab8;border-color:#ffffff24;position:absolute;top:.5rem;right:.5rem}.rate-btn-corner:hover{background:#0a0a0ad9}.rate-btn-corner.rate-btn-rated{background:#e8ff6b2e;border-color:#e8ff6b80}@media (width<=720px){.search-wrap{padding:var(--sp-5) 0 var(--sp-2)}.search-heading{font-size:var(--fs-xl)}.search-tagline{font-size:var(--fs-base)}.search-tab{padding:.55rem 1.15rem}.search-input{padding:.8rem 1rem;font-size:1rem}.how-it-works{gap:var(--sp-3);grid-template-columns:1fr}.how-it-works-step{padding:var(--sp-4)}.how-it-works-num{margin-bottom:var(--sp-1)}.trending-scroll{scroll-snap-type:x mandatory}.trending-card{width:124px}.welcome-banner{padding:var(--sp-4);gap:var(--sp-3)}.album-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.track-card{gap:.7rem;padding:.7rem}.track-card-art{width:52px;height:52px}.track-card-duration{display:none}}@media (width<=400px){.album-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.trending-scroll{padding-right:2.5rem}}.search-input::-webkit-search-cancel-button{appearance:none}.search-input::-webkit-search-decoration{appearance:none}.search-wrap{isolation:isolate;position:relative}.search-hero-bg{z-index:-1;filter:blur(78px)saturate(1.7);opacity:.14;pointer-events:none;background-position:50%;background-size:cover;width:min(1100px,130%);max-width:100%;height:132%;position:absolute;top:-14%;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(62% 58% at 50% 38%,#000 32%,#0000 78%);mask-image:radial-gradient(62% 58% at 50% 38%,#000 32%,#0000 78%)}.home-section{gap:var(--sp-4);flex-direction:column;width:100%;max-width:940px;margin:0 auto;display:flex}.section-heading-flame .flame-icon{width:14px;height:14px;color:var(--accent);filter:drop-shadow(0 0 6px #e8ff6b8c);flex-shrink:0}.section-heading-flame:before{display:none}.trending-card{width:160px}.trending-card-art{border-radius:10px}.trending-card-pill{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.25rem;margin-top:.3rem;display:inline-flex;overflow:hidden}.trending-card-pill-star{color:var(--accent);font-size:.66rem}.home-review-scroll{gap:var(--sp-4);padding-bottom:var(--sp-2);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.home-review-card{scroll-snap-align:start;gap:var(--sp-3);width:288px;padding:var(--sp-4);border-radius:var(--radius-lg);color:inherit;transition:transform .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);flex-direction:column;flex:none;text-decoration:none;display:flex}.home-review-card:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-lift);transform:translateY(-3px)}.home-review-card-head{gap:var(--sp-3);align-items:flex-start;display:flex}.home-review-art,.home-review-art-placeholder{background:#1e1e1e;border-radius:8px;flex-shrink:0;width:56px;height:56px;overflow:hidden}.home-review-art img{object-fit:cover;width:100%;height:100%;display:block}.home-review-art-placeholder{color:#333;justify-content:center;align-items:center;display:flex}.home-review-art-placeholder svg{width:22px;height:22px}.home-review-titles{flex-direction:column;gap:.15rem;min-width:0;display:flex}.home-review-name{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-review-artist{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-review-stars{gap:1px;margin-top:.1rem;display:inline-flex}.home-review-stars .star-glyph{font-size:.78rem}.home-review-text{font-size:var(--fs-sm);color:var(--text-muted);padding-left:var(--sp-3);-webkit-line-clamp:3;border-left:2px solid #e8ff6b47;-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden}.home-review-by{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-dim);letter-spacing:.02em;margin-top:auto}.ranked-list{gap:var(--sp-2);counter-reset:rank;flex-direction:column;list-style:none;display:flex}.ranked-row{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);color:inherit;transition:transform .15s var(--ease-out), border-color .15s var(--ease-out), background-color .15s var(--ease-out);text-decoration:none;display:flex}.ranked-row:hover{border-color:var(--hairline-strong);background-color:#22222ab3;transform:translate(3px)}.ranked-num{font-size:1.5rem;font-weight:var(--fw-display);font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight);color:var(--text-dim);text-align:right;flex-shrink:0;width:1.6rem}.ranked-row:hover .ranked-num{color:var(--accent)}.ranked-art,.ranked-art-placeholder{background:#1e1e1e;border-radius:8px;flex-shrink:0;width:52px;height:52px;overflow:hidden}.ranked-art img{object-fit:cover;width:100%;height:100%;display:block}.ranked-art-placeholder{color:#333;justify-content:center;align-items:center;display:flex}.ranked-art-placeholder svg{width:20px;height:20px}.ranked-body{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.ranked-name{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ranked-artist{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ranked-score{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.15rem;display:flex}.ranked-stars{gap:1px;display:inline-flex}.ranked-stars .star-glyph{font-size:.8rem}.ranked-count{font-size:var(--fs-xs);color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.home-stat-card{gap:var(--sp-4);padding:var(--sp-5);border-radius:var(--radius-lg);flex-direction:column;display:flex}.home-stat-grid{gap:var(--sp-4);grid-template-columns:repeat(4,1fr);display:grid}.home-stat{flex-direction:column;gap:.3rem;min-width:0;display:flex}.home-stat-wide{grid-column:span 2}.home-stat-value{font-size:1.75rem;font-weight:var(--fw-display);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;color:var(--text);line-height:1}.home-stat-text{font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.home-stat-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-dim)}.home-stat-best{align-items:center;gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border);color:inherit;text-decoration:none;display:flex}.home-stat-best-art,.home-stat-best-placeholder{background:#1e1e1e;border-radius:8px;flex-shrink:0;width:64px;height:64px;overflow:hidden}.home-stat-best-art img{object-fit:cover;width:100%;height:100%;display:block}.home-stat-best-placeholder{color:#333;justify-content:center;align-items:center;display:flex}.home-stat-best-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.home-stat-best-name{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-stat-best-score .star-glyph{font-size:.85rem}@media (width<=720px){.trending-card{width:132px}.home-review-card{width:252px}.home-review-scroll{margin:0 calc(var(--sp-4) * -1);padding-left:var(--sp-4);scroll-snap-type:x mandatory;padding-right:2.5rem}.home-stat-grid{grid-template-columns:repeat(2,1fr)}.home-stat-wide{grid-column:span 2}.home-stat-value{font-size:1.4rem}.ranked-row{gap:var(--sp-3);padding:var(--sp-3)}.ranked-num{width:1.2rem;font-size:1.15rem}.ranked-art,.ranked-art-placeholder{width:44px;height:44px}.ranked-stars{display:none}.search-hero-bg{filter:blur(56px)saturate(1.7);opacity:.16}}.like-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;gap:.28rem;padding:.1rem .15rem;font-family:inherit;font-size:.72rem;font-weight:700;line-height:1;transition:color .15s,transform .1s;display:inline-flex}.like-btn svg{width:15px;height:15px}.like-btn:hover:not(:disabled),.like-btn.liked{color:#ff6b6b}.like-btn:active:not(:disabled){transform:scale(.9)}.like-btn:disabled{cursor:default}.like-btn-count{min-width:.6rem}.discover-page{flex-direction:column;display:flex}.discover-status{min-height:200px;color:var(--text-muted);font-size:var(--fs-base);justify-content:center;align-items:center;display:flex}.discover-sections{gap:var(--sp-6);flex-direction:column;display:flex}.discover-row{gap:var(--sp-3);flex-direction:column;display:flex}.discover-scroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.discover-scroll::-webkit-scrollbar{height:6px}.discover-scroll::-webkit-scrollbar-track{background:0 0}.discover-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.discover-card{scroll-snap-align:start;width:168px;color:inherit;cursor:pointer;flex-direction:column;flex:none;gap:.55rem;text-decoration:none;display:flex}.discover-card-art{aspect-ratio:1;background:#1e1e1e;border:1px solid #0000;border-radius:8px;width:100%;transition:border-color .18s,transform .18s;position:relative;overflow:hidden}.discover-card:hover .discover-card-art{border-color:#2e2e2e;transform:translateY(-2px)}.discover-card-art img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.discover-card:hover .discover-card-art img{transform:scale(1.05)}.discover-card-art-placeholder{color:#333;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.discover-card-art-placeholder svg{width:32px;height:32px}.discover-card-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.discover-card-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.discover-card-artist{font-size:var(--fs-xs);font-weight:var(--fw-body);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.discover-rating-pill{font-size:var(--fs-xs);font-weight:var(--fw-bold);align-items:center;gap:.25rem;margin-top:.1rem;display:inline-flex}.discover-rating-star{color:var(--accent);font-size:.68rem}.discover-rating-value{color:var(--text)}.discover-rating-count{color:var(--text-dim);font-weight:var(--fw-body)}.discover-card-reviewer{align-items:center;gap:.35rem;margin-top:.1rem;display:flex}.discover-card-reviewer .inline-stars .star-glyph{font-size:.68rem}.discover-card-reviewer-name{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}a.discover-card-reviewer-name:hover{color:var(--accent)}.discover-card-footer{margin-top:.15rem}@media (width<=720px){.discover-scroll{scroll-snap-type:x mandatory;margin:0 calc(var(--sp-4) * -1);padding-left:var(--sp-4);padding-right:var(--sp-4)}.discover-card{width:132px}.discover-scroll{padding-right:2.5rem}}.discover-card{width:184px}.discover-card-art{border-radius:10px}.discover-row-note{font-size:var(--fs-sm);color:var(--text-muted);margin-top:calc(var(--sp-2) * -1);line-height:1.5}.discover-card-featured{width:224px}.discover-card-featured .discover-card-title{font-size:var(--fs-base)}.discover-badge{left:var(--sp-2);bottom:var(--sp-2);z-index:2;background:var(--accent);color:var(--accent-ink);font-size:.62rem;font-weight:var(--fw-display);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.2rem .5rem;display:inline-flex;position:absolute;box-shadow:0 2px 12px #e8ff6b66}@media (width<=720px){.discover-card{width:148px}.discover-card-featured{width:176px}}.feed-list{gap:var(--sp-3);flex-direction:column;display:flex}.feed-item{align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--radius-lg);cursor:pointer;text-decoration:none;display:flex}.feed-item-art-frame{border-radius:var(--radius);flex-shrink:0;width:72px;height:72px}.feed-item-art,.feed-item-art-placeholder{border-radius:var(--radius);object-fit:cover;width:100%;height:100%}.feed-item-art{display:block}.feed-item-art-placeholder{color:#333;background:#1f1f1f;justify-content:center;align-items:center;display:flex}.feed-item-art-placeholder svg{width:26px;height:26px}.feed-item-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.feed-item-header{align-items:center;gap:.45rem;margin-bottom:.15rem;display:flex}.feed-item-avatar{width:22px;height:22px;font-size:.62rem;font-weight:var(--fw-display);color:var(--accent-ink);background-image:linear-gradient(145deg,#ffffff47,#0000004d);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #ffffff4d}.feed-item-reviewer{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}a.feed-item-reviewer:hover{text-decoration:underline}.feed-item-rated{font-size:var(--fs-xs);color:var(--text-dim);flex-shrink:0}.feed-item-date{font-size:var(--fs-xs);color:var(--text-dim);flex-shrink:0;margin-left:auto}.feed-item-album{font-size:1.05rem;font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;line-height:1.25;overflow:hidden}.feed-item-artist{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.feed-item-stars{gap:1px;margin-top:.3rem;display:inline-flex}.feed-item-stars .star-glyph{pointer-events:none;font-size:.95rem}.feed-item-review{font-size:var(--fs-base);color:var(--text-muted);margin-top:var(--sp-3);padding-left:var(--sp-3);border-left:2px solid #e8ff6b47;line-height:1.6}.feed-item-footer{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--hairline)}@media (width<=480px){.feed-item{gap:var(--sp-3);padding:var(--sp-3)}.feed-item-art-frame{width:64px;height:64px}.feed-item-album{font-size:var(--fs-md)}.feed-item-header{flex-wrap:wrap;row-gap:.15rem}.feed-item-date{margin-left:0}}.create-list-public-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.create-list-public-toggle input{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.cover-stack{align-items:center;height:56px;display:flex}.cover-stack-item{border-radius:var(--radius);object-fit:cover;border:1px solid var(--hairline);width:56px;height:56px;transition:transform .22s var(--ease-out), margin-left .22s var(--ease-out);background-color:#1e1e1e;flex-shrink:0;position:relative;box-shadow:inset 0 0 0 1px #00000059,0 4px 14px #00000080}.cover-stack-item+.cover-stack-item{margin-left:-34px}.cover-stack-item-fallback{color:#333;justify-content:center;align-items:center;display:flex}.cover-stack-item-fallback svg{width:20px;height:20px}.list-card:hover .cover-stack-item+.cover-stack-item,.user-list-card:hover .cover-stack-item+.cover-stack-item{margin-left:-22px}.list-card:hover .cover-stack-item,.user-list-card:hover .cover-stack-item{transform:translateY(-2px)}.cover-stack-empty span{border-radius:var(--radius);border:1px dashed var(--border-strong);flex-shrink:0;width:56px;height:56px}.cover-stack-empty span+span{background:var(--bg);margin-left:-34px}@media (prefers-reduced-motion:reduce){.cover-stack-item{transition:none}.list-card:hover .cover-stack-item,.user-list-card:hover .cover-stack-item{transform:none}}.lists-page{flex-direction:column;gap:1.5rem;display:flex}.lists-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:calc(var(--sp-2) * -1);display:flex}.lists-header-text{min-width:0}.lists-header-text .page-subtitle{max-width:56ch;margin-bottom:0}.lists-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.list-card{gap:var(--sp-3);border-radius:var(--radius-lg);padding:var(--sp-4);color:inherit;flex-direction:column;text-decoration:none;display:flex}.list-card-text{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.list-card-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em;line-height:1.3}.list-card-desc{font-size:var(--fs-sm);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.list-card-meta{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;padding-top:var(--sp-3);border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.list-card-badge{color:var(--accent);background:#e8ff6b1a;border-radius:4px;padding:.16rem .45rem;box-shadow:inset 0 0 0 1px #e8ff6b38}.list-card-badge-private{color:var(--text-dim);box-shadow:inset 0 0 0 1px var(--hairline);background:#ffffff0d}.list-card-count{font-variant-numeric:tabular-nums}.list-card-date{margin-left:auto}@media (width<=720px){.lists-header{align-items:stretch;gap:var(--sp-3);flex-direction:column}.lists-grid{grid-template-columns:1fr}}.loading-screen{--bb-mode-scale:1;flex-direction:column;justify-content:center;align-items:center;gap:22px;width:100%;animation:.25s both bb-fade-in;display:flex}.loading-screen-full{z-index:2000;background:var(--bg,#0d0d0d);position:fixed;inset:0}.loading-screen-inline{--bb-mode-scale:.72;min-height:220px;padding:28px 16px}@keyframes bb-fade-in{0%{opacity:0}to{opacity:1}}.boombox-stage{transform:scale(var(--bb-mode-scale))}.boombox-wrap{animation:2.2s ease-in-out infinite bb-bob;position:relative}@keyframes bb-bob{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(-.6deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-2px)rotate(.6deg)}}.boombox{border:1px solid var(--border-strong,#3a3a3a);background:linear-gradient(#3a3a3a 0%,#262626 55%,#1a1a1a 100%);border-radius:16px;justify-content:space-between;align-items:center;gap:8px;width:220px;height:122px;padding:0 12px;display:flex;position:relative;box-shadow:0 16px 34px #0000008c,inset 0 1px #ffffff0d}.bb-handle{border:6px solid #2b2b2b;border-bottom:none;border-radius:60px 60px 0 0;width:92px;height:20px;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.bb-antenna{transform-origin:bottom;background:#555;width:2px;height:32px;position:absolute;top:-32px;right:30px;transform:rotate(16deg)}.bb-antenna:after{content:"";background:var(--accent,#e8ff6b);width:7px;height:7px;box-shadow:0 0 6px var(--accent,#e8ff6b);border-radius:50%;position:absolute;top:-3px;left:-2.5px}.bb-speaker{border:2px solid var(--border-strong,#3a3a3a);background:radial-gradient(circle at 35% 32%,#333 0%,#161616 72%);border-radius:50%;flex:none;justify-content:center;align-items:center;width:78px;height:78px;display:flex;position:relative}.bb-ring{border:1px solid var(--accent,#e8ff6b);opacity:0;border-radius:50%;animation:1.15s ease-out infinite bb-pulse-ring;position:absolute;inset:0}.bb-ring-2{animation-delay:.4s}.bb-speaker-right .bb-ring-1{animation-delay:.18s}.bb-speaker-right .bb-ring-2{animation-delay:.55s}@keyframes bb-pulse-ring{0%{opacity:.55;transform:scale(.68)}to{opacity:0;transform:scale(1.35)}}.bb-cone{background:radial-gradient(circle at 40% 38%,#474747 0%,#101010 78%);border:1px solid #4a4a4a;border-radius:50%;width:36px;height:36px;animation:1.1s ease-in-out infinite bb-thump}.bb-speaker-right .bb-cone{animation-delay:.15s}@keyframes bb-thump{0%,to{transform:scale(1)}50%{transform:scale(1.16)}}.bb-deck{flex-direction:column;flex:auto;align-items:center;gap:7px;display:flex}.bb-window{border:1px solid var(--border-strong,#3a3a3a);background:#101010;border-radius:4px;justify-content:space-evenly;align-items:center;width:60px;height:30px;display:flex}.bb-reel{border:2px solid #555;border-top-color:var(--accent,#e8ff6b);border-radius:50%;width:14px;height:14px;animation:1.6s linear infinite bb-spin}.bb-reel-2{animation-direction:reverse}@keyframes bb-spin{to{transform:rotate(360deg)}}.bb-eq{align-items:flex-end;gap:3px;height:20px;display:flex}.bb-eq span{background:var(--accent,#e8ff6b);border-radius:2px;width:4px;height:25%;animation:.9s ease-in-out infinite bb-eq-bar}.bb-eq span:first-child{animation-delay:0s}.bb-eq span:nth-child(2){animation-delay:.12s}.bb-eq span:nth-child(3){animation-delay:.24s}.bb-eq span:nth-child(4){animation-delay:.36s}.bb-eq span:nth-child(5){animation-delay:.48s}@keyframes bb-eq-bar{0%,to{height:25%}50%{height:100%}}.bb-buttons{gap:5px;display:flex}.bb-buttons span{background:#4a4a4a;border-radius:50%;width:7px;height:7px}.bb-buttons span:first-child{background:var(--accent,#e8ff6b)}.bb-notes{pointer-events:none;height:0;position:absolute;top:0;left:0;right:0}.bb-note{color:var(--accent,#e8ff6b);opacity:0;animation:ease-in infinite bb-note-float;position:absolute;top:0}.n1{--bb-drift:-22px;font-size:14px;animation-duration:2.3s;animation-delay:0s;left:14%}.n2{--bb-drift:16px;font-size:21px;animation-duration:2.9s;animation-delay:.55s;left:34%}.n3{--bb-drift:-12px;font-size:12px;animation-duration:2.1s;animation-delay:1.05s;left:52%}.n4{--bb-drift:26px;font-size:18px;animation-duration:3.1s;animation-delay:1.5s;left:68%}.n5{--bb-drift:-18px;font-size:15px;animation-duration:2.5s;animation-delay:.85s;left:84%}@keyframes bb-note-float{0%{opacity:0;transform:translate(0)scale(.8)rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(var(--bb-drift,15px), -78px) scale(1.15) rotate(8deg)}}.loading-screen-label{letter-spacing:.09em;color:var(--text,#f0f0f0);opacity:0;font-size:.95rem;font-weight:700;animation:.7s .35s forwards bb-label-fade}.loading-screen-inline .loading-screen-label{font-size:.82rem}@keyframes bb-label-fade{to{opacity:.82}}@media (width<=480px){.loading-screen-full{--bb-mode-scale:.78}.loading-screen-inline{--bb-mode-scale:.58}}@media (prefers-reduced-motion:reduce){.boombox-wrap,.bb-cone,.bb-ring,.bb-reel,.bb-eq span,.bb-note{animation:none!important}.bb-note{opacity:.5}}.list-detail{flex-direction:column;gap:1.25rem;display:flex}.list-detail-status{min-height:240px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.list-detail-back{margin-bottom:-.5rem}.list-detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.25rem;display:flex}.list-detail-title{letter-spacing:-.03em;color:var(--text);font-size:1.75rem;font-weight:700}.list-detail-desc{color:var(--text-muted);max-width:560px;margin-top:.4rem;font-size:.9rem;line-height:1.5}.list-detail-meta{letter-spacing:.03em;text-transform:uppercase;color:#666;margin-top:.6rem;font-size:.75rem;font-weight:600}.list-detail-owner{color:#666;text-decoration:none}.list-detail-owner:hover{color:var(--accent)}.btn-delete-list{color:#e05555;cursor:pointer;background:0 0;border:1px solid #3a1a1a;border-radius:7px;flex-shrink:0;padding:.45rem .875rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .15s}.btn-delete-list:hover:not(:disabled){background:#e055551a}.btn-delete-list:disabled{opacity:.5;cursor:not-allowed}.list-detail-hint{color:var(--text-muted);margin-top:-.75rem;font-size:.78rem}.list-detail-empty{color:var(--text-muted);padding:2rem 0;font-size:.9rem}.ranked-list{flex-direction:column;gap:.35rem;display:flex}.ranked-item{background:#141414;border:1px solid #0000;border-radius:10px;align-items:stretch;gap:.25rem;transition:border-color .15s,background .15s,opacity .15s;display:flex}.ranked-item:hover{border-color:#2e2e2e}.ranked-item.draggable{cursor:grab}.ranked-item.dragging{opacity:.4}.ranked-item-link{min-width:0;color:inherit;flex:1;align-items:center;gap:.9rem;padding:.6rem .875rem;text-decoration:none;display:flex}.ranked-item-pos{flex-shrink:0;align-items:center;gap:.5rem;width:3.25rem;display:flex}.ranked-item-num{color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:1.4rem;font-size:.95rem;font-weight:700}.rank-arrow{font-size:.7rem;line-height:1}.rank-arrow-up{color:#4ade80}.rank-arrow-down{color:#ff6b6b}.rank-arrow-none{color:#555}.ranked-item-art,.ranked-item-art-placeholder{object-fit:cover;background:#1e1e1e;border-radius:6px;flex-shrink:0;width:48px;height:48px}.ranked-item-art-placeholder{color:#333;justify-content:center;align-items:center;display:flex}.ranked-item-art-placeholder svg{width:20px;height:20px}.ranked-item-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.ranked-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.ranked-item-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.ranked-item-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-self:center;margin-right:.75rem;padding:.25rem;font-size:1.1rem;line-height:1;transition:color .15s}.ranked-item-remove:hover{color:#ff6b6b}@media (width<=720px){.list-detail-header{align-items:stretch;gap:var(--sp-3);flex-direction:column}.ranked-item-link{gap:.7rem;padding:.6rem .5rem .6rem .7rem}.ranked-item-pos{gap:.3rem;width:2.5rem}.ranked-item-art,.ranked-item-art-placeholder{width:44px;height:44px}.ranked-item-remove{justify-content:center;align-items:center;min-width:44px;min-height:44px;margin-right:.25rem;display:flex}}.rating-filter{border:1px solid var(--border-strong);background:#161616;border-radius:9px;flex-shrink:0;gap:.25rem;padding:.22rem;display:flex}.rating-filter-btn{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-label);color:var(--text-muted);cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out);background:0 0;border:none;border-radius:7px;padding:.32rem .7rem;font-family:inherit}.rating-filter-btn:hover:not(.active){color:var(--text);background:#ffffff0d}.rating-filter-btn.active{background:var(--accent);color:var(--accent-ink);box-shadow:0 2px 10px #e8ff6b38}.section-heading-row{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.section-heading-row>.section-heading,.section-heading-row>.profile-section-heading{margin-bottom:0}@media (width<=480px){.rating-filter-btn{padding:.32rem .55rem}}.auth-wrap{justify-content:center;align-items:flex-start;padding:4rem 1rem;display:flex}.auth-card{border:1px solid var(--border);background:#141414;border-radius:14px;flex-direction:column;gap:1.5rem;width:100%;max-width:380px;padding:2rem;display:flex}.auth-logo{letter-spacing:-.03em;color:var(--accent);text-align:center;font-size:1.1rem;font-weight:700}.auth-heading{letter-spacing:-.03em;text-align:center;color:var(--text);margin:0;font-size:1.4rem;font-weight:700}.btn-google{color:#1a1a1a;cursor:pointer;background:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.65rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:opacity .15s;display:flex}.btn-google:hover{opacity:.9}.btn-google:disabled{opacity:.5;cursor:not-allowed}.btn-google svg{flex-shrink:0;width:18px;height:18px}.form-field{flex-direction:column;gap:.35rem;display:flex}.form-label{color:var(--text-muted);letter-spacing:.04em;font-size:.75rem;font-weight:600}.form-input{border:1px solid var(--border);color:var(--text);background:#0d0d0d;border-radius:8px;outline:none;padding:.65rem .875rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.form-input:focus{border-color:#555}.btn-submit{background:var(--accent);color:#0d0d0d;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.25rem;padding:.65rem;font-family:inherit;font-size:.875rem;font-weight:700;transition:opacity .15s}.btn-submit:hover{opacity:.88}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:#ff6b6b;text-align:center;background:#ff6b6b14;border:1px solid #ff6b6b33;border-radius:6px;padding:.5rem .75rem;font-size:.8rem}.profile-page{flex-direction:column;gap:2.5rem;display:flex}.profile-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:1.5rem;padding-bottom:2rem;display:flex}.profile-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:72px;height:72px}.profile-avatar-initials{color:#0d0d0d;letter-spacing:-.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.4rem;font-weight:800;display:flex}.profile-identity{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.profile-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.03em;color:var(--text);overflow-wrap:anywhere;margin:0}.profile-email{color:var(--text-muted);font-size:.85rem}.profile-joined{color:var(--text-muted);margin-top:.15rem;font-size:.78rem}.profile-header-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.5rem;display:flex}.btn-signout,.btn-edit-profile{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:7px;padding:.4rem .875rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:color .15s,border-color .15s}.btn-signout:hover{color:var(--text);border-color:#555}.btn-edit-profile:hover{color:var(--accent);border-color:var(--accent)}.profile-edit-form{flex-direction:column;gap:.75rem;max-width:320px;display:flex}.profile-edit-actions{gap:.5rem;margin-top:.1rem;display:flex}.profile-edit-actions .btn-submit{margin-top:0}.btn-cancel-edit{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:.65rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:border-color .15s,color .15s}.btn-cancel-edit:hover{color:var(--text);border-color:#555}.profile-stats{background:var(--border);border:1px solid var(--border);border-radius:10px;gap:1px;display:flex;overflow:hidden}.profile-stat{background:#141414;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:1rem .5rem;display:flex}.profile-section{flex-direction:column;gap:1rem;display:flex}.profile-section-heading{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.75rem;font-size:.75rem;font-weight:700}.favorites-shelf{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.favorites-slot{aspect-ratio:1;cursor:pointer;background:#141414;border:2px dashed #222;border-radius:8px;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex}.favorites-slot:hover{background:#1a1a1a;border-color:#3a3a3a}.favorites-slot svg{color:#333;width:20px;height:20px}.favorites-album{aspect-ratio:1;background:#0d0d0d;border-radius:8px;display:block;position:relative;overflow:hidden}.favorites-album img{object-fit:cover;width:100%;height:100%;display:block}.favorites-album-placeholder{color:#333;background:#1a1a1a;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.favorites-album-placeholder svg{width:32px;height:32px}.favorites-album-rating{color:var(--accent);background:#0d0d0dd9;border-radius:5px;padding:.1rem .4rem;font-size:.68rem;font-weight:700;line-height:1.4;position:absolute;bottom:.35rem;right:.35rem}.activity-empty{border:1px solid var(--border);background:#141414;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.activity-empty-icon{opacity:.3;font-size:1.75rem}.activity-empty p{color:var(--text-muted);text-align:center;max-width:280px;font-size:.875rem;line-height:1.5}.activity-empty-link{color:var(--accent);margin-top:.25rem;font-size:.8rem;font-weight:600;text-decoration:none}.activity-empty-link:hover{opacity:.8}.activity-empty-btn{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;margin-top:0;padding:0;text-decoration:underline;display:inline}.activity-list{flex-direction:column;gap:.6rem;display:flex}.activity-item{border:1px solid var(--border);background:#141414;border-radius:10px;align-items:flex-start;gap:.9rem;padding:.75rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.activity-item:hover{background:#1a1a1a;border-color:#3a3a3a}.activity-art,.activity-art-placeholder{object-fit:cover;border-radius:6px;flex-shrink:0;width:56px;height:56px}.activity-art-placeholder{color:#333;background:#1f1f1f;justify-content:center;align-items:center;display:flex}.activity-art-placeholder svg{width:22px;height:22px}.activity-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.activity-album-name{color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.activity-album-artist{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.activity-stars{gap:1px;margin-top:.15rem;display:inline-flex}.activity-stars .star-glyph{pointer-events:none;font-size:.8rem}.activity-review{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=720px){.profile-header{gap:var(--sp-4);padding-bottom:var(--sp-5);flex-wrap:wrap}.profile-avatar,.profile-avatar-initials{width:60px;height:60px}.profile-avatar-initials{font-size:1.2rem}.profile-identity{flex-basis:calc(100% - 60px - var(--sp-4))}.profile-header-actions{flex-direction:row;align-items:stretch;width:100%}.profile-header-actions button{flex:1;min-height:44px}.profile-edit-form{max-width:none}.profile-edit-actions .btn-submit,.btn-cancel-edit{flex:1;min-height:44px}.activity-item{padding:var(--sp-3)}}@media (width<=480px){.favorites-shelf{grid-template-columns:repeat(4,1fr);gap:.5rem}.profile-stats{gap:1px}.stat-value{font-size:1.2rem}}.profile-stats{border-radius:var(--radius-lg)}.profile-stat{padding:var(--sp-5) var(--sp-2);transition:background-color .15s var(--ease-out)}.profile-stat:hover{background:var(--bg-surface)}.profile-stats .stat-value{font-size:2rem;font-weight:var(--fw-display);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;line-height:1}.profile-stats .stat-label{font-size:var(--fs-xs);letter-spacing:var(--track-label);color:var(--text-dim)}.profile-avatar-initials{background-image:linear-gradient(145deg,#ffffff47,#0000004d);position:relative;box-shadow:inset 0 1px #ffffff59,0 8px 24px #00000080}.profile-avatar,.profile-avatar-initials{border:1px solid var(--hairline-strong)}.profile-section-heading{letter-spacing:var(--track-label)}.activity-item{border-radius:var(--radius-lg)}@media (width<=720px){.profile-stats .stat-value{font-size:1.5rem}.profile-stat{padding:var(--sp-4) var(--sp-1)}}.profile-header{padding-top:92px;padding-left:var(--sp-5);padding-right:var(--sp-5);isolation:isolate;border-bottom:none;position:relative}.profile-header:before{content:"";z-index:-1;top:0;left:calc(var(--sp-5) * -1);right:calc(var(--sp-5) * -1);border-radius:var(--radius-lg);border:1px solid var(--hairline);background:radial-gradient(120% 160% at 12% 0,#e8ff6b29,#0000 58%),linear-gradient(160deg,#1c1f16,#131316 62%,#0f0f12);height:132px;position:absolute}.profile-header:after{content:"";z-index:-1;top:0;left:calc(var(--sp-5) * -1);right:calc(var(--sp-5) * -1);border-radius:var(--radius-lg);opacity:.5;pointer-events:none;background-image:repeating-linear-gradient(115deg,#0000 0 9px,#ffffff07 9px 10px);height:132px;position:absolute}.profile-avatar,.profile-avatar-initials{width:88px;height:88px;box-shadow:inset 0 1px 0 #ffffff59, 0 10px 28px #0009, 0 0 0 4px var(--bg);font-size:1.7rem}.profile-stats{-webkit-backdrop-filter:blur(10px)saturate(1.15);border:1px solid var(--hairline);background:#1a1a208c;gap:0}.profile-stat{border-right:1px solid var(--hairline);background:0 0}.profile-stat:last-child{border-right:none}.favorites-album{overflow:hidden}.favorites-album img{transition:transform .35s var(--ease-out)}.favorites-album:hover img{transform:scale(1.09)}.favorites-album{transition:transform .15s var(--ease-out), box-shadow .15s var(--ease-out)}.favorites-album:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}@media (width<=720px){.profile-header{padding-top:76px;padding-left:var(--sp-4);padding-right:var(--sp-4)}.profile-header:before,.profile-header:after{height:108px;left:calc(var(--sp-4) * -1);right:calc(var(--sp-4) * -1)}.profile-avatar,.profile-avatar-initials{width:72px;height:72px;font-size:1.4rem}.profile-identity{flex-basis:calc(100% - 72px - var(--sp-4))}}.follow-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #3a3a3a;border-radius:6px;align-items:center;padding:.3rem .7rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.follow-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.follow-btn.following{color:var(--accent);background:#e8ff6b12;border-color:#e8ff6b40}.follow-btn.following:hover:not(:disabled){color:#ff6b6b;background:#ff6b6b14;border-color:#ff6b6b59}.follow-btn:disabled{cursor:default;opacity:.7}.user-profile-status{justify-content:center;align-items:center;gap:var(--sp-3);min-height:320px;color:var(--text-muted);font-size:var(--fs-base);text-align:center;flex-direction:column;display:flex}.user-profile-not-found p{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text)}.user-profile-back-link{font-size:var(--fs-base);color:var(--accent);font-weight:var(--fw-medium);text-decoration:none}.user-profile-back-link:hover{opacity:.85}.user-profile-page{flex-direction:column;gap:2.5rem;display:flex}.user-profile-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:1.5rem;padding-bottom:2rem;display:flex}.user-profile-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:72px;height:72px}.user-profile-avatar-initials{color:#0d0d0d;letter-spacing:-.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.4rem;font-weight:800;display:flex}.user-profile-identity{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.user-profile-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.03em;color:var(--text);overflow-wrap:anywhere;margin:0}.user-profile-handle{color:var(--text-muted);font-size:.85rem}.user-profile-bio{font-size:var(--fs-base);color:var(--text);max-width:52ch;margin-top:.15rem;line-height:1.5}.user-profile-joined{color:var(--text-muted);margin-top:.15rem;font-size:.78rem}.user-profile-header-actions{flex-shrink:0}.sign-in-prompt{color:var(--text-muted);font-size:.78rem}.user-profile-stats{background:var(--border);border:1px solid var(--border);border-radius:10px;gap:1px;display:flex;overflow:hidden}.user-profile-stat{background:#141414;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:1rem .5rem;display:flex}.stat-value{letter-spacing:-.04em;color:var(--text);font-size:1.5rem;font-weight:800;line-height:1}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.user-profile-section{flex-direction:column;gap:1rem;display:flex}.user-profile-empty-text{color:var(--text-muted);border:1px solid var(--border);background:#141414;border-radius:10px;padding:1rem;font-size:.875rem}.user-rating-list{flex-direction:column;gap:.6rem;display:flex}.user-rating-item{border:1px solid var(--border);background:#141414;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.75rem;transition:border-color .15s,background .15s;display:flex}.user-rating-item:hover{background:#1a1a1a;border-color:#3a3a3a}.user-rating-item-link{min-width:0;color:inherit;flex:1;align-items:flex-start;gap:.9rem;text-decoration:none;display:flex}.user-rating-item-actions{flex-shrink:0;padding-top:.15rem}.user-rating-art,.user-rating-art-placeholder{object-fit:cover;background:#1f1f1f;border-radius:6px;flex-shrink:0;width:56px;height:56px}.user-rating-art-placeholder{color:#333;justify-content:center;align-items:center;display:flex}.user-rating-art-placeholder svg{width:22px;height:22px}.user-rating-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.user-rating-title{color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.user-rating-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.user-rating-stars{gap:1px;margin-top:.15rem;display:inline-flex}.user-rating-stars .star-glyph{pointer-events:none;font-size:.8rem}.user-rating-review{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.user-list-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.user-list-card{gap:var(--sp-3);border-radius:var(--radius-lg);padding:var(--sp-4);color:inherit;flex-direction:column;text-decoration:none;display:flex}.user-list-card-text{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.user-list-card-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em;line-height:1.3}.user-list-card-desc{font-size:var(--fs-sm);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.user-list-card-meta{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;padding-top:var(--sp-3);border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.user-list-card-count{font-variant-numeric:tabular-nums}.user-list-card-date{margin-left:auto}@media (width<=720px){.user-profile-header{gap:var(--sp-4);padding-bottom:var(--sp-5);flex-wrap:wrap}.user-profile-avatar,.user-profile-avatar-initials{width:60px;height:60px}.user-profile-avatar-initials{font-size:1.2rem}.user-profile-identity{flex-basis:calc(100% - 60px - var(--sp-4))}.user-profile-header-actions{width:100%}.user-profile-header-actions .btn-edit-profile,.user-profile-header-actions .follow-btn{justify-content:center;width:100%;min-height:44px}.sign-in-prompt{margin-top:0}.user-list-grid{grid-template-columns:1fr}.user-rating-item{padding:var(--sp-3)}}@media (width<=480px){.user-profile-stats{gap:1px}.stat-value{font-size:1.2rem}}.user-profile-stats{border-radius:var(--radius-lg)}.user-profile-stat{padding:var(--sp-5) var(--sp-2);transition:background-color .15s var(--ease-out)}.user-profile-stat:hover{background:var(--bg-surface)}.user-profile-stats .stat-value{font-size:2rem;font-weight:var(--fw-display);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;line-height:1}.user-profile-stats .stat-label{font-size:var(--fs-xs);letter-spacing:var(--track-label);color:var(--text-dim)}.user-profile-avatar-initials{background-image:linear-gradient(145deg,#ffffff47,#0000004d);position:relative;box-shadow:inset 0 1px #ffffff59,0 8px 24px #00000080}.user-profile-avatar,.user-profile-avatar-initials{border:1px solid var(--hairline-strong)}.user-rating-item{border-radius:var(--radius-lg)}.user-rating-title{font-size:.95rem}@media (width<=720px){.user-profile-stats .stat-value{font-size:1.5rem}.user-profile-stat{padding:var(--sp-4) var(--sp-1)}}.user-profile-header{padding-top:92px;padding-left:var(--sp-5);padding-right:var(--sp-5);isolation:isolate;border-bottom:none;position:relative}.user-profile-header:before{content:"";z-index:-1;top:0;left:calc(var(--sp-5) * -1);right:calc(var(--sp-5) * -1);border-radius:var(--radius-lg);border:1px solid var(--hairline);background-blend-mode:normal;background:radial-gradient(120% 160% at 12% 0,#e8ff6b29,#0000 58%),linear-gradient(160deg,#1c1f16,#131316 62%,#0f0f12);height:132px;position:absolute}.user-profile-header:after{content:"";z-index:-1;top:0;left:calc(var(--sp-5) * -1);right:calc(var(--sp-5) * -1);border-radius:var(--radius-lg);opacity:.5;pointer-events:none;background-image:repeating-linear-gradient(115deg,#0000 0 9px,#ffffff07 9px 10px);height:132px;position:absolute}.user-profile-avatar,.user-profile-avatar-initials{width:88px;height:88px;box-shadow:inset 0 1px 0 #ffffff59, 0 10px 28px #0009, 0 0 0 4px var(--bg);font-size:1.7rem}.user-profile-stats{-webkit-backdrop-filter:blur(10px)saturate(1.15);border:1px solid var(--hairline);background:#1a1a208c;gap:0}.user-profile-stat{border-right:1px solid var(--hairline);background:0 0}.user-profile-stat:last-child{border-right:none}@media (width<=720px){.user-profile-header{padding-top:76px;padding-left:var(--sp-4);padding-right:var(--sp-4)}.user-profile-header:before,.user-profile-header:after{height:108px;left:calc(var(--sp-4) * -1);right:calc(var(--sp-4) * -1)}.user-profile-avatar,.user-profile-avatar-initials{width:72px;height:72px;font-size:1.4rem}.user-profile-identity{flex-basis:calc(100% - 72px - var(--sp-4))}}.share-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.share-modal{background:#111;border:1px solid #242424;border-radius:20px;flex-direction:column;width:100%;max-width:440px;display:flex;overflow:hidden;box-shadow:0 32px 80px #000000b3}.share-modal-header{border-bottom:1px solid #1a1a1a;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;display:flex}.share-modal-title{color:var(--text);letter-spacing:.01em;font-size:.88rem;font-weight:700}.share-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.4rem;line-height:1;transition:color .15s}.share-close:hover{color:var(--text)}.share-card-wrap{background:#0a0a0a;justify-content:center;padding:20px 20px 16px;display:flex;overflow:hidden}.share-card-scaler{transform-origin:top}.share-card-scaler>div{border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a,0 24px 64px #000000b3}@media (width<=420px){.share-card-scaler{margin-bottom:-90.72px;transform:scale(.82)}}.share-modal-actions{border-top:1px solid #1a1a1a;gap:.625rem;padding:1rem 1.5rem 1.25rem;display:flex}.btn-share-download{background:var(--accent);color:#0d0d0d;cursor:pointer;letter-spacing:.01em;border:none;border-radius:9px;flex:1;padding:.7rem 1.25rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:opacity .15s,transform .12s}.btn-share-download:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-share-download:disabled{opacity:.4;cursor:not-allowed}.btn-share-copy{color:var(--text);cursor:pointer;letter-spacing:.01em;background:0 0;border:1px solid #2e2e2e;border-radius:9px;flex:1;padding:.7rem 1.25rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s,transform .12s}.btn-share-copy:hover{border-color:#4a4a4a;transform:translateY(-1px)}.add-to-list-wrap{display:inline-flex;position:relative}.add-to-list-dropdown{z-index:50;background:#1a1a1a;border:1px solid #2e2e2e;border-radius:10px;flex-direction:column;gap:.25rem;min-width:220px;max-width:280px;padding:.4rem;display:flex;position:absolute;top:calc(100% + .5rem);left:0;box-shadow:0 12px 32px #0000008c}.add-to-list-empty{color:var(--text-muted);padding:.6rem .5rem;font-size:.8rem}.add-to-list-items{flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.add-to-list-item{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s;display:flex}.add-to-list-item span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.add-to-list-item:hover:not(:disabled){background:#242424}.add-to-list-item:disabled{cursor:default;color:var(--text-muted)}.add-to-list-check{color:var(--accent);flex-shrink:0;font-size:.7rem;font-weight:700}.add-to-list-new{color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #262626;border-radius:0 0 6px 6px;margin-top:.15rem;padding:.55rem .6rem .35rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:opacity .15s}.add-to-list-new:hover{opacity:.8}.add-to-list-create-toggle{color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.55rem .6rem;font-family:inherit;font-size:.82rem;font-weight:700;transition:background .15s}.add-to-list-create-toggle:hover{background:#242424}.add-to-list-create-form{border-bottom:1px solid #262626;flex-direction:column;gap:.4rem;margin-bottom:.15rem;padding:.3rem .6rem .6rem;display:flex}.add-to-list-create-input,.add-to-list-create-textarea{color:var(--text);background:#111;border:1px solid #2a2a2a;border-radius:6px;outline:none;padding:.45rem .55rem;font-family:inherit;font-size:.8rem;transition:border-color .15s}.add-to-list-create-textarea{resize:vertical;min-height:44px;line-height:1.4}.add-to-list-create-input:focus,.add-to-list-create-textarea:focus{border-color:var(--accent)}.add-to-list-create-input::placeholder,.add-to-list-create-textarea::placeholder{color:#555}.add-to-list-create-error{color:#ff6b6b;font-size:.72rem}.add-to-list-create-actions{justify-content:flex-end;gap:.4rem;margin-top:.1rem;display:flex}.add-to-list-create-cancel,.add-to-list-create-submit{cursor:pointer;border-radius:6px;padding:.35rem .7rem;font-family:inherit;font-size:.76rem;font-weight:600;transition:opacity .15s,color .15s,border-color .15s}.add-to-list-create-cancel{color:var(--text-muted);background:0 0;border:1px solid #2a2a2a}.add-to-list-create-cancel:hover:not(:disabled){color:var(--text);border-color:#444}.add-to-list-create-submit{background:var(--accent);color:#0d0d0d;border:none}.add-to-list-create-submit:hover:not(:disabled){opacity:.88}.add-to-list-create-cancel:disabled,.add-to-list-create-submit:disabled{opacity:.4;cursor:not-allowed}.album-detail{flex-direction:column;margin-left:-2rem;margin-right:-2rem;display:flex}.album-detail-status{min-height:320px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.album-hero{position:relative;overflow:hidden}.album-hero-bg{filter:blur(90px)brightness(.34)saturate(1.9);z-index:0;opacity:.9;background-position:50%;background-size:cover;position:absolute;inset:-40px}.album-hero-bg:after{content:"";background:linear-gradient(to bottom, transparent 40%, var(--bg) 100%);position:absolute;inset:0}.album-hero-tint{z-index:0;pointer-events:none;position:absolute;inset:0}.album-hero-content{z-index:1;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;padding:1.5rem 2rem 3.5rem;display:flex;position:relative}.album-hero-body{align-items:flex-end;gap:2rem;display:flex}.album-cover-placeholder{background:#1e1e1e}.album-info{flex-direction:column;gap:.4rem;min-width:0;padding-bottom:.25rem;display:flex}.album-type-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.album-name{letter-spacing:-.04em;color:var(--text);margin:.15rem 0 .25rem;font-size:clamp(1.75rem,4vw,3rem);font-weight:800;line-height:1.05}.album-artists{color:var(--text);font-size:.95rem;font-weight:600}.album-stats{color:var(--text-muted);align-items:center;gap:.45rem;margin-top:.2rem;font-size:.8rem;display:flex}.album-stats-dot{opacity:.4}.album-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.tracklist-sign-in-prompt{margin:0 0 1rem;padding:0 .5rem}.tracklist{width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem 4rem}.tracklist-header{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:2.5rem 1fr auto;align-items:center;margin-bottom:.25rem;padding:0 .5rem .5rem;font-size:.7rem;font-weight:600;display:grid}.tracklist-header-duration{justify-content:flex-end;display:flex}.track-row{cursor:pointer;border-radius:6px;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.5rem;padding:.6rem .5rem;transition:background .12s;display:grid}.track-row:hover{background:#ffffff0d}.track-row:hover .track-num{opacity:0}.track-row:hover .track-num-wrap:after{opacity:1}.track-num-wrap{justify-content:center;align-items:center;width:2rem;display:flex;position:relative}.track-num{color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;font-size:.8rem;transition:opacity .12s}.track-num-wrap:after{content:"★";color:var(--accent);opacity:0;font-size:.75rem;transition:opacity .12s;position:absolute}.track-body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.track-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.track-feat{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.track-meta{justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.track-rating-badge{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.2rem;font-size:.75rem;font-weight:600;display:inline-flex}.track-rating-star{color:var(--accent);font-size:.7rem}.track-duration{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:.8rem}.track-block{flex-direction:column;display:flex}.track-moment-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #2a2a2a;border-radius:20px;padding:.15rem .55rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:border-color .12s,color .12s}.track-moment-btn:hover{color:#c084fc;border-color:#a855f7}.track-moments{flex-direction:column;align-items:flex-start;gap:.4rem;padding:0 .5rem .75rem 3rem;display:flex}@media (width<=720px){.album-detail{margin-left:calc(var(--sp-4) * -1);margin-right:calc(var(--sp-4) * -1)}.album-hero-content{padding:1rem 1rem 2rem}.album-hero-body{flex-direction:column;align-items:flex-start;gap:1.25rem}.album-actions{gap:.5rem;width:100%}.album-actions .btn-rate,.album-actions .btn-rated{width:100%}.tracklist{padding:1rem 1rem 3rem}.track-row{grid-template-columns:2rem 1fr auto;padding:.7rem .4rem}.track-meta{gap:.4rem}.track-moment-btn{min-height:32px;padding:.25rem .6rem}.track-moments{padding-left:2.4rem}.community-reviews{padding:0 1rem 3rem}}.track-row:nth-child(2n of .track-block),.track-block:nth-child(2n)>.track-row{background:#ffffff05}.track-block:nth-child(2n)>.track-row:hover,.track-row:hover{background:#ffffff0f}.track-duration{text-align:right;font-variant-numeric:tabular-nums;min-width:3.25rem}.tracklist-header-duration{text-align:right;min-width:3.25rem;letter-spacing:var(--track-label)}.tracklist-header{letter-spacing:var(--track-label)}.track-rating-badge{font-variant-numeric:tabular-nums;justify-content:flex-end;min-width:2.75rem}.track-moment-btn{opacity:0;transition:opacity .15s var(--ease-out), border-color .15s, color .15s}.track-row:hover .track-moment-btn,.track-moment-btn:focus-visible{opacity:1}@media (hover:none){.track-moment-btn{opacity:1}}.track-num{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.78rem}.tracklist-header span:first-child{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.track-detail{flex-direction:column;margin-left:-2rem;margin-right:-2rem;display:flex}.track-detail-status{min-height:320px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.track-hero{position:relative;overflow:hidden}.track-hero-bg{filter:blur(90px)brightness(.34)saturate(1.9);z-index:0;opacity:.9;background-position:50%;background-size:cover;position:absolute;inset:-40px}.track-hero-bg:after{content:"";background:linear-gradient(to bottom, transparent 40%, var(--bg) 100%);position:absolute;inset:0}.track-hero-tint{z-index:0;pointer-events:none;position:absolute;inset:0}.track-hero-content{z-index:1;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;padding:1.5rem 2rem 3.5rem;display:flex;position:relative}.back-btn{color:var(--text-muted);letter-spacing:.02em;align-items:center;gap:.4rem;width:fit-content;font-size:.8rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.back-btn:hover{color:var(--text)}.back-btn svg{width:14px;height:14px}.track-hero-body{align-items:flex-end;gap:2rem;display:flex}.track-cover-placeholder{background:#1e1e1e}.track-info{flex-direction:column;gap:.4rem;min-width:0;padding-bottom:.25rem;display:flex}.track-type-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.track-name-heading{letter-spacing:-.04em;color:var(--text);margin:.15rem 0 .25rem;font-size:clamp(1.75rem,4vw,3rem);font-weight:800;line-height:1.05}.track-artists{color:var(--text);font-size:.95rem;font-weight:600}.track-stats{color:var(--text-muted);align-items:center;gap:.45rem;margin-top:.2rem;font-size:.8rem;display:flex}.track-stats-dot{opacity:.4}.community-rating-pill{background:#e8ff6b12;border:1px solid #e8ff6b33;border-radius:20px;align-items:baseline;gap:.35rem;width:fit-content;margin-top:.6rem;padding:.3rem .7rem;display:inline-flex}.community-rating-star{color:var(--accent);font-size:.8rem}.community-rating-value{color:var(--text);font-size:.85rem;font-weight:700}.community-rating-count{color:var(--text-muted);font-size:.75rem}.track-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.btn-moment:hover{color:#c084fc;border-color:#a855f7}.sign-in-prompt{color:var(--text-muted);margin-top:.25rem;font-size:.78rem}.sign-in-prompt a{color:var(--accent);font-weight:600;text-decoration:none}.my-review{border-left:2px solid #e8ff6b4d;max-width:480px;margin-top:.75rem;padding:.5rem 0 .5rem .875rem}.my-review p{color:var(--text-muted);font-size:.85rem;font-style:italic;line-height:1.5}.my-review footer{color:#555;margin-top:.35rem;font-size:.7rem;font-style:normal}.moments-section{flex-direction:column;gap:.75rem;width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem 3rem;display:flex}.moments-heading{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.75rem;font-size:.75rem;font-weight:700}.moments-empty{color:var(--text-muted);font-size:.82rem}.track-moments{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.community-reviews{flex-direction:column;gap:1rem;width:100%;max-width:1200px;margin:0 auto;padding:0 2rem 4rem;display:flex}.community-reviews-heading{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.75rem;font-size:.75rem;font-weight:700}@media (width<=720px){.track-detail{margin-left:calc(var(--sp-4) * -1);margin-right:calc(var(--sp-4) * -1)}.track-hero-content{padding:1rem 1rem 2rem}.track-hero-body{flex-direction:column;align-items:flex-start;gap:1.25rem}.track-actions{gap:.5rem;width:100%}.track-actions .btn-rate,.track-actions .btn-rated{width:100%}.moments-section{padding:1rem 1rem 3rem}}.moments-heading{letter-spacing:var(--track-label)}.notif-bell-container{position:relative}.notif-bell-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;padding:.45rem;transition:color .15s,background .15s;display:inline-flex;position:relative}.notif-bell-btn svg{width:20px;height:20px}.notif-bell-btn:hover{color:var(--text);background:#ffffff0d}.notif-bell-badge{color:#fff;border:2px solid var(--bg);background:#ff6b6b;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.62rem;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notif-dropdown{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:200;flex-direction:column;width:340px;max-width:calc(100vw - 2rem);max-height:420px;display:flex;position:absolute;top:calc(100% + .6rem);right:0;overflow:hidden;box-shadow:0 12px 32px #00000073}.notif-dropdown-header{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);flex-shrink:0;display:flex}.notif-mark-all-btn{color:var(--accent);font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:none;padding:.2rem .3rem}.notif-mark-all-btn:hover{text-decoration:underline}.notif-list{overflow-y:auto}.notif-empty{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.notif-item{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-direction:column;gap:.2rem;text-decoration:none;transition:background .15s;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:#ffffff0a}.notif-item.unread{background:#e8ff6b0f}.notif-item.unread:hover{background:#e8ff6b1a}.notif-item-text{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);line-height:1.4}.notif-item.read .notif-item-text{color:var(--text-muted);font-weight:var(--fw-body)}.notif-item-time{font-size:var(--fs-xs);color:var(--text-dim)}@media (width<=720px){.notif-dropdown{top:56px;right:var(--sp-2);left:var(--sp-2);width:auto;max-width:none;position:fixed}}@keyframes notif-bell-swing{0%,82%,to{transform:rotate(0)}85%{transform:rotate(11deg)}88%{transform:rotate(-9deg)}91%{transform:rotate(6deg)}94%{transform:rotate(-4deg)}97%{transform:rotate(2deg)}}.notif-bell-btn.has-unread svg{transform-origin:50% 15%;animation:5s ease-in-out infinite notif-bell-swing}.notif-bell-btn.has-unread{color:var(--text)}@keyframes notif-badge-pop{0%{opacity:0;transform:scale(.4)}55%{opacity:1;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.notif-bell-badge{animation:notif-badge-pop .42s var(--ease-out) both;box-shadow:0 0 0 2px var(--bg), 0 0 10px #e8ff6b80}@keyframes notif-dropdown-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.notif-dropdown{transform-origin:100% 0;animation:notif-dropdown-in .18s var(--ease-out) both;box-shadow:var(--shadow-modal)}.notif-item{transition:background-color .15s var(--ease-out);padding-left:1rem;position:relative}.notif-item.unread:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 8px #e8ff6b80}.notif-item.read{padding-left:1rem}@media (prefers-reduced-motion:reduce){.notif-bell-btn.has-unread svg,.notif-bell-badge,.notif-dropdown{animation:none}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0d0d;--bg-surface:#1a1a1a;--bg-raised:#141414;--border:#2a2a2a;--border-strong:#3a3a3a;--text:#f0f0f0;--text-muted:#888;--text-dim:#666;--accent:#e8ff6b;--accent-ink:#0d0d0d;--fs-xs:.72rem;--fs-sm:.8rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:1.75rem;--fs-2xl:2.25rem;--fw-body:500;--fw-medium:600;--fw-bold:700;--fw-display:800;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--radius:8px;--radius-lg:12px;--hairline:#ffffff0f;--hairline-strong:#ffffff1a;--shadow-card:0 1px 2px #0006;--shadow-lift:0 12px 28px #0000008c;--shadow-modal:0 24px 64px #000000b3;--led-glow:0 0 12px #e8ff6b73;--focus-ring:0 0 0 2px #e8ff6b66;--track-label:.12em;--track-tight:-.03em;--ease-out:cubic-bezier(.2, .8, .3, 1)}html,body,#root{background-color:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{scrollbar-width:thin;scrollbar-color:#e8ff6b38 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e8ff6b2e padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#e8ff6b57 padding-box padding-box}::-webkit-scrollbar-corner{background:0 0}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius);outline:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible{box-shadow:var(--focus-ring);outline:none}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-enter{animation:page-enter .2s var(--ease-out) both}button:not(:disabled):active,a:active,[role=button]:not([aria-disabled=true]):active,[role=link]:active{transform:scale(.97)}.album-card:active,.track-card:active,.discover-card:active,.feed-item:active,.list-card:active,.user-list-card:active,.user-rating-item:active,.activity-item:active{transform:scale(.985)}.nav{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:0 var(--sp-6);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0d0d0deb;height:60px;display:flex;position:sticky;top:0}.nav-logo{font-size:var(--fs-lg);font-weight:var(--fw-display);letter-spacing:var(--track-tight);color:var(--accent);transition:text-shadow .2s var(--ease-out);flex-shrink:0;text-decoration:none}.nav-logo:hover{text-shadow:var(--led-glow)}.nav-links{gap:var(--sp-1);display:flex}.nav-links a{color:var(--text-muted);font-size:var(--fs-base);font-weight:var(--fw-medium);border-radius:var(--radius);align-items:center;gap:.4rem;padding:.45rem .7rem;text-decoration:none;transition:color .15s,background .15s;display:inline-flex;position:relative}.nav-links a svg{flex-shrink:0;width:16px;height:16px}.nav-links a:hover{color:var(--text);background:#ffffff0d}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .22s var(--ease-out);border-radius:2px;position:absolute;bottom:-.55rem;left:.7rem;right:.7rem;transform:scaleX(0)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-links a.active{color:var(--accent);background:#e8ff6b1a}.nav-links a.active:after{box-shadow:var(--led-glow)}.nav-links a.nav-sign-in-btn:after{display:none}.nav-label{display:inline}.nav-links a.nav-sign-in-btn{background:var(--accent);color:var(--accent-ink);font-weight:var(--fw-bold);padding:.45rem .9rem}.nav-links a.nav-sign-in-btn svg{width:16px;height:16px}.nav-links a.nav-sign-in-btn:hover{color:var(--accent-ink);background:#f2ff8f;transform:translateY(-1px)}.main{max-width:1200px;padding:var(--sp-6);margin:0 auto}.page h1,.page-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.03em;margin-bottom:var(--sp-2);line-height:1.15}.page-subtitle{font-size:var(--fs-base);font-weight:var(--fw-body);color:var(--text-muted);margin-bottom:var(--sp-5);line-height:1.5}.section-heading{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-muted);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);display:flex}.section-heading:before{content:"";background:var(--accent);width:5px;height:5px;box-shadow:var(--led-glow);border-radius:1px;flex-shrink:0}.meta-text{font-size:var(--fs-xs);font-weight:var(--fw-body);color:var(--text-dim);letter-spacing:.01em}.numeral{font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight);font-weight:var(--fw-display)}.btn-rate,.btn-rated,.btn-spotify,.btn-share,.btn-moment,.btn-album-link,.btn-add-list{border-radius:var(--radius);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;min-height:40px;padding:.5rem .9rem;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.btn-rate{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);font-size:var(--fs-base);font-weight:var(--fw-bold);min-height:44px;padding:.6rem 1.35rem;box-shadow:0 4px 18px #e8ff6b2e}.btn-rate:hover{background:#f2ff8f;border-color:#f2ff8f;transform:translateY(-1px)}.btn-rated{color:var(--text);background:#e8ff6b1f;border:1px solid #e8ff6b80;gap:.45rem;min-height:44px;padding:.6rem 1rem}.btn-rated:hover{background:#e8ff6b33;transform:translateY(-1px)}.btn-rated-value{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--accent)}.btn-rated-edit{font-size:var(--fs-xs);color:var(--text-muted);margin-left:.1rem}.btn-spotify,.btn-share,.btn-moment,.btn-album-link,.btn-add-list{border:1px solid var(--border-strong);color:var(--text-muted);background:0 0}.btn-spotify:hover,.btn-share:hover,.btn-moment:hover,.btn-album-link:hover,.btn-add-list:hover{border-color:var(--text-muted);color:var(--text)}.btn-spotify svg,.btn-share svg{width:14px;height:14px}.inline-stars{gap:1px;display:inline-flex}.inline-stars .star-glyph{pointer-events:none;font-size:.9rem}.empty-state{text-align:center;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-4);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.empty-state-art{width:132px;height:99px;margin-bottom:var(--sp-2);justify-content:center;align-items:center;display:flex;position:relative}.empty-state-art:before{content:"";background:radial-gradient(#e8ff6b12,#0000 68%);border-radius:50%;position:absolute;inset:-14% -8%}.empty-state-art .empty-art{width:100%;height:100%;position:relative;overflow:visible}.empty-state-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em}.empty-state-text{font-size:var(--fs-base);font-weight:var(--fw-body);color:var(--text-muted);max-width:380px;line-height:1.55}.empty-state-cta{margin-top:var(--sp-2);background:var(--accent);color:var(--accent-ink);font-size:var(--fs-base);font-weight:var(--fw-bold);border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.35rem;min-height:44px;padding:.6rem 1.2rem;font-family:inherit;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.empty-state-cta:hover{background:#f2ff8f;transform:translateY(-1px)}@media (width<=720px){.nav{padding:0 var(--sp-4);height:56px}.nav-links{gap:0}.nav-links a{font-size:var(--fs-xs);padding:.4rem .5rem}.nav-label{display:none}.nav-links a svg{width:20px;height:20px}.nav-links a.active:after{bottom:-.4rem;left:.35rem;right:.35rem}.main{padding:var(--sp-4)}.page h1,.page-title{font-size:var(--fs-lg)}}@media (width<=400px){.nav-logo{font-size:var(--fs-md)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.page-enter{animation:none}button:not(:disabled):active,a:active,[role=button]:active,[role=link]:active{transform:none}}.album-card,.track-card,.discover-card,.feed-item,.list-card,.user-list-card,.user-rating-item,.activity-item,.trending-card{transition:transform .15s var(--ease-out), border-color .15s var(--ease-out), background-color .15s var(--ease-out), box-shadow .15s var(--ease-out);will-change:transform}.album-card:hover,.track-card:hover,.discover-card:hover,.feed-item:hover,.list-card:hover,.user-list-card:hover,.user-rating-item:hover,.activity-item:hover,.trending-card:hover{box-shadow:var(--shadow-lift);transform:scale(1.02)}.feed-item:hover,.list-card:hover,.user-list-card:hover,.user-rating-item:hover,.activity-item:hover,.track-card:hover{border-color:var(--border-strong);background-color:var(--bg-surface)}.album-card-art,.track-card-art,.trending-card-art,.discover-card-art,.feed-item-art,.user-rating-art,.activity-art,.ranked-item-art,.album-cover,.track-cover,.favorites-album img{border:1px solid var(--hairline);background-color:#1e1e1e;box-shadow:inset 0 0 0 1px #00000059}.album-cover,.track-cover{box-shadow:inset 0 0 0 1px #00000059,0 24px 60px #000000bf}.album-card-art,.discover-card-art,.trending-card-art{overflow:hidden}.album-card-art img,.discover-card-art img,.trending-card-art img{transition:transform .35s var(--ease-out)}.album-card:hover .album-card-art img,.discover-card:hover .discover-card-art img,.trending-card:hover .trending-card-art img{transform:scale(1.06)}.trending-card:hover .trending-card-art,.discover-card:hover .discover-card-art{border-color:var(--hairline-strong);transform:none}a.community-review-name,a.feed-item-reviewer,a.discover-card-reviewer-name,a.list-detail-owner,a.moment-author{transition:color .15s var(--ease-out)}a.community-review-name:hover,a.feed-item-reviewer:hover,a.discover-card-reviewer-name:hover,a.list-detail-owner:hover{color:var(--accent)}.track-card:hover .star-glyph.star-full,.album-card:hover .star-glyph.star-full,.btn-rated:hover .star-glyph.star-full{filter:drop-shadow(0 0 5px #e8ff6b8c)}.inline-stars .star-glyph,.star-glyph{transition:filter .15s var(--ease-out)}button,.btn-edit-profile,.btn-signout{transition:background-color .15s var(--ease-out), border-color .15s var(--ease-out), color .15s var(--ease-out), transform .15s var(--ease-out), box-shadow .15s var(--ease-out)}.btn-rate:hover{box-shadow:0 4px 22px #e8ff6b52}.community-review-text,.feed-item-review,.user-rating-review,.activity-review,.user-profile-bio,.empty-state-text,.page-subtitle{line-height:1.6}.community-review-date,.feed-item-date,.list-card-meta,.user-list-card-meta,.list-detail-meta{color:var(--text-dim);letter-spacing:.02em}.stat-value{font-variant-numeric:tabular-nums}.stat-label,.list-card-meta,.user-list-card-meta{letter-spacing:var(--track-label)}body:before{content:"";z-index:9999;pointer-events:none;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;position:fixed;inset:0}.track-card,.feed-item,.list-card,.user-list-card,.user-rating-item,.activity-item,.album-card,.community-review,.how-it-works-step,.empty-state,.home-stat-card,.home-review-card,.ranked-row{-webkit-backdrop-filter:blur(10px)saturate(1.15);border:1px solid var(--hairline);box-shadow:var(--shadow-card);background-color:#1a1a208c;position:relative}.track-card:after,.feed-item:after,.list-card:after,.user-list-card:after,.user-rating-item:after,.activity-item:after,.community-review:after,.how-it-works-step:after,.home-stat-card:after,.home-review-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff24,#0000);border-radius:1px;height:1px;position:absolute;top:0;left:12px;right:12px}.track-card:hover,.feed-item:hover,.list-card:hover,.user-list-card:hover,.user-rating-item:hover,.activity-item:hover{border-color:var(--hairline-strong);background-color:#22222aad}.art-glow{isolation:isolate;position:relative}.art-glow:before{content:"";z-index:-1;background-image:var(--art);filter:blur(22px)saturate(1.8);opacity:.5;border-radius:inherit;pointer-events:none;transition:opacity .25s var(--ease-out);background-position:50%;background-size:cover;position:absolute;inset:8%}.art-glow:hover:before{opacity:.72}.section-heading,.profile-section-heading,.moments-heading,.community-reviews-heading{padding-bottom:var(--sp-3);border-bottom:none;position:relative}.section-heading:after,.profile-section-heading:after,.moments-heading:after,.community-reviews-heading:after{content:"";background:linear-gradient(90deg, transparent, #e8ff6b47 18%, #e8ff6b24 45%, var(--border) 75%, transparent);height:1px;position:absolute;bottom:0;left:0;right:0}.nav-logo{font-size:1.4rem;font-weight:900}.nav{transition:background-color .25s var(--ease-out), box-shadow .25s var(--ease-out), backdrop-filter .25s var(--ease-out)}.nav.scrolled{-webkit-backdrop-filter:blur(18px)saturate(1.4);background:#0d0d0d9e;box-shadow:0 8px 32px #00000073}.nav-links a.active{box-shadow:inset 0 0 0 1px #e8ff6b38,0 0 18px #e8ff6b24}@media (width<=720px){.nav-logo{font-size:1.15rem}}@media (prefers-reduced-motion:reduce){body:before{display:none}.art-glow:before{filter:none;opacity:.25}}.community-reviews-heading,.moments-heading,.profile-section-heading{align-items:center;gap:var(--sp-2);display:flex}.community-reviews-heading:before,.moments-heading:before,.profile-section-heading:before{content:"";background:var(--accent);width:5px;height:5px;box-shadow:var(--led-glow);border-radius:1px;flex-shrink:0}.section-note{font-size:var(--fs-sm);font-weight:var(--fw-body);color:var(--text-muted);margin-top:calc(var(--sp-2) * -1);max-width:62ch;line-height:1.55}.community-reviews-list{gap:var(--sp-3);flex-direction:column;display:flex}.community-review{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-lg);transition:border-color .15s var(--ease-out), background-color .15s var(--ease-out);flex-direction:column;display:flex}.community-review:hover{border-color:var(--hairline-strong);background-color:#22222aad}.community-review-header{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.community-review-avatar-link{border-radius:50%;flex-shrink:0;text-decoration:none;display:flex}.community-review-avatar{width:38px;height:38px;font-size:var(--fs-sm);font-weight:var(--fw-display);color:var(--accent-ink);transition:transform .15s var(--ease-out);background-image:linear-gradient(145deg,#ffffff47,#0000004d);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #ffffff4d,0 4px 12px #00000073}.community-review-avatar-link:hover .community-review-avatar{transform:scale(1.06)}.community-review-byline{flex-direction:column;gap:.1rem;min-width:0;margin-right:auto;display:flex}.community-review-name{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em;text-decoration:none}.community-review-date{font-size:var(--fs-xs);font-weight:var(--fw-body);color:var(--text-dim);letter-spacing:.02em}.community-review-header .inline-stars .star-glyph{font-size:.95rem}.community-review-header .follow-btn{flex-shrink:0}.community-review-text{font-size:.9rem;font-weight:var(--fw-body);color:var(--text);opacity:.88;padding-left:var(--sp-4);border-left:2px solid #e8ff6b47;line-height:1.6}.community-review-footer{padding-top:var(--sp-3);border-top:1px solid var(--hairline);align-items:center;display:flex}@media (width<=480px){.community-review{padding:var(--sp-4);gap:var(--sp-3)}.community-review-text{padding-left:var(--sp-3)}}.cover-stage{box-sizing:content-box;flex-shrink:0;width:288px;height:288px;padding-right:76px;position:relative}.cover-stage>img,.cover-stage>div{z-index:1;object-fit:cover;border-radius:10px;width:288px;height:288px;position:relative}.cover-stage>div{color:#333;justify-content:center;align-items:center;display:flex}.cover-stage>div svg{width:56px;height:56px}.vinyl{z-index:0;width:268px;height:268px;transition:transform .45s var(--ease-out);background:repeating-conic-gradient(#ffffff0d 0deg 6deg,#fff0 6deg 22deg),repeating-radial-gradient(circle,#101014 0 2px,#191920 2px 4px),#0c0c10;border-radius:50%;margin-top:-134px;position:absolute;top:50%;right:46px;transform:translate(0);box-shadow:0 18px 44px #000000b3,inset 0 0 0 1px #ffffff0d}.album-hero-body:hover .vinyl,.track-hero-body:hover .vinyl{transform:translate(46px)rotate(12deg)}.vinyl-label{background:radial-gradient(circle at 38% 34%,#e8ff6b,#9fb43f 68%,#6f7f2c);border-radius:50%;position:absolute;inset:36%;box-shadow:inset 0 0 0 1px #0006}.vinyl-label:after{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:43%}.album-info,.track-info{z-index:2;position:relative}.cover-stage:before,.cover-stage:after{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.cover-stage:before{background:var(--glow,transparent);filter:blur(58px);opacity:.9;inset:6% calc(76px + 4%) 0 4%}.cover-stage:after{background-image:var(--art);filter:blur(30px)saturate(1.7);opacity:.45;background-position:50%;background-size:cover;inset:12% calc(76px + 10%) 6% 10%}@media (prefers-reduced-motion:reduce){.vinyl,.album-hero-body:hover .vinyl,.track-hero-body:hover .vinyl{transition:none;transform:translate(38px)}}@media (width<=720px){.cover-stage{width:208px;height:208px;padding-right:42px}.cover-stage>img,.cover-stage>div{width:208px;height:208px}.vinyl{width:192px;height:192px;margin-top:-96px;right:30px}.album-hero-body:hover .vinyl,.track-hero-body:hover .vinyl{transform:translate(30px)rotate(10deg)}.cover-stage:before{filter:blur(42px);inset:6% calc(42px + 4%) 0 4%}.cover-stage:after{filter:blur(22px)saturate(1.7);inset:12% calc(42px + 10%) 6% 10%}}@media (width<=400px){.cover-stage{width:172px;height:172px;padding-right:34px}.cover-stage>img,.cover-stage>div{width:172px;height:172px}.vinyl{width:158px;height:158px;margin-top:-79px;right:24px}.album-hero-body:hover .vinyl,.track-hero-body:hover .vinyl{transform:translate(24px)rotate(10deg)}}.album-actions,.track-actions{gap:var(--sp-3);row-gap:var(--sp-2);margin-top:var(--sp-5)}.btn-spotify,.btn-share,.btn-moment,.btn-album-link,.btn-add-list{border-color:var(--hairline-strong);font-weight:var(--fw-medium);background:#ffffff0a}.btn-spotify:hover,.btn-share:hover,.btn-moment:hover,.btn-album-link:hover,.btn-add-list:hover{color:var(--text);background:#ffffff17;border-color:#ffffff38;transform:translateY(-1px)}.community-reviews{gap:var(--sp-4)}.moment-pill{max-width:100%;font-size:var(--fs-sm);color:#dcc0ff;transition:background .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), transform .18s var(--ease-out);background:linear-gradient(#a855f733,#a855f71a);border:1px solid #a855f75c;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .85rem;display:inline-flex;box-shadow:inset 0 1px #ffffff12}.moment-pill:hover{background:linear-gradient(#a855f74d,#a855f729);border-color:#c084fc9e;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1a,0 6px 20px #a855f733}.moment-timestamp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.76rem;font-weight:var(--fw-bold);color:#c084fc;font-variant-numeric:tabular-nums;letter-spacing:.01em;flex-shrink:0}.moment-sep{color:#d8b8ff59;flex-shrink:0}.moment-comment{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.moment-author{white-space:nowrap;color:#b78ef0;font-weight:var(--fw-medium);transition:color .15s var(--ease-out);flex-shrink:0;text-decoration:none}a.moment-author:hover{color:#eddcff}.moment-delete{color:#d8b8ff99;cursor:pointer;opacity:0;transition:opacity .15s var(--ease-out), color .15s var(--ease-out);background:0 0;border:none;flex-shrink:0;padding:0 .15rem;font-family:inherit;font-size:.9rem;line-height:1}.moment-pill:hover .moment-delete,.moment-delete:focus-visible{opacity:1}.moment-delete:hover{color:#fff}@media (hover:none){.moment-delete{opacity:1}}.moment-form{align-items:center;gap:.4rem;width:100%;max-width:480px;display:flex}.moment-form-timestamp,.moment-form-comment{border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:var(--fs-sm);color:var(--text);transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);background:#00000059;outline:none;padding:.45rem .65rem}.moment-form-timestamp{font-variant-numeric:tabular-nums;flex-shrink:0;width:4.5rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.moment-form-comment{flex:1;min-width:0}.moment-form-timestamp:focus,.moment-form-comment:focus{border-color:#a855f7;box-shadow:0 0 0 3px #a855f729}.moment-form-save,.moment-form-cancel{border-radius:var(--radius);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;flex-shrink:0;padding:.45rem .8rem}.moment-form-save{color:#fff;background:#a855f7;border:1px solid #a855f7}.moment-form-save:hover:not(:disabled){background:#b975f9;border-color:#b975f9}.moment-form-save:disabled{opacity:.5;cursor:not-allowed}.moment-form-cancel{border:1px solid var(--border-strong);color:var(--text-muted);font-weight:var(--fw-medium);background:0 0}.moment-form-cancel:hover{color:var(--text);border-color:var(--text-muted)}.moment-error{font-size:var(--fs-xs);color:#ff6b6b}@media (width<=720px){.moment-pill{flex-wrap:wrap}.moment-comment{white-space:normal}.moment-form{flex-wrap:wrap}.moment-form-comment{flex-basis:100%;order:3}}
