/* CAST identity and functional UI additions */
:root{--accent:#4d8dff;--cast-ink:#0a0f18;--muted:#8d9aae;--line:#263247;--panel:#121a28}
.brand{letter-spacing:.02em;text-transform:uppercase}.brand-mark{font-weight:800}.hero h1{max-width:760px}.eyebrow{color:var(--accent)}
.brand-mark{background:var(--accent);color:#07101e}.button-primary{background:var(--accent);color:#07101e}.button-primary:hover{background:#78a9ff}.button-quiet{background:#1b2739}.drop-zone{background:#111a29;border-color:#3b506f}.drop-zone.dragging{border-color:var(--accent);background:#15243a}.drop-icon{background:#1a2c46;color:#78a9ff}.track-art{background-image:linear-gradient(135deg,#1e3d72,#0b111d)}.player-art{background:#1a2c46;color:#78a9ff}.modal{background:#121a28;border-color:#344563}
.modal .field-help{color:var(--muted);font-size:10px;margin-top:6px}
.track{grid-template-columns:44px 30px 1fr auto}
.track-art{background-size:cover;background-position:center}
.track-art.has-artwork{background-image:none!important;overflow:hidden}.track-art.has-artwork img{display:block;width:100%;height:100%;object-fit:cover}
.track-copy{min-width:0}.track-title,.track-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track.dragging{opacity:.35}.track.drop-target{border-top:2px solid var(--accent);background:#14233a}.reordering .track{cursor:grab}.reordering .track:active{cursor:grabbing}
.icon-button:disabled{opacity:.2;cursor:default}
.field-help{display:block;color:var(--muted);font-size:10px;margin-top:6px}
@media(max-width:650px){.toolbar{gap:12px}.toolbar>#reorder-button{margin-left:auto}.track{grid-template-columns:38px 26px minmax(0,1fr);gap:8px;padding:14px 0}.track-art{width:38px;height:38px}.track-meta{grid-column:1/-1;justify-content:flex-start;gap:3px;padding-left:72px;min-width:0}.track-meta .icon-button{padding:4px 6px}.track-meta .tag{display:none}.track-meta time{display:none}.track-title{font-size:14px}.track-subtitle{font-size:11px}.reordering .track-meta{padding-left:0}}

/* Album pages */
.vault-nav{display:flex;align-items:center;gap:8px;overflow:auto;padding:0 0 18px;margin-top:8px}.nav-link{border:0;background:transparent;color:var(--muted);padding:7px 2px;margin-right:14px;white-space:nowrap;font:inherit;cursor:pointer}.nav-link.active{color:#f4f7fc;border-bottom:1px solid var(--accent)}.album-hero{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:42px;align-items:center;padding:30px 0 46px;border-bottom:1px solid var(--line)}.album-cover{width:100%;max-width:340px;aspect-ratio:1;border-radius:5px;background:linear-gradient(135deg,#1e3d72,#0b111d);display:grid;place-items:center;color:#78a9ff;font-size:48px;overflow:hidden}.album-cover.has-artwork{background-image:none}.album-cover img{width:100%;height:100%;object-fit:cover}.back-link{background:none;border:0;padding:0;color:var(--accent);font:inherit;cursor:pointer;margin-bottom:24px}.album-copy h1{font-size:clamp(34px,5vw,68px);margin:4px 0 16px;line-height:.98;letter-spacing:-.05em}.album-description{font-size:17px;line-height:1.55;max-width:680px;margin:0 0 13px}.album-credits{font-size:13px;color:var(--muted);line-height:1.5;white-space:pre-line}.album-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.album-tracklist{padding:26px 0 60px}.section-heading{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.empty-album{color:var(--muted);padding:32px 0}.album-modal{max-width:620px}.album-tracks{border:0;padding:0;margin:0}.album-tracks legend{font-size:12px;color:var(--muted);margin-bottom:8px}.picker-track{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.picker-track input{width:auto}.hidden{display:none!important}@media(max-width:650px){.album-hero{grid-template-columns:110px minmax(0,1fr);gap:18px;padding:12px 0 30px}.album-cover{width:110px}.album-copy h1{font-size:31px}.album-copy .eyebrow{font-size:10px}.album-description{font-size:14px}.album-actions{margin-top:16px}.album-actions .button{padding:9px 11px}.vault-nav{margin-top:0;padding-bottom:12px}.album-tracklist{padding-top:20px}}
.track-versions{border-top:1px solid var(--line);padding-top:14px}.versions-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px}.version-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.version-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-row small{display:block;color:var(--muted);margin-top:3px}
.picker-track{display:grid;grid-template-columns:auto minmax(0,1fr) 74px}.picker-track .cue-input{width:74px;padding:6px 7px;font-size:12px}.picker-track .cue-input::before{content:'start'}
.picker-track{display:flex}#gapless-controls{display:flex;gap:6px;align-items:center}
.player-art.has-artwork{overflow:hidden;background-image:none}.player-art.has-artwork img{display:block;width:100%;height:100%;object-fit:cover}.track{cursor:pointer}.track button,.track input{cursor:pointer}

/* Listener analytics */
.analytics-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:42px 0 30px;border-bottom:1px solid var(--line)}.analytics-head h1{font-size:clamp(36px,6vw,72px);letter-spacing:-.05em;margin:4px 0 12px}.analytics-head p:last-child{color:var(--muted);margin:0}.analytics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:26px 0}.analytics-stat{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.analytics-stat strong{display:block;font-size:28px;color:#f4f7fc}.analytics-stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.analytics-section{margin:34px 0}.analytics-section h2{font-size:15px;margin:0 0 12px}.table-scroll{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.analytics-table th,.analytics-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.analytics-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.analytics-table td:not(:first-child),.analytics-table th:not(:first-child){text-align:right}.analytics-table .listener-cell{text-align:left}.analytics-empty{color:var(--muted);padding:38px 0}.analytics-note{color:var(--muted);font-size:11px;margin-top:12px}@media(max-width:760px){.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid .analytics-stat:last-child{grid-column:1/-1}.analytics-table{font-size:11px}.analytics-table th,.analytics-table td{padding:10px 5px}.analytics-head{align-items:flex-start}.analytics-head h1{font-size:38px}}
.analytics-lock{max-width:520px;margin:56px auto;padding:34px;background:var(--panel);border:1px solid var(--line);border-radius:10px;text-align:center}.analytics-lock h2{font-size:28px;margin:6px 0 10px}.analytics-lock p:not(.eyebrow){color:var(--muted);margin:0 0 22px}.completion-cell{min-width:180px}.completion-value{display:flex;align-items:center;justify-content:flex-end;gap:10px}.completion-value>span{width:38px;font-variant-numeric:tabular-nums}.completion-bar{width:110px;height:5px;background:#263247;border-radius:99px;overflow:hidden}.completion-bar i{display:block;height:100%;background:var(--accent);border-radius:inherit}
.share-result-modal{max-width:620px}.share-result-copy{color:var(--muted);line-height:1.5;margin:0 0 18px}.share-result-modal input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.share-result-modal .modal-actions{justify-content:flex-end}
