:root {
    --airfoil-background-primary: #ffffff;
    --airfoil-background-secondary: #f8f9fa;
    --airfoil-text-primary: #212529;
    --airfoil-text-secondary: #6c757d;
    --airfoil-text-tertiary: #adb5bd;
    --airfoil-text-success: #198754;
    --airfoil-text-warning: #ffc107;
    --airfoil-text-danger: #dc3545;
    --airfoil-background-success: #d1e7dd;
    --airfoil-background-warning: #fff3cd;
    --airfoil-background-danger: #f8d7da;
    --airfoil-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --airfoil-border-radius-md: 6px;
}
  .airfoil-ctrl { display:flex; align-items:center; gap:12px; margin:10px 0 0; font-size:13px; color:var(--airfoil-text-secondary); }
  .airfoil-val  { font-size:15px; font-weight:500; color:var(--airfoil-text-primary); min-width:38px; text-align:right; }
  .airfoil-stat-row { display:flex; gap:10px; margin:12px 0 0; }
  .airfoil-stat { background:var(--airfoil-background-secondary); border-radius:var(--airfoil-border-radius-md); padding:8px 14px; flex:1; text-align:center; }
  .airfoil-stat-lbl { font-size:11px; color:var(--airfoil-text-secondary); }
  .airfoil-stat-val { font-size:17px; font-weight:500; color:var(--airfoil-text-primary); margin-top:2px; }
  .airfoil-stat-val.danger { color:var(--airfoil-text-danger); }
  .airfoil-phase-badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:12px; font-weight:500; }
  .airfoil-phase-normal  { background:var(--airfoil-background-success); color:var(--airfoil-text-success); }
  .airfoil-phase-warning { background:var(--airfoil-background-warning); color:var(--airfoil-text-warning); }
  .airfoil-phase-stall   { background:var(--airfoil-background-danger);  color:var(--airfoil-text-danger); }
  @keyframes dashflow { to { stroke-dashoffset: -18; } }
  @media (prefers-reduced-motion: no-preference) {
    .airfoil-streamline { animation: dashflow var(--spd,1.2s) linear infinite; }
  }
