:root{--c-bg: #f6f6ef;--c-bg-white: #fff;--c-text: #000;--c-text-muted: #666;--c-text-faint: #888;--c-primary: #4c79a8;--c-accent: #fe0606;--c-success: #4caf50;--c-spotify: #1db954;--c-error-bg: #fff0f0;--c-warning-bg: #fff8e6;--c-success-bg: #d4edda;--c-border: #e0e0e0;--c-border-light: #eee;--c-border-lighter: #f5f5f5;--font: Verdana, Geneva, sans-serif;--text-xs: 7pt;--text-sm: 8pt;--text-base: 10pt;--text-md: 11pt;--text-lg: 14pt;--sp-0: 1px;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 10px;--sp-6: 12px;--sp-7: 16px;--sp-8: 20px;--sp-9: 24px;--sp-10: 32px;--size-icon-sm: 16px;--size-icon-md: 18px;--size-icon-lg: 24px;--size-thumb-xs: 24px;--size-thumb-sm: 32px;--size-thumb-md: 40px;--size-thumb-lg: 50px;--size-thumb-xl: 80px;--size-thumb-2xl: 120px;--size-input-height: 26px;--size-label-width: 80px;--max-w-form: 300px;--max-w-create: 500px;--max-w-content: 700px;--max-w-feed: 800px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18);--transition-fast: .1s;--transition-base: .15s;--transition-slow: .3s}*,*:before,*:after{box-sizing:border-box}html,body{height:auto}body{background:var(--c-bg-white);color:var(--c-text);font:var(--text-base)/1.4 var(--font);margin:var(--sp-4);padding:0;overflow-x:hidden;word-wrap:break-word;overflow-wrap:break-word}a{text-decoration:none;color:var(--c-text)}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;border-radius:var(--radius-sm)}.link-muted{color:var(--c-text-faint)}.link-muted:hover{text-decoration:underline}.btn{padding:var(--sp-2) var(--sp-6);font-size:var(--text-base);font-family:var(--font);border:none;cursor:pointer;height:var(--size-input-height);box-sizing:border-box;line-height:1;border-radius:var(--radius-sm)}.btn--primary{background:var(--c-accent);color:#fff}.btn--primary:disabled{background:#ccc;cursor:not-allowed}.btn--secondary{background:var(--c-text-muted);color:#fff}.btn--spotify{background:var(--c-spotify);color:#fff}.btn--small{font-size:var(--text-sm);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-sm)}.icon-btn{background:none;border:none;cursor:pointer;padding:var(--sp-1);color:var(--c-text-muted);display:flex;align-items:center;justify-content:center;line-height:1;transition:opacity var(--transition-base),color var(--transition-base)}.icon-btn:hover{opacity:1}.icon-btn--active{color:var(--c-primary)}.icon-btn--muted{color:var(--c-text-faint)}.icon-btn--inline{padding:0;margin:0;display:inline-flex;vertical-align:middle}.vote-btn{background:none;border:none;padding:var(--sp-1);color:var(--c-text-faint);font-size:var(--text-base);line-height:1;display:flex;align-items:center;justify-content:center}.vote-btn--voted{visibility:hidden;pointer-events:none}.vote-btn--voting{animation:votePulse .6s ease-in-out infinite;opacity:.6}.vote-btn--disabled{opacity:.5;cursor:not-allowed}.save-btn{background:none;border:none;cursor:pointer;padding:var(--sp-1);color:var(--c-text-muted);display:flex;align-items:center;justify-content:center;line-height:1}.save-btn--saved{color:var(--c-primary)}.track-save-btn{background:none;border:none;cursor:pointer;padding:0;margin:0;color:var(--c-primary);display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;transition:opacity var(--transition-base),color var(--transition-base)}.track-save-btn:hover{opacity:1}.track-save-btn--saved{color:var(--c-primary);opacity:1}.track-save-icon{color:inherit}.track-save-btn--saved .track-save-icon{fill:currentColor}.comment-collapse-btn{background:none;border:none;cursor:pointer;padding:0 var(--sp-1);color:var(--c-text-muted);font-size:var(--text-sm);line-height:1;display:flex;align-items:center;flex-shrink:0}.comment-collapse-btn:hover{color:var(--c-accent)}.saved-track-remove{background:none;border:none;cursor:pointer;padding:var(--sp-1);display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity var(--transition-base)}.saved-track-remove:hover{opacity:1}.link-btn{color:var(--c-text);text-decoration:none;font-size:var(--text-base);background:none;border:none;font-family:inherit;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}.link-btn:disabled{color:var(--c-text-muted);cursor:default}.form-input{border:1px solid var(--c-border-light);padding:var(--sp-1) var(--sp-2);font-size:var(--text-base);font-family:var(--font);line-height:1;box-sizing:border-box}.form-input::placeholder{color:var(--c-text-muted);opacity:.5}.form-input--wide{width:220px;height:var(--size-input-height)}.form-textarea{border:1px solid var(--c-border-light);padding:var(--sp-2);font-size:var(--text-base);font-family:var(--font);line-height:1.4;box-sizing:border-box;resize:vertical}select{border:1px solid var(--c-border-light);padding:var(--sp-1) var(--sp-2);font-size:var(--text-base);font-family:var(--font);box-sizing:border-box}.alert{padding:var(--sp-5);margin-bottom:var(--sp-5);border:1px solid;font-size:9pt;border-radius:var(--radius-sm)}.alert--error{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.alert--success{background:var(--c-success-bg);color:#155724;border-color:#c3e6cb}.alert--info{background:#e6f0f7;color:var(--c-primary);border-color:var(--c-primary)}.skeleton-image{border-radius:var(--radius-sm);flex-shrink:0;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-image--small{width:var(--size-thumb-sm);height:var(--size-thumb-sm)}.skeleton-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-3)}.skeleton-line{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-line--title{width:70%;height:14px}.skeleton-line--artist{width:50%;height:var(--sp-5)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-base{background:var(--c-bg)!important;border:1px solid var(--c-text-faint)!important;color:var(--c-text)!important;font-size:var(--text-base)!important;font-family:var(--font)!important}.toast-success{background:var(--c-bg)!important;border:1px solid var(--c-success)!important}.toast-error{background:var(--c-error-bg)!important;border:1px solid var(--c-accent)!important}.toast-warning{background:var(--c-warning-bg)!important;border:1px solid var(--c-accent)!important}.welcome-banner{display:grid;grid-template-rows:auto 1fr auto;gap:0;padding:var(--sp-6) var(--sp-7);margin-bottom:var(--sp-4);background:var(--c-bg-white);border:1px solid var(--c-border-light);border-radius:var(--radius-md);font-size:var(--text-sm);width:100%;max-width:100%}.welcome-banner__row{display:flex}.welcome-banner__row--top{justify-content:flex-end;align-items:flex-start}.welcome-banner__row--middle{align-items:flex-start;margin-top:var(--sp-6)}.welcome-banner__row--bottom{min-height:0}.welcome-banner__content{flex:1;width:100%}.welcome-banner__title{margin:0 0 var(--sp-3) 0;font-weight:700;color:var(--c-text)}.welcome-banner__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}.welcome-banner__list li{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-1);color:var(--c-text-muted);line-height:1.4}.welcome-banner__label{font-weight:400;color:var(--c-text);flex-shrink:0;min-width:var(--size-thumb-lg)}.welcome-banner__description{color:var(--c-text-muted)}.welcome-banner__icon{display:inline;color:var(--c-text-muted);margin:0 var(--sp-1)}.welcome-banner__icon-svg{display:inline-block;vertical-align:middle;margin:0 var(--sp-1)}.welcome-banner__close{flex-shrink:0;padding:0;background:none;border:none;color:var(--c-text-muted);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast)}.welcome-banner__close:hover{color:var(--c-text)}.page-wrapper{background:transparent}.main-table{background:var(--c-bg)}.header-bar{background:var(--c-primary)}.header-inner{padding:var(--sp-1);padding-left:3px}.footer-bar{background:var(--c-primary);height:1px}.footer-spacer{height:var(--sp-5)}.footer-content{display:inline-block}.footer-links{font-size:var(--text-sm);color:var(--c-text-faint)}.footer-links:after{content:" · "}.footer-link{color:var(--c-text-faint);text-decoration:none}.footer-link:hover{text-decoration:underline}.footer-copyright{font-size:var(--text-sm);color:var(--c-text-faint)}.spacer-row{height:var(--sp-5)}.main-content{padding:var(--sp-5);overflow:visible;max-width:100%}.main-feed-column{width:100%;max-width:var(--max-w-feed)}.page-loading-skeleton{padding:var(--sp-5) 0}@media(min-width:751px){.header-bar{height:var(--sp-9)}}.logo-cell{width:var(--size-icon-md);padding-right:var(--sp-2)}.site-logo{width:var(--size-icon-md);height:var(--size-icon-md);background:var(--c-bg-white);border:1px solid var(--c-bg-white);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--c-primary)}.site-logo:hover{text-decoration:underline;text-decoration-color:var(--c-primary)}.nav-cell{line-height:12pt;height:var(--sp-5)}.user-cell{text-align:right;padding-right:var(--sp-2)}.nav-top{font-size:var(--text-base);color:#fff}.site-name{margin-right:var(--sp-5)}.nav-link{color:#fff;text-decoration:none}.nav-link:hover{text-decoration:underline}.nav-link--bold{font-weight:700}.nav-link--disabled{color:#ffffff80;cursor:not-allowed}.nav-link--disabled:hover{text-decoration:none}.user-karma{color:#fff}.navbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-6);width:100%}.nav-separator{padding:0 var(--sp-2);color:#ffffff4d}.nav-left,.nav-right{display:flex;align-items:center;gap:0;font-size:9pt}.nav-left-top,.nav-left-bottom,.nav-right-top,.nav-right-bottom{display:flex;align-items:center}.nav-logo{font-weight:700;font-size:var(--text-base)}.nav-right-separator{display:inline}.remaining-text{margin-left:var(--sp-2)}.desktop-only{display:inline}.mobile-only{display:none}@media(min-width:751px){.header-row--mobile-nav{display:none}}.nav-links-desktop{display:inline}.nav-links-mobile{display:none}.nav-brand-container{display:flex;flex-direction:column}.feed{background:var(--c-bg)}.feed--transparent{background:transparent}.feed-empty{padding:var(--sp-8) 0;color:var(--c-text-muted)}.feed-empty-link{color:var(--c-text);text-decoration:underline}.feed-empty-link:hover{color:var(--c-primary)}.feed-container{background:var(--c-bg)}.feed-loading{color:var(--c-text-muted);padding:var(--sp-8) 0;font-size:var(--text-base)}.feed-more{margin-top:var(--sp-7);padding-top:var(--sp-5)}.feed-more-link{color:var(--c-text);text-decoration:none;font-size:var(--text-base);background:none;border:none;font-family:inherit;cursor:pointer;padding:0}.feed-more-link:hover{text-decoration:underline}.feed-more-link:disabled{color:var(--c-text-muted);cursor:default}.feed-sort-controls{display:flex;align-items:center;gap:var(--sp-6);margin-bottom:var(--sp-4);padding:var(--sp-2) 0;flex-wrap:wrap}.post-card--header .feed-sort-controls{padding-left:var(--size-icon-sm)}.feed-sort-tabs{display:flex;gap:var(--sp-1);background:#0000000a;padding:var(--sp-1);border-radius:var(--radius-md)}.feed-sort-tab{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);background:transparent;border:none;font-size:var(--text-base);font-family:inherit;color:var(--c-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base)}.feed-sort-tab:hover{color:var(--c-text);background:#0000000a}.feed-sort-tab--active{color:var(--c-text);background:#fff;box-shadow:var(--shadow-sm)}.feed-sort-tab--active svg{color:var(--c-accent)}.feed-time-filter{position:relative}.feed-time-filter-btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);background:#0000000a;border:none;font-size:var(--text-base);font-family:inherit;color:var(--c-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base)}.feed-time-filter-btn:hover{color:var(--c-text);background:#0000000f}.dropdown-chevron{transition:transform var(--transition-base)}.dropdown-chevron--open{transform:rotate(180deg)}.feed-time-dropdown{position:absolute;top:calc(100% + var(--sp-2));left:0;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;min-width:120px;padding:var(--sp-2);animation:dropdownFadeIn var(--transition-base) ease}.feed-time-option{display:block;width:100%;padding:var(--sp-3) var(--sp-6);background:transparent;border:none;font-size:var(--text-base);font-family:inherit;color:var(--c-text-muted);cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.feed-time-option:hover{background:#0000000a;color:var(--c-text)}.feed-time-option--active{color:var(--c-text);background:#4c79a814}.feed-mode-toggle{font-size:var(--text-base);color:var(--c-text);font-weight:400;margin-bottom:var(--sp-4);padding:var(--sp-2) 0}.feed-mode-option{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--c-text-muted);font-weight:400;transition:color var(--transition-base)}.feed-mode-option:hover{color:var(--c-primary)}.feed-mode-option--active{color:var(--c-text);font-weight:400}.feed-mode-option .hot-score-icon,.feed-mode-option--active .hot-score-icon{color:var(--c-accent)}.hot-score-icon{color:var(--c-accent);fill:var(--c-accent);flex-shrink:0}.pagination-info{font-size:var(--text-sm);color:var(--c-text-muted);margin-bottom:var(--sp-5);text-align:right}.pagination-link{color:var(--c-text);text-decoration:none;font-weight:500}.pagination-link:hover{text-decoration:underline;color:#333}.pagination-disabled{color:var(--c-text-faint);opacity:.6}.post-card{display:flex;gap:var(--sp-1);padding:var(--sp-2) 0;font-size:var(--text-base);line-height:1.4;background:transparent;position:relative;align-items:flex-start;transition:all var(--transition-slow) ease-out}.post-card--header{padding:0;margin-bottom:var(--sp-5)}.post-card--header .post-content{width:100%}.post-rank{color:var(--c-text-faint);min-width:30px;text-align:right;font-size:var(--text-base);flex-shrink:0;line-height:1.4}.post-actions{display:flex;gap:var(--sp-1);align-items:center;flex-shrink:0;padding-top:1px}.post-content{flex:1;min-width:0}.post-title-row{margin-bottom:var(--sp-1);font-size:var(--text-base)}.post-title-row .track-save-btn{margin-right:var(--sp-2);vertical-align:-1px}.post-meta{font-size:var(--text-xs);color:var(--c-text-faint);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1)}.post-karma{margin-left:var(--sp-4);color:var(--c-success)}.song-title{font-weight:400;color:var(--c-text);text-decoration:none}.song-title:hover{text-decoration:underline}.song-artist{font-size:var(--text-sm);color:var(--c-text-muted)}.song-artist-link{color:inherit;text-decoration:none}.song-artist-link:hover{text-decoration:underline}.song-info-row{margin-bottom:var(--sp-1);font-size:var(--text-sm);color:var(--c-primary);display:block;line-height:1.4}.song-info-row .track-save-btn{margin-right:var(--sp-2);vertical-align:-2px}.song-info-row .song-artist{color:var(--c-primary)}.song-info-icon{font-size:var(--text-base);line-height:1}.song-info-title{color:var(--c-primary);text-decoration:none}.song-info-title:hover{text-decoration:underline}.song-description{font-size:9pt;color:var(--c-text-muted);margin:var(--sp-2) 0 var(--sp-3) 0;line-height:1.4}.song-meta-link{color:var(--c-text-faint);text-decoration:none}.song-meta-link:hover{text-decoration:underline}.song-meta-link--loading{opacity:.6;pointer-events:none}.comment{font-size:9pt;font-family:var(--font);color:var(--c-text)}.comment-header{font-size:var(--text-sm);color:var(--c-text-muted);margin-bottom:var(--sp-1);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.comment-text{line-height:1.4}.comment-text--new{color:var(--c-primary);transition:color var(--transition-slow)}.comment-text--own{color:var(--c-accent)}.comment-highlighted>table .comment-text{animation:commentHighlight 4s ease-out}.comment-children{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}.comment-children--collapsed{grid-template-rows:0fr}.comment-children-inner{overflow:hidden;opacity:1;transition:opacity var(--transition-slow)}.comment-children--collapsed .comment-children-inner{opacity:0;transition:opacity .2s}.comment-textarea{width:500px;min-width:400px;min-height:120px;padding:var(--sp-2);font-size:var(--text-base);font-family:var(--font);border:1px solid var(--c-border-light);box-sizing:border-box}.comments-page{padding:0 0 var(--sp-5) 0;font-family:var(--font);font-size:var(--text-base)}.comments-header{font-size:var(--text-base);font-weight:400;margin-bottom:var(--sp-7)}.comments-loading,.comments-empty{color:var(--c-text-muted);padding:var(--sp-8) 0}.comments-list{display:flex;flex-direction:column}.comment-item{padding:var(--sp-4) 0}.comment-item-header{font-size:var(--text-sm);color:var(--c-text-muted);margin-bottom:var(--sp-2);display:block}.comment-item-meta{font-size:var(--text-sm);color:var(--c-text-muted);margin-bottom:var(--sp-1)}.comment-item-user{color:var(--c-text-muted);text-decoration:none;font-weight:400;margin-right:var(--sp-2)}.comment-item-user:hover{text-decoration:underline}.comment-item-time{color:var(--c-text-muted);margin-right:var(--sp-2)}.comment-item-reply-indicator{color:var(--c-text-muted);font-style:italic}.comment-item-content{font-size:9pt;line-height:1.5;color:var(--c-text);margin-bottom:var(--sp-3);word-wrap:break-word;overflow-wrap:break-word;text-decoration:none;display:block;cursor:pointer}.comment-item-content:hover{text-decoration:underline}.comment-item-context{font-size:var(--text-sm);color:var(--c-text-muted);margin-bottom:var(--sp-1)}.comment-item-song{color:var(--c-text-muted);text-decoration:none}.comment-item-song:hover{text-decoration:underline}.comment-item-song-title{color:var(--c-text-muted);text-decoration:none}.comment-item-song-title:hover{text-decoration:underline}.comment-item-artist{color:var(--c-text-muted);font-style:normal}.comments-more{margin-top:var(--sp-7);padding-top:var(--sp-5)}.comments-more-link{color:var(--c-text);text-decoration:none;font-size:var(--text-base)}.comments-more-link:hover{text-decoration:underline}.timestamp{color:var(--c-text-faint);font-size:var(--text-sm)}.profile-section{margin-bottom:var(--sp-8)}.profile-section-header{margin-bottom:var(--sp-7)}.profile-section-title{color:var(--c-text);font-size:var(--text-base);font-weight:400}.profile-section-link{display:flex;align-items:center;gap:var(--sp-4);text-decoration:none;color:var(--c-text)}.profile-section-link:hover{text-decoration:underline}.profile-section-link .profile-section-title{color:var(--c-text)}.profile-section-count{color:var(--c-text-faint);font-size:9pt}.profile-table{border-spacing:0;border-collapse:collapse}.profile-label{color:var(--c-text-muted);vertical-align:top;padding-right:var(--sp-5);width:var(--size-label-width)}.profile-value{vertical-align:top}.profile-link{font-size:var(--text-sm);color:var(--c-text-muted);text-decoration:none;white-space:nowrap}.profile-link:hover{text-decoration:underline}.profile-about-wrapper{max-width:40%;display:inline-block;overflow-wrap:break-word;word-break:break-word}.profile-about-display{display:inline;overflow-wrap:break-word;word-break:break-word}.user-songs-header{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-8)}.user-songs-back-link{color:var(--c-primary);text-decoration:none;font-size:var(--text-base)}.user-songs-back-link:hover{text-decoration:underline}.user-songs-title{font-size:var(--text-md);color:var(--c-text)}.user-songs-count{color:var(--c-text-faint);font-size:9pt;margin-left:var(--sp-2)}.user-songs-spotify-link{font-size:var(--text-sm)}.user-songs-separator{color:var(--c-text-muted);font-size:var(--text-sm)}.user-songs-username-link{color:inherit;text-decoration:none}.user-submissions-page,.user-comments-page,.saved-posts-page,.saved-songs-page{font-family:var(--font);font-size:var(--text-base)}.user-submissions-page .feed-container,.saved-posts-page .feed-container{max-width:var(--max-w-feed)}.page-loading{color:var(--c-text-muted);padding:var(--sp-8) 0;text-align:center}.artist-page{font-family:var(--font);font-size:var(--text-base);max-width:var(--max-w-content);overflow:hidden}.artist-loading,.artist-error{color:var(--c-text-muted);padding:var(--sp-8) 0}.artist-header{display:flex;gap:var(--sp-7);margin-bottom:var(--sp-9);align-items:flex-start;max-width:100%;overflow:hidden}.artist-image{width:var(--size-thumb-2xl);height:var(--size-thumb-2xl);object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.artist-info{min-width:0;overflow:hidden}.artist-name{font-size:var(--text-lg);font-weight:700;margin:0 0 var(--sp-3) 0;color:var(--c-text);display:flex;align-items:center;gap:var(--sp-3)}.artist-name-save-btn{color:var(--c-text)}.artist-meta{font-size:var(--text-sm);color:var(--c-text-muted);margin-bottom:var(--sp-4);word-wrap:break-word;overflow-wrap:break-word}.artist-meta-separator{margin:0 var(--sp-3)}.artist-spotify-link{font-size:var(--text-sm);color:var(--c-spotify);text-decoration:none}.artist-spotify-link:hover{text-decoration:underline}.artist-section{margin-bottom:var(--sp-9);overflow:hidden;max-width:100%}.artist-section-title{font-size:var(--text-base);font-weight:400;margin:0 0 var(--sp-6) 0;color:var(--c-text)}.artist-tracks{display:flex;flex-direction:column;gap:var(--sp-1);overflow:hidden;max-width:100%}.artist-track-row{display:flex;align-items:center;position:relative;overflow:hidden}.artist-track-add-btn{width:20px;height:20px;position:absolute;left:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:var(--c-primary);color:#fff;border:none;border-radius:50%;padding:0;cursor:pointer;z-index:1;transition:background var(--transition-base);transition-delay:.1s}.artist-track-add-btn:hover{background:var(--c-text)}.artist-track-add-btn:disabled{cursor:wait;background:var(--c-text-muted)}.artist-track-add-spinner{width:10px;height:10px;border:1.5px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.artist-track{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-3) var(--sp-4);background:#fff;border-radius:var(--radius-sm);text-decoration:none;color:var(--c-text);transition:transform var(--transition-base),width var(--transition-base),background var(--transition-base);transition-delay:.1s;width:100%;position:relative;z-index:2;box-sizing:border-box}.artist-track:hover{background:#f0f0f0;text-decoration:none}.artist-track-row:hover .artist-track{transform:translate(28px);width:calc(100% - 28px)}.artist-track-number{width:var(--size-icon-md);text-align:right;color:var(--c-text-muted);font-size:9pt;flex-shrink:0}.artist-track-image{width:var(--size-thumb-md);height:var(--size-thumb-md);object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.artist-track-info{flex:1;min-width:0;overflow:hidden}.artist-track-name{font-size:9pt;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-track-album{font-size:var(--text-sm);color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-track-duration{font-size:var(--text-sm);color:var(--c-text-muted);flex-shrink:0}.artist-albums{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}.artist-album{text-decoration:none;color:var(--c-text);display:block}.artist-album:hover{text-decoration:none}.artist-album:hover .artist-album-name{text-decoration:underline}.artist-album-image-container{width:100%;height:0;padding-bottom:100%;position:relative;overflow:hidden;border-radius:var(--radius-sm);margin-bottom:var(--sp-3);background:#e0e0e0;display:block;box-sizing:border-box}.artist-album-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:var(--radius-sm)}.artist-album-name{font-size:9pt;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.artist-album-meta{font-size:var(--text-sm);color:var(--c-text-muted);line-height:1.3;margin-top:var(--sp-1)}.create-page{max-width:var(--max-w-create);padding:0;font-family:var(--font);font-size:var(--text-base)}.create-loading{color:var(--c-text-muted);padding:var(--sp-8) 0}.create-title{font-size:var(--text-base);font-weight:700;margin:0 0 var(--sp-7) 0;color:var(--c-text)}.create-connect-section{background:var(--c-error-bg);padding:var(--sp-7);margin-bottom:var(--sp-7)}.create-connect-message{margin-bottom:var(--sp-6)}.create-connect-message strong{display:block;margin-bottom:var(--sp-2);color:var(--c-text)}.create-connect-message p{margin:0;color:var(--c-text-muted);font-size:9pt;line-height:1.4}.create-connect-warning{margin-top:var(--sp-3);color:var(--c-accent);font-size:var(--text-sm)}.create-form{display:flex;flex-direction:column;gap:var(--sp-6)}.create-field{display:flex;align-items:flex-start;gap:var(--sp-4)}.create-field--column{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.create-field--column .create-label{min-width:auto;padding-top:0}.create-song-picker--full-width,.create-topic-input--full-width,.create-description-input--full-width{width:100%}.create-char-count--no-margin{margin-left:0}.create-label{display:block;font-size:var(--text-base);color:var(--c-text-muted);min-width:var(--size-thumb-lg);padding-top:var(--sp-2);flex-shrink:0}.create-label-optional{font-weight:400;color:var(--c-text-faint);font-size:var(--text-sm)}.create-song-picker{position:relative;flex:1}.create-song-trigger{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-4);border:1px solid var(--c-border-light);background:#fff;cursor:pointer;min-height:var(--size-input-height);box-sizing:border-box;border-radius:var(--radius-sm)}.create-song-trigger:hover{border-color:var(--c-text)}.create-song-trigger--selected{border-color:var(--c-primary);background:#f8fafc}.create-trigger-placeholder{color:var(--c-text);font-size:var(--text-base)}.create-trigger-image{width:var(--size-thumb-xs);height:var(--size-thumb-xs);object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.create-trigger-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.create-trigger-title{font-size:9pt;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-trigger-artist{font-size:var(--text-sm);color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-trigger-change{font-size:var(--text-sm);color:var(--c-text-muted);text-decoration:underline;flex-shrink:0}.create-trigger-arrow{color:var(--c-text-muted);flex-shrink:0;margin-left:auto}.create-dropdown{position:absolute;top:calc(100% + var(--sp-1));left:0;right:0;background:#fff;border:1px solid var(--c-border-light);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:100;animation:dropdownFadeIn var(--transition-base) ease}.create-dropdown-search{position:relative;padding:var(--sp-3);border-bottom:1px solid var(--c-border-light)}.create-dropdown-input{width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--text-base);height:auto}.create-dropdown-status{position:absolute;right:var(--sp-5);top:50%;transform:translateY(-50%);font-size:var(--text-sm);color:var(--c-text-muted)}.create-dropdown-results{max-height:250px;overflow-y:auto}.create-dropdown-label{font-size:var(--text-sm);color:var(--c-text-muted);padding:var(--sp-3) var(--sp-4);background:#f9f9f9;border-bottom:1px solid var(--c-border-light)}.create-dropdown-item{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);cursor:pointer;border-bottom:1px solid var(--c-border-lighter);transition:background var(--transition-fast)}.create-dropdown-item:last-child{border-bottom:none}.create-dropdown-item:hover{background:var(--c-border-lighter)}.create-dropdown-item--skeleton{cursor:default}.create-dropdown-image{width:var(--size-thumb-sm);height:var(--size-thumb-sm);object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.create-dropdown-info{flex:1;min-width:0}.create-dropdown-title{font-size:9pt;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-dropdown-artist{font-size:var(--text-sm);color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-dropdown-empty{padding:var(--sp-7);text-align:center;color:var(--c-text-muted);font-size:9pt}.create-topic-input{flex:1;height:var(--size-input-height);min-height:var(--size-input-height)}.create-description-input{flex:none;resize:vertical;min-height:100px;height:100px;max-height:400px;font-family:var(--font);font-size:var(--text-base);line-height:1.4;overflow:auto;display:block;width:100%;box-sizing:border-box}.create-char-count{font-size:var(--text-sm);color:var(--c-text-muted);text-align:right;margin-top:var(--sp-1)}.create-char-count--warning{color:var(--c-accent)}.create-error{color:var(--c-accent);font-size:9pt;margin:0}.create-actions{margin-top:var(--sp-2)}.search-results{display:flex;flex-direction:column;gap:var(--sp-2)}.search-result-item{padding:var(--sp-5);background:#fff;cursor:pointer;font-size:9pt;display:flex;gap:var(--sp-5);align-items:center;transition:all .2s;border-radius:var(--radius-sm)}.search-result-item:hover{background:var(--c-border-lighter)}.search-result-item--selected{background:#e8f0f8}.search-result-item--selected .search-result-title{color:var(--c-primary)}.search-result-item--selected .search-result-artist,.search-result-item--selected .search-result-album{color:#555}.search-result-image{width:var(--size-thumb-lg);height:var(--size-thumb-lg);object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.search-result-info{flex:1;min-width:0}.search-result-title{font-weight:700;margin-bottom:var(--sp-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-artist{font-size:var(--text-sm);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-album{font-size:var(--text-xs);opacity:.7;margin-top:var(--sp-1)}.nav-search-container{position:relative;display:inline}.nav-search-overlay{display:none}.nav-search-input{background:transparent;border:none;border-radius:0;padding:0;font-size:var(--text-base);color:#fff;width:80px;outline:none;font-family:var(--font);line-height:inherit;vertical-align:baseline;transition:width var(--transition-base);height:auto}.nav-search-input::placeholder{color:#ffffff80}.nav-search-input:focus{width:120px}.nav-search-popover{position:absolute;top:calc(100% + var(--sp-3));left:0;width:320px;max-height:420px;overflow-y:auto;background:var(--c-bg-white);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000}.nav-search-loading,.nav-search-empty{padding:var(--sp-6);text-align:center;color:var(--c-text-muted);font-size:var(--text-sm)}.nav-search-section{border-bottom:1px solid var(--c-border-lighter)}.nav-search-section:last-child{border-bottom:none}.nav-search-section-title{padding:var(--sp-3) var(--sp-4);font-size:var(--text-xs);color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.5px;background:var(--c-bg);font-weight:500}.nav-search-item{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);cursor:pointer;transition:background var(--transition-fast)}.nav-search-item:hover{background:var(--c-border-lighter)}.nav-search-item-image{width:32px;height:32px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background:var(--c-border-lighter)}.nav-search-item-image--round{border-radius:50%}.nav-search-item-image--placeholder{display:flex;align-items:center;justify-content:center;font-size:var(--text-md);color:var(--c-text-muted);border-radius:50%}.nav-search-item-info{flex:1;min-width:0}.nav-search-item-title{font-size:var(--text-sm);color:var(--c-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-search-item-subtitle{font-size:var(--text-xs);color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.nav-search-item--post,.nav-search-item--user{padding-left:var(--sp-5)}.spotify-status{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-5);font-size:9pt}.spotify-status--connected{background:#e6f7e6}.spotify-status--disconnected{background:#ffe6e6}.spotify-connected-text{color:var(--c-spotify);font-weight:400}.spotify-badge{display:inline-block;padding:var(--sp-2) var(--sp-5);background:var(--c-spotify);color:#fff;font-size:var(--text-sm);font-weight:400;border-radius:var(--radius-sm);text-transform:lowercase}.spotify-embed-container{margin-top:var(--sp-4);border-radius:var(--radius-lg);overflow:hidden;background:#282828;max-width:400px}.spotify-embed{margin-top:var(--sp-4);border-radius:var(--radius-lg);overflow:hidden;max-width:var(--max-w-create)}.spotify-embed iframe{border-radius:var(--radius-lg);display:block}.spotify-embed--song-page{max-width:var(--max-w-create);max-height:400px}.spotify-embed--song-page iframe{max-width:100%;max-height:400px}.saved-tracks-list{display:flex;flex-direction:column;gap:var(--sp-1)}.saved-track-item{display:flex;align-items:center;gap:var(--sp-8);padding:var(--sp-3) 0;font-size:var(--text-base);line-height:1.4}.saved-track-remove{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;flex-shrink:0;transition:opacity var(--transition-fast)}.saved-track-remove:hover{opacity:.7}.saved-track-spotify-link{display:flex;align-items:center;color:var(--c-spotify);text-decoration:none;flex-shrink:0;transition:opacity var(--transition-fast)}.saved-track-spotify-link:hover{opacity:.7}.saved-track-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-0)}.saved-track-title{color:var(--c-text);text-decoration:none;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-track-title:hover{text-decoration:underline}.saved-track-artist{color:var(--c-text-muted);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-track-artist .song-artist-link{color:var(--c-text-muted);text-decoration:none}.saved-track-artist .song-artist-link:hover{text-decoration:underline}.song-artist-name-fallback{color:var(--c-text-muted)}.playlist-privacy-toggle{display:inline-flex;align-items:center}.playlist-toggle-btn{display:inline-flex;align-items:center;gap:var(--sp-2);background:none;border:none;padding:0;cursor:pointer;font-family:var(--font);font-size:var(--text-sm)}.playlist-toggle-track{position:relative;width:28px;height:14px;background:var(--c-border);border-radius:7px;transition:background var(--transition-base)}.playlist-toggle-btn.is-public .playlist-toggle-track{background:var(--c-spotify)}.playlist-toggle-thumb{position:absolute;top:2px;left:2px;width:10px;height:10px;background:var(--c-bg-white);border-radius:50%;transition:transform var(--transition-base)}.playlist-toggle-btn.is-public .playlist-toggle-thumb{transform:translate(14px)}.playlist-toggle-label{color:var(--c-text-muted);transition:color var(--transition-base)}.playlist-toggle-btn.is-public .playlist-toggle-label{color:var(--c-spotify)}.playlist-toggle-btn:hover .playlist-toggle-label{color:var(--c-text)}.visitor-playlist-link{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--c-spotify);text-decoration:none}.visitor-playlist-link:hover{text-decoration:underline}.visitor-playlist-link .external-link-icon{flex-shrink:0;opacity:.8}.user-songs-username-link{color:var(--c-text);text-decoration:none}.user-songs-username-link:hover{text-decoration:underline}.auth-page{font-family:var(--font);font-size:var(--text-base)}.auth-title{font-weight:700;margin-bottom:var(--sp-7)}.auth-form{display:flex;flex-direction:column;gap:var(--sp-5);max-width:var(--max-w-form)}.auth-field{display:flex;align-items:center}.auth-field--stacked{flex-direction:column;align-items:flex-start;gap:var(--sp-1)}.auth-label{display:inline-block;width:var(--size-label-width);flex-shrink:0}.auth-input{border:1px solid var(--c-border-light);width:220px;height:var(--size-input-height);padding:var(--sp-1) var(--sp-2);box-sizing:border-box;font-size:var(--text-base);font-family:var(--font);line-height:1}.auth-input--short{width:180px}.auth-field .profile-edit-input-row{width:220px;justify-content:space-between}.auth-char-count{font-size:var(--text-sm);color:var(--c-text-faint);margin-left:auto}.auth-actions{margin-left:var(--size-label-width)}.auth-links{margin-top:var(--sp-8)}.auth-forgot{margin-left:var(--size-label-width);font-size:var(--text-sm)}.auth-confirmation{max-width:var(--max-w-form)}.auth-confirmation-text{color:var(--c-text-muted);margin-bottom:var(--sp-3)}.auth-confirmation-email{font-weight:700;color:var(--c-text);margin-bottom:var(--sp-6);word-break:break-all}.auth-confirmation-instructions{color:var(--c-text-muted);font-size:var(--text-sm);line-height:1.5;margin-bottom:var(--sp-8)}.auth-confirmation-actions{margin-bottom:var(--sp-8)}.auth-resend-btn{display:inline-flex;align-items:center;gap:var(--sp-2)}.auth-resend-btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-field--checkbox{margin-top:var(--sp-3)}.auth-checkbox-label{display:flex;align-items:center;gap:var(--sp-3);cursor:pointer;margin-left:var(--size-label-width)}.auth-checkbox{width:14px;height:14px;margin:0;cursor:pointer;border:1px solid var(--c-border-light);accent-color:var(--c-primary);flex-shrink:0}.auth-checkbox-text{font-size:var(--text-sm);color:var(--c-text-muted);line-height:1.4}.auth-link{color:var(--c-text);text-decoration:underline}.auth-link:hover{color:var(--c-primary)}.post-page{font-family:var(--font);font-size:var(--text-base)}.post-page__loading,.post-page__error{font-family:var(--font)}.post-page__error-detail{font-size:var(--text-sm);color:var(--c-text-faint);margin-top:var(--sp-5)}.post-page__login-prompt{margin-bottom:var(--sp-7);color:var(--c-text-faint);font-size:var(--text-sm)}.post-page__comments-header{color:var(--c-text-faint);font-size:var(--text-sm);margin-bottom:var(--sp-7);border-bottom:1px solid var(--c-border);padding-bottom:var(--sp-4)}.post-page__no-comments{color:var(--c-text-faint);font-size:var(--text-sm)}.post-page__load-more{margin-top:var(--sp-8);text-align:center}.post-page__load-more-btn{background:none;border:none;color:var(--c-text-faint);font-size:var(--text-sm);cursor:pointer;text-decoration:underline;padding:var(--sp-5) var(--sp-8)}.post-page__load-more-btn:disabled{cursor:default}.profile-page{font-family:var(--font);font-size:var(--text-base)}.profile-page__error-detail{font-size:var(--text-sm);color:var(--c-text-faint);margin-top:var(--sp-2)}.profile-page__sections{margin-top:var(--sp-8)}.profile-page__logout{margin-top:var(--sp-10);display:flex;justify-content:flex-end}.profile-edit-row{display:flex;flex-direction:column;gap:var(--sp-2)}.profile-edit-actions{display:flex;gap:var(--sp-2)}.profile-edit-input-row{display:flex;align-items:center;gap:var(--sp-2)}.profile-username-display{color:var(--c-primary);font-weight:400}.profile-not-connected{color:var(--c-text-faint)}.error-inline{font-size:var(--text-sm);color:#721c24;margin-top:var(--sp-1)}.back-link{font-size:var(--text-sm);margin-top:var(--sp-5);display:inline-block}.faq-page{font-family:var(--font);font-size:var(--text-base);max-width:var(--max-w-content);line-height:1.5}.faq-content{display:flex;flex-direction:column;gap:var(--sp-7)}.faq-section{display:flex;flex-direction:column;gap:var(--sp-4);padding-bottom:var(--sp-6);border-bottom:1px solid var(--c-border-lighter)}.faq-section:last-of-type{border-bottom:none}.faq-question{font-size:var(--text-base);font-weight:400;color:var(--c-text);margin:0}.faq-answer{font-size:var(--text-sm);color:var(--c-text-muted);margin:0;margin-top:calc(-1 * var(--sp-2))}.faq-list{margin:0;margin-top:calc(-1 * var(--sp-2));padding-left:var(--sp-8);color:var(--c-text-muted);font-size:var(--text-sm)}.faq-list li{margin-bottom:var(--sp-2);font-size:var(--text-sm)}.faq-footer{margin-top:var(--sp-7);padding-top:var(--sp-6);border-top:1px solid var(--c-border-lighter)}.legal-page{font-family:var(--font);font-size:var(--text-base);max-width:var(--max-w-content);line-height:1.6}.legal-content{display:flex;flex-direction:column;gap:var(--sp-5);color:var(--c-text-muted)}.legal-updated{font-size:var(--text-xs);color:var(--c-text-faint);font-style:italic;margin:0}.legal-heading{font-size:var(--text-lg);font-weight:700;color:var(--c-text);margin:0;margin-top:var(--sp-7)}.legal-content h3{font-size:var(--text-base);font-weight:700;color:var(--c-text);margin:0;margin-top:var(--sp-4)}.legal-content p{margin:0;font-size:var(--text-sm)}.legal-list{margin:0;padding-left:var(--sp-6);font-size:var(--text-sm)}.legal-list li{margin-bottom:var(--sp-2)}.legal-important{background:var(--c-bg-white);border-left:3px solid var(--c-primary);padding:var(--sp-4) var(--sp-5);color:var(--c-text);font-size:var(--text-sm)}.legal-caps{text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.02em}.legal-link{color:var(--c-text);text-decoration:underline}.legal-link:hover{color:var(--c-primary)}.legal-footer{margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--c-border-lighter)}.legal-disclaimer{font-size:var(--text-sm);color:var(--c-text-faint);font-style:italic;margin-bottom:var(--sp-4)}.legal-table-container{overflow-x:auto;margin:var(--sp-4) 0;border:1px solid var(--c-border-lighter);border-radius:var(--radius-sm)}.legal-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);text-align:left}.legal-table th,.legal-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border-lighter)}.legal-table th{background:var(--c-bg-white);color:var(--c-text);font-weight:700}.legal-table tr:last-child td{border-bottom:none}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--sp-3)}.not-found-code{font-size:var(--text-lg);font-weight:700;color:var(--c-text-muted)}.not-found-text{font-size:var(--text-base);color:var(--c-text-muted)}.not-found-link{font-size:var(--text-sm);color:var(--c-text-muted);text-decoration:underline;margin-top:var(--sp-4)}.not-found-link:hover{color:var(--c-text)}.u-flex{display:flex}.u-flex-col{flex-direction:column}.u-flex-center{align-items:center}.u-flex-between{justify-content:space-between}.u-gap-1{gap:var(--sp-1)}.u-gap-2{gap:var(--sp-2)}.u-gap-3{gap:var(--sp-3)}.u-gap-4{gap:var(--sp-4)}.u-gap-5{gap:var(--sp-2)}.u-p-4{padding:var(--sp-5)}.u-mt-2{margin-top:var(--sp-2)}.u-mt-3{margin-top:var(--sp-4)}.u-mt-4{margin-top:var(--sp-5)}.u-mt-5{margin-top:var(--sp-7)}.u-mt-6{margin-top:var(--sp-8)}.u-mb-3{margin-bottom:var(--sp-4)}.u-mb-4{margin-bottom:var(--sp-5)}.u-mb-5{margin-bottom:var(--sp-7)}.u-ml-80{margin-left:var(--size-label-width)}.u-text-xs{font-size:var(--text-xs)}.u-text-sm{font-size:var(--text-sm)}.u-text-base{font-size:var(--text-base)}.u-text-bold{font-weight:700}.u-text-normal{font-weight:400}.u-text-center{text-align:center}.u-text-muted{color:var(--c-text-muted)}.u-text-faint{color:var(--c-text-faint)}.u-text-primary{color:var(--c-primary)}.u-text-accent{color:var(--c-accent)}.u-text-error{color:#721c24}.u-text-spotify{color:var(--c-spotify)}.u-w-80{width:var(--size-label-width)}.u-w-180{width:180px}.u-w-200{width:200px}.u-w-220{width:220px}.u-w-250{width:250px}.u-w-300{max-width:var(--max-w-form)}.u-w-400{width:400px}.u-w-full{width:100%}.u-inline-block{display:inline-block}.u-block{display:block}.page-loading{font-size:var(--text-sm);color:var(--c-text-muted)}@keyframes votePulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes commentHighlight{0%,70%{color:var(--c-accent)}to{color:var(--c-text)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes moveUp{0%{background:transparent}50%{background:var(--c-success-bg)}to{background:transparent}}@keyframes moveDown{0%{background:transparent}50%{background:#f8d7da}to{background:transparent}}@keyframes voted{0%{box-shadow:0 0 #ff6b35b3}70%{box-shadow:0 0 0 var(--sp-3) #ff6b3500}to{box-shadow:0 0 #ff6b3500}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@media(max-width:750px){:root{--text-xs: 8.5pt;--text-sm: 9.5pt;--text-base: 11pt;--text-md: 13pt;--text-lg: 17pt}body{margin:0;overflow-x:hidden}a,button,input,textarea,select,[role=button],[tabindex]{-webkit-tap-highlight-color:transparent}.main-table{width:100%;max-width:100%;table-layout:fixed}input,textarea,select{font-size:16px!important}.comment-textarea,.profile-input{font-size:var(--text-base)}.profile-textarea{font-size:var(--text-base);min-width:60%;width:100%;height:120px;min-height:100px;box-sizing:border-box;resize:both}.profile-about-cell{width:100%;max-width:100%}.profile-about-wrapper{max-width:100%;display:block;overflow-wrap:break-word;word-break:break-word}.profile-table{width:100%;table-layout:auto}.profile-label{width:auto;white-space:nowrap}.profile-value{overflow-wrap:break-word;word-break:break-word}.profile-edit-input-row{display:inline}.profile-edit-input-row>span{display:inline}.profile-edit-input-row>.profile-link{display:inline;margin-left:var(--sp-2)}.auth-field .auth-label{margin-right:var(--sp-4)}.auth-field .profile-edit-input-row{display:flex;align-items:center;gap:var(--sp-2)}.auth-char-count{font-size:var(--text-xs);text-align:right;margin-left:auto}.auth-actions,.auth-forgot,.auth-checkbox-label{margin-left:calc(var(--size-label-width) + var(--sp-4))}.comment .text,.comment-text{font-size:var(--text-base)}.main-table{width:100%}.nav-top{font-size:9pt}.main-content{padding:calc(var(--sp-2) * 3)}.header-inner{padding:var(--sp-3)}.logo-cell,.nav-links-desktop{display:none}.header-row--mobile-nav{display:table-row}.nav-links-mobile{display:block;text-align:left}.nav-cell--mobile-nav{text-align:left;padding:var(--sp-2) 0 0 0}.nav-brand-container{display:block}.user-cell{padding-right:0}.site-name{font-size:var(--text-lg);margin-right:0}.nav-cell--brand{padding-left:0;vertical-align:middle}.nav-top--mobile{font-size:var(--text-sm);line-height:1.2;display:flex;align-items:center;gap:var(--sp-1)}.nav-links-mobile__links{display:flex;align-items:center;gap:var(--sp-1);flex-shrink:0}.nav-mobile-divider{color:#fff9;padding:0 var(--sp-1);font-size:inherit}.nav-mobile-divider--search{flex-shrink:0}.nav-links-mobile__search{flex:1;min-width:0;display:flex;align-items:center}.nav-links-mobile__search .nav-search-container{width:100%;display:block}.nav-links-mobile__search .nav-search-input{width:100%}.nav-links-mobile__search .nav-search-input:focus{width:100%;min-width:0}.site-logo{width:var(--size-icon-sm);height:var(--size-icon-sm);font-size:var(--sp-5)}header{min-height:var(--size-thumb-lg);padding-top:var(--sp-3);padding-bottom:var(--sp-3)}.navbar{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:var(--sp-3);min-height:var(--size-thumb-lg)}.nav-left,.nav-right{display:contents}.nav-left-top{grid-column:1;grid-row:1;justify-self:start;align-self:center}.nav-left-bottom{grid-column:1;grid-row:2;justify-self:start;align-self:center}.nav-left-bottom>.nav-separator:first-of-type{display:none}.remaining-text{display:none}.nav-right-top{grid-column:2;grid-row:1;justify-self:end;align-self:center}.nav-right-bottom{grid-column:2;grid-row:2;justify-self:end;align-self:center}.nav-right-separator,.desktop-only{display:none}.mobile-only{display:flex;align-items:center}.nav-left,.nav-right,.nav-left-top,.nav-left-bottom,.nav-right-top,.nav-right-bottom{font-size:var(--sp-6)}.nav-logo{font-size:var(--text-base)}.comment-textarea{width:100%;min-width:100%;max-width:100%;box-sizing:border-box}.main-comment-form,.reply-form-container{width:100%;max-width:100%;box-sizing:border-box}.reply-form-table{width:100%;table-layout:auto}.reply-form-table td:last-child{width:100%}.feed-sort-controls{gap:var(--sp-4)}.feed-sort-tabs{gap:1px}.feed-sort-tab{padding:var(--sp-2) var(--sp-3);font-size:9pt;gap:var(--sp-1)}.feed-sort-tab svg{width:11px;height:11px}.feed-time-filter-btn{padding:var(--sp-2) var(--sp-3);font-size:9pt}.feed-mode-toggle{font-size:9pt}.post-title-row .track-save-icon,.song-info-row .track-save-icon{transform:scale(1.2);transform-origin:center}.comments-page{padding:0 var(--sp-2) var(--sp-2) var(--sp-2)}.comment-item-content{font-size:var(--text-base)}.comment-header,.comment-collapse-btn{font-size:var(--text-xs)}.user-songs-title{font-size:var(--text-base)}.artist-page{padding:var(--sp-2);max-width:100%;overflow:hidden}.artist-header{gap:var(--sp-4);max-width:100%}.artist-image{width:var(--size-thumb-xl);height:var(--size-thumb-xl)}.artist-info{flex:1;min-width:0;overflow:hidden}.artist-name{font-size:12pt;word-wrap:break-word;overflow-wrap:break-word}.artist-meta{word-wrap:break-word;overflow-wrap:break-word}.artist-albums{grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}.artist-track-image{width:36px;height:36px}.artist-track-row{gap:var(--sp-3)}.artist-track-row:hover .artist-track{transform:none;width:100%}.artist-track-add-btn{position:static;left:auto;top:auto;transform:none;display:inline-flex;margin-right:0;flex-shrink:0}.artist-track{max-width:100%;width:100%;flex:1;min-width:0}.artist-track-info{overflow:hidden;min-width:0}.create-page{padding:0}.create-field{flex-direction:column;gap:var(--sp-2)}.create-label{min-width:auto;padding-top:0}.create-song-picker,.create-topic-input,.create-description-input{width:100%}.create-char-count,.create-error,.create-actions{margin-left:0}.create-dropdown-input{font-size:16px!important}.nav-search-input{width:auto;font-size:var(--text-sm)!important;line-height:1.2;height:auto;-webkit-tap-highlight-color:transparent}.nav-search-input:focus{width:auto;min-width:80px;outline:none;box-shadow:none}.nav-search-popover{position:fixed;top:45px;left:var(--sp-4);right:var(--sp-4);width:auto;max-height:70vh;z-index:1001;margin-top:var(--sp-5)}.nav-search-overlay{display:block;position:fixed;inset:0;background:#000000b3;z-index:1000;cursor:pointer;touch-action:none;-webkit-overflow-scrolling:none}.nav-search-container{position:relative;z-index:1001}}@media(max-width:480px){.artist-albums{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px),(hover:none){.search-result-item:hover,.nav-search-item:hover,.create-dropdown-item:hover{background:transparent}.search-result-item--selected{background:#e8f0f8}.feed-sort-tab:hover{color:inherit;background:transparent}.feed-sort-tab--active:hover{color:var(--c-text);background:#00000014}.feed-time-filter-btn:hover{color:inherit;background:transparent}.feed-time-option:hover{background:transparent;color:inherit}.feed-mode-option:hover{color:inherit}.artist-track:hover{background:#fff}.artist-track-row:hover .artist-track{transform:none;width:100%}.artist-track-add-btn:hover{background:var(--c-primary)}.icon-btn:hover,.track-save-btn:hover,.saved-track-remove:hover{opacity:inherit}.comment-collapse-btn:hover{color:inherit}.create-song-trigger:hover{border-color:var(--c-border)}.create-song-trigger--selected:hover{border-color:var(--c-primary)}.playlist-toggle-btn:hover .playlist-toggle-label{color:inherit}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2)}.footer-links:after{content:""}}@media(min-width:751px){.welcome-banner{max-width:60%}}
