/* CCAN Charts 5.5.2 - restored late-v5.5 chart presentation inside HoloWorld */
.holo-window.charts-window{width:min(1280px,94vw);max-height:min(91vh,900px);overflow-y:auto;overflow-x:hidden;scrollbar-color:#ff2a9d rgba(255,255,255,.06)}
.holo-window.charts-window .holo-content{padding-bottom:28px}
.charts-room--restored{display:block;min-width:0}
.chart-app{min-width:0}
.legacy-chart-shell{--chart-pink:#ff2a9d;--chart-cyan:#18dbe7;--chart-orange:#ff7a00;--chart-green:#55f0b3;display:grid;gap:16px;color:#f7f5f3}

.legacy-chart-hero{position:relative;min-height:250px;border:1px solid rgba(255,42,157,.34);border-radius:22px;overflow:hidden;background:#09050c;box-shadow:inset 0 0 70px rgba(255,42,157,.06),0 0 35px rgba(0,0,0,.4)}
.legacy-chart-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.92) brightness(.72)}
.legacy-chart-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,7,.96) 0%,rgba(5,4,7,.8) 31%,rgba(5,4,7,.18) 66%,rgba(5,4,7,.54) 100%),linear-gradient(0deg,rgba(6,2,9,.85),transparent 50%)}
.legacy-chart-hero-copy{position:relative;z-index:2;width:min(48%,470px);padding:28px 32px 62px}
.legacy-chart-hero-copy>small{display:block;margin-bottom:7px;font:900 13px/1 var(--font-sans,Arial,sans-serif);letter-spacing:.11em;color:#fff}
.legacy-chart-hero-copy h3{margin:0;max-width:420px;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(42px,5vw,73px);line-height:.82;letter-spacing:.01em;text-transform:uppercase;color:#fff;text-shadow:0 3px 22px #000}
.legacy-chart-hero-copy p{margin:17px 0 0;font:900 11px/1.55 var(--font-sans,Arial,sans-serif);letter-spacing:.22em;color:var(--chart-cyan)}
.legacy-chart-status{position:absolute;z-index:3;left:32px;right:32px;bottom:18px;min-height:36px;display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 15px;border:1px solid rgba(24,219,231,.3);border-radius:999px;background:rgba(4,10,13,.82);color:#71f2c4;font:800 9px/1.25 var(--font-sans,Arial,sans-serif);letter-spacing:.08em;backdrop-filter:blur(8px)}
.legacy-chart-status span{width:7px;height:7px;border-radius:50%;background:#55f0b3;box-shadow:0 0 10px #55f0b3;animation:chartPulse 1.4s ease-in-out infinite}.legacy-chart-status.is-error{color:#ff8d93;border-color:rgba(255,61,75,.35)}.legacy-chart-status.is-error span{background:#e42b36;box-shadow:0 0 10px #e42b36}
@keyframes chartPulse{50%{opacity:.35}}

.legacy-chart-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.legacy-chart-tab{min-height:54px;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));color:#a9aaae;font:900 9px/1.2 var(--font-sans,Arial,sans-serif);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.18s ease}
.legacy-chart-tab:hover,.legacy-chart-tab:focus-visible{border-color:rgba(255,42,157,.48);color:#fff;outline:none}.legacy-chart-tab.is-active{border-color:rgba(255,42,157,.6);background:linear-gradient(180deg,rgba(255,42,157,.16),rgba(255,42,157,.04));color:#fff;box-shadow:inset 0 -2px var(--chart-pink),0 0 22px rgba(255,42,157,.08)}

.legacy-chart-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,360px) auto;gap:14px;align-items:end;padding:10px 2px 0}
.legacy-chart-tools>div{display:grid;gap:4px}.legacy-chart-tools>div small{font:800 8px/1.2 var(--font-sans,Arial,sans-serif);letter-spacing:.16em;color:#aaa3aa}.legacy-chart-tools>div strong{font:900 10px/1.2 var(--font-sans,Arial,sans-serif);letter-spacing:.1em;color:var(--chart-cyan)}
.legacy-chart-search{display:grid;gap:5px}.legacy-chart-search>span{font:900 7px/1 var(--font-sans,Arial,sans-serif);letter-spacing:.16em;color:#928d94}.legacy-chart-search input{height:38px;width:100%;padding:0 13px;border:1px solid rgba(255,42,157,.22);border-radius:8px;background:#08070a;color:#fff;font:700 11px var(--font-sans,Arial,sans-serif);outline:none}.legacy-chart-search input:focus{border-color:var(--chart-pink);box-shadow:0 0 0 2px rgba(255,42,157,.08)}
.legacy-chart-refresh{height:38px;padding:0 14px;border:1px solid rgba(24,219,231,.3);border-radius:8px;background:rgba(24,219,231,.05);color:#b5f5f8;font:900 8px var(--font-sans,Arial,sans-serif);letter-spacing:.08em;cursor:pointer}

.legacy-chart-table-head{display:grid;grid-template-columns:72px minmax(0,1fr) 112px 88px 96px;gap:12px;align-items:center;min-height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.07);border-bottom:0;border-radius:15px 15px 0 0;background:linear-gradient(90deg,rgba(255,42,157,.14),rgba(24,219,231,.07));color:#b7b0b7;font:900 7px var(--font-sans,Arial,sans-serif);letter-spacing:.15em}.legacy-chart-table-head strong{font-size:8px;color:#e7e3e7}
.legacy-chart-list{border:1px solid rgba(255,255,255,.075);border-radius:0 0 15px 15px;overflow:hidden;background:rgba(2,4,7,.72)}
.legacy-chart-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 112px 88px 96px;gap:12px;align-items:center;min-height:78px;padding:8px 18px;border-bottom:1px solid rgba(255,255,255,.065);background:linear-gradient(90deg,rgba(255,255,255,.015),transparent);cursor:pointer;transition:background .16s ease,transform .16s ease}.legacy-chart-row:last-child{border-bottom:0}.legacy-chart-row:hover{background:linear-gradient(90deg,rgba(255,42,157,.07),rgba(24,219,231,.025))}.legacy-chart-row.is-number-one{box-shadow:inset 3px 0 var(--chart-pink);background:linear-gradient(90deg,rgba(255,42,157,.08),transparent 45%)}
.legacy-chart-rank{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:34px;letter-spacing:.03em;color:#fff}.legacy-chart-row-art{display:none}
.legacy-chart-entry{display:grid;gap:4px;min-width:0}.legacy-chart-entry strong{font:800 12px/1.2 var(--font-sans,Arial,sans-serif);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legacy-chart-entry>small{font:600 9px/1.2 var(--font-sans,Arial,sans-serif);color:#89838c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legacy-chart-badges{display:flex;gap:5px;min-height:16px;flex-wrap:wrap}.legacy-chart-badge{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#bdb8bd;font:900 6px/1 var(--font-sans,Arial,sans-serif);letter-spacing:.08em}.legacy-chart-badge.crown,.legacy-chart-badge.top{color:#ddd7d0;border-color:rgba(255,176,0,.26);background:rgba(255,176,0,.04)}.legacy-chart-badge.hot{color:#ffb45f;border-color:rgba(255,122,0,.35);background:rgba(255,122,0,.06)}
.legacy-chart-movement{font:900 10px/1 var(--font-sans,Arial,sans-serif);letter-spacing:.04em;text-align:left}.legacy-chart-movement.up{color:#5cf0b6}.legacy-chart-movement.down{color:#ff5f8b}.legacy-chart-movement.same{color:#7f8790}
.legacy-chart-count{display:grid;gap:2px;text-align:right}.legacy-chart-count strong{font:900 15px/1 var(--font-sans,Arial,sans-serif);color:#f0edf0}.legacy-chart-count small{font:800 6px/1 var(--font-sans,Arial,sans-serif);letter-spacing:.13em;color:#77717a}
.legacy-chart-vote,.legacy-chart-open{min-height:36px;padding:0 13px;border:1px solid rgba(255,42,157,.72);border-radius:999px;background:rgba(255,42,157,.035);color:#fff;font:900 8px/1 var(--font-sans,Arial,sans-serif);letter-spacing:.08em;cursor:pointer;box-shadow:inset 0 0 14px rgba(255,42,157,.025)}.legacy-chart-vote:hover,.legacy-chart-vote:focus-visible,.legacy-chart-open:hover{background:rgba(255,42,157,.13);box-shadow:0 0 18px rgba(255,42,157,.12)}.legacy-chart-vote:disabled{opacity:.42;cursor:not-allowed}.legacy-chart-open{border-color:rgba(24,219,231,.5);color:#b7f5f7}
.legacy-chart-more{display:flex;justify-content:center;padding:3px}.legacy-chart-more button{padding:10px 18px;border:1px solid rgba(24,219,231,.25);border-radius:999px;background:rgba(24,219,231,.04);color:#d7fbfd;font:900 8px var(--font-sans,Arial,sans-serif);letter-spacing:.1em;cursor:pointer}.legacy-chart-more span{margin-left:8px;color:#7e9598}
.legacy-chart-rule{margin:2px 0 0;color:#7e787f;font:650 8px/1.5 var(--font-sans,Arial,sans-serif);letter-spacing:.035em;text-align:center}
.legacy-chart-error,.legacy-chart-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:12px;padding:30px;text-align:center}.legacy-chart-error strong{color:#ff6774;font:900 10px var(--font-sans,Arial,sans-serif);letter-spacing:.12em}.legacy-chart-error span,.legacy-chart-empty{color:#a09ba2;font:650 10px/1.5 var(--font-sans,Arial,sans-serif)}.legacy-chart-error button{padding:9px 16px;border:1px solid rgba(255,42,157,.45);border-radius:8px;background:rgba(255,42,157,.05);color:#fff;font:900 8px var(--font-sans,Arial,sans-serif);cursor:pointer}

.legacy-chart-modal[hidden]{display:none}.legacy-chart-modal{position:fixed;z-index:2300;inset:0;display:grid;place-items:center;padding:24px}.legacy-chart-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.legacy-chart-modal-card{position:relative;z-index:1;width:min(820px,94vw);max-height:min(86vh,760px);overflow:auto;display:grid;grid-template-columns:280px minmax(0,1fr);border:1px solid rgba(255,42,157,.36);border-radius:18px;background:#09080b;box-shadow:0 30px 90px rgba(0,0,0,.65),inset 0 0 50px rgba(255,42,157,.035)}.legacy-chart-modal-close{position:absolute;z-index:3;right:13px;top:12px;width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(0,0,0,.62);color:#fff;font-size:22px;cursor:pointer}.legacy-chart-modal-art{min-height:340px;background:#07070a;overflow:hidden}.legacy-chart-modal-art img{width:100%;height:100%;object-fit:cover}.legacy-chart-art-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:120px;background:linear-gradient(135deg,#27061d,#06282c);font:900 34px Impact,sans-serif;color:#fff}.legacy-chart-modal-copy{display:grid;align-content:center;gap:11px;padding:38px 28px}.legacy-chart-modal-copy>small{font:900 8px var(--font-sans,Arial,sans-serif);letter-spacing:.16em;color:var(--chart-cyan)}.legacy-chart-modal-copy h3{margin:0;font:900 clamp(28px,4vw,48px)/.95 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;color:#fff}.legacy-chart-modal-copy p{margin:0;color:#a8a1a8;font:650 11px/1.5 var(--font-sans,Arial,sans-serif)}.legacy-chart-modal-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:5px}.legacy-chart-modal-metrics span{display:grid;gap:4px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px}.legacy-chart-modal-metrics small{font:800 6px var(--font-sans,Arial,sans-serif);letter-spacing:.12em;color:#79737b}.legacy-chart-modal-metrics strong{font:900 17px var(--font-sans,Arial,sans-serif);color:#fff}.legacy-chart-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.legacy-chart-modal-actions a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid rgba(24,219,231,.25);border-radius:999px;color:#d5f9fb;text-decoration:none;font:900 7px var(--font-sans,Arial,sans-serif);letter-spacing:.08em}
.legacy-artist-tracks{display:grid;gap:6px;max-height:390px;overflow:auto;padding-right:3px}.legacy-artist-tracks>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:8px}.legacy-artist-tracks>div>button:first-child{display:grid;gap:3px;border:0;background:none;color:#fff;text-align:left;cursor:pointer}.legacy-artist-tracks strong{font:800 10px var(--font-sans,Arial,sans-serif)}.legacy-artist-tracks small{font:650 7px var(--font-sans,Arial,sans-serif);color:#8b858d}

@media (max-width:900px){
  .holo-window.charts-window{width:min(96vw,900px)}
  .legacy-chart-hero{min-height:230px}.legacy-chart-hero-copy{width:58%;padding-left:24px}.legacy-chart-status{left:24px;right:24px}
  .legacy-chart-tools{grid-template-columns:1fr minmax(200px,320px)}.legacy-chart-refresh{grid-column:2}
  .legacy-chart-table-head,.legacy-chart-row{grid-template-columns:58px minmax(0,1fr) 90px 76px 82px;gap:9px}.legacy-chart-row{padding-inline:13px}.legacy-chart-table-head{padding-inline:13px}
}
@media (max-width:700px){
  .holo-window.charts-window{width:94vw;max-height:88dvh;border-radius:12px}.holo-window.charts-window .holo-content{padding-left:12px;padding-right:12px}
  .legacy-chart-shell{gap:11px}.legacy-chart-hero{min-height:225px;border-radius:14px}.legacy-chart-hero-image{object-position:61% center}.legacy-chart-hero-shade{background:linear-gradient(90deg,rgba(5,4,7,.95) 0%,rgba(5,4,7,.82) 43%,rgba(5,4,7,.26) 82%,rgba(5,4,7,.42) 100%),linear-gradient(0deg,rgba(6,2,9,.82),transparent 55%)}.legacy-chart-hero-copy{width:65%;padding:22px 17px 60px}.legacy-chart-hero-copy>small{font-size:9px}.legacy-chart-hero-copy h3{font-size:38px;line-height:.82}.legacy-chart-hero-copy p{font-size:8px;margin-top:11px}.legacy-chart-status{left:14px;right:14px;bottom:12px;min-height:31px;padding:6px 10px;font-size:7px;text-align:center}
  .legacy-chart-tabs{grid-template-columns:1fr 1fr;gap:5px}.legacy-chart-tab{min-height:42px;padding:7px 8px;font-size:7px}
  .legacy-chart-tools{grid-template-columns:1fr auto;gap:8px}.legacy-chart-tools>div{grid-column:1/-1}.legacy-chart-search{grid-column:1}.legacy-chart-refresh{grid-column:2;height:36px;padding-inline:10px}.legacy-chart-search input{height:36px}
  .legacy-chart-table-head{grid-template-columns:42px minmax(0,1fr) 64px;min-height:36px;padding:0 9px;gap:7px}.legacy-chart-table-head>span:nth-of-type(2),.legacy-chart-table-head>span:nth-of-type(3){display:none}.legacy-chart-table-head>strong{font-size:7px}.legacy-chart-table-head>span:last-child{text-align:center}
  .legacy-chart-row{grid-template-columns:42px minmax(0,1fr) 64px;grid-template-areas:'rank entry vote' 'rank entry vote';gap:7px;min-height:84px;padding:8px 9px}.legacy-chart-rank{grid-area:rank;font-size:28px}.legacy-chart-entry{grid-area:entry}.legacy-chart-entry strong{font-size:10px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.legacy-chart-entry>small{font-size:7px}.legacy-chart-badges{gap:3px}.legacy-chart-badge{font-size:5px;padding:3px 5px}.legacy-chart-vote,.legacy-chart-open{grid-area:vote;min-height:32px;padding:0 7px;font-size:7px}.legacy-chart-movement{position:absolute;right:76px;bottom:9px;font-size:7px}.legacy-chart-count{display:none}.legacy-chart-row--artist .legacy-chart-movement{display:none}
  .legacy-chart-rule{font-size:6px;padding:0 8px}.legacy-chart-more button{font-size:7px}
  .legacy-chart-modal{padding:12px}.legacy-chart-modal-card{width:96vw;max-height:88dvh;grid-template-columns:1fr}.legacy-chart-modal-art{min-height:190px;max-height:220px}.legacy-chart-modal-copy{padding:22px 17px}.legacy-chart-modal-metrics{grid-template-columns:1fr 1fr}.legacy-chart-modal-copy h3{font-size:34px}
}
@media (max-width:380px){.legacy-chart-hero-copy h3{font-size:33px}.legacy-chart-tabs{grid-template-columns:1fr 1fr}.legacy-chart-tab{font-size:6.5px}.legacy-chart-row{grid-template-columns:37px minmax(0,1fr) 58px}.legacy-chart-rank{font-size:25px}.legacy-chart-movement{right:68px}}
@media (prefers-reduced-motion:reduce){.legacy-chart-status span{animation:none}.legacy-chart-row,.legacy-chart-tab{transition:none}}
.chart-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid rgba(255,42,157,.18);border-radius:14px;background:rgba(4,4,7,.72);color:#c5bdc5;font:900 8px var(--font-sans,Arial,sans-serif);letter-spacing:.12em}.chart-loading span{width:12px;height:12px;border:2px solid rgba(255,42,157,.2);border-top-color:#ff2a9d;border-radius:50%;animation:chartLoadSpin .8s linear infinite}@keyframes chartLoadSpin{to{transform:rotate(360deg)}}
