/* ---- Artist hero - see Artist.ts. A circular photo, never a poster: the same reasoning tiles.ts's artistTileHtml already gives for the artist grid applies just as much to the one photo at the top of the artist's own page. ---- */ .artistHero { display: flex; align-items: flex-end; gap: 20px; margin-bottom: 24px; } .artistHeroPhoto { width: 132px; height: 132px; border-radius: 50%; object-fit: cover; background: var(--panel); flex-shrink: 0; } .artistHeroPhoto.noImage { visibility: hidden; } .artistHeroInfo { display: flex; flex-direction: column; gap: 4px; min-width: 0; } .artistHeroInfo h1 { margin: 0; font-size: 26px; line-height: 1.15; } /* ---- Shared with views/album's own hero (Album.css reuses these three classes directly rather than redefining them - same "one rule, whichever file needs it first" precedent Album.css already set for .seriesInfo/.playlistActions). ---- */ .heroKicker { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; font-weight: 600; } .heroActions { display: flex; align-items: center; gap: 14px; margin-top: 10px; flex-wrap: wrap; } /* A pill, not a plain rectangular button - the one visual actually borrowed from real music apps' big circular play button, while keeping the explicit text label this app already standardized on for every request/action control (see docs/architecture.md's player-rework section) - nothing here is icon-only. */ .heroPlayBtn { display: flex; align-items: center; gap: 10px; padding: 6px 18px 6px 6px; border-radius: 99px; background: var(--panel); color: var(--text); font-size: 14px; font-weight: 600; } .heroPlayBtn:hover { background: #333; } .heroPlayIcon { width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .heroPlayIcon svg { width: 14px; height: 14px; display: block; } @media (max-width: 600px) { .artistHero { flex-direction: column; align-items: center; text-align: center; } .artistHeroPhoto { width: 104px; height: 104px; } .artistHeroInfo { align-items: center; } }