@import url('/static/fonts/fonts.css');

:root {
  color-scheme:light;
  --bg:#f0eee9; --ink:#141310; --muted:color-mix(in srgb,var(--ink) 62%,transparent);
  --hair:color-mix(in srgb,var(--ink) 20%,transparent); --line:var(--ink);
  --card:#e4e0d7; --surface:#f8f6f1; --accent:#10408b;
  --artist-a:#4b76bf; --artist-b:#d4512d; --good:#16624a; --danger:#a52d1e;
  --archivo:'Archivo',Arial,sans-serif; --grotesk:'Space Grotesk',Arial,sans-serif;
  --pad:48px; --maxw:1360px; --gutter:max(var(--pad),calc((100% - var(--maxw))/2));
}
:root[data-theme="dark"] {
  color-scheme:dark; --bg:#141310; --ink:#faf8f4;
  --muted:color-mix(in srgb,var(--ink) 60%,transparent); --hair:color-mix(in srgb,var(--ink) 20%,transparent);
  --card:#1e1c18; --surface:#191815; --accent:#769ee2; --good:#66b89a; --danger:#ff816e;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
[hidden] { display:none !important; }
body { margin:0; background:var(--bg); color:var(--ink); font:400 15px/1.5 var(--grotesk); transition:background .2s,color .2s; }
a { color:inherit; }
button { font-family:var(--grotesk); }
.site-header { border-bottom:1.5px solid var(--line); }
.masthead { min-height:72px; padding:0 var(--gutter); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--hair); }
.wordmark { justify-self:start; display:flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; font:800 13px/1 var(--archivo); letter-spacing:.08em; }
.wordmark-mark { width:34px; height:28px; display:grid; place-items:center; border:1.5px solid var(--line); font:800 10px/1 var(--archivo); letter-spacing:.02em; }
nav { display:flex; align-items:center; gap:34px; }
nav a { text-decoration:none; font:600 12px/1 var(--grotesk); }
nav a:hover { color:var(--accent); }
.theme-toggle { justify-self:end; width:auto; min-height:32px; margin:0; padding:7px 11px; color:var(--ink); background:transparent; border:1px solid var(--line); border-radius:0; font:600 10px/1 var(--grotesk); text-transform:uppercase; letter-spacing:.1em; }
.theme-toggle:hover { color:var(--bg); background:var(--ink); }
.hero-heading { min-height:420px; padding:72px var(--gutter) 58px; display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,.55fr); align-items:end; gap:60px; position:relative; overflow:hidden; }
.hero-heading::after { content:'AP'; position:absolute; z-index:0; top:-58px; right:var(--gutter); color:color-mix(in srgb,var(--accent) 8%,transparent); font:900 clamp(190px,23vw,350px)/1 var(--archivo); letter-spacing:-.13em; pointer-events:none; }
.hero-heading>div { position:relative; z-index:1; }
.eyebrow { display:block; margin:0 0 13px; color:var(--accent); font:700 11px/1.2 var(--grotesk); letter-spacing:.18em; text-transform:uppercase; }
h1 { margin:0; font:900 clamp(64px,9vw,126px)/.76 var(--archivo); letter-spacing:-.065em; text-transform:uppercase; }
h1 span { display:block; }
.hero-meta { padding-bottom:3px; }
.hero-meta>p:first-child { margin:0 0 36px; max-width:300px; font:500 clamp(16px,1.5vw,20px)/1.3 var(--archivo); }
.coverage { margin:0 0 16px; color:var(--muted); font:500 14px/1.45 var(--grotesk); }
.status { display:inline-flex; align-items:center; gap:7px; color:var(--good); font:600 11px/1 var(--grotesk); letter-spacing:.06em; text-transform:uppercase; }
.status::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; }
.ticker { overflow:hidden; padding:11px 0 10px; border-bottom:1.5px solid var(--line); white-space:nowrap; color:var(--muted); font:600 9px/1 var(--grotesk); letter-spacing:.2em; }
.ticker span { display:block; width:max-content; animation:ticker 32s linear infinite; }
@keyframes ticker { to { transform:translateX(-50%); } }
main { margin:0; padding:0; }
.section-intro { padding:72px var(--gutter) 34px; display:grid; grid-template-columns:1.5fr 1fr; align-items:end; gap:70px; }
.section-intro h2 { font-size:clamp(34px,5vw,64px); line-height:.94; letter-spacing:-.045em; }
.section-intro>p { max-width:480px; margin:0 0 3px; color:var(--muted); font-size:16px; line-height:1.5; }
.analytics-intro { padding-top:78px; border-top:1.5px solid var(--line); }
.panel { background:transparent; border:1px solid var(--line); border-radius:0; padding:24px; }
.filters { display:grid; grid-template-columns:1.25fr .85fr .85fr 1.4fr auto auto; gap:0; align-items:end; position:sticky; top:0; z-index:10; margin:0 var(--gutter) 72px; padding:0; background:var(--bg); box-shadow:0 8px 24px color-mix(in srgb,var(--bg) 88%,transparent); }
.filters label { min-height:78px; padding:15px 14px 13px; border-right:1px solid var(--hair); }
.filters button { align-self:center; min-height:44px; margin:0 6px 0 12px; border:1px solid var(--line); }
.filters .secondary { margin:0 12px 0 6px; }
.compare { margin:0; padding:72px var(--gutter); border-width:1.5px 0 0; }
.section-title { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
h2 { margin:0; font:800 clamp(24px,3vw,38px)/1.05 var(--archivo); letter-spacing:-.02em; }
.section-title>.muted { max-width:380px; text-align:right; }
.compare-controls { display:grid; grid-template-columns:1fr 72px 1fr auto; gap:0; align-items:end; margin-top:28px; border:1px solid var(--line); }
.compare-controls label { min-height:78px; padding:14px; }
.compare-controls label+label { border-left:1px solid var(--hair); }
.versus { align-self:stretch; min-height:78px; display:grid; place-items:center; border-right:1px solid var(--hair); border-left:1px solid var(--hair); color:var(--accent); font:800 12px/1 var(--archivo); }
.compare-controls button { align-self:center; min-height:44px; margin:0 14px; border:1px solid var(--line); }
.compare-status { padding-top:14px; }
.compare-scorecards { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:26px; border:1px solid var(--line); }
.artist-score { padding:24px; background:var(--surface); border-top:5px solid var(--artist-color); }
.artist-score+.artist-score { border-left:1px solid var(--line); }
.artist-score h3 { margin:0 0 20px; font:800 30px/1 var(--archivo); letter-spacing:-.025em; }
.score-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.score-grid strong { display:block; font:800 22px/.95 var(--archivo); font-variant-numeric:tabular-nums; }
.score-grid span { display:block; margin-top:8px; color:var(--muted); font:600 9px/1.25 var(--grotesk); text-transform:uppercase; letter-spacing:.11em; }
.compare-chart-wrap { margin-top:20px; border:1px solid var(--line); padding:22px; background:var(--surface); }
.compare-legend { display:flex; align-items:center; justify-content:flex-end; gap:8px; color:var(--muted); font-size:11px; }
.compare-legend span { width:22px; height:4px; }
.legend-a { background:var(--artist-a); }
.legend-b { background:var(--artist-b); margin-left:14px; }
.compare-chart { height:310px; display:grid; grid-template-columns:48px minmax(0,1fr); padding-top:20px; }
.compare-y-axis { height:264px; padding:0 10px 24px 0; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; color:var(--muted); font:600 10px/1 var(--grotesk); font-variant-numeric:tabular-nums; }
.compare-plot { min-width:0; height:264px; position:relative; }
.compare-gridlines { position:absolute; inset:0 0 24px; display:flex; flex-direction:column; justify-content:space-between; pointer-events:none; }
.compare-gridlines i { display:block; width:100%; border-top:1px solid var(--hair); }
.compare-bars { position:relative; z-index:1; height:264px; display:flex; align-items:stretch; gap:3px; }
.compare-bucket { flex:1; min-width:3px; height:264px; display:grid; grid-template-rows:240px 24px; position:relative; }
.compare-bar-pair { height:240px; display:flex; align-items:end; gap:2px; }
.compare-bar { flex:1; min-height:0; }
.compare-bar.a { background:var(--artist-a); }
.compare-bar.b { background:var(--artist-b); }
.compare-bucket>span { overflow:visible; padding-top:8px; color:var(--muted); font:600 10px/1 var(--grotesk); white-space:nowrap; }
.compare-bucket.partial { background:repeating-linear-gradient(135deg,transparent 0 5px,var(--hair) 5px 6px); }
.compare-bucket.partial .compare-bar { opacity:.72; }
.compare-bucket:hover::after,.bar-wrap:hover::after { content:attr(data-tip); position:absolute; bottom:calc(var(--h) + 31px); left:50%; transform:translateX(-50%); z-index:8; padding:7px 9px; color:var(--bg); background:var(--ink); white-space:nowrap; font:500 10px/1 var(--grotesk); }
.compare-note { margin:10px 0 0 48px; color:var(--muted); font:500 12px/1.4 var(--grotesk); }
.compare-details { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:20px; border:1px solid var(--line); }
.artist-detail { padding:24px; background:transparent; }
.artist-detail+.artist-detail { border-left:1px solid var(--line); }
.artist-detail h3 { margin:0 0 8px; font:800 24px/1.05 var(--archivo); }
.matched-credits { min-height:42px; margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
.matched-credits span { display:block; margin-bottom:4px; color:var(--accent); font:700 9px/1 var(--grotesk); text-transform:uppercase; letter-spacing:.13em; }
.artist-detail h4 { margin:24px 0 8px; color:var(--accent); font:700 10px/1 var(--grotesk); text-transform:uppercase; letter-spacing:.14em; }
.mini-ranking { margin:0; padding:0; list-style:none; }
.mini-ranking li { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--hair); }
.mini-ranking small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.comparison-earnings { margin-top:20px; border:1px solid var(--line); background:var(--surface); }
.earnings-head { display:flex; align-items:end; justify-content:space-between; gap:32px; padding:28px 24px; border-bottom:1px solid var(--line); }
.earnings-head h3 { margin:0; font:800 30px/1 var(--archivo); letter-spacing:-.025em; }
.earnings-head>p { max-width:520px; margin:0; color:var(--muted); text-align:right; }
.earnings-totals { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.earnings-totals article { padding:24px; border-top:5px solid var(--artist-color); }
.earnings-totals article+article { border-left:1px solid var(--line); }
.earnings-totals span,.earnings-totals small { display:block; }
.earnings-totals span { font:700 13px/1.2 var(--grotesk); }
.earnings-totals strong { display:block; margin:9px 0; font:800 38px/.95 var(--archivo); font-variant-numeric:tabular-nums; }
.earnings-totals small { color:var(--muted); }
.earnings-table-wrap { overflow-x:auto; }
.earnings-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.earnings-table th,.earnings-table td { padding:12px 14px; border-bottom:1px solid var(--hair); text-align:right; white-space:nowrap; }
.earnings-table th { color:var(--muted); font:700 9px/1.2 var(--grotesk); letter-spacing:.1em; text-transform:uppercase; }
.earnings-table th:first-child,.earnings-table td:first-child { min-width:220px; text-align:left; }
.earnings-table a { color:inherit; text-decoration:none; }
.earnings-table a:hover { color:var(--accent); }
.earnings-table td small { display:block; margin-top:2px; color:var(--muted); font-size:10px; }
.earnings-table .fallback-earning { color:var(--muted); }
.earnings-note { margin:0; padding:14px 24px; color:var(--muted); font-size:11px; }
.result-link { color:inherit; text-decoration-color:transparent; text-decoration-thickness:1px; text-underline-offset:4px; transition:color .15s,text-decoration-color .15s; }
.result-link::after { content:'  →'; color:var(--accent); opacity:0; transition:opacity .15s; }
.result-link:hover,.result-link:focus-visible { color:var(--accent); text-decoration-color:currentColor; outline:none; }
.result-link:hover::after,.result-link:focus-visible::after { opacity:1; }
label { display:block; color:var(--muted); font:700 11px/1.2 var(--grotesk); text-transform:uppercase; letter-spacing:.12em; }
input,select,button { width:100%; min-height:44px; margin-top:7px; border:1px solid var(--line); border-radius:0; background:var(--surface); color:var(--ink); padding:10px 12px; outline:none; }
input,select { font:500 15px/1.2 var(--grotesk); text-transform:none; letter-spacing:0; }
input::placeholder { color:var(--muted); opacity:.8; font-size:15px; }
input:focus,select:focus { border-color:var(--accent); box-shadow:inset 0 -3px 0 var(--accent); }
button { width:auto; cursor:pointer; border-color:var(--ink); background:var(--ink); color:var(--bg); padding:12px 18px; font:700 15px/1 var(--grotesk); }
button:hover { border-color:var(--accent); background:var(--accent); color:#fff; }
button:disabled { cursor:wait; opacity:.55; }
.secondary { display:block; margin:20px auto 0; background:transparent; color:var(--ink); }
.text-button { min-height:0; margin:0; padding:5px 0; border:0; background:transparent; color:var(--accent); font:700 10px/1 var(--grotesk); text-transform:uppercase; letter-spacing:.1em; }
.muted { color:var(--muted); }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; border:1.5px solid var(--line); border-right:0; border-left:0; }
.metric { min-height:156px; padding:34px max(24px,calc((100vw - var(--maxw))/8 + 24px)); border:0; border-top:5px solid var(--accent); }
.metric+.metric { border-left:1px solid var(--line); }
.metric strong { display:block; font:800 clamp(30px,3vw,43px)/.9 var(--archivo); font-variant-numeric:tabular-nums; }
.metric span { display:block; margin-top:14px; color:var(--muted); font:600 10px/1.2 var(--grotesk); text-transform:uppercase; letter-spacing:.13em; }
.chart-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; margin:72px var(--gutter); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.chart-grid>.panel { grid-column:span 3; border-width:0 1px 1px 0; padding:32px; }
.chart-grid>.wide { grid-column:span 4; }
.chart-grid>.panel:nth-child(2) { grid-column:span 2; }
.chart { min-height:280px; display:flex; align-items:end; gap:4px; padding:20px 0 28px; overflow:hidden; }
.chart.compact { min-height:250px; }
.bar-wrap { flex:1; min-width:3px; height:230px; display:flex; align-items:end; position:relative; }
.bar { width:100%; min-height:2px; background:var(--accent); opacity:.82; }
.bar:hover { opacity:1; }
.axis-label { position:absolute; left:0; bottom:-23px; color:var(--muted); font:600 9px/1 var(--grotesk); white-space:nowrap; }
.bar-wrap:last-child .axis-label { left:auto; right:0; }
.ranking { margin:4px 0 0; padding:0; list-style:none; counter-reset:rank; }
.ranking li { counter-increment:rank; display:grid; grid-template-columns:28px 1fr auto; gap:9px; padding:10px 0; border-bottom:1px solid var(--hair); }
.ranking li::before { content:counter(rank,decimal-leading-zero); color:var(--accent); font:700 10px/1.5 var(--grotesk); }
.ranking small { display:block; color:var(--muted); }
.ranking b { font-variant-numeric:tabular-nums; }
.song-stations { margin:0 var(--gutter) 72px; padding:0; overflow:hidden; }
.song-stations-head { display:flex; align-items:end; justify-content:space-between; gap:32px; padding:28px 30px; border-bottom:1px solid var(--line); }
.song-stations-head>p { max-width:430px; margin:0; color:var(--muted); text-align:right; }
.song-stations-wrap { overflow-x:auto; }
.song-stations-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.song-stations-table th,.song-stations-table td { padding:14px 18px; border-bottom:1px solid var(--hair); text-align:right; white-space:nowrap; }
.song-stations-table th { color:var(--muted); font:700 9px/1.2 var(--grotesk); letter-spacing:.11em; text-transform:uppercase; }
.song-stations-table th:first-child,.song-stations-table td:first-child,.song-stations-table th:nth-child(2),.song-stations-table td:nth-child(2) { text-align:left; }
.song-stations-table td:nth-child(2) { min-width:290px; }
.song-stations-table a { color:inherit; text-decoration:none; }
.song-stations-table a:hover { color:var(--accent); }
.station-rank { color:var(--accent); font:700 11px/1 var(--grotesk); }
.station-share { display:inline-block; width:90px; height:5px; margin-right:10px; background:var(--hair); vertical-align:middle; }
.station-share i { display:block; height:100%; background:var(--accent); }
.play-log-panel { margin:0 var(--gutter) 72px; padding:0; overflow:hidden; }
.play-log-head { display:flex; align-items:end; justify-content:space-between; gap:32px; padding:28px 30px; border-bottom:1px solid var(--line); }
.play-log-head h2 { margin:0; }
.play-log-head>p { max-width:430px; margin:0; color:var(--muted); text-align:right; }
.play-log-wrap { max-height:680px; overflow:auto; }
.play-log-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.play-log-table thead { position:sticky; top:0; z-index:2; background:var(--surface); }
.play-log-table th,.play-log-table td { padding:13px 18px; border-bottom:1px solid var(--hair); text-align:left; vertical-align:top; }
.play-log-table th { color:var(--muted); font:700 9px/1.2 var(--grotesk); letter-spacing:.11em; text-transform:uppercase; white-space:nowrap; }
.play-log-table td:first-child { width:170px; color:var(--muted); white-space:nowrap; }
.play-log-table td:nth-child(2) { width:260px; }
.play-log-table a { color:inherit; text-decoration:none; }
.play-log-table a:hover { color:var(--accent); }
.play-log-panel>.secondary { margin:18px auto; }
footer { padding:22px var(--gutter) 46px; border-top:1.5px solid var(--line); color:var(--muted); font:500 10px/1.4 var(--grotesk); text-transform:uppercase; letter-spacing:.1em; }
footer a { color:var(--ink); text-underline-offset:4px; }
.error { padding:24px; color:var(--danger); }
.rates-hero { min-height:430px; padding:76px var(--gutter) 58px; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.55fr); align-items:end; gap:60px; position:relative; overflow:hidden; }
.rates-hero::after { content:'€'; position:absolute; top:-95px; right:var(--gutter); color:color-mix(in srgb,var(--accent) 8%,transparent); font:900 390px/1 var(--archivo); pointer-events:none; }
.rates-hero>div { position:relative; z-index:1; }
.rates-hero h1 { font-size:clamp(58px,7.6vw,108px); }
.rates-lead { padding:72px var(--gutter) 38px; display:grid; grid-template-columns:1.35fr .65fr; align-items:end; gap:70px; }
.rates-lead h2 { font-size:clamp(42px,5vw,68px); line-height:.94; }
.rates-control { display:grid; grid-template-columns:150px 1fr; align-items:end; gap:24px; padding:18px; }
.rates-control p { margin:0 0 5px; color:var(--muted); }
.rates-summary { margin-top:0; }
.rates-board { margin:72px var(--gutter); }
.rates-board-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:24px; }
.rates-board-head>p { max-width:430px; margin:0; color:var(--muted); text-align:right; }
.rate-table-wrap { padding:0; overflow-x:auto; }
.rate-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.rate-table th { padding:15px 16px; color:var(--muted); border-bottom:1px solid var(--line); font:700 9px/1.2 var(--grotesk); letter-spacing:.12em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.rate-table td { padding:17px 16px; border-bottom:1px solid var(--hair); vertical-align:middle; white-space:nowrap; }
.rate-table tbody tr:last-child td { border-bottom:0; }
.rate-table tbody tr:hover { background:color-mix(in srgb,var(--accent) 6%,transparent); }
.rate-table tbody tr.fallback-rate { color:var(--muted); }
.rate-table tbody tr.fallback-rate .rate-rank,.rate-table tbody tr.fallback-rate .rating-cell i { color:var(--muted); background:var(--muted); }
.rate-table tbody tr.fallback-rate td:nth-child(n+3) { opacity:.78; }
.rate-table td:nth-child(n+3),.rate-table th:nth-child(n+3) { text-align:right; }
.rate-table td:nth-child(2) { min-width:270px; white-space:normal; }
.rate-table td:nth-child(2) a { text-decoration:none; }
.rate-table td:nth-child(2) a:hover { color:var(--accent); }
.rate-table small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }
.rate-rank { color:var(--accent); font:700 11px/1 var(--grotesk); }
.rating-cell { min-width:126px; display:flex; align-items:center; justify-content:flex-end; gap:11px; }
.rating-cell b { min-width:22px; font:800 19px/1 var(--archivo); }
.rating-cell span { width:76px; height:6px; background:var(--hair); }
.rating-cell i { display:block; height:100%; background:var(--accent); }
.rate-footnote { margin:12px 0 0; color:var(--muted); font-size:12px; }
.method-grid { display:grid; grid-template-columns:1fr 1fr; margin:0 var(--gutter) 72px; }
.method-grid .panel { min-height:250px; padding:34px; }
.method-grid .panel+.panel { border-left:0; }
.method-grid h2 { margin-bottom:50px; font-size:42px; }
.method-grid p:last-child { max-width:520px; margin:0; color:var(--muted); font-size:15px; }
.method-grid strong { color:var(--ink); }
.unknown-rates { margin:0 var(--gutter) 72px; border-top:1px solid var(--line); }
.unknown-rates summary { display:flex; justify-content:space-between; gap:20px; padding:24px 0; cursor:pointer; font:700 16px/1.2 var(--archivo); }
.unknown-rates details>p { color:var(--muted); }
.unknown-list { display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding:10px 0 34px; }
.unknown-list a { padding:9px 12px 9px 0; border-bottom:1px solid var(--hair); color:var(--muted); text-decoration:none; }
.unknown-list a:hover { color:var(--accent); }
.ether-hero { min-height:430px; padding:76px var(--gutter) 58px; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.55fr); align-items:end; gap:60px; position:relative; overflow:hidden; }
.ether-hero::after { content:'FM'; position:absolute; top:-80px; right:var(--gutter); color:color-mix(in srgb,var(--accent) 8%,transparent); font:900 300px/1 var(--archivo); letter-spacing:-.1em; pointer-events:none; }
.ether-hero>div { position:relative; z-index:1; }
.ether-hero h1 { font-size:clamp(58px,7.6vw,108px); }
.ether-lead { padding:72px var(--gutter) 38px; display:grid; grid-template-columns:1fr 1.25fr; align-items:end; gap:70px; }
.ether-lead h2 { font-size:clamp(42px,5vw,68px); line-height:.94; }
.ether-controls { display:grid; grid-template-columns:repeat(4,minmax(96px,1fr)) minmax(138px,auto) minmax(112px,auto); align-items:stretch; padding:0; }
.ether-controls label { min-height:82px; padding:14px; border-right:1px solid var(--hair); }
.ether-controls button { align-self:stretch; min-height:82px; height:100%; margin:0; padding:0 20px; border:0; border-left:1px solid var(--hair); white-space:nowrap; }
.ether-controls .secondary { margin:0; border-left:1px solid var(--hair); }
.ether-summary { margin-top:0; }
.ether-board { margin:72px var(--gutter); }
.ether-board-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:24px; }
.ether-board-head>p { max-width:430px; margin:0; color:var(--muted); text-align:right; }
.ether-board-key { max-width:480px; color:var(--muted); text-align:right; }
.ether-board-key>p { margin:0; }
.ether-legend { display:flex; align-items:center; justify-content:flex-end; gap:7px; margin-top:10px; font:700 9px/1 var(--grotesk); letter-spacing:.09em; text-transform:uppercase; }
.ether-legend span { width:18px; height:4px; margin-left:10px; }
.ether-legend .known { background:var(--accent); }
.ether-legend .no-rate { background:var(--artist-b); }
.ether-podium { display:grid; grid-template-columns:1.2fr 1fr 1fr; margin-bottom:20px; }
.ether-podium article { min-height:190px; padding:24px; border-top:5px solid var(--accent); }
.ether-podium article+article { border-left:0; }
.ether-podium span { color:var(--accent); font:700 11px/1 var(--grotesk); }
.ether-podium h3 { margin:25px 0 12px; font:800 clamp(24px,2.5vw,38px)/.98 var(--archivo); letter-spacing:-.03em; }
.ether-podium h3 a { text-decoration:none; }
.ether-podium h3 a:hover { color:var(--accent); }
.ether-podium strong { display:block; font:800 22px/1 var(--archivo); font-variant-numeric:tabular-nums; }
.ether-podium small { display:block; margin-top:6px; color:var(--muted); }
.ether-table-wrap { padding:0; overflow-x:auto; }
.ether-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.ether-table th,.ether-table td { padding:14px 16px; border-bottom:1px solid var(--hair); text-align:right; white-space:nowrap; }
.ether-table th { color:var(--muted); font:700 9px/1.2 var(--grotesk); letter-spacing:.11em; text-transform:uppercase; }
.ether-table th:first-child,.ether-table td:first-child,.ether-table th:nth-child(2),.ether-table td:nth-child(2) { text-align:left; }
.ether-table td:nth-child(2) { min-width:320px; white-space:normal; }
.ether-table td:nth-child(2) a { color:inherit; text-decoration:none; }
.ether-table td:nth-child(2) a:hover { color:var(--accent); }
.ether-airplay-bar { display:block; width:var(--total); max-width:100%; height:5px; margin-top:7px; background:var(--artist-b); position:relative; overflow:visible; cursor:help; font-style:normal; }
.ether-airplay-bar span { display:block; width:var(--known); height:100%; background:var(--accent); }
.ether-airplay-bar:hover::after,.ether-airplay-bar:focus::after { content:attr(data-tip); position:absolute; z-index:30; bottom:13px; left:0; width:max-content; max-width:min(540px,75vw); padding:9px 11px; color:var(--bg); background:var(--ink); box-shadow:0 6px 18px color-mix(in srgb,var(--ink) 20%,transparent); font:700 10px/1.35 var(--grotesk); letter-spacing:.04em; white-space:normal; }
.ether-airplay-bar:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ether-table tbody tr:hover { background:color-mix(in srgb,var(--accent) 6%,transparent); }
.ether-rank { color:var(--accent); font:700 11px/1 var(--grotesk); }
.ether-note { margin:12px 0 0; color:var(--muted); font-size:12px; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.ticker span{animation:none} }
@media (max-width:980px) {
  :root { --pad:28px; }
  .hero-heading { min-height:360px; grid-template-columns:1.35fr .65fr; }
  .section-intro { grid-template-columns:1fr 1fr; gap:32px; }
  .filters { position:static; grid-template-columns:1fr 1fr; }
  .filters label:first-child,.filters label:nth-child(4) { grid-column:span 2; }
  .filters label:nth-child(even) { border-right:0; }
  .filters button { width:calc(100% - 24px); min-height:44px; margin:12px; border:1px solid var(--line); }
  .compare-controls { grid-template-columns:1fr 58px 1fr; }
  .compare-controls button { grid-column:1/-1; width:calc(100% - 24px); min-height:44px; margin:12px; border:1px solid var(--line); }
  .score-grid { grid-template-columns:1fr 1fr; }
  .metrics { grid-template-columns:1fr 1fr; }
  .metric:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
  .metric:nth-child(4) { border-top:1px solid var(--line); }
  .chart-grid { grid-template-columns:1fr; }
  .chart-grid>.panel,.chart-grid>.wide,.chart-grid>.panel:nth-child(2) { grid-column:auto; }
  .rates-hero { grid-template-columns:1.35fr .65fr; }
  .rates-lead { grid-template-columns:1fr 1fr; gap:32px; }
  .rates-control { grid-template-columns:1fr; }
  .unknown-list { grid-template-columns:repeat(2,1fr); }
  .ether-hero { grid-template-columns:1.35fr .65fr; }
  .ether-lead { grid-template-columns:1fr; gap:32px; }
  .ether-controls { grid-template-columns:1fr 1fr; }
  .ether-controls label:nth-child(even) { border-right:0; }
  .ether-controls button { grid-column:1; width:auto; min-height:62px; }
  .ether-controls .secondary { grid-column:2; margin:0; }
}
@media (max-width:680px) {
  :root { --pad:20px; }
  .masthead { grid-template-columns:1fr auto; min-height:62px; }
  nav { display:none; }
  .hero-heading { min-height:470px; padding-top:52px; grid-template-columns:1fr; align-content:space-between; gap:54px; }
  .hero-heading::after { top:-20px; right:12px; font-size:170px; }
  h1 { font-size:clamp(58px,20vw,94px); }
  .hero-meta>p:first-child { margin-bottom:24px; }
  .section-intro { padding:54px var(--pad) 28px; grid-template-columns:1fr; gap:24px; }
  .section-intro h2 { font-size:44px; }
  .section-intro>p { font-size:15px; }
  .filters { margin:0 var(--pad) 54px; }
  .filters { grid-template-columns:1fr; }
  .filters label,.filters label:first-child,.filters label:nth-child(4) { grid-column:auto; border-right:0; border-bottom:1px solid var(--hair); }
  .filters button { width:calc(100% - 24px); }
  .section-title { align-items:flex-start; flex-direction:column; }
  .section-title>.muted { text-align:left; }
  .compare { padding:54px var(--pad); }
  .compare-controls { grid-template-columns:1fr; }
  .compare-controls label { border-bottom:1px solid var(--hair); }
  .versus { min-height:42px; border:0; border-bottom:1px solid var(--hair); }
  .compare-controls button { grid-column:auto; }
  .compare-scorecards,.compare-details,.earnings-totals { grid-template-columns:1fr; }
  .artist-score+.artist-score,.artist-detail+.artist-detail,.earnings-totals article+article { border-left:0; border-top:1px solid var(--line); }
  .earnings-head { align-items:start; flex-direction:column; }
  .earnings-head>p { text-align:left; }
  .metrics { grid-template-columns:1fr; }
  .metric+.metric,.metric:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
  .chart-grid { margin:54px var(--pad); }
  .chart-grid>.panel { padding:22px 18px; }
  .song-stations,.play-log-panel { margin:0 var(--pad) 54px; }
  .song-stations-head { align-items:flex-start; flex-direction:column; padding:24px 18px; }
  .song-stations-head>p { text-align:left; }
  .play-log-head { align-items:flex-start; flex-direction:column; padding:24px 18px; }
  .play-log-head>p { text-align:left; }
  .play-log-table th,.play-log-table td { padding:12px 14px; }
  .rates-hero { min-height:470px; padding:52px var(--pad); grid-template-columns:1fr; align-content:space-between; gap:54px; }
  .rates-hero::after { top:-30px; right:12px; font-size:260px; }
  .rates-hero h1 { font-size:clamp(50px,16vw,78px); }
  .rates-lead { padding:54px var(--pad) 28px; grid-template-columns:1fr; gap:28px; }
  .rates-lead h2 { font-size:44px; }
  .rates-board { margin:54px var(--pad); }
  .rates-board-head { align-items:flex-start; flex-direction:column; }
  .rates-board-head>p { text-align:left; }
  .method-grid { grid-template-columns:1fr; margin:0 var(--pad) 54px; }
  .method-grid .panel+.panel { border-top:0; border-left:1px solid var(--line); }
  .method-grid h2 { margin-bottom:30px; }
  .unknown-rates { margin:0 var(--pad) 54px; }
  .unknown-list { grid-template-columns:1fr; }
  .ether-hero { min-height:470px; padding:52px var(--pad); grid-template-columns:1fr; align-content:space-between; gap:54px; }
  .ether-hero::after { top:-25px; right:12px; font-size:190px; }
  .ether-hero h1 { font-size:clamp(50px,16vw,78px); }
  .ether-lead { padding:54px var(--pad) 28px; grid-template-columns:1fr; gap:28px; }
  .ether-lead h2 { font-size:44px; }
  .ether-controls { grid-template-columns:1fr; }
  .ether-controls label,.ether-controls label:nth-child(even) { border-right:0; border-bottom:1px solid var(--hair); }
  .ether-controls button,.ether-controls .secondary { grid-column:auto; width:auto; min-height:56px; margin:0; }
  .ether-board { margin:54px var(--pad); }
  .ether-board-head { align-items:flex-start; flex-direction:column; }
  .ether-board-head>p { text-align:left; }
  .ether-board-key { text-align:left; }
  .ether-legend { justify-content:flex-start; }
  .ether-podium { grid-template-columns:1fr; }
  .ether-podium article+article { border-top:0; border-left:1px solid var(--line); }
}
