:root {
    --artist-ink: #0f1d33;
    --artist-orange: #f45b0b;
    --artist-cream: #fffaf4;
    --artist-teal: #0f8b82;
    --artist-border: #dbe3ed;
}

.artist-workspace-kicker {
    color: var(--artist-orange);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.artist-workspace-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1rem;
}

.artist-workspace-nav a,
.artist-workspace-nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 42px;
    padding: .65rem .9rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: .65rem;
    color: #fff;
    background: rgba(15,29,51,.36);
    font-weight: 800;
}

.artist-next-step {
    border: 1px solid #fed7aa;
    border-radius: .8rem;
    background: linear-gradient(135deg, #fffaf4, #fff);
    box-shadow: 0 12px 28px rgba(15,29,51,.07);
}

.artist-next-step-number {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    flex: 0 0 2.25rem;
    border-radius: 999px;
    color: #fff;
    background: var(--artist-orange);
    font-weight: 900;
}

.artist-momentum-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.artist-momentum-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--artist-border);
    border-radius: .7rem;
    background: #f8fafc;
}

.artist-momentum-card strong {
    display: block;
    color: var(--artist-ink);
    font-size: 1.05rem;
}

.artist-momentum-card span {
    display: block;
    margin-top: .3rem;
    color: #64748b;
    font-size: .8rem;
    line-height: 1.45;
}

#artist-studio-modal > div {
    width: min(1480px, calc(100vw - 28px));
    max-width: 1480px;
    height: min(94vh, 960px);
    max-height: 94vh;
    border-radius: 1rem;
    overflow: hidden;
}

#artist-studio-modal #artist-studio-content {
    height: calc(94vh - 92px);
    max-height: 868px;
    overflow-y: auto;
    background: #f4f7fb;
}

.artist-studio-home-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.artist-studio-home-action {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    min-height: 118px;
    padding: 1rem;
    border: 1px solid var(--artist-border);
    border-radius: .75rem;
    background: #fff;
    text-align: left;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.artist-studio-home-action:hover {
    border-color: #fb923c;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15,29,51,.08);
}

.artist-studio-home-action > i {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    flex: 0 0 2.5rem;
    border-radius: .65rem;
    color: #c2410c;
    background: #fff1e7;
}

.artist-owner-composer {
    border: 1px solid #fed7aa;
    border-radius: .75rem;
    background: var(--artist-cream);
}

.artist-owner-composer > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    color: #9a3412;
    font-weight: 900;
    cursor: pointer;
    list-style: none;
}

