*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;font-family:var(--font-sans);color-scheme:light dark;--accent: #7c5cff;--accent-strong: #ff5ca8;--accent-soft: rgba(124, 92, 255, .12);--accent-glow: rgba(124, 92, 255, .35);--bg: #f6f5fb;--bg-elevated: #ffffff;--bg-sunken: #edebf7;--bg-hover: rgba(23, 21, 38, .06);--text: #17152a;--text-muted: #6b6880;--border: rgba(23, 21, 38, .12);--shadow: 0 8px 30px rgba(0, 0, 0, .1);--shadow-art: 0 10px 28px rgba(0, 0, 0, .18);--chrome: color-mix(in srgb, var(--bg) 72%, transparent);--radius-sm: 8px;--radius: 14px;--radius-lg: 22px;--header-h: 64px;--gutter: clamp(1rem, 4vw, 3rem)}@media(prefers-color-scheme:dark){:root{--bg: #0b0a14;--bg-elevated: #17152a;--bg-sunken: #131024;--bg-hover: rgba(255, 255, 255, .06);--text: #f4f2fb;--text-muted: #a29dbb;--border: rgba(255, 255, 255, .1);--shadow: 0 8px 30px rgba(0, 0, 0, .5);--shadow-art: 0 12px 34px rgba(0, 0, 0, .6);--accent-soft: rgba(124, 92, 255, .2);--accent-glow: rgba(124, 92, 255, .45);--chrome: color-mix(in srgb, var(--bg) 62%, transparent)}}#app{width:100%;padding:0 var(--gutter)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.01em}body:before{content:"";position:fixed;inset:0 0 auto;height:420px;pointer-events:none;z-index:-1;background:radial-gradient(120% 100% at 50% -20%,var(--accent-soft),transparent 70%)}a{color:inherit}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--header-h);background:var(--chrome);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);margin-bottom:1.75rem;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}.app-header__brand{display:flex;align-items:center;gap:.75rem}.app-header__logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;font-size:1.4rem;box-shadow:0 4px 14px var(--accent-glow)}.app-header__name{font-weight:800;font-size:1.1rem;letter-spacing:-.01em;line-height:1.15;background:linear-gradient(135deg,var(--accent),var(--accent-strong));-webkit-background-clip:text;background-clip:text;color:transparent}.app-header__tagline{font-size:.8rem;color:var(--text-muted)}.app-header__nav{display:flex;gap:.25rem}.app-header__nav a{text-decoration:none;font-weight:600;font-size:.95rem;padding:.4rem .95rem;border-radius:999px;color:var(--text-muted);transition:color .15s ease,background .15s ease}.app-header__nav a:hover{color:var(--text);background:var(--bg-hover)}.app-header__nav a.active{color:var(--accent);background:var(--accent-soft)}.home{padding-bottom:2rem}.section{margin-top:2.75rem}.section__title{font-size:1.55rem;font-weight:700;letter-spacing:-.025em;margin-bottom:1.1rem}.hero{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:clamp(1.25rem,4vw,2.5rem);align-items:center;padding:clamp(1.5rem,4vw,2.25rem);border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;position:relative;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 130% at 12% 0%,var(--accent-glow),transparent 58%);opacity:.5}.hero__art .artwork{width:100%;aspect-ratio:1;border-radius:var(--radius);box-shadow:var(--shadow-art)}.hero__eyebrow{display:inline-flex;align-items:center;gap:.4rem;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:var(--accent);margin-bottom:.6rem}.hero__eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.hero__title{font-size:clamp(1.7rem,5vw,2.8rem);font-weight:800;letter-spacing:-.035em;line-height:1.04}.hero__artist{display:inline-block;font-size:1.2rem;font-weight:500;color:var(--text-muted);margin-top:.4rem;text-decoration:none}.hero__artist:hover{color:var(--accent)}.hero__genre{display:inline-block;margin-top:.75rem;font-size:.8rem;font-weight:600;color:var(--text-muted);padding:.25rem .7rem;border:1px solid var(--border);border-radius:999px}.hero__actions{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;flex-wrap:wrap}.hero__link{font-weight:600;font-size:.95rem;text-decoration:none;color:var(--accent)}.hero__link:hover{text-decoration:underline}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:1.5rem 1.25rem}.album-card{min-width:0}.album-card__art{position:relative;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-art);margin-bottom:.7rem;transition:transform .18s ease,box-shadow .18s ease}.album-card:hover .album-card__art{transform:translateY(-4px);box-shadow:0 16px 38px #00000047}.album-card__art .artwork{width:100%;height:100%;transition:transform .3s ease}.album-card:hover .album-card__art .artwork{transform:scale(1.05)}.album-card__rank{position:absolute;top:.5rem;left:.5rem;font-size:.75rem;font-weight:700;color:#fff;background:#0000008c;padding:.15rem .5rem;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.album-card__title{font-size:.95rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card__artist{display:block;font-size:.85rem;color:var(--text-muted);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card__artist:hover{color:var(--accent)}.artwork{object-fit:cover;background:var(--bg-sunken)}.artwork--placeholder{display:grid;place-items:center;color:#fff;font-weight:800}.artwork--sm{width:48px;height:48px;border-radius:10px;font-size:1.1rem;box-shadow:0 2px 8px #0000002e}.artwork--card,.album-card__art .artwork--placeholder{font-size:2.5rem}.artwork--mini{width:48px;height:48px;border-radius:10px;font-size:1.1rem;box-shadow:0 2px 10px #0000004d}.artwork--hero.artwork--placeholder{font-size:5rem}.play-button{display:grid;place-items:center;width:38px;height:38px;border:none;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.8rem;text-decoration:none;cursor:pointer;transition:transform .12s ease,background .12s ease}.play-button:hover{background:var(--accent);color:#fff;transform:scale(1.06)}.play-button--lg{width:52px;height:52px;font-size:1rem;background:var(--accent);color:#fff;box-shadow:var(--shadow)}.play-button--overlay{position:absolute;right:.6rem;bottom:.6rem;background:#ffffffeb;color:var(--accent);opacity:0;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease}.album-card__art:hover .play-button--overlay,.play-button--overlay:focus-visible{opacity:1;transform:translateY(0)}.track-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-elevated)}.track-row{display:flex;align-items:center;gap:.85rem;padding:.55rem 1rem;border-bottom:1px solid var(--border);transition:background .12s ease}.track-row:last-child{border-bottom:none}.track-row:hover{background:var(--bg-hover)}.track-row__rank{width:1.75rem;text-align:center;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-muted);flex-shrink:0}.track-row__art{position:relative;flex-shrink:0}.track-row__meta{display:flex;flex-direction:column;min-width:0;flex:1}.track-row__title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-row__artist{font-size:.85rem;color:var(--text-muted);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-row__artist:hover{color:var(--accent)}.track-row__genre{font-size:.75rem;color:var(--text-muted);padding:.15rem .6rem;border:1px solid var(--border);border-radius:999px;flex-shrink:0}.track-row__actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.data-credit{margin-top:2.5rem;font-size:.78rem;color:var(--text-muted);text-align:center}.artist-header{display:flex;align-items:center;gap:1.5rem;padding:clamp(1.25rem,4vw,2rem);margin-bottom:1.75rem;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow);flex-wrap:wrap}.artist-header__avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-art);flex-shrink:0}.artist-header__body{min-width:0}.artist-header__name{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.03em}.artist-header__handle{display:inline-block;font-weight:600;color:var(--accent);text-decoration:none;margin-top:.15rem}.artist-header__handle:hover{text-decoration:underline}.artist-header__bio{max-width:60ch;margin-top:.75rem;color:var(--text-muted);font-style:italic}.artist-header__stats{display:flex;gap:1.25rem;list-style:none;padding:0;margin:.9rem 0 1rem;font-size:.85rem;color:var(--text-muted)}.artist-header__stats strong{color:var(--text);font-weight:700}.not-found{text-align:center;padding:4rem 1rem}.not-found h1{font-size:3rem;font-weight:800}.not-found__link{display:inline-block;margin-top:1.25rem;font-weight:600;text-decoration:none;color:var(--accent)}@media(max-width:600px){.hero{grid-template-columns:1fr;text-align:center}.hero__art{max-width:200px;margin:0 auto}.hero__actions{justify-content:center}.track-row__genre,.app-header__tagline{display:none}.artist-header{flex-direction:column;text-align:center}.artist-header__stats{justify-content:center}}
