/* ChartVault V2 Phase 2C unified entity shell */
.cve-shell{margin:18px 0 24px;padding:18px;border:1px solid rgba(155,138,191,.28);border-radius:18px;background:linear-gradient(145deg,rgba(155,138,191,.09),rgba(255,255,255,.018));box-shadow:0 18px 45px rgba(0,0,0,.18)}
.cve-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.cve-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800;color:var(--gold,#9b8abf)}.cve-head h2{margin:3px 0 0;font-size:22px;line-height:1.1}.cve-status{font-size:12px;color:var(--text-faint,#858585);text-align:right}
.cve-current{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:11px 13px;border-radius:11px;background:rgba(255,255,255,.035);font-size:12px}.cve-current b{white-space:nowrap;color:#ddd}.cve-current span{color:var(--text-faint,#888)}
.cve-runs{display:grid;gap:9px}.cve-run{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.18);overflow:hidden}.cve-run[open]{border-color:rgba(155,138,191,.34);background:rgba(0,0,0,.25)}.cve-run summary{display:grid;grid-template-columns:minmax(150px,1fr) 80px 86px minmax(175px,auto) 18px;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;list-style:none}.cve-run summary::-webkit-details-marker{display:none}.cve-chart-name{font-size:14px;font-weight:750}.cve-run-stat{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint,#888)}.cve-run-stat b{display:block;font-size:15px;line-height:1.1;color:#eee;letter-spacing:0}.cve-run-dates{font-size:11px;color:var(--text-faint,#888);text-align:right}.cve-chevron{font-size:16px;transition:transform .18s ease;color:var(--gold,#9b8abf)}.cve-run[open] .cve-chevron{transform:rotate(180deg)}
.cve-run-body{border-top:1px solid rgba(255,255,255,.07);padding:12px}.cve-loading{padding:12px;font-size:12px;color:var(--text-faint,#888);text-align:center}.cve-error{color:var(--down,#d97575)}.cve-run-tools{display:flex;justify-content:flex-end;margin-bottom:9px}.cve-run-tools button{border:1px solid rgba(155,138,191,.34);background:rgba(155,138,191,.12);color:#ddd;border-radius:8px;padding:7px 10px;font:inherit;font-size:11px;cursor:pointer}.cve-run-tools button:hover{background:rgba(155,138,191,.2)}
.cve-week-head,.cve-week{display:grid;grid-template-columns:minmax(145px,1fr) 72px 68px 62px 62px;align-items:center;gap:8px}.cve-week-head{padding:0 10px 7px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint,#777)}.cve-week{width:100%;border:0;border-top:1px solid rgba(255,255,255,.05);padding:9px 10px;background:transparent;color:#ddd;text-align:left;font:inherit;font-size:11px;cursor:pointer}.cve-week:hover{background:rgba(155,138,191,.09)}.cve-week:focus-visible{background:rgba(155,138,191,.09);outline:3px solid #d2bcff;outline-offset:-3px}.cve-week-rank{font-weight:800;font-size:13px}.cve-week-move{font-weight:700}.cve-week-move.up{color:var(--up,#73bd89)}.cve-week-move.down{color:var(--down,#d97575)}.cve-week-move.new{color:var(--gold,#9b8abf)}.cve-week-move.same,.cve-week-peak,.cve-week-count{color:var(--text-faint,#888)}
@media(max-width:720px){.cve-shell{margin:14px 0 20px;padding:14px;border-radius:14px}.cve-head{align-items:flex-start}.cve-run summary{grid-template-columns:1fr 58px 62px 18px}.cve-run-dates{grid-column:1/4;text-align:left}.cve-week-head,.cve-week{grid-template-columns:minmax(110px,1fr) 52px 48px 48px 48px;gap:5px}.cve-current{align-items:flex-start;flex-direction:column;gap:4px}}