.artist-owner-composer > summary::-webkit-details-marker { display: none; }
.artist-owner-composer[open] > summary { border-bottom: 1px solid #fed7aa; }
.artist-owner-composer form { border: 0 !important; border-radius: 0 0 .75rem .75rem !important; box-shadow: none !important; }

.artist-public-priority {
    border: 1px solid #fed7aa;
    border-radius: .8rem;
    background: linear-gradient(120deg, #fff8ef, #f0fdfa);
}

body.artist-studio-open {
    overflow: hidden;
}

@media (max-width: 760px) {
    .artist-momentum-grid,
    .artist-studio-home-grid { grid-template-columns: 1fr; }
    .artist-workspace-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .artist-workspace-nav a,
    .artist-workspace-nav button { min-width: 0; padding-inline: .55rem; font-size: .78rem; }
    #artist-studio-modal { padding: 0; }
    #artist-studio-modal > div {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }
    #artist-studio-modal #artist-studio-content {
        height: calc(100dvh - 84px);
        max-height: none;
        padding: .9rem;
    }
}
.artist-guestbook {
    overflow: hidden;
    border: 1px solid #fdba74;
    border-top: 4px solid #14b8a6;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 35px rgba(15, 23, 42, .08);
}
.artist-guestbook-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.4rem 1.5rem; background: linear-gradient(100deg, #fffaf3 0%, #f0fdfa 100%); }
.artist-guestbook-heading h2 { margin-top: .25rem; font-family: Georgia, serif; font-size: 2rem; color: #0f172a; }
.artist-guestbook-heading p:last-child { margin-top: .35rem; color: #64748b; }
.artist-guestbook-heading > i { color: #f97316; font-size: 1.55rem; }
.artist-guestbook-body { padding: 1.25rem 1.5rem 1.5rem; }
.artist-guestbook-composer, .artist-guestbook-note, .artist-guestbook-status, .artist-guestbook-owner-summary { border: 1px dashed #cbd5e1; border-radius: 16px; padding: 1rem; background: #f8fafc; }
.artist-guestbook-note { border-style: solid; background: #fff; }
.artist-guestbook-note.is-pinned { border-color: #fb923c; box-shadow: inset 4px 0 #f97316; }
.artist-guestbook-reply { margin-top: 1rem; border-left: 3px solid #14b8a6; border-radius: 0 12px 12px 0; padding: .8rem 1rem; background: #f0fdfa; }
.artist-guestbook-action { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; padding: .55rem .8rem; font-size: .85rem; font-weight: 800; color: #334155; }
.artist-guestbook-action:hover { border-color: #fb923c; color: #c2410c; }

.artist-on-road { overflow: hidden; border: 1px solid #fed7aa; border-top: 4px solid #f97316; border-radius: 22px; background: #fffdfa; box-shadow: 0 18px 40px rgba(15, 23, 42, .08); }
.artist-on-road-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.35rem 1.5rem; background: linear-gradient(110deg, #fff7ed, #ecfeff); }
.artist-on-road-heading h2 { margin: .2rem 0; color: #0f172a; font-family: Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.artist-on-road-heading p { color: #64748b; }
.artist-on-road-heading > i { color: #f97316; font-size: 1.75rem; }
.artist-tour-manage { display: inline-flex; align-items: center; gap: .5rem; border: 1px solid #fdba74; border-radius: 12px; padding: .65rem .85rem; color: #c2410c; background: #fff; font-weight: 800; white-space: nowrap; }
.artist-next-stop { position: relative; min-height: 200px; display: grid; align-items: end; overflow: hidden; padding: 1.5rem; color: #fff; background: linear-gradient(120deg, #111c31, #172f4d 58%, #0f766e); }
.artist-next-stop.has-art::before { position: absolute; inset: 0; content: ''; background-image: linear-gradient(90deg, rgba(15,23,42,.96), rgba(15,23,42,.64), rgba(15,23,42,.28)), var(--show-art); background-size: cover; background-position: center; }
.artist-next-stop-copy { position: relative; z-index: 1; max-width: 760px; }
.artist-next-stop-copy h3 { margin: .35rem 0; font-family: Georgia, serif; font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1; }
.artist-next-stop-copy blockquote { margin-top: 1rem; max-width: 680px; border-left: 3px solid #fb923c; padding-left: .85rem; color: #ffedd5; font-size: .95rem; }
.artist-tour-ledger { display: grid; }
.artist-tour-stop { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-top: 1px solid #e2e8f0; }
.artist-tour-date { width: 74px; flex: 0 0 74px; text-align: center; border: 1px solid #fed7aa; border-radius: 14px; padding: .65rem .35rem; background: #fff7ed; color: #c2410c; }
.artist-tour-date strong, .artist-tour-date span { display: block; }
.artist-tour-date span { margin-top: .15rem; color: #64748b; font-size: .72rem; font-weight: 800; }
.artist-tour-stop h3 { color: #0f172a; font-size: 1.05rem; font-weight: 900; }
.artist-tour-stop p { color: #475569; font-size: .9rem; }
.artist-tour-stop small { display: block; margin-top: .2rem; color: #64748b; }
.artist-tour-stop-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .45rem; }
.artist-tour-going, .artist-tour-crowd, .artist-tour-ticket { border-radius: 10px; padding: .58rem .72rem; font-size: .78rem; font-weight: 900; }
.artist-tour-going { border: 1px solid #fdba74; background: #fff7ed; color: #c2410c; }
.artist-tour-going.is-going { border-color: #6ee7b7; background: #ecfdf5; color: #047857; }
.artist-tour-crowd { border: 1px solid #cbd5e1; background: #fff; color: #475569; }
.artist-tour-ticket { background: #f97316; color: #fff; }
.artist-tour-ticket.is-disabled { background: #e2e8f0; color: #64748b; }
.artist-tour-status { border-radius: 999px; padding: .2rem .5rem; font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.artist-tour-status.is-sold { background: #ffe4e6; color: #be123c; }
.artist-tour-empty { padding: 1.5rem; text-align: center; color: #64748b; }
.artist-tour-archive { border-top: 1px solid #e2e8f0; }
.artist-tour-archive summary { cursor: pointer; padding: 1rem 1.25rem; color: #475569; font-weight: 900; }
.artist-tour-archive summary span { margin-left: .35rem; border-radius: 999px; padding: .15rem .45rem; background: #e2e8f0; font-size: .72rem; }

@media (max-width: 760px) {
  .artist-on-road-heading { padding: 1.05rem; }
  .artist-on-road-heading > p { font-size: .95rem; }
  .artist-next-stop { min-height: 175px; padding: 1.15rem; }
  .artist-tour-stop { align-items: flex-start; flex-wrap: wrap; padding: 1rem; }
  .artist-tour-date { width: 64px; flex-basis: 64px; }
  .artist-tour-stop-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .artist-tour-ticket { grid-column: 1 / -1; text-align: center; }
}
@media (max-width: 640px) {
    .artist-guestbook-heading, .artist-guestbook-body { padding: 1rem; }
    .artist-guestbook-heading h2 { font-size: 1.65rem; }
    .artist-guestbook-composer .field { min-height: 7rem; font-size: 16px; }
    .artist-guestbook-note { padding: .9rem; }
}

/* Artist Studio page-style workspace */
#artist-studio-modal { z-index: 120; }
#artist-music-editor-modal { z-index: 130; }
#artist-studio-modal > div {
    display: flex;
    min-height: 0;
    flex-direction: column;
}
#artist-studio-modal #artist-studio-content {
    min-height: 0;
    flex: 1;
}
.artist-studio-home-action-highlight {
    border-color: #fdba74;
    background: linear-gradient(135deg, #fff7ed, #ffffff 58%, #ecfeff);
    box-shadow: 0 12px 26px rgba(249,115,22,.1);
}
.artist-page-editor-nav {
    position: sticky;
    z-index: 18;
    top: -.1rem;
    display: flex;
    gap: .45rem;
    margin: 0 0 1rem;
    overflow-x: auto;
    padding: .65rem;
    border: 1px solid #dbe3ed;
    border-radius: .8rem;
    background: rgba(244,247,251,.94);
    box-shadow: 0 8px 22px rgba(15,29,51,.08);
    backdrop-filter: blur(14px);
    scrollbar-width: thin;
}
.artist-page-editor-nav a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: .4rem;
    flex: 0 0 auto;
    border: 1px solid #dbe3ed;
    border-radius: 999px;
    padding: .45rem .7rem;
    color: #475569;
    background: #fff;
    font-size: .75rem;
    font-weight: 850;
}
.artist-page-editor-nav a:hover,
.artist-page-editor-nav a:focus-visible { border-color: #fb923c; color: #c2410c; }
.artist-page-editor-nav a span {
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #f97316;
    font-size: .68rem;
}
.artist-page-style-shell {
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: minmax(0, 1.5fr) minmax(310px, .82fr);
    gap: 1rem;
    align-items: start;
}
.artist-page-editor-stack { display: grid; min-width: 0; gap: 1rem; }
.artist-page-style-form,.artist-page-editor-nav,.artist-page-live-preview,.artist-page-save-bar { min-width:0; max-width:100%; }
.artist-page-editor-card {
    scroll-margin-top: 74px;
    min-width: 0;
    border: 1px solid #dbe3ed;
    border-radius: .85rem;
    padding: 1.05rem;
    background: #fff;
    box-shadow: 0 5px 16px rgba(15,29,51,.045);
}
.artist-page-editor-heading {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    min-width: 0;
}
.artist-page-editor-heading > span:first-child {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    flex: 0 0 30px;
    border-radius: .65rem;
    color: #c2410c;
    background: #ffedd5;
    font-size: .8rem;
    font-weight: 900;
}
.artist-page-editor-heading > div { min-width: 0; flex: 1; }
.artist-page-editor-heading h3,
.artist-page-editor-heading strong { display: block; color: #0f172a; font-size: 1rem; font-weight: 900; }
.artist-page-editor-heading p,
.artist-page-editor-heading small { display: block; margin-top: .18rem; color: #64748b; font-size: .78rem; line-height: 1.42; }
.artist-page-editor-heading > .field-tag { margin-left: auto; }
.artist-page-editor-advanced > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    cursor: pointer;
    list-style: none;
}
.artist-page-editor-advanced > summary::-webkit-details-marker { display: none; }
.artist-page-editor-advanced > summary > .artist-page-editor-heading { flex: 1; }
.artist-page-editor-advanced > summary > i { color: #64748b; transition: transform .18s ease; }
.artist-page-editor-advanced[open] > summary > i { transform: rotate(180deg); }
.artist-page-live-preview {
    position: sticky;
    top: 70px;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: .95rem;
    background: #fff;
    box-shadow: 0 18px 38px rgba(15,29,51,.12);
}
.artist-page-live-preview-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem .9rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}
.artist-page-live-preview-heading-row span,
.artist-page-live-preview-heading-row strong { display: block; }
.artist-page-live-preview-heading-row span { color: #ea580c; font-size: .66rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.artist-page-live-preview-heading-row strong { margin-top: .12rem; color: #1e293b; font-size: .82rem; }
.artist-page-live-preview-heading-row > i { color: #f97316; }
.artist-page-live-preview > p {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .65rem .85rem;
    color: #64748b;
    background: #f8fafc;
    font-size: .7rem;
    font-weight: 700;
}
.artist-page-live-preview-frame {
    overflow: hidden;
    margin: .75rem;
    border: 1px solid #cbd5e1;
    border-radius: .7rem;
    background: #e8edf4;
    background-size: cover;
    background-position: center;
    box-shadow: 0 8px 24px rgba(15,23,42,.14);
}
.artist-page-live-preview-browser {
    display: flex;
    align-items: center;
    gap: .28rem;
    height: 27px;
    padding: 0 .55rem;
    color: #94a3b8;
    background: #fff;
    font-size: .58rem;
}
.artist-page-live-preview-browser span { width: 6px; height: 6px; border-radius: 50%; background: #cbd5e1; }
.artist-page-live-preview-browser span:first-child { background: #fb7185; }
.artist-page-live-preview-browser span:nth-child(2) { background: #fbbf24; }
.artist-page-live-preview-browser span:nth-child(3) { background: #34d399; }
.artist-page-live-preview-browser strong { margin-left: auto; font-weight: 800; }
.artist-page-live-preview-hero {
    position: relative;
    min-height: 154px;
    padding: .75rem;
    color: #fff;
}
.artist-page-live-preview-theme {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    padding: .25rem .45rem;
    background: rgba(15,23,42,.3);
    font-size: .55rem;
    font-weight: 850;
    backdrop-filter: blur(8px);
}
.artist-page-live-preview-identity {
    position: absolute;
    z-index: 2;
    right: .75rem;
    bottom: .75rem;
    left: .75rem;
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    align-items: center;
    gap: .65rem;
}
.artist-page-live-preview-avatar { width: 48px !important; height: 48px !important; border: 3px solid rgba(255,255,255,.88); border-radius: .6rem; box-shadow: 0 6px 14px rgba(0,0,0,.2); }
.artist-page-live-preview-kicker { color: #fed7aa; font-size: .52rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.artist-page-live-preview-heading { overflow: hidden; margin: .08rem 0; color: #fff; font-size: 1.05rem; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.artist-page-live-preview-identity p:last-child { overflow: hidden; color: rgba(255,255,255,.82); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.artist-page-live-preview-canvas { display: grid; gap: .55rem; padding: .6rem; }
.artist-page-live-preview-tabs { display: flex; gap: .6rem; overflow: hidden; border-radius: .4rem; padding: .45rem .55rem; color: #64748b; background: rgba(255,255,255,.94); font-size: .58rem; font-weight: 850; }
.artist-page-live-preview-tabs .active { color: #ea580c; }
.artist-page-live-preview-card { border: 1px solid rgba(203,213,225,.9); border-radius: .45rem; padding: .6rem; color: #334155; background: rgba(255,255,255,.94); box-shadow: 0 4px 10px rgba(15,23,42,.07); }
.artist-page-live-preview-card small { display: block; color: #ea580c; font-size: .52rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.artist-page-live-preview-card p { margin-top: .25rem; font-size: .62rem; line-height: 1.4; }
.artist-page-live-preview-release { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.artist-page-live-preview-release strong { display: block; margin-top: .18rem; color: #0f172a; font-size: .7rem; }
.artist-page-live-preview-release button { display: grid; width: 28px; height: 28px; place-items: center; flex: 0 0 28px; border: 0; border-radius: 50%; color: #fff; background: #f97316; }
.artist-page-live-preview-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; }
.artist-page-live-preview-sections span { display: flex; min-width: 0; align-items: center; gap: .35rem; overflow: hidden; border: 1px solid rgba(203,213,225,.9); border-radius: .42rem; padding: .42rem; color: #475569; background: rgba(255,255,255,.92); font-size: .56rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.artist-page-live-preview-sections i { color: #f97316; }
.artist-page-live-preview-custom { border: 1px dashed #fb923c; border-radius: .42rem; padding: .45rem; color: #9a3412; background: rgba(255,247,237,.94); font-size: .58rem; font-weight: 850; }
.artist-page-live-preview-frame[data-font-style="serif"] .artist-page-live-preview-heading { font-family: 'Playfair Display', Georgia, serif; }
.artist-page-live-preview-frame[data-font-style="condensed"] .artist-page-live-preview-heading { font-family: 'Oswald', Impact, sans-serif; letter-spacing: .02em; text-transform: uppercase; }
.artist-page-live-preview-frame[data-font-style="mono"] .artist-page-live-preview-heading { font-family: 'Space Mono', monospace; }
.artist-page-live-preview-frame[data-font-style="rounded"] .artist-page-live-preview-heading { font-family: 'Nunito', sans-serif; }
.artist-page-live-preview-frame[data-card-style="soft"] .artist-page-live-preview-card,
.artist-page-live-preview-frame[data-card-style="soft"] .artist-page-live-preview-sections span { border-radius: .85rem; }
.artist-page-live-preview-frame[data-card-style="poster"] .artist-page-live-preview-card,
.artist-page-live-preview-frame[data-card-style="poster"] .artist-page-live-preview-sections span { border-radius: 0; box-shadow: 4px 4px 0 rgba(249,115,22,.2); }
.artist-page-live-preview-frame[data-card-style="glass"] .artist-page-live-preview-card,
.artist-page-live-preview-frame[data-card-style="glass"] .artist-page-live-preview-sections span { border-color: rgba(255,255,255,.65); border-radius: .75rem; background: rgba(255,255,255,.74); box-shadow: 0 8px 18px rgba(15,23,42,.12); backdrop-filter: blur(12px); }
.artist-page-save-bar {
    position: sticky;
    z-index: 24;
    bottom: -.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    border: 1px solid #cbd5e1;
    border-radius: .85rem;
    padding: .75rem .85rem;
    color: #475569;
    background: rgba(255,255,255,.96);
    box-shadow: 0 -8px 28px rgba(15,29,51,.12);
    backdrop-filter: blur(14px);
    font-size: .78rem;
    font-weight: 800;
}
.artist-page-save-bar > span { display: inline-flex; align-items: center; gap: .42rem; }
.artist-page-save-bar > span i { color: #10b981; font-size: .65rem; }
.artist-page-save-bar.is-dirty > span { color: #9a3412; }
.artist-page-save-bar.is-dirty > span i { color: #f97316; }
.artist-page-save-bar > div { display: flex; align-items: center; gap: .55rem; }
.artist-page-save-bar a,
.artist-page-save-bar button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: .45rem; border-radius: .6rem; padding: .58rem .8rem; font-weight: 900; }
.artist-page-save-bar a { border: 1px solid #cbd5e1; color: #475569; background: #fff; }
.artist-page-save-bar button { border: 1px solid #ea580c; color: #fff; background: #ea580c; }
.artist-page-save-bar button:hover { background: #c2410c; }
.artist-page-save-bar button:disabled { cursor: wait; opacity: .72; }
.artist-mobile-visitor-actions>div { display:grid; grid-template-columns:repeat(auto-fit,minmax(92px,1fr)); gap:.55rem; }
.artist-mobile-visitor-action { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:.45rem; border:1px solid #cbd5e1; border-radius:.7rem; padding:.65rem .75rem; color:#334155; background:#fff; font-size:.82rem; font-weight:900; }
.artist-mobile-visitor-action-primary { border-color:#ea580c; color:#fff; background:#ea580c; }
.artist-mobile-visitor-action:disabled { border-color:#a7f3d0; color:#047857; background:#ecfdf5; }

@media (max-width: 1100px) {
    .artist-page-style-shell { grid-template-columns: 1fr; }
    .artist-page-live-preview { position: static; order: -1; }
    .artist-page-live-preview-frame { max-width: 560px; margin-inline: auto; }
}
@media (max-width: 760px) {
    #artist-studio-modal > div { display: flex; }
    #artist-studio-modal #artist-studio-content { height: auto; min-height: 0; flex: 1; }
    .artist-page-editor-nav { top: -.9rem; width:100%; margin-inline:0; border-radius: 0 0 .75rem .75rem; }
    .artist-page-editor-card { padding: .9rem; }
    .artist-page-save-bar { align-items: stretch; flex-direction: column; }
    .artist-page-save-bar > div { display: grid; grid-template-columns: 1fr 1.35fr; }
    .artist-page-save-bar a,
    .artist-page-save-bar button { min-height: 44px; padding-inline: .55rem; font-size: .72rem; }
}
@media (max-width: 430px) {
    .artist-page-live-preview { margin-inline: -.25rem; }
    .artist-page-live-preview-frame { margin: .55rem; }
    .artist-page-editor-heading > .field-tag { display: none; }
    .artist-page-save-bar > div { grid-template-columns: 1fr; }
}

/* Premium release flow shared with the Creator publishing experience */
#artist-music-editor-content { padding-bottom: calc(7rem + env(safe-area-inset-bottom))!important; }
.artist-release-studio { overflow: hidden; padding: 0!important; border-color: #cbd5e1!important; background: #fff!important; }
.artist-release-studio > :not(.artist-release-runway) { margin-right: 1.15rem; margin-left: 1.15rem; }
.artist-release-studio > :first-child { margin-top: 1.15rem; }
.artist-release-studio > :last-child { margin-bottom: 1.15rem; }
.artist-release-runway { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1rem 0 1.25rem; padding: .8rem 1.15rem; border-block: 1px solid #dbe4ee; background: #f8fafc; list-style: none; }
.artist-release-runway li { position: relative; display: flex; min-width: 0; align-items: center; gap: .55rem; color: #64748b; }
.artist-release-runway li:not(:last-child)::after { content: ''; position: absolute; top: 50%; right: .65rem; left: 2.85rem; height: 1px; background: #cbd5e1; transform: translateY(-50%); }
.artist-release-runway li > span { position: relative; z-index: 1; display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 1px solid #cbd5e1; border-radius: 999px; color: #64748b; background: #fff; font-size: .72rem; font-weight: 900; }
.artist-release-runway li > div { position: relative; z-index: 1; min-width: 0; padding-right: .5rem; background: #f8fafc; }
.artist-release-runway strong,.artist-release-runway small { display: block; }
.artist-release-runway strong { color: #334155; font-size: .78rem; }
.artist-release-runway small { margin-top: .08rem; font-size: .65rem; }
.artist-release-runway li.is-active > span { border-color: #f97316; color: #fff; background: #f97316; box-shadow: 0 5px 12px rgba(249,115,22,.2); }

@media (max-width: 640px) {
    #artist-music-editor-content { padding-bottom: calc(8.25rem + env(safe-area-inset-bottom))!important; }
    .artist-release-runway { padding: .7rem; }
    .artist-release-runway li { gap: .3rem; }
    .artist-release-runway li:not(:last-child)::after { right: .2rem; left: 2.2rem; }
    .artist-release-runway li > div { padding-right: .2rem; }
    .artist-release-runway small { display: none; }
    .artist-release-runway strong { font-size: .68rem; }
}

/* Public Artist Page: Friendspace My Stage */
.artist-public-frame {
    box-sizing: border-box;
    width: min(100%,1480px);
    max-width: none;
    margin-inline: auto;
    padding-inline: clamp(1rem,2.4vw,2.5rem);
}
.top-nav .artist-public-frame { min-width: 0; }
.top-nav .top-search { min-width: 0; }
.top-nav .friendspace-header-nav { flex: 0 0 auto; }
.artist-stage {
    isolation: isolate;
    min-height: 430px;
    padding: 1.15rem 1.3rem 1.45rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 1.4rem;
    box-shadow: 0 24px 60px rgba(15,23,42,.24);
}
.artist-stage::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: '';
    pointer-events: none;
    background:
        linear-gradient(180deg, transparent 54%, rgba(3,7,18,.26)),
        repeating-linear-gradient(90deg, transparent 0 78px, rgba(255,255,255,.025) 79px 80px);
}
.artist-stage-toolbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 1rem; }
.artist-stage-back,
.artist-stage-utilities a,
.artist-stage-utilities button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: .65rem;
    padding: .55rem .75rem;
    color: #fff;
    background: rgba(15,23,42,.4);
    font-size: .76rem;
    font-weight: 900;
    backdrop-filter: blur(12px);
}
.artist-stage-back { width: max-content; }
.artist-stage-back:hover,
.artist-stage-utilities a:hover,
.artist-stage-utilities button:hover { border-color: rgba(255,255,255,.5); background: rgba(15,23,42,.62); }
.artist-stage-mark { align-self: center; color: rgba(255,255,255,.94); font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
.artist-stage-mark i { color: #fb923c; }
.artist-stage-mark span { color: rgba(255,255,255,.62); }
.artist-stage-utilities { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .45rem; }
.artist-stage-utilities .artist-stage-edit { border-color: rgba(255,255,255,.75); color: #111827; background: #fff; }
.artist-stage-utilities .artist-stage-edit:hover { color: #9a3412; background: #fff7ed; }
.artist-stage-opening { display: grid; grid-template-columns: 176px minmax(0,1fr); align-items: center; gap: clamp(1.25rem, 2.4vw, 2.5rem); margin-top: clamp(2rem, 4vw, 4.25rem); }
.artist-stage-opening.has-release { grid-template-columns: 176px minmax(320px,1.35fr) minmax(300px,.85fr); }
.artist-stage-portrait-shell { position: relative; width: 176px; height: 176px; }
.artist-stage-portrait-shadow { position: absolute; inset: 9px -9px -9px 9px; border: 1px solid rgba(255,255,255,.32); background: rgba(var(--artist-accent-rgb),.72); transform: rotate(4deg); }
.artist-stage-portrait { position: relative; z-index: 1; width: 100%; height: 100%; border: 6px solid rgba(255,255,255,.94); border-radius: .45rem; box-shadow: 0 18px 34px rgba(2,6,23,.36); }
.artist-stage-portrait > span { font-size: 4.3rem; font-weight: 900; }
.artist-stage-photo-edit { position: absolute; z-index: 3; right: -.7rem; bottom: -.7rem; display: grid; width: 42px; height: 42px; place-items: center; border: 3px solid #fff; border-radius: 999px; color: #fff; background: var(--artist-accent); box-shadow: 0 8px 18px rgba(2,6,23,.28); }
.artist-stage-identity { min-width: 0; color: #fff; }
.artist-stage-eyebrow { margin-bottom: .55rem; color: #fed7aa; font-size: .72rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.artist-stage-identity h1 { max-width: 16ch; overflow-wrap: anywhere; word-break: normal; color: #fff; font-size: clamp(2.7rem,4.4vw,5.15rem); font-weight: 900; line-height: .98; text-wrap: balance; text-shadow: 0 3px 18px rgba(2,6,23,.38); }
.artist-stage-identity h1.artist-display-name-long-token { max-width: 100%; overflow-wrap: anywhere; word-break: normal; hyphens: auto; font-size: clamp(2.2rem,3.8vw,4.5rem); }
.artist-stage-headline { max-width: 46rem; margin-top: .65rem; color: rgba(255,255,255,.82); font-size: clamp(.95rem, 1.8vw, 1.15rem); line-height: 1.55; }
.artist-stage-badges { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.artist-stage-stats { display: flex; flex-wrap: wrap; gap: 0; margin-top: 1.2rem; }
.artist-stage-stats div { min-width: 82px; padding-right: 1.25rem; }
.artist-stage-stats div + div { padding-left: 1.25rem; border-left: 1px solid rgba(255,255,255,.24); }
.artist-stage-stats dt { color: rgba(255,255,255,.58); font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.artist-stage-stats dd { margin-top: .18rem; color: #fff; font-size: 1.05rem; font-weight: 900; }
.artist-stage-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.25rem; }
.artist-stage-actions button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: .7rem;
    padding: .65rem 1rem;
    color: #fff;
    background: rgba(15,23,42,.46);
    font-size: .82rem;
    font-weight: 900;
    backdrop-filter: blur(12px);
}
.artist-stage-actions button:hover { border-color: #fff; background: rgba(15,23,42,.7); }
.artist-stage-actions .artist-stage-action-primary { border-color: var(--artist-accent); background: var(--artist-accent); }
.artist-stage-actions .artist-stage-action-primary:hover { background: var(--artist-accent-hover); }
.artist-stage-actions button:disabled { border-color: #6ee7b7; color: #d1fae5; background: rgba(6,78,59,.72); }
.artist-stage-release { display: grid; grid-template-columns: 132px minmax(0,1fr); align-items: center; gap: 1rem; min-width: 0; padding: 1rem; border: 1px solid rgba(255,255,255,.24); border-radius: .9rem; color: #fff; background: rgba(8,15,29,.66); box-shadow: 0 18px 38px rgba(2,6,23,.25); backdrop-filter: blur(18px); }
.artist-stage-release-sleeve { position: relative; width: 124px; height: 124px; }
.artist-stage-vinyl { position: absolute; top: 7px; right: -10px; display: grid; width: 110px; height: 110px; place-items: center; border-radius: 999px; color: #111827; background: repeating-radial-gradient(circle, #0f172a 0 2px, #111827 3px 7px); box-shadow: 0 10px 24px rgba(0,0,0,.35); }
.artist-stage-vinyl i { color: rgba(var(--artist-accent-rgb),.88); font-size: 1rem; }
.artist-stage-release-art { position: relative; z-index: 1; width: 110px; height: 110px; border: 4px solid rgba(255,255,255,.9); border-radius: .25rem; box-shadow: 8px 9px 0 rgba(var(--artist-accent-rgb),.45); }
.artist-stage-release-copy { min-width: 0; }
.artist-stage-release-copy > p { display: flex; align-items: center; gap: .4rem; color: #fed7aa; font-size: .63rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.artist-stage-release-copy > p span { width: 7px; height: 7px; border-radius: 999px; background: #fb923c; box-shadow: 0 0 0 4px rgba(251,146,60,.18); }
.artist-stage-release-copy h2 { margin-top: .42rem; overflow-wrap: anywhere; color: #fff; font-size: clamp(1.15rem,2vw,1.55rem); font-weight: 900; line-height: 1.08; }
.artist-stage-release-copy small { display: block; margin-top: .35rem; overflow: hidden; color: rgba(255,255,255,.62); text-overflow: ellipsis; white-space: nowrap; }
.artist-stage-release-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .85rem; }
.artist-stage-release-actions button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: .42rem; border-radius: .6rem; padding: .55rem .75rem; font-size: .74rem; font-weight: 900; }
.artist-stage-play { color: #111827; background: #fff; }
.artist-stage-release-link { border: 1px solid rgba(255,255,255,.25); color: #fff; background: transparent; }

.artist-stage-nav { position: relative; z-index: 4; width: max-content; max-width: calc(100% - 2rem); margin: -1.4rem auto 0; padding: .28rem .6rem; border: 1px solid var(--artist-border); border-radius: 999px; background: color-mix(in srgb, var(--artist-card-bg) 94%, transparent); box-shadow: 0 12px 30px rgba(15,23,42,.14); backdrop-filter: blur(18px); }
.artist-page-tabs { display: flex; align-items: center; gap: .2rem; overflow-x: auto; scrollbar-width: none; }
.artist-page-tabs::-webkit-scrollbar { display: none; }
.artist-page-tabs .tab-btn { min-width: max-content; min-height: 42px; padding: .62rem .9rem; border: 0; border-radius: 999px; color: var(--artist-muted); }
.artist-page-tabs .tab-btn.active { color: #fff; background: var(--artist-accent); box-shadow: 0 5px 14px rgba(var(--artist-accent-rgb),.22); }
.artist-page-tabs .tab-btn:hover:not(.active) { color: var(--artist-text); background: var(--artist-subtle); }
.artist-mobile-visitor-actions { display: none; }
.artist-stage-body-grid { display: grid; grid-template-columns: minmax(0,1fr) clamp(300px,24vw,360px); align-items: start; gap: clamp(1.2rem,2vw,1.8rem); margin-top: 1.35rem; }
.artist-stage-main { min-width: 0; }
.artist-stage-main > * + * { margin-top: 1.2rem; }
.artist-stage-content { min-width: 0; color: var(--artist-text); }
.artist-stage-content .text-slate-900,
.artist-stage-content .text-slate-800,
.artist-stage-content .text-slate-700 { color: var(--artist-text); }
.artist-stage-content .text-slate-600,
.artist-stage-content .text-slate-500 { color: var(--artist-muted); }
#artist-root .artist-workspace-kicker { color: var(--artist-accent-hover); }
.artist-stage-content .panel,
.artist-stage-main > .panel { border-color: var(--artist-border); color: var(--artist-text); background: var(--artist-card-bg); }
.artist-stage-aside { display: grid; gap: 1rem; min-width: 0; }
.artist-stage-credentials { overflow: hidden; padding: 1.15rem; border: 1px solid var(--artist-border); border-top: 4px solid var(--artist-accent); border-radius: .95rem; color: var(--artist-text); background: color-mix(in srgb, var(--artist-card-bg) 94%, transparent); box-shadow: 0 14px 32px rgba(15,23,42,.08); }
.artist-stage-credentials h2 { margin-top: .35rem; font-size: 1.2rem; font-weight: 900; }
.artist-stage-credentials dl { margin-top: .9rem; }
.artist-stage-credentials dl > div { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: .7rem; padding: .7rem 0; border-top: 1px solid var(--artist-border); }
.artist-stage-credentials dt { color: var(--artist-muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.artist-stage-credentials dd { overflow-wrap: anywhere; font-size: .86rem; font-weight: 750; }

.artist-marquee-note { position: relative; display: grid; grid-template-columns: max-content minmax(0,1fr); align-items: center; gap: 1rem; padding: .85rem 1rem; border: 1px solid color-mix(in srgb, var(--artist-accent) 46%, var(--artist-border)); color: var(--artist-text); background: color-mix(in srgb, var(--artist-card-bg) 88%, var(--artist-accent) 12%); box-shadow: 4px 5px 0 rgba(var(--artist-accent-rgb),.16); transform: rotate(-.25deg); }
.artist-marquee-note > span { color: var(--artist-accent-hover); font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.artist-marquee-note p { line-height: 1.55; }
.artist-desk-links { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .9rem; color: var(--artist-text); background: color-mix(in srgb, var(--artist-card-bg) 90%, var(--artist-subtle)); }
.artist-desk-links > span { color: var(--artist-muted); font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.artist-desk-links > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.artist-desk-links a { display: inline-flex; min-height: 38px; align-items: center; gap: .4rem; border: 1px solid var(--artist-border); border-radius: .55rem; padding: .5rem .7rem; color: var(--artist-text); background: var(--artist-card-bg); font-size: .76rem; font-weight: 900; }
.artist-desk-links a:hover { border-color: var(--artist-accent); color: var(--artist-accent-hover); }
.artist-turntable-section,
.artist-backstage-wall { padding: 1.15rem; border: 1px solid var(--artist-border); border-radius: 1rem; color: var(--artist-text); background: color-mix(in srgb, var(--artist-card-bg) 94%, transparent); box-shadow: 0 16px 36px rgba(15,23,42,.07); }
.artist-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.artist-section-heading h2 { margin-top: .2rem; font-size: clamp(1.45rem,3vw,2rem); font-weight: 900; }
.artist-section-heading > button { display: inline-flex; min-height: 40px; align-items: center; gap: .45rem; color: var(--artist-accent-hover); font-size: .78rem; font-weight: 900; }
.artist-record-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.artist-record-card { position: relative; display: grid; grid-template-columns: 94px minmax(0,1fr); gap: .85rem; min-width: 0; padding: .75rem; overflow: hidden; }
.artist-record-card::after { position: absolute; right: -28px; bottom: -32px; width: 90px; height: 90px; content: ''; border: 13px solid rgba(var(--artist-accent-rgb),.07); border-radius: 999px; pointer-events: none; }
.artist-record-card-cover { width: 94px; height: 94px; border-radius: .22rem; box-shadow: 5px 5px 0 rgba(var(--artist-accent-rgb),.23); }
.artist-record-card-cover i { opacity: 0; transition: opacity .18s ease; }
.artist-record-card-cover:hover i,
.artist-record-card-cover:focus-visible i { opacity: 1; }
.artist-record-card-copy { z-index: 1; min-width: 0; }
.artist-record-card-badges { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .35rem; }
.artist-record-card-badges .badge { padding: .12rem .35rem; font-size: .57rem; }
.artist-record-card-number { margin-left: auto; color: var(--artist-muted); font-size: .56rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.artist-record-card-title { display: block; max-width: 100%; overflow: hidden; color: var(--artist-text); font-size: .95rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.artist-record-card-title:hover { color: var(--artist-accent-hover); }
.artist-record-card-release { overflow: hidden; margin-top: .13rem; color: var(--artist-muted); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.artist-record-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .7rem; margin-top: .62rem; color: var(--artist-muted); font-size: .64rem; }
.artist-record-card-meta i { margin-right: .25rem; color: var(--artist-accent); }
.artist-record-card-play { position: relative; z-index: 2; display: inline-grid; width: 40px; height: 40px; place-items: center; flex: 0 0 40px; margin-left: auto; border: 2px solid transparent; border-radius: 999px; color: var(--artist-action-ink); background: var(--artist-accent); box-shadow: 0 5px 14px rgba(var(--artist-accent-rgb),.25); transition: color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.artist-record-card-meta .artist-record-card-play i { margin: 0; color: inherit; font-size: .78rem; line-height: 1; }
.artist-record-card-play .fa-play { transform: translateX(1px); }
.artist-record-card-play:hover { color: var(--artist-action-hover-ink); background: var(--artist-accent-hover); box-shadow: 0 7px 18px rgba(var(--artist-accent-rgb),.34); transform: translateY(-1px); }
.artist-record-card-meta .artist-record-card-play:focus-visible { outline: 3px solid var(--artist-text) !important; outline-offset: 3px !important; color: var(--artist-action-hover-ink); background: var(--artist-accent-hover); box-shadow: 0 0 0 3px var(--artist-card-bg), 0 0 0 6px var(--artist-text); }

/* Focused release: a modern record sleeve with the useful density of a
   classic music profile. The palette follows every Artist theme. */
.artist-track-detail { width: 100%; min-width: 0; max-width: 100%; color: var(--artist-text); }
.artist-track-detail-back { display: inline-flex; min-height: 42px; align-items: center; gap: .55rem; margin-bottom: .85rem; border: 1px solid var(--artist-border); border-radius: 999px; padding: .55rem .85rem; color: var(--artist-text); background: var(--artist-card-bg); font-size: .78rem; font-weight: 900; box-shadow: 0 6px 18px rgba(15,23,42,.06); }
.artist-track-detail-back:hover { border-color: var(--artist-accent); color: var(--artist-accent-hover); }
.artist-track-detail-hero { position: relative; display: grid; width: 100%; min-width: 0; max-width: 100%; grid-template-columns: 260px minmax(0,1fr); align-items: center; gap: clamp(1.4rem,3vw,2.6rem); overflow: hidden; padding: clamp(1.2rem,3vw,2rem); border: 1px solid color-mix(in srgb,var(--artist-accent) 38%,var(--artist-border)); border-top: 5px solid var(--artist-accent); border-radius: 1.1rem; background: radial-gradient(circle at 92% 15%,rgba(var(--artist-accent-rgb),.16),transparent 31%),linear-gradient(120deg,color-mix(in srgb,var(--artist-card-bg) 94%,var(--artist-accent) 6%),var(--artist-card-bg)); box-shadow: 0 18px 42px rgba(15,23,42,.1); }
.artist-track-detail-hero::after { position: absolute; right: -68px; bottom: -78px; width: 210px; height: 210px; content: ''; border: 30px solid rgba(var(--artist-accent-rgb),.065); border-radius: 999px; pointer-events: none; }
.artist-track-detail-art-shell { position: relative; z-index: 1; width: 240px; min-width: 0; padding: 10px 20px 28px 0; }
.artist-track-detail-vinyl { position: absolute; top: 17px; right: 0; display: grid; width: 196px; height: 196px; place-items: center; border-radius: 999px; color: var(--artist-accent); background: repeating-radial-gradient(circle,#070b13 0 2px,#151b27 3px 7px); box-shadow: 0 18px 34px rgba(2,6,23,.28); }
.artist-track-detail-vinyl i { font-size: 1.1rem; }
.artist-track-detail-art { position: relative; z-index: 1; display: grid; width: 205px; height: 205px; max-width: none; aspect-ratio: 1; place-items: center; overflow: hidden; border: 6px solid var(--artist-card-bg); border-radius: .42rem; background-position: center; background-size: cover; box-shadow: 10px 12px 0 rgba(var(--artist-accent-rgb),.28),0 18px 36px rgba(15,23,42,.2); }
.artist-track-detail-art::after { position: absolute; inset: 0; content: ''; background: linear-gradient(145deg,rgba(255,255,255,.05),rgba(2,6,23,.16)); }
.artist-track-detail-art-play { position: relative; z-index: 2; display: grid; width: 58px; height: 58px; place-items: center; border: 3px solid rgba(255,255,255,.88); border-radius: 999px; color: #fff; background: rgba(15,23,42,.72); box-shadow: 0 8px 22px rgba(2,6,23,.28); transition: transform .18s ease,background-color .18s ease; }
.artist-track-detail-art-play .fa-play { transform: translateX(2px); }
.artist-track-detail-art:hover .artist-track-detail-art-play { background: var(--artist-accent-hover); transform: scale(1.05); }
.artist-track-detail-track-stamp { position: absolute; z-index: 2; right: .7rem; bottom: 0; border: 1px solid var(--artist-border); padding: .25rem .45rem; color: var(--artist-accent-hover); background: var(--artist-card-bg); font-size: .58rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; transform: rotate(-2deg); }
.artist-track-detail-copy { position: relative; z-index: 1; min-width: 0; }
.artist-track-detail-copy > .artist-workspace-kicker { display: flex; align-items: center; gap: .45rem; }
.artist-track-detail-copy h2 { width: 100%; max-width: 16ch; margin-top: .45rem; overflow-wrap: anywhere; color: var(--artist-text); font-size: clamp(2.2rem,4.2vw,3.7rem); font-weight: 950; letter-spacing: -.045em; line-height: .96; text-wrap: balance; }
.artist-track-detail-byline { margin-top: .72rem; color: var(--artist-muted); font-size: clamp(1rem,2vw,1.25rem); font-weight: 750; }
.artist-track-detail-byline span { color: var(--artist-accent-hover); font-size: .72em; font-style: italic; font-weight: 900; text-transform: uppercase; }
.artist-track-detail-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .9rem; }
.artist-track-detail-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.2rem; }
.artist-track-detail-action { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: .48rem; border: 1px solid var(--artist-border); border-radius: .68rem; padding: .65rem .9rem; color: var(--artist-text); background: var(--artist-card-bg); font-size: .78rem; font-weight: 900; box-shadow: 0 7px 17px rgba(15,23,42,.055); }
.artist-track-detail-action:hover { border-color: var(--artist-accent); color: var(--artist-accent-hover); }
.artist-track-detail-action-primary { border-color: var(--artist-accent); color: var(--artist-action-ink); background: var(--artist-accent); }
.artist-track-detail-action-primary:hover { border-color: var(--artist-accent-hover); color: var(--artist-action-hover-ink); background: var(--artist-accent-hover); }
.artist-track-detail-action-icon { width: 46px; padding-inline: 0; }
.artist-track-detail-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; margin-top: .8rem; border: 1px solid var(--artist-border); border-radius: .9rem; background: var(--artist-border); box-shadow: 0 10px 26px rgba(15,23,42,.055); }
.artist-track-detail-metrics > div { min-width: 0; padding: .78rem .9rem; background: var(--artist-card-bg); }
.artist-track-detail-metrics dt { display: flex; align-items: center; gap: .4rem; color: var(--artist-muted); font-size: .61rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.artist-track-detail-metrics dt i { color: var(--artist-accent); }
.artist-track-detail-metrics dd { margin-top: .25rem; overflow-wrap: anywhere; color: var(--artist-text); font-size: .92rem; font-weight: 900; }
.artist-track-detail-body { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(270px,.72fr); align-items: start; gap: .85rem; margin-top: .85rem; }
.artist-track-detail-lyrics,
.artist-track-detail-credits { min-width: 0; border: 1px solid var(--artist-border); border-radius: 1rem; color: var(--artist-text); background: var(--artist-card-bg); box-shadow: 0 14px 32px rgba(15,23,42,.07); }
.artist-track-detail-lyrics { overflow: hidden; }
.artist-track-detail-lyrics > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem .85rem; border-bottom: 1px solid var(--artist-border); background: linear-gradient(110deg,color-mix(in srgb,var(--artist-card-bg) 88%,var(--artist-accent) 12%),var(--artist-subtle)); }
.artist-track-detail-lyrics h3,
.artist-track-detail-credits h3 { margin-top: .2rem; font-size: 1.45rem; font-weight: 950; }
.artist-track-detail-lyrics > header > i { color: rgba(var(--artist-accent-rgb),.28); font-size: 2.5rem; }
.artist-track-detail-lyrics-copy { padding: 1.15rem; white-space: pre-wrap; color: var(--artist-text); font-size: .96rem; line-height: 1.9; }
.artist-track-detail-credits { padding: 1.05rem; border-top: 4px solid var(--artist-accent); background: color-mix(in srgb,var(--artist-card-bg) 95%,var(--artist-accent) 5%); }
.artist-track-detail-credits dl { margin-top: .85rem; }
.artist-track-detail-credits dl > div { padding: .68rem 0; border-top: 1px solid var(--artist-border); }
.artist-track-detail-credits dt { color: var(--artist-muted); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.artist-track-detail-credits dd { margin-top: .18rem; overflow-wrap: anywhere; white-space: pre-wrap; color: var(--artist-text); font-size: .86rem; font-weight: 750; line-height: 1.5; }
.artist-track-detail-credit-note { margin-top: .9rem; color: var(--artist-muted); font-size: .78rem; line-height: 1.5; }
.artist-track-detail-empty { display: flex; min-height: 190px; align-items: center; justify-content: center; flex-direction: column; gap: .6rem; padding: 1.2rem; color: var(--artist-muted); text-align: center; }
.artist-track-detail-empty i { color: var(--artist-accent); font-size: 1.35rem; }
.artist-liner-notes { display: grid; grid-template-columns: 94px minmax(0,1fr); gap: 1.25rem; padding: 1.3rem; border: 1px solid var(--artist-border); border-left: 6px solid var(--artist-accent); color: var(--artist-text); background: color-mix(in srgb, var(--artist-card-bg) 92%, var(--artist-subtle)); box-shadow: 0 14px 32px rgba(15,23,42,.07); }
.artist-liner-notes-label { display: flex; min-height: 94px; align-items: center; justify-content: center; flex-direction: column; gap: .5rem; border: 1px dashed var(--artist-border); color: var(--artist-accent-hover); background: var(--artist-subtle); }
.artist-liner-notes-label span { font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.artist-liner-notes-label i { font-size: 2rem; }
.artist-liner-notes h2 { margin-top: .25rem; font-size: clamp(1.4rem,3vw,1.9rem); font-weight: 900; }
.artist-liner-notes > div:last-child > p:last-child { margin-top: .7rem; color: var(--artist-muted); line-height: 1.75; }
.artist-backstage-wall { background:
    linear-gradient(color-mix(in srgb, var(--artist-card-bg) 92%, transparent),color-mix(in srgb, var(--artist-card-bg) 92%, transparent)),
    repeating-linear-gradient(0deg, transparent 0 22px, rgba(var(--artist-accent-rgb),.05) 23px 24px); }
.artist-backstage-wall-posts { display: grid; gap: .75rem; }
.artist-stage-empty { grid-column: 1/-1; display: flex; min-height: 112px; align-items: center; justify-content: center; flex-direction: column; gap: .55rem; border: 1px dashed var(--artist-border); border-radius: .75rem; padding: 1rem; color: var(--artist-muted); text-align: center; background: var(--artist-subtle); }
.artist-stage-empty i { color: var(--artist-accent); font-size: 1.4rem; }
.artist-stage-empty a { color: var(--artist-accent-hover); font-weight: 900; }

.artist-backstage-ticket { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 64px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--artist-accent) 48%, var(--artist-border)); border-radius: .9rem; color: var(--artist-text); background: color-mix(in srgb, var(--artist-card-bg) 90%, var(--artist-accent) 10%); box-shadow: 0 14px 32px rgba(15,23,42,.09); }
.artist-backstage-ticket-main { min-width: 0; padding: 1rem; }
.artist-backstage-ticket-heading { display: flex; align-items: start; justify-content: space-between; gap: .65rem; }
.artist-backstage-ticket-heading h3 { margin-top: .28rem; overflow-wrap: anywhere; font-size: 1.35rem; font-weight: 900; }
.artist-backstage-ticket-mode { flex: 0 0 auto; border-radius: 999px; padding: .25rem .45rem; color: var(--artist-accent-hover); background: rgba(var(--artist-accent-rgb),.12); font-size: .58rem; font-weight: 900; text-transform: uppercase; }
.artist-backstage-ticket-copy { margin-top: .7rem; color: var(--artist-muted); font-size: .82rem; line-height: 1.55; }
.artist-backstage-ticket-note { margin-top: .55rem; color: var(--artist-accent-hover); font-size: .7rem; line-height: 1.45; }
.artist-backstage-ticket-action { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: .45rem; margin-top: .85rem; border-radius: .55rem; padding: .55rem .75rem; color: #fff; background: var(--artist-accent); font-size: .75rem; font-weight: 900; }
.artist-backstage-ticket-action:hover { background: var(--artist-accent-hover); }
.artist-backstage-ticket-action:disabled { cursor: default; opacity: .58; }
.artist-backstage-ticket-stub { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: .35rem; border-left: 1px dashed color-mix(in srgb, var(--artist-accent) 55%, var(--artist-border)); color: var(--artist-accent-hover); background: rgba(var(--artist-accent-rgb),.11); }
.artist-backstage-ticket-stub::before,
.artist-backstage-ticket-stub::after { position: absolute; right: 52px; width: 22px; height: 22px; content: ''; border: 1px solid var(--artist-border); border-radius: 999px; background: var(--artist-page-bg); transform: translateX(50%); }
.artist-backstage-ticket-stub::before { top: -12px; }
.artist-backstage-ticket-stub::after { bottom: -12px; }
.artist-backstage-ticket-stub span { font-size: 1.25rem; font-weight: 900; }
.artist-backstage-ticket-stub small { font-size: .48rem; font-weight: 900; letter-spacing: .1em; writing-mode: vertical-rl; }

/* Keep signature modules inside the selected artist palette. */
#artist-root .artist-guestbook,
#artist-root .artist-on-road { border-color: color-mix(in srgb,var(--artist-accent) 42%,var(--artist-border)); color: var(--artist-text); background: var(--artist-card-bg); }
#artist-root .artist-guestbook-heading,
#artist-root .artist-on-road-heading { background: linear-gradient(110deg,color-mix(in srgb,var(--artist-card-bg) 88%,var(--artist-accent) 12%),var(--artist-subtle)); }
#artist-root .artist-guestbook-heading h2,
#artist-root .artist-on-road-heading h2,
#artist-root .artist-tour-stop h3 { color: var(--artist-text); }
#artist-root .artist-guestbook-heading p:last-child,
#artist-root .artist-on-road-heading p,
#artist-root .artist-tour-stop p,
#artist-root .artist-tour-stop small { color: var(--artist-muted); }
#artist-root .artist-guestbook-composer,
#artist-root .artist-guestbook-note,
#artist-root .artist-guestbook-status,
#artist-root .artist-guestbook-owner-summary,
#artist-root .artist-tour-date,
#artist-root .artist-tour-crowd { border-color: var(--artist-border); color: var(--artist-text); background: var(--artist-subtle); }
#artist-root .artist-guestbook-note { background: var(--artist-card-bg); }
#artist-root .artist-guestbook-action { border-color: var(--artist-border); color: var(--artist-text); background: var(--artist-card-bg); }
#artist-root .artist-next-stop { background: linear-gradient(120deg,#111827,color-mix(in srgb,#111827 70%,var(--artist-accent))); }
#artist-root .artist-tour-stop,
#artist-root .artist-tour-archive { border-color: var(--artist-border); }
#artist-root .artist-owner-composer { border-color: color-mix(in srgb,var(--artist-accent) 40%,var(--artist-border)); color: var(--artist-text); background: var(--artist-card-bg); }
#artist-root .artist-owner-composer > header { border-color: var(--artist-border); color: var(--artist-text); background: color-mix(in srgb,var(--artist-card-bg) 88%,var(--artist-accent) 12%); }
#artist-root .artist-owner-composer > header a { color: var(--artist-accent-hover); }

body.artist-cards-soft .artist-turntable-section,
body.artist-cards-soft .artist-liner-notes,
body.artist-cards-soft .artist-backstage-wall,
body.artist-cards-soft .artist-stage-credentials,
body.artist-cards-soft .artist-backstage-ticket { border-radius: 1.35rem; }
body.artist-cards-poster .artist-stage,
body.artist-cards-poster .artist-stage-nav,
body.artist-cards-poster .artist-turntable-section,
body.artist-cards-poster .artist-liner-notes,
body.artist-cards-poster .artist-backstage-wall,
body.artist-cards-poster .artist-stage-credentials,
body.artist-cards-poster .artist-backstage-ticket,
body.artist-cards-poster .artist-record-card { border-radius: 0; box-shadow: 7px 7px 0 rgba(var(--artist-accent-rgb),.18); }
body.artist-cards-glass .artist-turntable-section,
body.artist-cards-glass .artist-liner-notes,
body.artist-cards-glass .artist-backstage-wall,
body.artist-cards-glass .artist-stage-credentials,
body.artist-cards-glass .artist-backstage-ticket,
body.artist-cards-glass .artist-record-card { border-color: color-mix(in srgb,var(--artist-border) 72%,white); background: color-mix(in srgb,var(--artist-card-bg) 78%,transparent); box-shadow: 0 16px 36px rgba(15,23,42,.12); backdrop-filter: blur(16px); }

@media (min-width: 1024px) and (max-width: 1240px) {
    .artist-stage { padding-inline: 1.15rem; }
    .artist-stage-opening { grid-template-columns: 148px minmax(0,1fr); gap: 1.25rem; }
    .artist-stage-opening.has-release { grid-template-columns: 148px minmax(300px,1.25fr) minmax(260px,.85fr); }
    .artist-stage-portrait-shell { width: 148px; height: 148px; }
    .artist-stage-identity h1 { max-width: 18ch; font-size: clamp(2.55rem,4.6vw,4rem); }
    .artist-stage-release { grid-template-columns: 104px minmax(0,1fr); gap: .75rem; padding: .8rem; }
    .artist-stage-release-sleeve { width: 98px; height: 98px; }
    .artist-stage-vinyl { width: 88px; height: 88px; }
    .artist-stage-release-art { width: 88px; height: 88px; }
    .artist-stage-body-grid { grid-template-columns: minmax(0,1fr) minmax(270px,300px); gap: 1rem; }
}
@media (max-width: 1023px) {
    .artist-stage-opening.has-release { grid-template-columns: 154px minmax(0,1fr); }
    .artist-stage-portrait-shell { width: 154px; height: 154px; }
    .artist-stage-release { grid-column: 1 / -1; width: min(100%,580px); }
    .artist-stage-actions { display: none; }
    .artist-mobile-visitor-actions { display: block; margin-top: .75rem; padding: .65rem; border: 1px solid var(--artist-border); border-radius: .85rem; background: color-mix(in srgb,var(--artist-card-bg) 94%,transparent); box-shadow: 0 10px 24px rgba(15,23,42,.08); }
    .artist-stage-body-grid { grid-template-columns: 1fr; }
    .artist-stage-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .artist-stage-aside > :only-child { grid-column: 1/-1; }
}
@media (max-width: 760px) {
    .artist-public-frame { padding-inline: .625rem; }
    .artist-stage { min-height: 0; padding: .85rem .85rem 1.15rem; border-radius: 1rem; }
    .artist-stage-toolbar { grid-template-columns: auto 1fr; }
    .artist-stage-mark { display: none; }
    .artist-stage-utilities { min-width: 0; }
    .artist-stage-utilities a,
    .artist-stage-utilities button { padding-inline: .62rem; }
    .artist-stage-opening,
    .artist-stage-opening.has-release { grid-template-columns: 116px minmax(0,1fr); gap: 1rem; margin-top: 1.7rem; }
    .artist-stage-portrait-shell { width: 116px; height: 116px; }
    .artist-stage-portrait { border-width: 4px; }
    .artist-stage-portrait > span { font-size: 3rem; }
    .artist-stage-photo-edit { right: -.45rem; bottom: -.45rem; width: 36px; height: 36px; border-width: 2px; }
    .artist-stage-identity h1 { font-size: clamp(2.15rem,10vw,3.8rem); }
    .artist-stage-headline { font-size: .88rem; }
    .artist-stage-eyebrow { font-size: .6rem; }
    .artist-stage-badges { margin-top: .65rem; }
    .artist-stage-badges .badge:nth-child(n+3) { display: none; }
    .artist-stage-stats { margin-top: .8rem; }
    .artist-stage-stats div { min-width: 58px; padding-right: .7rem; }
    .artist-stage-stats div + div { padding-left: .7rem; }
    .artist-stage-stats dt { font-size: .52rem; }
    .artist-stage-stats dd { font-size: .86rem; }
    .artist-stage-release { grid-column: 1/-1; grid-template-columns: 105px minmax(0,1fr); padding: .8rem; }
    .artist-stage-release-sleeve { width: 98px; height: 98px; }
    .artist-stage-vinyl { width: 88px; height: 88px; }
    .artist-stage-release-art { width: 88px; height: 88px; }
    .artist-stage-nav { max-width: calc(100% - .5rem); margin-top: -.8rem; padding-inline: .32rem; }
    .artist-page-tabs .tab-btn { min-height: 44px; padding-inline: .78rem; }
    .artist-stage-body-grid { gap: .85rem; margin-top: .9rem; }
    .artist-stage-aside { grid-template-columns: 1fr; }
    .artist-record-grid { grid-template-columns: 1fr; }
    .artist-record-card-play { width: 44px; height: 44px; flex-basis: 44px; }
    .artist-liner-notes { grid-template-columns: 72px minmax(0,1fr); gap: .9rem; padding: 1rem; }
    .artist-liner-notes-label { min-height: 82px; }
    .artist-marquee-note { grid-template-columns: 1fr; gap: .35rem; }
    .artist-track-detail-hero { grid-template-columns: 138px minmax(0,1fr); gap: 1rem; padding: 1rem; }
    .artist-track-detail-art-shell { width: 134px; padding: 6px 14px 22px 0; }
    .artist-track-detail-vinyl { top: 12px; width: 108px; height: 108px; }
    .artist-track-detail-art { width: 114px; height: 114px; border-width: 4px; box-shadow: 6px 7px 0 rgba(var(--artist-accent-rgb),.28),0 12px 24px rgba(15,23,42,.18); }
    .artist-track-detail-art-play { width: 44px; height: 44px; border-width: 2px; }
    .artist-track-detail-track-stamp { right: .2rem; font-size: .5rem; }
    .artist-track-detail-copy h2 { font-size: clamp(1.65rem,7.5vw,2.6rem); }
    .artist-track-detail-byline { margin-top: .45rem; font-size: .9rem; }
    .artist-track-detail-badges { margin-top: .6rem; }
    .artist-track-detail-badges .badge:nth-child(n+3) { display: none; }
    .artist-track-detail-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 46px; margin-top: .85rem; }
    .artist-track-detail-action { min-width: 0; padding-inline: .65rem; }
    .artist-track-detail-action span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .artist-track-detail-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .artist-track-detail-body { grid-template-columns: 1fr; }
    .artist-track-detail-lyrics-copy { font-size: .93rem; line-height: 1.8; }
}
@media (max-width: 460px) {
    .artist-stage-back span,
    .artist-stage-utilities span { display: none; }
    .artist-stage-back,
    .artist-stage-utilities a,
    .artist-stage-utilities button { width: 40px; padding: 0; }
    .artist-stage-opening,
    .artist-stage-opening.has-release { grid-template-columns: 88px minmax(0,1fr); gap: .85rem; }
    .artist-stage-portrait-shell { width: 88px; height: 88px; }
    .artist-stage-portrait > span { font-size: 2.35rem; }
    .artist-stage-identity h1 { font-size: clamp(1.8rem,10vw,2.55rem); }
    .artist-stage-headline { margin-top: .35rem; line-height: 1.35; }
    .artist-stage-badges { display: none; }
    .artist-stage-stats div { min-width: 50px; padding-right: .48rem; }
    .artist-stage-stats div + div { padding-left: .48rem; }
    .artist-stage-release { grid-template-columns: 84px minmax(0,1fr); gap: .7rem; }
    .artist-stage-release-sleeve { width: 78px; height: 78px; }
    .artist-stage-vinyl { width: 70px; height: 70px; }
    .artist-stage-release-art { width: 70px; height: 70px; border-width: 3px; }
    .artist-stage-release-copy > p { font-size: .55rem; }
    .artist-stage-release-copy h2 { font-size: 1rem; }
    .artist-stage-release-actions button { min-height: 38px; padding: .45rem .58rem; font-size: .66rem; }
    .artist-stage-release-link i { display: none; }
    .artist-liner-notes { grid-template-columns: 1fr; }
    .artist-liner-notes-label { min-height: 58px; flex-direction: row; }
    .artist-backstage-ticket { grid-template-columns: minmax(0,1fr) 50px; }
    .artist-backstage-ticket-stub::before,
    .artist-backstage-ticket-stub::after { right: 40px; }
    .artist-track-detail-back { margin-bottom: .65rem; }
    .artist-track-detail-hero { display: block; padding: .85rem; }
    .artist-track-detail-art-shell { width: 156px; margin: 0 auto .9rem; padding-right: 16px; }
    .artist-track-detail-vinyl { width: 126px; height: 126px; }
    .artist-track-detail-art { width: 132px; height: 132px; }
    .artist-track-detail-copy { text-align: center; }
    .artist-track-detail-copy > .artist-workspace-kicker,
    .artist-track-detail-badges,
    .artist-track-detail-actions { justify-content: center; }
    .artist-track-detail-copy h2 { max-width: none; font-size: clamp(1.8rem,10vw,2.6rem); }
    .artist-track-detail-actions { grid-template-columns: minmax(0,1fr) minmax(0,1fr) 46px; }
    .artist-track-detail-action { min-height: 46px; font-size: .72rem; }
    .artist-track-detail-metrics > div { padding: .68rem .72rem; }
    .artist-track-detail-lyrics > header { padding: .9rem; }
    .artist-track-detail-lyrics-copy { padding: 1rem .9rem; }
}
@media (prefers-reduced-motion: reduce) {
    .artist-record-card-cover i { transition: none; }
    .artist-record-card-play { transition: none; }
    .artist-record-card-play:hover { transform: none; }
    .artist-track-detail-art-play { transition: none; }
}
@media (forced-colors: active) {
    .artist-record-card-play { border-color: ButtonText; color: ButtonText; background: ButtonFace; box-shadow: none; }
    .artist-record-card-play:hover,
    .artist-record-card-play:focus-visible { border-color: Highlight; outline-color: Highlight; color: HighlightText; background: Highlight; }
    .artist-track-detail-art-play,
    .artist-track-detail-action-primary { border-color: ButtonText; color: ButtonText; background: ButtonFace; }
}
