/* /economy — one card per series, each with a hand-rolled SVG line chart (economy.js). */
  .eccard { border:1px solid #23262d; border-radius:10px; padding:14px 16px 10px;
            margin:16px 0; background:#0f1115; }
  .echead { display:flex; align-items:flex-start; justify-content:space-between;
            gap:16px; flex-wrap:wrap; margin-bottom:6px; }
  .eccard h2 { font-size:16px; margin:0; color:#e6e8eb; }
  .ecunits { font-size:11px; color:#6b7280; margin-top:2px; }
  .ecnow { text-align:right; white-space:nowrap; }
  .ecnow b { font-size:22px; font-weight:700; color:#e6e8eb;
             font-variant-numeric:tabular-nums; }
  .ecnow span { display:block; font-size:11.5px; margin-top:1px; }
  /* The chart stretches to the card; preserveAspectRatio="none" means the viewBox does the
     scaling, which is why the stroke widths below are set non-scaling. */
  svg.ec { width:100%; height:150px; display:block; }
  svg.ec .el { fill:none; stroke:#6ea8fe; stroke-width:1.6;
               vector-effect:non-scaling-stroke; }
  svg.ec .ea { fill:rgba(110,168,254,.12); stroke:none; }
  svg.ec .ed { fill:#6ea8fe; }
  svg.ec .gl { stroke:#1b1e25; stroke-width:1; vector-effect:non-scaling-stroke; }
  svg.ec .gt { fill:#6b7280; font-size:9px; text-anchor:end; }
  svg.ec .gy { fill:#6b7280; font-size:9px; text-anchor:middle; }
  .ecnote { color:#9aa0a6; font-size:11.5px; margin:6px 0 0; line-height:1.5; }
  .ecsrc { color:#6b7280; font-size:11px; margin:4px 0 0; }
  .ecsrc a { color:#6b7280; }
  /* Hover readout. Positioned in page coordinates by JS, so it must sit outside any
     positioned or overflow-clipped ancestor — it is appended to <body>. */
  svg.ec .cx { stroke:#4b5563; stroke-width:1; vector-effect:non-scaling-stroke;
               pointer-events:none; }
  svg.ec .cd { fill:#fff; stroke:#6ea8fe; stroke-width:1.5; pointer-events:none; }
  .ectip { position:absolute; z-index:300; display:none; pointer-events:none;
           background:#12151c; border:1px solid #2b2f38; border-radius:8px;
           padding:7px 10px; box-shadow:0 12px 30px rgba(0,0,0,.5); white-space:nowrap; }
  .ectip.open { display:block; }
  .ectip b { display:block; font-size:15px; font-weight:700; color:#e6e8eb;
             font-variant-numeric:tabular-nums; }
  .ectip span { display:block; font-size:11px; color:#9aa0a6; margin-top:2px; }
  .ectip .ecprev { color:#6b7280; }
