.table-title,.chart-title{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-top:2rem;margin-bottom:.75rem}.table-title+.table-wrap,.chart-title+.chart-wrap{margin-top:0}.chart-wrap{margin:2rem 0;border:1px solid var(--border);border-radius:.5rem;overflow:hidden;container-type:inline-size}.table-wrap{margin:2rem 0;border:1px solid var(--border);border-radius:.5rem;overflow:hidden;overflow-x:auto}.table-wrap .source{font-size:.7rem;color:var(--text-faint);padding:.5rem 0 .25rem;margin:0}.data-table{width:100%;font-size:.9rem;border-collapse:collapse}.data-table th,.data-table td{padding:.6rem .75rem;text-align:left;font-size:.85rem;font-family:var(--font-sans);overflow-wrap:break-word;word-break:normal}.data-table thead{background:var(--bg-subtle)}.data-table thead tr{border-bottom:2px solid var(--border-muted)}.data-table th{font-size:.65rem;font-weight:600;font-family:var(--font-sans);word-break:keep-all;hyphens:none;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.data-table tbody tr{border-bottom:1px solid var(--border-muted)}.data-table tbody tr:last-child{border-bottom:none}.data-table td{color:var(--text-muted)}.data-table caption{font-size:.8rem;color:var(--text-muted);text-align:left;caption-side:top;padding:.75rem 1rem 0}@media(max-width:640px){.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px}.data-table th,.data-table td{font-size:.75rem;padding:.5rem .6rem;white-space:nowrap}}.bar-chart{padding:1rem 3.5rem 1rem 1rem}.bar-chart-row{display:flex;align-items:center;margin-bottom:.5rem;transition:opacity var(--duration-fast, .15s)}.bar-chart-row:last-child{margin-bottom:0}.bar-chart-label{flex:0 0 35%;font-size:.8rem;color:var(--text-muted);text-align:right;padding-right:1rem;word-wrap:break-word}.bar-chart-track{flex:1;min-width:0;height:1.25rem;background:var(--border);border-radius:.25rem;display:flex;align-items:center}.bar-chart-bar{height:100%;background:var(--text-faint);border-radius:.25rem;flex-shrink:0;display:flex;align-items:center;padding-left:.5rem;font-size:.7rem;font-weight:500;color:var(--bg);white-space:nowrap;overflow:hidden}.bar-val{font-size:.7rem;font-weight:500;color:var(--text-muted);padding-left:.4rem;white-space:nowrap}.bar-chart:hover .bar-chart-row:not(:hover){opacity:.6}.bar-chart-row:active .bar-chart-bar{transform:scaleY(.95)}.bar-chart-row:hover .bar-chart-bar{background:var(--accent)}.scatter-chart,.line-chart{padding:1rem;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:0}.scatter-area{position:relative;height:220px;border-left:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);grid-column:2;grid-row:1}.scatter-dot{position:absolute;left:var(--x);bottom:var(--y);width:12px;height:12px;background:var(--accent-muted);border-radius:50%;transform:translate(-50%,50%);transition:transform var(--duration-fast, .15s) cubic-bezier(.34,1.56,.64,1),background var(--duration-fast, .15s),box-shadow var(--duration-fast, .15s);cursor:pointer}.scatter-dot:before{content:"";position:absolute;inset:-8px;border-radius:50%}.scatter-dot:hover{background:var(--accent);box-shadow:0 0 0 4px var(--accent-faint);z-index:10}@media(hover:hover){.scatter-dot:hover{transform:translate(-50%,50%) scale(1.4)}}@media(hover:none)and (pointer:coarse){.scatter-dot:before{inset:-12px}}.scatter-dot:after{content:attr(data-label);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);font-size:.65rem;padding:.15rem .4rem;border-radius:.25rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast, .15s)}.scatter-dot:hover:after{opacity:1}.scatter-grid{position:absolute;inset:0;pointer-events:none}.grid-hline{position:absolute;left:0;right:0;border-bottom:1px dashed var(--border-muted)}.grid-hline .y-label{position:absolute;left:-2.5rem;bottom:-.4rem;font-size:.65rem;color:var(--text-faint);width:2rem;text-align:right}.grid-vline{position:absolute;top:0;bottom:0;border-left:1px dashed var(--border-muted)}.grid-vline .x-label{position:absolute;bottom:-1.2rem;left:-1.5rem;width:3rem;text-align:center;font-size:.65rem;color:var(--text-faint)}.line-chart svg{display:block;width:100%;height:180px;border-left:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);grid-column:2;grid-row:1}.line-chart polyline,.line-chart path{fill:none;stroke:var(--text-faint);stroke-width:1.5}.line-chart circle{fill:var(--accent-muted);r:4;stroke:transparent;stroke-width:12px;transition:r var(--duration-fast, .15s) cubic-bezier(.34,1.56,.64,1),fill var(--duration-fast, .15s),box-shadow var(--duration-fast, .15s);cursor:pointer}.line-chart circle:hover{r:6;fill:var(--accent)}.chart-tooltip{position:fixed;background:var(--text);color:var(--bg);font-size:.65rem;padding:.15rem .4rem;border-radius:.25rem;white-space:nowrap;pointer-events:none;user-select:none;opacity:0;transform:translate(-50%);transition:opacity var(--duration-fast, .15s);z-index:200}.chart-tooltip.visible{opacity:1}.line-chart-labeled svg{border-left:none;border-bottom:none;grid-column:1 / -1;height:auto}.line-chart-labeled .line-chart-legend{grid-column:1 / -1}.line-chart .grid-line{stroke:var(--border-muted);stroke-width:.5}.line-chart .axis-label{font-size:7px;fill:var(--text-faint);font-family:inherit}.line-chart .axis-label-y{text-anchor:end}.line-chart .axis-label-x{text-anchor:middle}.line-chart .series-a polyline,.line-chart .series-a path{stroke:var(--text-muted);stroke-width:1.8}.line-chart .series-a circle{fill:var(--text-muted)}.line-chart .series-b polyline,.line-chart .series-b path{stroke:var(--text-faint);stroke-width:1.8;stroke-dasharray:4 3}.line-chart .series-b circle{fill:var(--text-faint)}.line-chart-legend{grid-column:2;display:flex;justify-content:center;gap:1.25rem;padding-top:.5rem}.line-chart-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted)}.line-chart-legend-line{display:inline-block;width:18px;height:0;border-top:2px solid var(--text-muted)}.line-chart-legend-line.dashed{border-top-style:dashed;border-top-color:var(--text-faint)}.timeline-chart{display:block;width:100%;height:auto;padding:.5rem 0}.vbar-chart{display:flex;justify-content:center;gap:.5rem;padding:1rem}.vbar-col{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;max-width:none;transition:opacity var(--duration-fast, .15s),transform var(--duration-fast, .15s);cursor:pointer}.vbar-value{font-size:.8rem;color:var(--text-muted)}.vbar-track{width:100%;height:180px;display:flex;align-items:flex-end;border-bottom:1px solid var(--border-muted)}.vbar-fill{width:100%;background:var(--accent-muted);border-radius:.25rem .25rem 0 0;transition:background var(--duration-fast, .15s),transform var(--duration-fast, .15s);transform-origin:bottom}.vbar-label{font-size:.8rem;color:var(--text-faint)}.vbar-chart:hover .vbar-col:not(:hover){opacity:.6}.vbar-col:active .vbar-fill{transform:scaleY(.95)}.vbar-col:hover .vbar-fill{background:var(--accent)}.vbar-col:hover .vbar-value{color:var(--text)}.pie-chart{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem}.pie-chart-ring{width:140px;height:140px;border-radius:50%;flex-shrink:0}.pie-chart-legend{display:flex;flex-direction:column;gap:.5rem}.pie-chart-item{display:flex;align-items:center;gap:.5rem}.pie-chart-item:hover .pie-chart-label{color:var(--text)}.pie-chart-item:hover .pie-chart-pct{color:var(--text-muted)}.pie-chart-swatch{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pie-chart-label{font-size:.85rem;color:var(--text-muted);flex:1}.pie-chart-pct{font-size:.8rem;color:var(--text-faint)}.chart-axis-y{grid-column:1;grid-row:1;writing-mode:vertical-lr;transform:rotate(180deg);font-size:.75rem;color:var(--text-faint);display:flex;align-items:center;justify-content:center;padding-right:.4rem}.chart-axis-x{grid-column:2;grid-row:2;text-align:center;font-size:.75rem;color:var(--text-faint);padding-top:.4rem}.scale-chart{padding:1rem}.scale-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.scale-row:last-child{margin-bottom:0}.scale-label{flex:0 0 100px;font-size:.85rem;color:var(--text-muted);text-align:right}.scale-meter{display:flex;gap:3px}.scale-seg{width:16px;height:12px;background:var(--border);border-radius:2px}.scale-row[data-level="1"] .scale-seg:nth-child(-n+1){background:var(--accent)}.scale-row[data-level="2"] .scale-seg:nth-child(-n+2){background:var(--accent)}.scale-row[data-level="3"] .scale-seg:nth-child(-n+3){background:var(--accent)}.scale-row[data-level="4"] .scale-seg:nth-child(-n+4){background:var(--accent)}.scale-row[data-level="5"] .scale-seg:nth-child(-n+5){background:var(--accent)}.scale-tag{font-size:.75rem;color:var(--text-faint)}@media(min-width:640px){.bar-chart{padding:1rem 4.5rem 1rem 1rem}.chart-title,.table-title{font-size:.8rem}.data-table th,.data-table td{padding:.6rem .75rem;font-size:.85rem}.data-table th{font-size:.7rem}.data-table tbody tr{transition:background-color var(--duration-fast)}.data-table tbody tr:hover{background-color:var(--accent-faint)}.data-table tbody tr:hover td{color:var(--text)}.scatter-area{height:200px}.scatter-dot{width:6px;height:6px}.line-chart svg{height:150px}.line-chart circle{r:3}.vbar-chart{gap:.75rem}.vbar-col{max-width:60px}.vbar-value{font-size:.7rem}.vbar-track{height:160px}.vbar-label{font-size:.75rem}.pie-chart{flex-direction:row;gap:1.5rem}.pie-chart-ring{width:120px;height:120px}.pie-chart-label{font-size:.8rem}.pie-chart-pct{font-size:.7rem}.scale-row{flex-wrap:nowrap;gap:.75rem}.scale-label{flex:0 0 140px;text-align:right;font-size:.8rem}.scale-seg{width:14px;height:10px}.chart-axis-y,.chart-axis-x{font-size:.7rem}}@container (max-width: 400px){.bar-chart-row{flex-direction:column;align-items:stretch;gap:.25rem;margin-bottom:.75rem}.bar-chart-label{flex:none;text-align:left;padding-right:0}}.timeline{position:relative;margin:1.5rem 0;padding-left:1.5rem;border-left:2px solid var(--border)}.timeline-event{position:relative;padding:.5rem 0 1rem}.timeline-event:before{content:"";position:absolute;left:-1.85rem;top:.7rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 0 0 2px var(--accent)}.timeline-date{display:block;font-size:.8rem;font-weight:600;color:var(--accent);margin-bottom:.1rem}.timeline-label{display:block;font-size:.9rem;color:var(--text)}.timeline-desc{display:block;font-size:.82rem;color:var(--text-muted);margin-top:.15rem}
