/* site/css/solver.css */
.solver-tabs { display: flex; gap: var(--space-2); margin: var(--space-4) 0 var(--space-3); border-bottom: 1px solid var(--border-color); }
.solver-tabs button { background: none; border: none; color: var(--text-secondary); padding: var(--space-2) var(--space-3); cursor: pointer; border-bottom: 2px solid transparent; }
.solver-tabs button[aria-selected="true"] { color: var(--accent); border-bottom-color: var(--accent); }
.solver-panel { padding: var(--space-3) 0; }
.solver-metrics { display: flex; gap: var(--space-4); flex-wrap: wrap; }
.solver-metric { background: var(--bg-secondary); border-radius: var(--radius); padding: var(--space-3); min-width: 160px; }
.solver-metric-label { font-size: 0.8rem; color: var(--text-secondary); display: block; }
.solver-metric-value { font-size: 1.4rem; font-weight: 700; }
.solver-metric-delta { font-size: 0.85rem; color: var(--accent); }
.solver-frontier-wrap { position: relative; }
.solver-frontier-svg { width: 100%; height: 280px; background: var(--bg-secondary); border-radius: var(--radius); }
.solver-frontier-line { fill: none; stroke: var(--accent); stroke-width: 2; }
.solver-frontier-axis { stroke: var(--border-strong); stroke-width: 1; }
.solver-frontier-tick { stroke: var(--border-color); stroke-width: 1; }
.solver-frontier-tick-label { font-size: 10px; fill: var(--text-secondary); }
.solver-frontier-axis-title { font-size: 11px; fill: var(--text-secondary); }
.solver-frontier-hover-line { stroke: var(--border-strong); stroke-width: 1; stroke-dasharray: 3 2; }
.solver-frontier-hover-dot { fill: var(--accent); stroke: var(--bg-primary); stroke-width: 1.5; }
.solver-frontier-hitbox { cursor: crosshair; }
.solver-frontier-tooltip { position: absolute; pointer-events: none; background: var(--bg-primary); border: 1px solid var(--border-color); border-radius: var(--radius); padding: 4px 8px; font-size: 12px; line-height: 1.4; white-space: nowrap; transform: translateY(-100%); }
