/* IV-20260909-STAT-INTERACTIVO: reuses the approved Malkiel editorial chart vocabulary. */
.stat-explorer{margin:28px 0 32px;padding:22px 0;border-block:1px solid var(--line)}
.stat-explorer fieldset{border:0;padding:0;margin:20px 0;min-width:0}
.stat-explorer [hidden]{display:none!important}
.stat-explorer legend,.stat-explorer label{font-size:14px;font-weight:650;color:var(--navy)}
.stat-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.stat-inputs label{display:flex;flex-direction:column;gap:6px}
.stat-inputs input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid var(--line);background:#fffdf9;color:var(--navy);font:16px Manrope,sans-serif;padding:8px}
.stat-actions{display:flex;flex-wrap:wrap;gap:10px}
.stat-actions button{font:600 13px/1.5 Manrope,sans-serif;color:var(--navy);background:transparent;border:1px solid var(--line);padding:10px 14px;min-height:44px;cursor:pointer}
.stat-actions button:disabled{opacity:.55;cursor:default}
.stat-explorer input:focus-visible,.stat-explorer button:focus-visible{outline:2px solid #896221;outline-offset:4px}
.stat-explorer input[aria-invalid=true]{border:2px solid var(--navy)}
.stat-explorer .stat-small{font-size:14px;line-height:1.65;margin:12px 0}
.stat-plot{width:100%;min-width:0}.stat-plot svg{display:block;max-width:100%;height:auto;margin:auto;font:12px Manrope,sans-serif;overflow:visible}
.stat-plot text{fill:var(--navy)}.stat-axis-label{font-weight:600}.stat-grid{stroke:#ded8ce;stroke-width:1}.stat-zero{stroke:var(--navy);stroke-width:1}.stat-bar{fill:var(--navy)}.stat-mean{stroke:#896221;stroke-width:2;stroke-dasharray:5 4}
.stat-summary{display:flex;flex-wrap:wrap;gap:12px 30px;padding-left:16px;border-left:2px solid var(--gold);margin-top:20px}.stat-summary p{margin:0;font-size:15px}.stat-summary strong{display:block;font-size:18px;font-variant-numeric:tabular-nums}
.stat-legend{display:flex;align-items:center;gap:8px}.stat-legend:before{content:'';display:inline-block;width:24px;border-top:2px dashed #896221}
.stat-error:empty{display:none}
@media(max-width:480px){.stat-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-actions button{flex:1 1 100%}}
@media(max-width:340px){.stat-inputs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.stat-explorer *{animation:none;transition:none}}
.stat-plot .stat-mean-label{fill:#896221;font-weight:600}
