.hero-forecast{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.forecast-heading{justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1.5rem 1rem;display:flex}.forecast-heading h2{font:400 clamp(1.6rem, 2.3vw, 2.4rem) / 1.1 var(--font-display);margin-top:.5rem}.forecast-reset{border:1px solid var(--color-border);border-radius:var(--radius-full);width:2.5rem;height:2.5rem;color:var(--color-text-muted);flex-shrink:0;place-items:center;display:grid}.forecast-reset:hover{color:var(--color-text);border-color:var(--color-border-strong)}.forecast-context{font-size:var(--text-small);color:var(--color-text-muted);padding:0 1.5rem 1.25rem}.forecast-summary{border-top:1px solid var(--color-border);justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem 0;display:flex}.forecast-summary>div{gap:.4rem;display:grid}.forecast-summary>div:last-child{text-align:right}.forecast-summary span{font-size:var(--text-small);color:var(--color-text-muted)}.forecast-summary strong{font:400 clamp(1.4rem, 2.1vw, 2.25rem) / 1.2 var(--font-mono);letter-spacing:-.06em}.forecast-summary small,.forecast-controls small{font:var(--text-small) var(--font-sans);color:var(--color-text-muted);letter-spacing:0}.hero-forecast [role=slider]{padding:1rem 1.5rem 0}.hero-forecast [data-curve=line]{stroke-width:2.5px}.forecast-legend{font-size:var(--text-small);color:var(--color-text-muted);flex-wrap:wrap;gap:1rem;padding:.5rem 1.5rem 1.25rem;display:flex}.forecast-legend span{align-items:center;gap:.5rem;display:inline-flex}.forecast-legend span:before{content:"";background:var(--color-text-faint);width:.8rem;height:2px}.forecast-legend span:last-child:before{background:var(--color-signal)}.forecast-controls{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.forecast-controls label{min-width:0;padding:1rem 1.5rem .25rem}.forecast-controls label+label{border-left:1px solid var(--color-border)}.forecast-controls label>span{font-size:var(--text-small);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.forecast-controls output{font-family:var(--font-mono);color:var(--color-text)}.hero-forecast figcaption{font-size:var(--text-label);color:var(--color-text-faint);padding:.75rem 1.5rem 1.25rem}@media (max-width:40rem){.forecast-heading{padding:1.25rem 1rem 1rem}.forecast-context,.forecast-summary,.forecast-legend,.hero-forecast figcaption,.forecast-controls label,.hero-forecast [role=slider]{padding-inline:1rem}}
