.ft-chart{margin:2rem 0;padding:20px 20px 16px;background:var(--bg-card, #fff);border:1px solid var(--border-card, #e2e8f0);border-radius:var(--radius-card, 16px)}.ft-chart__head{display:block;margin:0 0 12px}.ft-chart__eyebrow{display:block;margin-bottom:4px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary, #64748b)}.ft-chart__title{display:block;font-size:16px;font-weight:600;line-height:1.35;color:var(--text-heading, #1e293b)}.ft-chart__legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 10px;padding:0;list-style:none;font-size:13px;color:var(--text-body, #334155)}.ft-chart__legend li{display:flex;align-items:center;gap:8px;margin:0}.ft-chart__key{display:inline-block;flex:none}.ft-chart__key--line{width:16px;height:2px;border-radius:1px}.ft-chart__key--bar{width:10px;height:10px;border-radius:2px}.ft-chart__key--band{width:16px;height:10px;border-radius:2px;opacity:.2}.ft-chart__axis{margin:0;font-size:12px;color:var(--text-secondary, #64748b)}.ft-chart__axis--y{margin-bottom:4px}.ft-chart__axis--x{margin-top:2px;text-align:right}.ft-chart__plot{position:relative}.ft-chart__svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}.ft-chart__svg--sm{display:none}.ft-chart__svg:focus{outline:none}.ft-chart__svg:focus-visible{outline:2px solid var(--teal-600, #0f9191);outline-offset:4px;border-radius:4px}.ft-chart__grid{stroke:#eef2f6;stroke-width:1}.ft-chart__base{stroke:#cbd5e1;stroke-width:1}.ft-chart__tick{font:11px var(--font-mono, monospace);fill:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.ft-chart__line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ft-chart__band{fill-opacity:.1}.ft-chart__dot{stroke:#fff;stroke-width:2}.ft-chart__cross,.ft-chart__leader{stroke:#94a3b8;stroke-width:1}.ft-chart__end,.ft-chart__value{font:500 12px var(--font-mono, monospace);fill:var(--text-heading, #1e293b);font-variant-numeric:tabular-nums}.ft-chart__cat{font:12px var(--font-sans, sans-serif);fill:var(--text-body, #334155)}.ft-chart__hl{fill:#f1f5f9}.ft-chart__tip{position:absolute;top:0;left:0;z-index:2;min-width:150px;max-width:min(320px,100%);padding:8px 10px;background:#fff;border:1px solid var(--border-card, #e2e8f0);border-radius:8px;box-shadow:0 4px 16px #0f172a14;font-size:12.5px;line-height:1.5;pointer-events:none}.ft-chart__tip[hidden]{display:none}.ft-chart__tip-x{margin-bottom:4px;color:var(--text-secondary, #64748b)}.ft-chart__tip-row{display:flex;align-items:center;gap:8px}.ft-chart__tip-row strong{font-family:var(--font-mono, monospace);font-weight:600;color:var(--text-primary, #0f172a);font-variant-numeric:tabular-nums;white-space:nowrap}.ft-chart__tip-row--band strong{font-weight:500}.ft-chart__tip-row span:last-child{color:var(--text-secondary, #64748b)}.ft-chart__tip-key{flex:none;width:12px;height:2px;border-radius:1px}.ft-chart__tip-key--bar{width:8px;height:8px;border-radius:2px}.ft-chart__tip-key--band{height:8px;border-radius:2px;opacity:.2}.ft-chart__notes{margin-top:12px;font-size:13px;line-height:1.55;color:var(--text-secondary, #64748b)}.ft-chart__notes p{margin:0 0 6px}.ft-chart__notes strong{color:var(--text-body, #334155);font-weight:600}.ft-chart__data{margin-top:10px;font-size:13px}.ft-chart__data summary{cursor:pointer;color:var(--teal-700, #0d7e7e);font-weight:500}.ft-chart__table-wrap{margin-top:8px;overflow-x:auto}.ft-chart__data table{width:100%;border-collapse:collapse;font-size:12.5px}.ft-chart__data caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ft-chart__data th,.ft-chart__data td{padding:6px 10px;border-bottom:1px solid var(--border-soft, #f1f5f9);text-align:right;white-space:nowrap}.ft-chart__data thead th{color:var(--text-secondary, #64748b);font-weight:500}.ft-chart__data th[scope=row],.ft-chart__data thead th:first-child{text-align:left;font-weight:500}.ft-chart__data td{font-family:var(--font-mono, monospace);font-variant-numeric:tabular-nums;color:var(--text-primary, #0f172a)}@media(max-width:560px){.ft-chart{padding:16px 12px 12px}.ft-chart__svg--lg{display:none}.ft-chart__svg--sm{display:block}}
