body{margin:0;padding:0;font-family:Circular Std,Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#191414,#09381a);color:#fff;min-height:100vh;display:flex;flex-direction:column}a{color:#1db954;text-decoration:none;transition:color .2s ease-in-out}a:focus,a:hover{color:#1ed760;text-decoration:underline}.app-wrapper{min-height:100vh}.app-main,.app-wrapper{flex:1 1;display:flex;flex-direction:column}a.button,button{background-color:#1db954;color:#191414;padding:10px 20px;border:none;border-radius:999px;cursor:pointer;margin-right:12px;font-weight:700;font-size:1rem;transition:background-color .2s,color .2s ease-in-out;box-shadow:0 2px 8px rgba(30,185,84,.15);text-decoration:none}a.button:hover,button:hover{background-color:#1ed760;color:#191414}.header{justify-content:space-between;padding:24px 32px;background:rgba(25,20,20,.95);border-bottom:1px solid #282828;font-size:1.2rem}.header,.user-info{display:flex;align-items:center}.user-info{gap:16px}.header-actions{display:flex;align-items:center;gap:12px}.header-avatar-slot{display:flex;align-items:center;justify-content:center}.header-avatar-skeleton,.header-avatar-slot{width:48px;height:48px}.header-display-slot{min-height:24px;display:flex;align-items:center}.header-name-skeleton{width:180px;height:16px;border-radius:6px}.artist-list{list-style:none;padding:0;margin:0}.artist-item{display:flex;align-items:center;padding:16px 32px;border-bottom:1px solid #282828;transition:background .2s}.artist-item:hover{background:rgba(40,40,40,.7)}.artist-image{width:56px;height:56px;border-radius:50%;margin-right:18px;border:2px solid #1db954;object-fit:cover;background:#222}.artist-details{display:flex;flex-direction:column;gap:4px}.artist-details strong{font-size:1.1rem;font-weight:600;color:#fff}.artist-details span{color:#b3b3b3;font-size:.95rem}.enriched{display:inline-block;padding:4px 12px;border-radius:12px;background:linear-gradient(90deg,#650cb967,#ff00cc61);color:#e9e9e9!important;font-size:1rem;letter-spacing:.5px;box-shadow:0 2px 8px rgba(164,69,255,.25)}.gpt-usage{background:rgba(40,40,40,.8);border-left:4px solid #1db954;padding:12px 20px;border-radius:8px;display:inline-block;margin-top:16px;margin-bottom:16px;font-weight:500}.gpt-usage span{color:#1db954;font-weight:700}.actions{margin-top:16px}.advisories{list-style:none;padding:0;margin:12px 0}.advisory-card{position:relative;padding:8px 16px;border-radius:6px;margin-bottom:8px;font-size:.875rem;line-height:1.2}.advisory-content strong{display:block;margin-bottom:2px;font-size:.9rem}.advisory-content p{margin:0}.advisory-card.info{background:rgba(30,185,84,.15);border-left:4px solid #1db954}.advisory-card.warning{background:rgba(255,221,0,.15);border-left:4px solid #fc0}.advisory-card.error{background:rgba(255,0,0,.15);border-left:4px solid #f55}.settings-page{padding:48px 32px;display:flex;flex-direction:column;gap:24px;max-width:720px;margin:0 auto}.settings-page-card{background:hsla(0,0%,9%,.9);border-radius:18px;padding:32px;box-shadow:0 20px 45px rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.06);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.settings-page-card h1{margin-top:0;margin-bottom:16px;font-size:2rem}.settings-page-card p{margin:10px 0;font-size:1rem;color:#d1d1d1}.settings-page-card strong{color:#fff}.settings-page-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.danger-button{background-color:#e22134;color:#fff}.danger-button:hover{background-color:#ff4b5c;color:#fff}.danger-button:disabled,button:disabled{opacity:.6;cursor:not-allowed}.settings-page-warning{font-size:.95rem;color:#d1d1d1;line-height:1.5;text-align:center}.advisory-close{position:absolute;top:4px;right:4px;background:transparent;border:none;color:#fff;font-size:1rem;cursor:pointer}.skeleton-block,.skeleton-circle,.skeleton-dot,.skeleton-line,.skeleton-pill{background:#333;animation:pulse 1.6s ease-in-out infinite}.skeleton-circle{width:56px;height:56px;border-radius:50%;margin-right:18px;border:none;flex-shrink:0}.skeleton-line{height:14px;border-radius:4px;margin-top:6px;width:180px}.skeleton-line.wide{width:240px}.skeleton-line.short{width:120px;margin-top:0}.skeleton-block{border-radius:12px;display:block;width:100%;height:100%}.skeleton-pill{border-radius:999px;display:block;width:100%;height:44px}.skeleton-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.donate-page{min-height:100vh}.donate-content,.donate-page{display:flex;flex-direction:column}.donate-content{padding:32px;max-width:1100px;margin:0 auto;gap:32px}.donate-hero{background:linear-gradient(135deg,rgba(30,185,84,.18),rgba(29,185,84,0));border:1px solid rgba(30,185,84,.35);box-shadow:0 20px 50px rgba(0,0,0,.35);border-radius:18px;padding:36px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.donate-hero h1{margin:0 0 12px;font-size:2.5rem;letter-spacing:.02em}.donate-hero p{margin:0;color:#d1d1d1;line-height:1.6}.user-id-section{background:hsla(0,0%,9%,.9);border-radius:16px;padding:28px 32px;box-shadow:0 12px 30px rgba(0,0,0,.3);border:1px solid #282828;display:flex;flex-direction:column;gap:16px}.user-id-header h2{margin:0 0 6px;font-size:1.6rem}.user-id-header p{margin:0;color:#b3b3b3;line-height:1.5}.user-id-box{display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(40,40,40,.75);padding:18px 22px;border-radius:14px;border:1px solid hsla(0,0%,100%,.08)}.user-id-value{font-family:Courier New,Courier,monospace;font-size:1.1rem;letter-spacing:.08em;color:#1db954;word-break:break-all}.copy-button{background-color:#1db954;color:#191414;padding:10px 22px;border-radius:999px;font-weight:700;font-size:.95rem;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 8px 18px rgba(30,185,84,.25)}.copy-button:hover{transform:translateY(-1px);background-color:#1ed760}.copy-button:disabled{cursor:not-allowed;opacity:.7}.copy-button:active{transform:translateY(0)}.copy-success{font-size:.9rem;color:#1db954;min-height:1em}.user-id-box--loading .copy-button{pointer-events:none}.user-id-value--loading{height:20px;display:block;border-radius:6px;width:100%;max-width:260px;background:#333;animation:pulse 1.6s ease-in-out infinite}.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px}.support-card{background:hsla(0,0%,9%,.92);border-radius:18px;padding:28px 24px;border:1px solid hsla(0,0%,100%,.06);box-shadow:0 18px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:12px;min-height:220px}.support-card h3{margin:0;font-size:1.3rem}.support-card p{margin:0;color:#b3b3b3;line-height:1.5}.support-card.placeholder-card{background:rgba(29,185,84,.08);border:1px solid rgba(29,185,84,.22)}.support-card.placeholder-card h3{color:#1ed760}.kofi-card{background:rgba(40,40,40,.95);border:1px solid hsla(0,0%,100%,.1)}.kofi-card>:last-child{margin-top:auto}@media (max-width:1024px){.donate-content{padding:24px}.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.donate-content{padding:20px}.donate-hero{padding:28px}.user-id-box{flex-direction:column;align-items:stretch}.copy-button{width:100%}.support-grid{grid-template-columns:1fr}.header-actions{width:100%;justify-content:flex-start;gap:8px}}.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:32px}.login-card{background:rgba(25,20,20,.85);padding:48px 40px;border-radius:12px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.5);max-width:420px}.tagline{color:#b3b3b3;margin-bottom:24px;line-height:1.5}.login-card .button{margin:0 auto 16px;display:inline-block}.auth-info{margin-top:24px;text-align:left;color:#b3b3b3;font-size:.9rem}.redirect-note{margin:0 0 8px}.scope-list{list-style:disc;padding-left:20px;margin:0}.scope-list li{margin-bottom:4px}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.error-notification{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#e91429;color:#fff;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:12px;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.3)}.error-notification button{background:transparent;border:none;color:#fff;cursor:pointer;font-size:1rem}.not-found-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px}.not-found-container h1{font-size:6rem;margin:0;color:#1db954}.not-found-container p{color:#b3b3b3;margin:16px 0 24px}.site-footer{margin-top:auto;background:rgba(25,20,20,.95);border-top:1px solid #282828;padding:32px 24px 24px;box-shadow:0 -10px 30px rgba(0,0,0,.35)}.footer-inner{max-width:1100px;margin:0 auto 24px;display:flex;gap:32px;flex-wrap:wrap;justify-content:space-between}.footer-branding{flex:1 1 320px;max-width:420px}.footer-branding h2{margin:0 0 12px;font-size:1.8rem}.footer-branding p{margin:0;color:#d1d1d1;line-height:1.6}.footer-links{flex:1 1 200px;min-width:200px}.footer-links h3{margin:0 0 12px;font-size:1.1rem;color:#1db954}.footer-links ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer-links a{color:#e6e6e6;text-decoration:none;transition:color .2s ease-in-out}.footer-links a:hover{color:#1ed760}.footer-links span{color:#b3b3b3}.footer-meta{max-width:1100px;margin:0 auto;text-align:center;color:#9c9c9c;font-size:.9rem;line-height:1.5}@media (max-width:768px){.footer-inner{flex-direction:column;gap:24px}.footer-branding,.footer-links{flex:1 1 auto;max-width:none}}.legal-page{max-width:900px;margin:64px auto 96px;padding:48px 24px 80px;background:rgba(25,20,20,.85);border-radius:16px;box-shadow:0 24px 48px rgba(0,0,0,.35)}.legal-page h1{font-size:2.5rem;margin-bottom:12px}.legal-effective-date{color:#b3b3b3;margin-bottom:32px}.legal-page section{margin-bottom:32px}.legal-page h2{font-size:1.6rem;margin-bottom:12px}.legal-page li,.legal-page p{color:#e5e5e5;line-height:1.6}.legal-page ul{padding-left:20px}.cookie-banner{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 32px));background:rgba(25,20,20,.95);border-radius:16px;box-shadow:0 20px 45px rgba(0,0,0,.4);z-index:1000}.cookie-content{padding:24px;display:flex;flex-direction:column;gap:16px}.cookie-content p{margin:0;color:#f1f1f1;line-height:1.6}.cookie-link{color:#1db954;font-weight:600;text-decoration:underline}.cookie-button{align-self:flex-start;background:#1db954;color:#191414;border:none;padding:10px 24px;border-radius:999px;font-weight:700;cursor:pointer;transition:background .2s ease}.cookie-button:hover{background:#1ed760}@media (max-width:600px){.legal-page{margin:48px auto 80px;padding:32px 18px 64px}.cookie-content{padding:20px}}