.equity-tools{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:16px 0}.equity-tools label{display:grid;gap:5px;font-size:12px;color:#475569}.equity-tools input,.equity-volume-tools select{border:1px solid #cbd5e1;border-radius:8px;padding:8px;background:white;color:#102443;min-width:0;font:inherit}.equity-presets,.equity-zoom{display:flex;gap:5px;flex-wrap:wrap}.equity-presets button[aria-pressed=true]{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.equity-tools button{min-width:34px;min-height:36px}.equity-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#475569}.equity-line-key:before,.equity-gap-key:before{content:'';display:inline-block;vertical-align:middle;width:18px;height:3px;background:#2563eb;margin-right:6px}.equity-gap-key:before{height:10px;background:#fef3c7;border:1px solid #f59e0b}.equity-plot{position:relative;margin-top:8px;min-width:0}.equity-svg svg{display:block;width:100%;height:auto;outline-offset:3px;touch-action:pan-y}.equity-svg text{font-size:11px;fill:#64748b;font-family:inherit}.equity-tooltip{position:absolute;top:40px;width:270px;max-width:95%;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:13px;box-shadow:0 8px 25px #0f172a22;color:#102443;font-size:12px;pointer-events:none;z-index:2}.equity-tooltip>strong{display:block;margin-bottom:10px}.equity-tooltip div{display:flex;justify-content:space-between;gap:8px;margin-top:7px}.equity-tooltip p{font-size:12px;line-height:1.5;margin:12px 0 0;color:#92400e}.equity-readout{padding:12px;border-radius:8px;background:#eff6ff;color:#1e3a5f;font-size:12px;line-height:1.7;font-variant-numeric:tabular-nums}.equity-scrub{display:grid;gap:5px;font-size:12px;color:#475569;margin:14px 0}.equity-scrub input{width:100%;accent-color:#2563eb;min-height:24px}.equity-volume-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}.equity-volume-tools label{display:grid;gap:5px;font-size:12px}.equity-volume-tools span,.equity-help{font-size:12px;color:#64748b;line-height:1.6}.equity-error{color:#b91c1c;font-size:12px}.equity-error:empty{display:none}@media(max-width:650px){.equity-tools{gap:8px}.equity-tools label{flex:1;min-width:100px}.equity-tools input{width:100%;font-size:16px}.equity-presets{width:100%}.equity-tools button{padding:7px 10px}.equity-zoom{width:100%}.equity-tooltip{font-size:11px}.equity-volume-tools select{font-size:16px;max-width:100%}}
.equity-baseline{font-size:12px;color:#475569;line-height:1.7}.equity-spx-key:before,.equity-carried-key:before{content:'';display:inline-block;vertical-align:middle;width:18px;height:3px;background:#9333ea;margin-right:6px}.equity-carried-key:before{height:0;background:none;border-top:2px dashed #2563eb}.valuation-carried{display:block;color:#92400e;font-size:11px}
.equity-benchmark-tools{display:flex;flex-wrap:wrap;margin:16px 0 10px}.equity-benchmark-tools label{display:grid;gap:6px;font-size:12px;color:#475569;max-width:100%}.equity-benchmark-tools select{border:1px solid #cbd5e1;border-radius:8px;padding:10px;background:#fff;color:#102443;max-width:100%;font:inherit}.equity-risk-note{border-left:3px solid #9333ea;padding:10px 14px;background:#faf5ff;font-size:13px;line-height:1.7;color:#334155}.equity-risk-method{font-size:12px;line-height:1.7;color:#475569;margin:10px 0}.equity-risk-method summary{cursor:pointer;color:#1d4ed8}.equity-risk-method p{max-width:105ch}@media(max-width:650px){.equity-benchmark-tools select{font-size:16px;width:100%}}

.equity-model-key:before{content:"";display:inline-block;vertical-align:middle;width:22px;height:0;border-top:2px dashed #0891b2;margin-right:6px}.equity-model-key{color:#0e7490}
