:root{color:#e2e8f0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#2563eb29,#0000 30%),linear-gradient(#02061780,#0f172a80 35%,#02061780 100%),url(/KeyBpmMap/bg.png) 50%/cover no-repeat fixed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #38bdf8}#root{min-height:100vh}h1,h2,p{margin-top:0}h1,h2{color:#f8fafc;line-height:1.1}h1{max-width:12ch;margin-bottom:16px;font-size:clamp(2.3rem,4vw,4.8rem)}h2{margin-bottom:10px;font-size:clamp(1.2rem,1.4vw,1.6rem)}a{color:inherit}.app-shell{gap:20px;width:min(1380px,100% - 32px);margin:0 auto;padding:32px 0 48px;display:grid}.panel{background:linear-gradient(#111827cc,#070b14d1);border:1px solid #94a3b82e;border-radius:24px;box-shadow:0 18px 50px #02061759}.hero-panel{gap:20px;padding:32px;display:grid}.eyebrow,.label,.chart-label,.muted{color:#94a3b8}.eyebrow,.label{text-transform:uppercase;letter-spacing:.18em;margin:0 0 8px;font-size:.78rem}.lede{max-width:68rem}.platform-instructions{gap:12px 0;max-width:68rem;margin:16px 0 0;display:grid}.platform-instructions dt{color:#e2e8f0;margin-top:8px;font-weight:700}.platform-instructions dd{color:#cbd5e1;margin:2px 0 0 16px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-notes{color:#cbd5e1;gap:8px;margin:0;padding-left:18px;font-size:.7rem;display:grid}.hero-social-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-social-link{opacity:.9;background:radial-gradient(circle,#ffffff3b 0%,#fff0 80%);border:0;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .12s,border-color .12s,opacity .12s,background .12s;display:inline-flex}.hero-social-link:hover,.hero-social-link:focus-visible{opacity:1;background:radial-gradient(circle,#7300ff3b 0%,#00a6ff41 80%);transform:translateY(-1px)}.hero-social-link img{object-fit:contain;width:32px;height:32px}.primary-button,.secondary-button,.simple-list button{font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.85rem 1.2rem;transition:transform .12s,box-shadow .12s,background .12s}.primary-button{color:#fff;background:linear-gradient(135deg,#7c3aed,#06b6d4);box-shadow:0 12px 30px #0ea5e938}.secondary-button,.simple-list button{color:#e2e8f0;background:#94a3b81f}.primary-button:hover,.secondary-button:hover,.simple-list button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.7}.secondary-button:disabled,.simple-list button:disabled{cursor:not-allowed;opacity:.6;transform:none}.source-panel,.filters-panel,.pathfinder-panel{padding:24px 28px}.source-panel{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.field-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.path-track-grid{grid-template-columns:minmax(0,1fr)}.field-grid label{color:#e2e8f0;gap:8px;font-weight:600;display:grid}input,select{width:100%;font:inherit;color:#f8fafc;box-sizing:border-box;background:#0f172ab8;border:1px solid #94a3b840;border-radius:14px;padding:.78rem .95rem}input[type=checkbox]{width:auto}.stats-grid,.visual-grid,.insights-grid{gap:20px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{padding:22px 24px}.stat-card span{color:#94a3b8}.stat-card strong{margin:10px 0 6px;font-size:2rem;display:block}.visual-grid{grid-template-columns:minmax(0,1fr)}.chart-panel,.insight-panel{padding:24px}.insight-panel{flex-direction:column;min-height:0;display:flex}.chart-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.chart-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.segmented-control{flex-wrap:wrap;gap:8px;display:inline-flex}.segment-button{font:inherit;color:#e2e8f0;cursor:pointer;background:#94a3b814;border:1px solid #94a3b838;border-radius:999px;padding:.8rem 1rem;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s}.segment-button:hover{transform:translateY(-1px)}.segment-button.is-active{background:linear-gradient(135deg,#7c3aed5c,#06b6d452);border-color:#22d3ee73;box-shadow:0 10px 24px #0ea5e929}.chart-svg{width:100%;height:auto;display:block}.chart-legend{gap:8px;margin-top:14px;display:grid}.chart-legend-label{color:#cbd5e1;font-size:.82rem}.chart-legend-scale{border:1px solid #94a3b84d;border-radius:999px;height:14px}.chart-legend-scale--plasma{background:linear-gradient(90deg,#0d0887 0%,#6a00a8 25%,#b12a90 50%,#e16462 75%,#f0f921 100%)}.chart-legend-ticks{color:#94a3b8;justify-content:space-between;font-size:.78rem;display:flex}.chart-region{cursor:pointer}.chart-label{fill:#cbd5e1;font-size:.78rem}.muted{fill:#94a3b8}.insights-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.pathfinder-panel{order:999;gap:16px;display:grid}.pathfinder-fieldset{border:0;gap:16px;margin:0;padding:0;display:grid}.path-weight-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.path-section-heading{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:.85rem;font-weight:600}.path-weight-grid label{grid-template-rows:minmax(2.5em,auto) min-content}.path-weight-label-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.path-weight-label-text{line-height:1.25;display:block}.path-weight-tooltip{color:#94a3b8;cursor:help;justify-content:center;align-items:center;width:1rem;min-width:1rem;font-size:.85rem;line-height:1;display:inline-flex}.path-weight-tooltip:focus-visible{outline-offset:2px;border-radius:50%;outline:1px solid #22d3eeb3}.pathfinder-panel input[type=number],.pathfinder-panel input[type=search],.pathfinder-panel select{min-height:44px}.path-checkbox{align-self:end;align-items:center;gap:10px;display:flex}.path-helper-copy,.path-status{color:#94a3b8}.path-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.path-results-grid{gap:16px;display:grid}.path-graph-wrapper{background:#0f172a66;border:1px solid #94a3b833;border-radius:18px;padding:10px;overflow-x:auto}.path-graph{width:100%;min-width:460px;height:auto}.path-graph-row{cursor:pointer}.path-graph-row polyline{fill:none;stroke:#94a3b88c;stroke-width:2px}.path-graph-row circle{fill:#1e293b;stroke:#94a3b88c;stroke-width:2px}.path-graph-row.is-selected polyline,.path-graph-row.is-selected circle{stroke:#22d3eee6}.path-graph-label,.path-graph-node-label{fill:#cbd5e1;font-size:.78rem}.path-graph-cost{fill:#38bdf8;font-size:.6rem}.path-graph-track-label{fill:#94a3b8;font-size:.63rem}.path-graph-track-artist{fill:#cbd5e1;font-weight:700}.path-summary-list{max-height:800px}.path-details{gap:10px;display:grid}.insight-subtitle,.placeholder-text,.error-banner{color:#cbd5e1}.error-banner{background:#7f1d1d59;border-color:#f8717166;padding:16px 20px}.track-list,.simple-list{gap:12px;max-height:800px;margin:0;padding:0 6px 0 0;list-style:none;display:grid;overflow:auto}.track-list li,.simple-list li{background:#0f172a8c;border:1px solid #94a3b829;border-radius:18px;padding:14px 16px}.track-list li{gap:8px;display:grid}.track-title{flex-wrap:wrap;gap:.35em;display:flex}.track-list strong,.simple-list strong,.source-panel strong{color:#f8fafc}.track-list span,.simple-list span,.source-panel p,.stat-card p,.chart-header p,.insight-panel p{color:#cbd5e1}.track-title-link{color:inherit;text-underline-offset:.18em;text-decoration:underline}.track-title-link:hover,.track-title-link:focus-visible{color:#e2e8f0}.track-meta{flex-wrap:wrap;gap:8px;font-size:.92rem;display:flex}.track-meta span,.simple-list em{background:#94a3b81f;border-radius:999px;padding:.28rem .65rem;font-style:normal}.track-actions{flex-wrap:wrap;gap:8px;display:flex}.track-action-button{white-space:nowrap;padding:.32rem .58rem;font-size:.74rem}.scope-track-table .track-actions{flex-wrap:nowrap}.scope-track-table-wrapper{border:1px solid #94a3b833;border-radius:14px;max-height:800px;overflow:auto}.scope-track-table{border-collapse:collapse;width:100%;min-width:680px;font-size:.86rem}.scope-track-table th,.scope-track-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #94a3b829;padding:10px 12px}.scope-track-table thead th{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.scope-track-sort-button{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:0;padding:0;display:inline-flex}.scope-track-sort-button:hover,.scope-track-sort-button:focus-visible{color:#cbd5e1}.selected-region-sort-controls{color:#ffffff4f;flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.selected-region-sort-button{font:inherit;color:#94a3b8;cursor:pointer;background:#94a3b814;border:1px solid #94a3b838;border-radius:999px;align-items:center;gap:4px;padding:.25rem .52rem;font-size:.72rem;display:inline-flex}.selected-region-sort-button:hover,.selected-region-sort-button:focus-visible,.scope-track-table tbody td{color:#cbd5e1}.simple-list button{background:0 0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;display:flex}.simple-list li>div{gap:4px;display:grid}.sparse-list{flex:1;gap:8px;min-height:0}.sparse-list li{padding:10px 12px}.sparse-list button,.sparse-summary{text-align:left;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;display:grid}.sparse-summary{color:#e2e8f0}.sparse-list small{color:#94a3b8;text-align:right}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.app-shell{width:min(100% - 20px,100%);padding-top:20px}.hero-panel,.source-panel,.filters-panel,.pathfinder-panel,.chart-panel,.insight-panel{padding:20px}.chart-header{flex-direction:column}.chart-actions{justify-content:flex-start;width:100%}.simple-list button{flex-direction:column;align-items:flex-start}.sparse-list button,.sparse-summary{grid-template-columns:minmax(0,1fr)}.sparse-list small{text-align:left}}
