:root {
  --orange:#ff5500;
  --orange-soft:#fff1e9;
  --ink:#171717;
  --muted:#6d6d73;
  --line:#e8e8eb;
  --paper:#fff;
  --wash:#f5f5f7;
  --blue:#176b8d;
  --radius:18px;
  --shadow:0 8px 28px rgba(20,20,24,.08);
}
*{box-sizing:border-box}
html{background:#070b12;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:transparent;position:relative;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(rgba(4,8,14,.64),rgba(4,8,14,.78)),url("outthere-background.webp") 50% 50%/cover no-repeat}
button,input,select{font:inherit}
button{touch-action:manipulation}
.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:rgba(17,17,17,.96);color:#fff;backdrop-filter:blur(18px)}
.brand-mark{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:13px;background:var(--orange);color:#fff;display:grid;place-items:center;box-shadow:0 5px 16px rgba(255,85,0,.35);cursor:pointer;transition:transform .15s,filter .15s}
.brand-mark:active{transform:scale(.94);filter:brightness(.9)}
.brand-mark:focus-visible{outline:3px solid #fff;outline-offset:2px}
.brand-mark svg{width:27px;height:27px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.brand-mark circle{fill:#fff;stroke:none}
.update-progress{position:absolute;z-index:2;left:0;right:0;bottom:0;height:3px;overflow:hidden;background:rgba(255,255,255,.18)}
.update-progress[hidden]{display:none}
.update-progress span{display:block;width:38%;height:100%;background:#ff8a4d;box-shadow:0 0 9px rgba(255,138,77,.8);animation:update-sweep .85s ease-in-out infinite}
.is-updating .brand-mark svg{animation:update-pulse .65s ease-in-out infinite alternate}
@keyframes update-sweep{from{transform:translateX(-110%)}to{transform:translateX(290%)}}
@keyframes update-pulse{to{transform:scale(.82);opacity:.62}}
.brand-copy{min-width:0;flex:1}
.brand-copy p{margin:0 0 2px;color:#bfc0c4;font-size:10px;font-weight:800;letter-spacing:.13em}
.brand-copy h1{font-size:20px;line-height:1.05;margin:0;letter-spacing:-.04em}
.brand-copy h1 span{color:var(--orange);font-weight:650}
.project-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:12px;background:#2a2a2d;border:1px solid #48484c}
.project-switch button{border:0;border-radius:9px;background:transparent;color:#bfc0c4;min-height:36px;padding:0 11px;font-size:11px;font-weight:850;white-space:nowrap}
.project-switch button.active{background:var(--orange);color:#fff;box-shadow:0 3px 10px rgba(255,85,0,.3)}
.follower-strip{display:flex;align-items:stretch;gap:7px;margin-left:auto}
.follower-chip{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label trend" "value trend";column-gap:8px;min-width:112px;padding:7px 9px;border:1px solid #444;border-radius:12px;background:#252528;color:#fff}
.follower-platform{grid-area:label;color:#c6c7cb;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.follower-total{grid-area:value;font-size:18px;font-weight:900;line-height:1.15;font-variant-numeric:tabular-nums}
.follower-change{grid-area:trend;align-self:center;display:flex;align-items:center;gap:3px;font-size:12px;font-weight:850;font-variant-numeric:tabular-nums}
.follower-change.up{color:#53e28d}.follower-change.down{color:#ff7272}.follower-change.flat{color:#b9bbc1}
.follower-change small{font-size:9px;font-weight:700;letter-spacing:.02em}
.follower-chip.total{border-color:#ff7a35;background:linear-gradient(135deg,#7b2b07,#a33c0b);box-shadow:0 4px 14px rgba(255,85,0,.2)}
.follower-chip.total .follower-platform{color:#ffd8c4}.follower-chip.total .follower-change.combined{color:#ffd8c4}
.icon-button{border:1px solid #555;background:#2a2a2d;color:#fff;border-radius:12px;width:44px;height:44px;font-size:22px}
.refresh-button{font-size:24px;font-weight:700}
.refresh-button:active{transform:rotate(35deg);background:#3a3a3d}
.metric-explainer{flex:0 0 100%;margin:0;color:#c7c9cd;font-size:11px;line-height:1.35;text-align:right}
.metric-explainer strong{color:#fff}
.app-shell{max-width:1120px;margin:0 auto;padding:18px 14px calc(94px + env(safe-area-inset-bottom))}
.loading-card,.empty-card{min-height:220px;background:#fff;border-radius:var(--radius);display:grid;place-items:center;text-align:center;color:var(--muted);box-shadow:var(--shadow)}
.pulse{width:48px;height:48px;border:5px solid var(--orange-soft);border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.eyebrow{margin:0 0 7px;color:var(--orange);font-weight:850;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:6px 0 16px;padding:14px;background:rgba(12,16,23,.82);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:18px;backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.page-heading h2{font-size:30px;line-height:1;margin:0;letter-spacing:-.055em}
.page-heading p:not(.eyebrow){margin:7px 0 0;color:#d0d3d8;font-size:13px}
.date-pill{white-space:nowrap;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 11px;font-size:11px}
.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px;min-height:105px;box-shadow:0 4px 16px rgba(20,20,24,.04);position:relative;overflow:hidden}
.kpi.primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.kpi.primary .kpi-label,.kpi.primary .kpi-note{color:rgba(255,255,255,.82)}
.kpi .accent{position:absolute;width:54px;height:54px;border:13px solid rgba(255,255,255,.16);border-radius:50%;right:-10px;top:-11px}
.kpi-label{display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.kpi-value{display:block;font-size:29px;line-height:1.1;font-weight:850;letter-spacing:-.055em;margin-top:8px}
.kpi-note{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.section-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 20px rgba(20,20,24,.045);margin:0 0 14px;overflow:hidden}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 10px}
.section-head h3{font-size:18px;letter-spacing:-.035em;margin:0}
.section-head p{font-size:12px;color:var(--muted);margin:3px 0 0}
.text-link{border:0;background:transparent;color:var(--orange);font-weight:800;padding:10px 0}
.bar-chart{padding:4px 16px 17px;display:grid;gap:12px}
.bar-row{display:grid;grid-template-columns:minmax(105px,1fr) minmax(100px,2.2fr) auto;align-items:center;gap:9px;font-size:12px}
.bar-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.bar-track{height:9px;background:#ececef;border-radius:99px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--orange),#ff8b4d);border-radius:inherit;min-width:3px}
.bar-fill.blue{background:linear-gradient(90deg,var(--blue),#52a8ca)}
.bar-value{display:grid;justify-items:end;font-variant-numeric:tabular-nums;font-weight:750;color:#555;line-height:1.2}
.bar-forecast{display:block;margin-top:3px;color:#a63a00;font-size:12px;font-weight:850;white-space:nowrap}
.pie-chart{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(260px,1.5fr);gap:18px;align-items:center;padding:8px 16px 18px}
.pie-visual{position:relative;width:min(100%,250px);aspect-ratio:1;margin:auto;border-radius:50%;background:#ececef;box-shadow:0 12px 28px rgba(20,20,24,.12);color:inherit}
.pie-svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;border-radius:50%;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.pie-segment{cursor:pointer;pointer-events:stroke;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:stroke-width .18s ease,filter .18s ease;outline:none}.pie-segment:hover,.pie-segment:focus,.pie-segment.selected,.pie-segment.pressed{stroke-width:36;filter:brightness(1.08) drop-shadow(0 2px 3px rgba(0,0,0,.22))}.pie-slice-label{fill:#fff;font-family:system-ui,-apple-system,sans-serif;font-weight:950;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:rgba(0,0,0,.65);stroke-width:.75px;stroke-linejoin:round}.pie-center{position:absolute;z-index:2;inset:24%;display:grid;place-content:center;padding:8px;border:1px solid #ececef;border-radius:50%;background:#fff;color:inherit;text-align:center;cursor:pointer;box-shadow:inset 0 0 0 1px #f5f5f6}.pie-center:focus-visible{outline:3px solid rgba(255,85,0,.35);outline-offset:2px}
.pie-visual strong{font-size:24px;letter-spacing:-.05em}.pie-visual span{margin-top:2px;color:var(--muted);font-size:12px;font-weight:750}.pie-visual em{margin-top:7px;color:var(--orange);font-size:10px;font-style:normal;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.pie-tap-popup{position:fixed;z-index:100;left:50%;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%,-16px);display:grid;width:min(620px,calc(100vw - 24px));gap:8px;padding:18px 20px 21px;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:19px;background:rgba(20,20,23,.98);color:#fff;text-align:left;pointer-events:none;opacity:0;box-shadow:0 18px 50px rgba(0,0,0,.45);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.pie-tap-popup[hidden]{display:none}.pie-tap-popup.show{opacity:1;transform:translate(-50%,0);animation:piePopupIn .18s ease-out}.pie-tap-popup>span{margin:0;color:#ff9c66;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.pie-tap-popup>strong{font-size:22px;line-height:1.2;letter-spacing:-.025em}.pie-tap-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:3px}.pie-tap-values>div{display:grid;min-width:0;gap:4px}.pie-tap-values>div>span{color:#bcbcc4;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.pie-tap-popup b{font-size:27px;line-height:1;font-variant-numeric:tabular-nums}.pie-tap-values>div>small{color:#ffb58d;font-size:11px;line-height:1.25}.pie-tap-popup em{align-self:center;margin:0;padding:7px 9px;border-radius:9px;background:#ff5500;color:#fff;font-size:15px;font-style:normal;font-weight:900}.pie-tap-popup>small{color:#d4d4da;font-size:12px;line-height:1.35}@media(max-width:430px){.pie-tap-values{grid-template-columns:1fr 1fr}.pie-tap-popup em{position:absolute;right:18px;top:17px}.pie-tap-popup b{font-size:24px}.pie-tap-values>div>span{font-size:10px}}@keyframes piePopupIn{from{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%,0)}}
.pie-legend{display:grid;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}
.pie-legend-row{width:100%;display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border:0;border-bottom:1px solid var(--line);background:#fff;color:inherit;text-align:left;cursor:pointer}.pie-legend-row:last-child{border-bottom:0}.pie-legend-row:active{background:#fff4ed}.pie-legend-row>i{width:11px;height:11px;border-radius:4px}.pie-legend-row>span{min-width:0}.pie-legend-row>span>strong{display:block;font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pie-legend-row>span>small{display:block;margin-top:3px;color:#a63a00;font-size:12px;font-weight:750;line-height:1.3}.pie-legend-row>b{display:grid;justify-items:end;font-size:14px;font-variant-numeric:tabular-nums}.pie-legend-row>b small{margin-top:2px;color:var(--muted);font-size:12px;font-weight:650}.pie-empty{padding:28px 16px;color:var(--muted);font-size:14px;text-align:center}
.pie-detail-panel{grid-column:1/-1;border:1px solid #ffd0b8;border-radius:16px;background:#fff8f4;overflow:hidden;box-shadow:0 9px 24px rgba(89,38,12,.09)}.pie-detail-panel[hidden]{display:none}.pie-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;background:#fff0e7}.pie-detail-head strong,.pie-detail-head span{display:block}.pie-detail-head strong{font-size:17px}.pie-detail-head span{margin-top:3px;color:var(--muted);font-size:11px}.pie-detail-head button{border:0;border-radius:10px;background:var(--orange);color:#fff;min-height:38px;padding:0 13px;font-weight:800}.pie-selected-summary{display:grid;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:15px 14px;border-top:1px solid #f1ddd1;background:#fff}.pie-selected-summary[hidden]{display:none}.pie-selected-summary>i{width:15px;height:48px;border-radius:6px}.pie-selected-summary>div{min-width:0}.pie-selected-summary span,.pie-selected-summary strong,.pie-selected-summary small{display:block}.pie-selected-summary span{color:var(--orange);font-size:11px;font-weight:850;text-transform:uppercase}.pie-selected-summary strong{margin-top:3px;font-size:16px;line-height:1.25}.pie-selected-summary small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.3}.pie-selected-summary>b{font-size:18px;font-variant-numeric:tabular-nums}.pie-selected-summary>em{padding:5px 7px;border-radius:8px;background:var(--orange-soft);color:#a63a00;font-size:12px;font-style:normal;font-weight:850}.pie-detail-list{display:grid}.pie-detail-row{display:grid;grid-template-columns:28px 12px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 13px;border-top:1px solid #f1ddd1}.pie-detail-row.selected{background:#fff0e7}.pie-detail-rank{color:#8d8d93;font-size:12px;font-weight:800;text-align:center}.pie-detail-row>i{width:12px;height:12px;border-radius:4px}.pie-detail-row>strong{font-size:14px;line-height:1.3}.pie-detail-row>b{display:grid;justify-items:end;font-size:15px;font-variant-numeric:tabular-nums}.pie-detail-row>b small{color:var(--muted);font-size:11px}
.map-chart{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(239,248,252,.72))}
.map-chart::before{content:"";position:absolute;z-index:-1;inset:8px 14px 20px;background:url("https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/BlankMap-World-Flattened.svg/960px-BlankMap-World-Flattened.svg.png") center/contain no-repeat;opacity:.12;filter:grayscale(1) contrast(.8)}
.map-chart .bar-track{background:rgba(225,226,230,.8)}
.map-chart .pie-chart{background:rgba(255,255,255,.55)}
.map-credit{display:block;position:relative;z-index:1;margin:-8px 16px 10px;color:#8a8b90;font-size:12px;text-align:right;text-decoration:none}
.highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 16px 16px}
.highlight{border-radius:14px;background:var(--wash);padding:13px;min-height:86px}
.highlight strong{font-size:19px;display:block;letter-spacing:-.04em}
.highlight span{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.3}
.search-wrap{position:relative;margin:0 0 12px}
.search-wrap input{width:100%;height:48px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:0 44px 0 43px;outline:none;box-shadow:0 4px 16px rgba(20,20,24,.035)}
.search-wrap input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,85,0,.12)}
.search-wrap::before{content:"⌕";position:absolute;left:16px;top:10px;font-size:23px;color:#777}
.search-count{position:absolute;right:14px;top:16px;color:var(--muted);font-size:11px}
.song-list{display:grid;gap:9px}
.song-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;color:inherit;box-shadow:0 3px 12px rgba(20,20,24,.035);overflow:hidden}
.song-card-main{min-width:0;text-align:left;border:0;background:#fff;padding:13px 10px 13px 14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;color:inherit}
.song-card-main:active{background:#fffaf7}
.song-play-button,.song-play-pending{align-self:stretch;min-width:70px;border:0;border-left:1px solid var(--line);display:grid;place-items:center;padding:9px 11px;font:850 12px system-ui,-apple-system,sans-serif}
.song-play-button{background:var(--orange);color:#fff;cursor:pointer}.song-play-button:active{background:#d94800}.song-play-button::before{content:"▶";margin-bottom:3px;font-size:15px}
.song-play-pending{background:#f3f3f5;color:#777;font-size:10px;line-height:1.25;text-align:center}
.rank-badge{width:34px;height:34px;border-radius:11px;background:var(--orange-soft);color:var(--orange);display:grid;place-items:center;font-weight:850;font-size:12px}
.song-info{min-width:0}
.song-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;letter-spacing:-.02em}
.song-info span{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.song-info .song-forecast{display:block;margin-top:7px;color:#a63a00;font-size:12px;font-style:normal;font-weight:750;line-height:1.35;white-space:normal}
.song-forecast b{display:inline-block;margin-right:4px;color:#fff;background:var(--orange);border-radius:999px;padding:2px 6px;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
.forecast-control{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 16px 14px;padding:13px 14px;border:1px solid #ffd0b8;border-radius:16px;background:linear-gradient(135deg,#fff8f4,#fff);box-shadow:0 8px 22px rgba(89,38,12,.07)}
.forecast-control>div{display:grid;gap:3px}.forecast-control strong{font-size:15px}.forecast-control span{color:var(--muted);font-size:12px;line-height:1.3}
.forecast-control select{min-width:112px;min-height:44px;border:1px solid #ffb58d;border-radius:12px;background:#fff;color:#8b3100;padding:0 34px 0 12px;font:800 15px/1 system-ui,-apple-system,sans-serif}
.audience-forecast{margin:0 0 15px;border:1px solid #ffd0b8;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(89,38,12,.07);overflow:hidden}
.audience-forecast-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 15px 10px;background:linear-gradient(125deg,#fff2ea,#fff)}
.audience-forecast-head span{color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.audience-forecast-head h3{margin:3px 0 0;font-size:18px}.audience-forecast-head small{max-width:145px;color:var(--muted);font-size:12px;line-height:1.35;text-align:right}
.audience-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px}.audience-forecast-grid article{padding:12px;border-radius:13px;background:#fff3ec}.audience-forecast-grid article>span,.audience-forecast-grid article>strong,.audience-forecast-grid article>small{display:block}.audience-forecast-grid article>span{color:#88401c;font-size:12px;font-weight:850;text-transform:uppercase}.audience-forecast-grid article>strong{margin:4px 0 2px;color:var(--orange);font-size:25px}.audience-forecast-grid article>small{color:var(--muted);font-size:12px;line-height:1.3}.audience-forecast-grid .spotify-forecast,.audience-forecast-grid .listener-forecast{background:#e9f9ef}.audience-forecast-grid .spotify-forecast>span,.audience-forecast-grid .listener-forecast>span{color:#0b6731}.audience-forecast-grid .spotify-forecast>strong,.audience-forecast-grid .listener-forecast>strong{color:#087a35}.audience-forecast>p{margin:0;padding:0 14px 13px;color:var(--muted);font-size:12px;line-height:1.4}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.admin-button{text-decoration:none;color:inherit}
.manual-button{text-decoration:none;color:inherit;display:grid;place-items:center;font-size:20px;font-weight:900}
.song-date-panel{margin:0 16px 14px;padding:14px;border:1px solid #ffd0b8;border-radius:17px;background:#fff8f4}.song-date-panel>div:first-child{display:grid;gap:3px;margin-bottom:11px}.song-date-panel>div:first-child strong{font-size:16px}.song-date-panel>div:first-child span{color:var(--muted);font-size:12px;line-height:1.35}.song-date-panel .date-controls{margin:0;padding:0}.song-range-kpis{margin-bottom:14px}
.song-number{text-align:right}
.song-number strong{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.song-number span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.projection-panel{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(90px,1fr));gap:8px;margin:0 0 12px;padding:12px;border:1px solid #ffd1bd;border-radius:16px;background:linear-gradient(135deg,#fff4ee,#fff)}
.projection-panel>p,.projection-panel>div{margin:0;border-radius:11px;padding:10px;background:rgba(255,255,255,.82)}
.projection-panel p strong,.projection-panel p span,.projection-panel div strong,.projection-panel div span{display:block}
.projection-panel p strong{font-size:16px}.projection-panel p span{margin-top:4px;color:var(--muted);font-size:12px}
.projection-panel div strong{color:var(--orange);font-size:23px;letter-spacing:-.04em}.projection-panel div span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}
.projection-panel .spotify-projection strong{color:#087a35}
.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#e9e9ec;border-radius:13px;padding:3px;margin:0 0 12px}
.segmented button{border:0;background:transparent;min-height:40px;border-radius:10px;color:#666;font-size:12px;font-weight:750}
.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px rgba(20,20,24,.1)}
.data-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.data-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.data-row:last-child{border:0}
.data-rank{color:#9a9aa0;font-size:11px;font-weight:800;text-align:center}
.data-name{min-width:0}
.data-name strong,.data-name a{display:block;color:inherit;text-decoration:none;font-size:14px;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.listener-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font-size:14px;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-name small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.data-value{text-align:right;font-variant-numeric:tabular-nums}
.data-value strong{display:block;font-size:14px}
.data-value small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.detail-hero{background:linear-gradient(145deg,#151515,#2a2929);color:#fff;border-radius:21px;padding:18px;margin-bottom:12px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.detail-hero::after{content:"";position:absolute;width:170px;height:170px;border:38px solid rgba(255,85,0,.13);border-radius:50%;right:-65px;top:-78px}
.back-button{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:12px;min-height:40px;padding:0 12px;font-weight:700;position:relative;z-index:1}
.detail-hero h2{font-size:31px;line-height:1;letter-spacing:-.06em;margin:25px 0 7px;position:relative;z-index:1;max-width:80%}
.detail-hero p{color:#bcbcc1;font-size:12px;margin:0;position:relative;z-index:1}
.detail-actions{display:flex;gap:8px;margin-top:17px;position:relative;z-index:1}
.detail-actions a{color:#fff;text-decoration:none;background:var(--orange);border-radius:12px;min-height:42px;padding:0 13px;display:flex;align-items:center;font-size:12px;font-weight:800}
.detail-actions a.secondary{background:#3b3b3d}
.graph-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:0 0 12px}
.graph-picker button{border:1px solid var(--line);background:#fff;color:#666;border-radius:12px;min-height:42px;padding:8px;font-size:12px;font-weight:750}
.graph-picker button.active{background:var(--orange);border-color:var(--orange);color:#fff}
.listener-song-list{padding:0 16px 14px}
.listener-song-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.listener-song-list>div:last-child{border-bottom:0}
.listener-song-list strong{font-size:13px}
.listener-song-list span{white-space:nowrap;color:var(--muted);font-size:11px}
.comment-list{display:grid;gap:10px}
.comment-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 3px 12px rgba(20,20,24,.035)}
.comment-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.comment-top button{border:0;background:transparent;padding:0;color:var(--orange);font-weight:800;text-align:left;font-size:13px}
.comment-top span{color:var(--muted);font-size:11px;white-space:nowrap}
.comment-author{display:block;margin-top:7px;color:var(--ink);font-weight:800;font-size:14px;text-decoration:none}
.comment-card p{font-size:14px;line-height:1.5;margin:8px 0;color:#333;overflow-wrap:anywhere}
.comment-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:11px}
.comment-meta span{background:var(--wash);border-radius:999px;padding:5px 8px}
.artist-like{color:#a63a00!important;background:var(--orange-soft)!important;font-weight:750}
.date-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 12px}
.date-control{background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px 11px;display:grid;gap:5px}
.date-control span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.date-control input{border:0;background:transparent;color:var(--ink);min-width:0;font-size:14px;font-weight:750;outline:none}
.daily-chart{padding:8px 12px 15px;overflow:hidden}
.chart-title{padding:2px 4px 8px;text-align:left}
.chart-title h4{margin:0;font-size:16px;line-height:1.2;letter-spacing:-.025em}
.chart-title p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.chart-title>span{display:block;margin-top:5px;color:var(--orange);font-size:11px;font-weight:750}
.daily-chart svg{display:block;width:100%;height:auto;overflow:visible}
.daily-chart .grid{stroke:#e5e5e8;stroke-width:1}
.daily-chart .area{fill:rgba(255,85,0,.13)}
.daily-chart .line{fill:none;stroke:var(--orange);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.daily-chart .dot{fill:#fff;stroke:var(--orange);stroke-width:3}
.daily-chart .dot-hit{fill:transparent;stroke:transparent;cursor:pointer}
.daily-chart .chart-point{cursor:pointer;outline:none}
.daily-chart .chart-point.selected .dot{fill:var(--orange)}
.daily-chart .chart-point:focus .dot{stroke-width:5}
.daily-chart .stream-line{fill:none;stroke:#11a64b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.daily-chart .stream-dot{fill:#fff;stroke:#11a64b;stroke-width:3}
.daily-chart .stream-point{cursor:pointer;outline:none}
.daily-chart .stream-point.selected .stream-dot{fill:#11a64b}
.daily-chart .stream-point:focus .stream-dot{stroke-width:5}
.chart-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 4px 8px;font-size:11px;font-weight:800}
.chart-legend span{display:inline-flex;align-items:center;gap:6px}
.chart-legend span::before{content:"";width:18px;height:4px;border-radius:99px;background:var(--orange)}
.chart-legend .spotify-key::before{background:#11a64b}
.daily-axis{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:7px;color:var(--muted);font-size:10px;line-height:1.25;padding:2px 7px}
.daily-axis strong{text-align:center;color:var(--ink)}
.daily-axis span:last-child{text-align:right}
.chart-readout{margin:12px 4px 0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.chart-readout>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;background:var(--orange-soft)}
.chart-readout>div:first-child span{color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.chart-readout>div:first-child strong{font-size:13px;text-align:right}
.chart-song-breakdown{display:grid}
.chart-song-breakdown button,.readout-song{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;font-size:12px}
.chart-song-breakdown button:last-child,.readout-song:last-child{border-bottom:0}
.chart-song-breakdown button span,.readout-song span{font-weight:750}
.chart-song-breakdown button strong,.readout-song strong{white-space:nowrap;color:var(--orange);font-size:12px}
.chart-song-breakdown p{margin:0;padding:12px;color:var(--muted);font-size:12px}
.daily-ranking{display:grid;gap:8px;padding:0 14px 15px}
.daily-rank-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.daily-rank-row:last-child{border-bottom:0}
.daily-rank-row button{border:0;background:transparent;padding:0;text-align:left;color:inherit;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.daily-rank-row strong{font-variant-numeric:tabular-nums}
.detail-tabs{margin-bottom:12px;overflow-x:auto;display:flex;gap:7px;padding:2px;scrollbar-width:none}
.detail-tabs::-webkit-scrollbar{display:none}
.detail-tabs button{border:1px solid var(--line);background:#fff;color:#666;border-radius:999px;padding:10px 15px;white-space:nowrap;font-size:12px;font-weight:750}
.detail-tabs button.active{background:var(--orange);border-color:var(--orange);color:#fff}
.notice{border-left:4px solid var(--orange);background:var(--orange-soft);color:#71402b;border-radius:5px 14px 14px 5px;padding:12px 14px;font-size:11px;line-height:1.45;margin:12px 0}
.load-more{width:100%;min-height:46px;border:0;border-top:1px solid var(--line);background:#fafafa;color:var(--orange);font-weight:800}
.bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(9,minmax(0,1fr));padding:6px 3px calc(6px + env(safe-area-inset-bottom));backdrop-filter:blur(18px)}
.bottom-nav button{border:0;background:transparent;color:#888;min-height:54px;min-width:0;border-radius:12px;font-size:9px;font-weight:750;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}
.bottom-nav button.active{color:var(--orange);background:var(--orange-soft)}
.nav-icon{font-size:20px;line-height:1}
.spotify-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#1ed760;color:#07130b;font-size:11px;font-weight:900}
.bottom-nav button[data-view="spotify"].active{color:#087a35;background:#e5faed}
.youtube-icon{width:22px;height:17px;display:grid;place-items:center;border-radius:6px;background:#ff0033;color:#fff;font-size:9px;font-weight:900}
.bottom-nav button[data-view="youtube"].active{color:#c7002a;background:#fff0f3}
.platforms-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:linear-gradient(145deg,#fb5b74,#5d55ef);color:#fff;font-size:14px;font-weight:900}
.bottom-nav button[data-view="platforms"].active{color:#5d38ad;background:#f2ecff}
.social-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:linear-gradient(145deg,#1877f2,#d62976);color:#fff;font-size:13px;font-weight:900}
.bottom-nav button[data-view="social"].active{color:#b12969;background:#fff0f7}
.bottom-nav button[data-view="radio"].active{color:#7c3aed;background:#f3edff}
.radio-icon{font-size:18px}
.latest-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:7px;background:linear-gradient(145deg,#ff5500,#ff9a3c);color:#fff;font-size:13px;font-weight:900}
.bottom-nav button[data-view="latest"].active{color:#bd3f00;background:#fff0e7}
.latest-song-list{display:grid;gap:12px;padding:4px 14px 16px}.latest-song-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(20,20,24,.04)}.latest-song-card.pending{border-color:#f0b38f;background:#fffaf7}.latest-song-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:start;padding:14px;border-bottom:1px solid var(--line)}.latest-position{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#fff0e7;color:#b53e00;font-size:14px;font-weight:900}.latest-song-head p,.latest-song-head h3,.latest-song-head span{margin:0}.latest-song-head p{color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.latest-song-head h3{margin-top:3px;font-size:18px;letter-spacing:-.025em}.latest-song-head div>span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.latest-status{border-radius:999px;padding:6px 8px;font-size:9px;white-space:nowrap}.latest-status.verified{background:#e8f8ee;color:#14713a}.latest-status.pending{background:#fff0e7;color:#a53a05}.latest-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.latest-metrics div{background:#fff;padding:10px 11px}.latest-song-card.pending .latest-metrics div{background:#fffdfb}.latest-metrics span,.latest-metrics strong{display:block}.latest-metrics span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.latest-metrics strong{margin-top:3px;font-size:16px}.latest-song-meta{display:grid;gap:5px;padding:11px 14px;color:#666;font-size:10px;line-height:1.35}.latest-song-meta strong{color:#29292d}.latest-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px}.latest-actions button,.latest-actions a,.latest-link-pending{display:grid;place-items:center;min-height:40px;border:0;border-radius:11px;font:800 11px system-ui;text-decoration:none}.latest-actions button{background:var(--orange);color:#fff}.latest-actions a,.latest-actions .latest-play{background:#171717;color:#fff}.latest-link-pending{background:#f0f0f2;color:#76767d}.latest-kpis{margin-bottom:12px}
.apple-grid{display:grid;gap:12px;padding:4px 16px 16px}
.apple-release{border:1px solid var(--line);border-radius:16px;padding:15px;background:linear-gradient(145deg,#fff,#fbf7ff)}
.apple-release h4{margin:0;font-size:19px;letter-spacing:-.035em}
.apple-release>p{margin:5px 0 13px;color:var(--muted);font-size:13px}
.apple-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:13px}
.apple-meta div{background:#fff;border:1px solid #eee9f1;border-radius:12px;padding:10px}
.apple-meta span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.apple-meta strong{display:block;margin-top:4px;font-size:14px}
.apple-link{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;background:#171717;color:#fff;text-decoration:none;font-size:13px;font-weight:850}
.platform-grid{display:grid;gap:14px;padding:4px 16px 16px}
.platform-release{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}
.platform-release-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;background:linear-gradient(145deg,#171717,#303033);color:#fff}
.platform-release-head p{margin:0 0 3px;color:#bfc0c4;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.platform-release-head h4{margin:0;font-size:19px;letter-spacing:-.035em}
.platform-release-head>span{white-space:nowrap;border-radius:999px;background:rgba(255,255,255,.12);padding:7px 9px;font-size:10px;font-weight:800}
.platform-list{display:grid}
.platform-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px 12px;border-bottom:1px solid var(--line)}
.platform-row:last-child{border-bottom:0}
.platform-mark{width:30px;height:30px;border-radius:9px;background:#202024;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}
.platform-name{min-width:0}
.platform-name strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.platform-name small{display:block;color:var(--muted);font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-pill{border-radius:999px;padding:5px 7px;font-size:9px;font-weight:850;white-space:nowrap}
.status-pill.confirmed{background:#e5faed;color:#087a35}
.status-pill.not-found{background:#f0f0f2;color:#727278}
.platform-row>a{display:grid;place-items:center;min-height:34px;border-radius:10px;background:#171717;color:#fff;padding:0 10px;text-decoration:none;font-size:10px;font-weight:850}
.platform-row.not-found>a{background:#f0f0f2;color:#555}
.spotify-button.active{background:#1ed760!important;border-color:#1ed760!important;color:#07130b!important}
.spotify-chart .area{fill:rgba(30,215,96,.15)}
.spotify-chart .line{stroke:#11a64b}
.spotify-chart .dot{stroke:#11a64b}
.spotify-chart .chart-point.selected .dot{fill:#11a64b}
.spotify-chart .chart-title>span,.spotify-readout .chart-song-breakdown strong{color:#087a35}
.spotify-readout>div:first-child{background:#e5faed}
.spotify-total{display:flex;justify-content:space-between;align-items:center;margin:10px 4px 0;padding:10px 12px;border-radius:12px;background:#e5faed;color:#0b572b;font-size:12px}
.spotify-total strong{font-size:17px}
.spotify-catalogue-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 14px 14px}
.spotify-catalogue-summary>div{border-radius:13px;background:#e5faed;padding:11px;text-align:center;color:#0b572b}
.spotify-catalogue-summary strong{display:block;font-size:20px}
.spotify-catalogue-summary span{display:block;margin-top:2px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.spotify-catalogue-summary>a{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;background:#171717;color:#fff;text-decoration:none;font-size:12px;font-weight:850}
.spotify-release-grid{display:grid;gap:10px;padding:0 14px 15px}
.spotify-release-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;border:1px solid var(--line);border-radius:15px;padding:10px;background:#fff}
.spotify-release-card>img{width:82px;height:82px;object-fit:cover;border-radius:10px;background:#eee}
.spotify-release-copy{display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.spotify-release-copy>div>span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.spotify-release-copy h4{margin:3px 0 6px;font-size:16px;line-height:1.15}
.spotify-release-tracks{display:grid;gap:3px}
.spotify-release-tracks a{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#087a35;text-decoration:none;font-size:11px;font-weight:800}
.spotify-release-tracks small{color:var(--muted);font-size:10px}
.youtube-hero{display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:14px;padding:17px;border-radius:19px;background:linear-gradient(120deg,#171717,#29292c);color:#fff;box-shadow:var(--shadow)}
.youtube-logo{width:58px;height:44px;display:grid;place-items:center;border-radius:13px;background:#ff0033;color:#fff;font-size:20px}.youtube-hero>div:nth-child(2){min-width:0}.youtube-hero span{color:#ff9aae;font-size:12px;font-weight:850}.youtube-hero h3{margin:3px 0 4px;font-size:23px}.youtube-hero p{margin:0;color:#d5d5d8;font-size:13px;line-height:1.4}.youtube-hero>a{display:grid;place-items:center;min-height:42px;padding:0 13px;border-radius:12px;background:#ff0033;color:#fff;text-decoration:none;font-size:12px;font-weight:850;white-space:nowrap}
.youtube-list{display:grid;gap:9px;margin-bottom:14px}.youtube-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 3px 12px rgba(20,20,24,.035)}.youtube-play{width:39px;height:31px;display:grid;place-items:center;border-radius:9px;background:#ff0033;color:#fff;font-size:12px}.youtube-copy{min-width:0}.youtube-copy strong,.youtube-copy small,.youtube-copy em{display:block}.youtube-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.youtube-copy small{margin-top:3px;color:var(--muted);font-size:12px}.youtube-copy em{margin-top:3px;color:#8a8a91;font-size:12px;font-style:normal}.youtube-views{text-align:right}.youtube-views strong,.youtube-views small{display:block}.youtube-views strong{font-size:18px;color:#c7002a}.youtube-views small{color:var(--muted);font-size:12px}
.media-grid{display:grid;gap:12px}
.media-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:0 5px 20px rgba(20,20,24,.045)}
.media-card.featured{border-top:5px solid var(--orange);padding-top:13px}
.media-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.media-type{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.media-date{color:var(--muted);font-size:11px;text-align:right}
.media-card h3{margin:0;font-size:21px;line-height:1.15;letter-spacing:-.035em}
.media-card p{margin:9px 0 15px;color:#4f4f55;font-size:14px;line-height:1.5}
.media-links{display:flex;flex-wrap:wrap;gap:8px}
.media-links a{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 13px;border-radius:12px;background:#171717;color:#fff;text-decoration:none;font-size:12px;font-weight:850}
.media-links a:first-child{background:var(--orange)}
.media-preview{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:3px 16px 17px}
.media-preview strong{font-size:14px;margin-top:8px}
.media-preview span{color:var(--muted);font-size:12px;line-height:1.4}
.radio-grid{display:grid;gap:11px;padding:0 14px 15px}
.radio-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;border:1px solid #ddd5ec;border-radius:17px;padding:15px;background:linear-gradient(135deg,#fff,#fbf8ff)}
.radio-card-top{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;align-items:center}
.radio-status{display:inline-flex;border-radius:999px;padding:6px 9px;background:#ede4ff;color:#5b21b6;font-size:10px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}
.radio-date{color:var(--muted);font-size:11px;text-align:right}
.radio-time{display:grid;align-content:center;justify-items:center;min-height:76px;border-radius:14px;background:#171719;color:#fff;text-align:center}
.radio-time strong{font-size:20px;letter-spacing:-.03em}.radio-time span{margin-top:3px;color:#c7c7cd;font-size:10px}
.radio-copy{min-width:0}.radio-copy p{margin:0;color:#6d28d9;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.radio-copy h3{margin:5px 0 3px;font-size:20px;letter-spacing:-.035em}.radio-copy>span,.radio-copy>small{display:block;color:#505058;font-size:12px;line-height:1.4}.radio-copy>small{margin-top:4px;color:#787880}
.radio-note{grid-column:1/-1;margin:0;color:#55555c;font-size:13px;line-height:1.5}
.radio-card .media-links{grid-column:1/-1}.radio-card .media-links a:first-child{background:#6d28d9}
.radio-appearance-list{display:grid;gap:9px;padding:0 14px 15px}.radio-appearance{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.4fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fafafa}.radio-appearance span,.radio-appearance strong,.radio-appearance small{display:block}.radio-appearance span{color:#6d28d9;font-size:11px;font-weight:900;text-transform:uppercase}.radio-appearance strong{margin-top:3px;font-size:15px}.radio-appearance small{margin-top:4px;color:var(--muted);font-size:11px}.radio-appearance p{margin:0;color:#55555c;font-size:12px;line-height:1.45}.radio-appearance a{display:grid;place-items:center;min-height:40px;padding:0 11px;border-radius:11px;background:#171719;color:#fff;text-decoration:none;font-size:11px;font-weight:850;white-space:nowrap}
.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.social-card{position:relative;overflow:hidden;display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;align-items:start;border-radius:19px;padding:17px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.social-card.facebook{border-top:5px solid #1877f2}.social-card.instagram{border-top:5px solid #d62976}
.social-brand{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;color:#fff;font-size:29px;font-weight:900}
.social-card.facebook .social-brand{background:#1877f2}.social-card.instagram .social-brand{background:linear-gradient(145deg,#7b2cff,#d62976,#ff8a00)}
.social-copy{min-width:0}.social-copy>span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.social-copy h3{margin:3px 0 6px;font-size:21px;letter-spacing:-.04em}.social-copy p{margin:0;color:#55565c;font-size:14px;line-height:1.45}
.social-card>a{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:45px;margin-top:2px;padding:0 14px;border-radius:12px;color:#fff;text-decoration:none;font-size:13px;font-weight:850}
.social-card.facebook>a{background:#1877f2}.social-card.instagram>a{background:linear-gradient(110deg,#8a2be2,#d62976,#ed5b31)}
.social-post-list{display:grid;padding:0 14px 15px}.social-post{position:relative;display:grid;gap:4px;padding:13px 38px 13px 2px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.social-post:last-child{border-bottom:0}.social-post>span{color:var(--orange);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.social-post strong{font-size:14px;line-height:1.35}.social-post small{color:var(--muted);font-size:12px}.social-post b{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--orange-soft);color:var(--orange);font-size:15px}
.overview-actionbar{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(135px,.7fr);gap:9px;margin:-3px 0 15px}
.movement-button{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;width:100%;min-height:70px;padding:11px 15px;border:0;border-radius:17px;background:linear-gradient(115deg,#ff5500,#ff7a1a);color:#fff;text-align:left;box-shadow:0 10px 25px rgba(255,85,0,.23);cursor:pointer}
.movement-button>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.18);font-size:22px;font-weight:900}
.movement-button strong{font-size:18px;line-height:1.05}.movement-button small{font-size:12px;opacity:.9}
.share-button{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-height:70px;padding:11px 13px;border:0;border-radius:17px;background:linear-gradient(125deg,#087a35,#19a653);color:#fff;text-align:left;box-shadow:0 10px 25px rgba(8,122,53,.18);cursor:pointer}.share-button>span{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:rgba(255,255,255,.18);font-size:18px}.share-button strong{font-size:15px}.share-button small{font-size:12px;line-height:1.25;opacity:.9}
.winner-list{display:grid;gap:0;padding:0 14px 14px}.winner-list article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}.winner-list article:last-child{border-bottom:0}.winner-list article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--orange-soft);color:var(--orange);font-weight:900}.winner-list strong,.winner-list small{display:block}.winner-list strong{font-size:14px}.winner-list small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}
.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 14px 15px}.goal-card{padding:12px;border:1px solid #ffd0b8;border-radius:14px;background:#fff8f3}.goal-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:start}.goal-card strong{font-size:13px;line-height:1.25}.goal-card span{color:var(--muted);font-size:12px;white-space:nowrap}.goal-track{height:9px;margin:11px 0 7px;border-radius:999px;background:#eadfd9;overflow:hidden}.goal-track i{display:block;height:100%;border-radius:inherit;background:var(--orange)}.goal-card small{color:var(--muted);font-size:12px}.goal-card.green{border-color:#bee7cb;background:#f2fff6}.goal-card.green .goal-track{background:#d9eee0}.goal-card.green .goal-track i{background:#0a8b3c}
.alert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 14px 10px}.alert-grid article{padding:13px;border-radius:14px;background:#fff2ea}.alert-grid article.green{background:#e8f8ed}.alert-grid strong,.alert-grid span{display:block}.alert-grid strong{color:var(--orange);font-size:23px}.alert-grid .green strong{color:#087a35}.alert-grid span{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.3}.alert-note{margin:0;padding:0 14px 14px;color:var(--muted);font-size:12px;line-height:1.45}
.audience-alert-block{margin:0 14px 12px;border:1px solid var(--line);border-radius:15px;background:#fafafa;overflow:hidden}.audience-alert-title{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);background:#fff}.audience-alert-title strong{font-size:14px}.audience-alert-title span{color:var(--muted);font-size:12px}.new-follower-list,.audience-activity-list{display:grid}.new-follower-card{display:grid;grid-template-columns:39px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.new-follower-card:last-child{border-bottom:0}.new-follower-card.unavailable{background:#fff8f3}.new-follower-card.quiet{background:#f7f7f8}.audience-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--orange);color:#fff;font-size:17px;font-weight:900}.new-follower-card.quiet .audience-avatar{background:#74747b}.new-follower-card strong,.new-follower-card span,.new-follower-card small{display:block}.new-follower-card strong{font-size:14px;line-height:1.3}.new-follower-card span{margin-top:3px;color:#4f4f55;font-size:12px;line-height:1.4}.new-follower-card small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.new-follower-card>a{display:grid;place-items:center;min-height:38px;padding:0 11px;border-radius:11px;background:#171717;color:#fff;text-decoration:none;font-size:12px;font-weight:850}.audience-activity-row{display:grid;grid-template-columns:minmax(135px,.8fr) minmax(0,1.4fr);gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}.audience-activity-row:last-child{border-bottom:0}.audience-activity-row strong,.audience-activity-row small{display:block}.audience-activity-row strong{font-size:13px;line-height:1.35}.audience-activity-row small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.audience-activity-row small a{color:#0d6489;font-weight:800}.interaction-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.interaction-chips span{display:inline-flex;align-items:center;gap:3px;padding:6px 8px;border-radius:999px;background:#fff0e7;color:#8c3207;font-size:11px}.interaction-chips b{font-size:12px}.audience-empty{padding:14px;color:var(--muted);font-size:12px}
.freshness-grid{display:grid;gap:0;padding:0 14px 14px}.freshness-grid article{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}.freshness-grid article:last-child{border-bottom:0}.freshness-dot{width:9px;height:9px;border-radius:50%}.freshness-dot.current{background:#12a150}.freshness-dot.limited{background:#e99b14}.freshness-grid strong,.freshness-grid small{display:block}.freshness-grid strong{font-size:14px}.freshness-grid small{margin-top:2px;color:var(--muted);font-size:12px}.freshness-grid b{font-size:12px;color:var(--muted)}
.campaign-markers{display:grid;gap:6px;margin:10px 4px 0;padding:10px;border:1px solid #d9d9df;border-radius:13px;background:#fafafa}.campaign-markers>strong{font-size:12px}.campaign-markers button{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:7px 8px;border:0;border-radius:9px;background:#fff;text-align:left;color:#333;cursor:pointer}.campaign-markers time{color:var(--orange);font-size:12px;font-weight:850}.campaign-markers span{font-size:12px;line-height:1.35}
.back-overview{margin:0 0 14px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#28282d;font-weight:800;cursor:pointer}
.movement-song-list,.movement-day-list{display:grid;gap:10px;padding:0 14px 15px}
.movement-song,.movement-day{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}
.movement-song-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px}
.movement-song-head>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#fff0e7;color:#bd3f00;font-size:12px;font-weight:900}
.movement-song-head h4,.movement-day h4{margin:0;font-size:15px}.movement-song-head p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.35}.movement-song-head>strong{font-size:20px;color:var(--orange)}
.movement-days{border-top:1px solid var(--line);background:#fafafa}.movement-days>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px;padding:8px 12px;border-bottom:1px solid #ededed;font-size:11px}.movement-days>div:last-child{border-bottom:0}.movement-days time{font-weight:850}.movement-days span{color:#555;line-height:1.35}
.movement-day{padding:12px}.movement-day>div{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}.movement-day>div>span{color:var(--muted);font-size:11px;font-weight:750}.movement-day p{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.4fr);gap:9px;margin:0;padding:7px 0;border-top:1px solid #ededed;font-size:11px;line-height:1.35}.movement-day p span{color:#555}.movement-day .quiet-day{display:block;color:var(--muted)}
.toast{position:fixed;z-index:50;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#1e1e20;color:#fff;border-radius:999px;padding:10px 15px;font-size:12px;transition:.2s;white-space:nowrap;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.soundcloud-player{position:fixed;z-index:46;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,calc(100vw - 20px));overflow:hidden;border:1px solid #56565b;border-radius:18px;background:#171719;color:#fff;box-shadow:0 20px 55px rgba(0,0,0,.38)}
.soundcloud-player[hidden]{display:none}.soundcloud-player-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px 8px 14px}.soundcloud-player-head div{min-width:0}.soundcloud-player-head span,.soundcloud-player-head strong{display:block}.soundcloud-player-head span{color:#ff8a4d;font-size:9px;font-weight:900;letter-spacing:.08em}.soundcloud-player-head strong{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.soundcloud-player-head button{flex:0 0 34px;width:34px;height:34px;border:0;border-radius:11px;background:#323236;color:#fff;font:400 25px/1 system-ui}.soundcloud-player iframe{display:block;width:100%;height:120px;border:0;background:#f5f5f5}
@media(min-width:720px){
  .app-header{padding-left:max(24px,calc((100vw - 1120px)/2));padding-right:max(24px,calc((100vw - 1120px)/2))}
  .app-shell{padding:28px 22px 105px}
  .kpi-grid{grid-template-columns:repeat(4,1fr)}
  .overview-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px}
  .overview-grid .section-card{height:100%}
  .song-list{grid-template-columns:repeat(2,1fr)}
  .platform-grid{grid-template-columns:repeat(2,1fr)}
  .media-grid{grid-template-columns:repeat(2,1fr)}
  .social-grid{grid-template-columns:repeat(2,1fr)}
  .latest-song-list{grid-template-columns:repeat(2,1fr)}
  .media-card.featured{grid-column:1/-1}
  .page-heading h2{font-size:38px}
  .bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:880px;max-width:calc(100vw - 28px);bottom:14px;border:1px solid var(--line);border-radius:20px;padding:5px;box-shadow:var(--shadow)}
}
@media(max-width:600px){
  body::before{background-position:38% 50%}
  .app-header{flex-wrap:wrap;gap:9px}
  .brand-copy{flex:1 1 calc(100% - 146px)}
  .project-switch{order:3;width:100%}
  .project-switch button{min-height:40px;font-size:12px}
  .follower-strip{order:4;width:100%;margin-left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric-explainer{order:5;text-align:left}
  .follower-chip{flex:1;min-width:0}
  .song-card-main{grid-template-columns:34px minmax(0,1fr);padding:12px 8px 12px 11px}.song-card-main .song-number{grid-column:2;text-align:left}.song-play-button,.song-play-pending{min-width:61px;padding:8px 7px}
  .page-heading{align-items:flex-start;flex-direction:column}
  .bottom-nav{display:flex;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding-left:5px;padding-right:5px}
  .bottom-nav::-webkit-scrollbar{display:none}
  .bottom-nav button{flex:0 0 68px}
  .bar-row{grid-template-columns:minmax(88px,.9fr) minmax(70px,1.35fr) minmax(92px,auto);gap:6px}
  .bar-forecast{font-size:12px;white-space:normal;text-align:right}
  .projection-panel{grid-template-columns:1fr 1fr}
  .projection-panel>p{grid-column:1/-1}
  .audience-forecast-grid{grid-template-columns:1fr 1fr}.audience-forecast-grid .listener-forecast{grid-column:1/-1}
  .overview-actionbar{grid-template-columns:1fr}.share-button{grid-template-columns:40px minmax(0,1fr)}
  .goal-grid,.alert-grid{grid-template-columns:1fr}.goal-card>div:first-child{align-items:center}
  .audience-activity-row{grid-template-columns:1fr}.interaction-chips{justify-content:flex-start}.new-follower-card{grid-template-columns:39px minmax(0,1fr)}.new-follower-card>a{grid-column:1/-1}
  .social-grid{grid-template-columns:1fr}
  .latest-song-head{grid-template-columns:34px minmax(0,1fr)}.latest-status{grid-column:2;justify-self:start}.latest-actions{grid-template-columns:1fr}.latest-song-meta{font-size:11px}
  .radio-card{grid-template-columns:80px minmax(0,1fr);padding:13px}.radio-time strong{font-size:17px}.radio-appearance{grid-template-columns:1fr}.radio-appearance a{width:100%}
  .youtube-hero{grid-template-columns:52px minmax(0,1fr)}.youtube-logo{width:50px}.youtube-hero>a{grid-column:1/-1}
  .pie-chart{grid-template-columns:1fr;gap:14px;padding-left:12px;padding-right:12px}.pie-visual{width:min(76vw,230px)}.pie-selected-summary{grid-template-columns:13px minmax(0,1fr) auto}.pie-selected-summary>i{width:12px}.pie-selected-summary>em{grid-column:3;justify-self:end}.pie-selected-summary>b{font-size:17px}
}
