.solutions-preview-banner{ margin:var(--rung-space-5) 0; padding:var(--rung-space-3) var(--rung-space-4); border:1px solid var(--rung-warning); border-radius:var(--rung-radius-md); background:var(--rung-surface-alt); color:var(--rung-text); }
.solutions-preview-banner strong{ color:var(--rung-warning); }
.solution-progress{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--rung-space-2); margin:var(--rung-space-5) 0; padding:0; list-style:none; counter-reset:solution-step; }
.solution-progress li{ padding:var(--rung-space-3); border-top:3px solid var(--rung-line); color:var(--rung-text-muted); font-size:13px; }
.solution-progress li::before{ counter-increment:solution-step; content:counter(solution-step) ". "; font-weight:800; }
.solution-progress li[aria-current="step"]{ border-color:var(--rung-ember-deep); color:var(--rung-text); font-weight:700; }
.solution-form{ margin-top:var(--rung-space-5); border-top:var(--rung-space-1) solid var(--rung-ember); }
.solution-form fieldset{ min-width:0; margin:0 0 var(--rung-space-6); padding:0; border:0; }
.solution-form legend{ width:100%; margin-bottom:var(--rung-space-4); font-family:var(--rung-font-serif); color:var(--rung-text); font-size:23px; }
.solution-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--rung-space-4); }
.solution-grid.three{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.solution-card{ padding:var(--rung-space-4); border:1px solid var(--rung-line); border-radius:var(--rung-radius-md); background:var(--rung-surface-alt); }
.solution-card h3,.solution-card h4{ margin-bottom:var(--rung-space-3); }
.solution-choice{ display:flex; gap:var(--rung-space-3); align-items:flex-start; padding:var(--rung-space-3); border:1px solid var(--rung-line); border-radius:var(--rung-radius-md); background:var(--rung-surface); cursor:pointer; }
.solution-choice:has(input:checked){ border-color:var(--rung-ember-deep); box-shadow:0 0 0 2px var(--rung-ember-tint); }
.solution-choice input{ margin-top:3px; accent-color:var(--rung-ember-deep); }
.solution-choice span{ display:block; color:var(--rung-text-muted); font-size:13px; line-height:1.4; }
.solution-form [hidden]{ display:none!important; }
.solution-help{ margin-top:calc(var(--rung-space-2) * -1); color:var(--rung-text-muted); font-size:13px; }
.solution-check{ display:flex; gap:var(--rung-space-2); align-items:flex-start; margin:var(--rung-space-3) 0; color:var(--rung-text-body); font-size:14px; }
.solution-check input{ margin-top:3px; accent-color:var(--rung-ember-deep); }
.solution-actions{ display:flex; align-items:center; justify-content:space-between; gap:var(--rung-space-4); margin-top:var(--rung-space-5); }
.solution-actions p{ max-width:46ch; margin:0; color:var(--rung-text-muted); font-size:13px; }
.solution-result{ margin-top:var(--rung-space-6); padding:var(--rung-space-6); border:1px solid var(--rung-line); border-top:var(--rung-space-1) solid var(--rung-ember); border-radius:var(--rung-radius-lg); background:var(--rung-surface-alt); }
.solution-result:focus{ outline:3px solid var(--rung-ember-tint); outline-offset:3px; }
.solution-result h2{ margin:var(--rung-space-2) 0 var(--rung-space-3); font-size:clamp(28px,4vw,38px); }
.solution-result .result-lede{ max-width:62ch; color:var(--rung-text-body); font-size:18px; }
.solution-metrics{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--rung-space-3); margin:var(--rung-space-5) 0; }
.solution-metric{ padding:var(--rung-space-4); border:1px solid var(--rung-line); border-radius:var(--rung-radius-md); background:var(--rung-surface); }
.solution-metric span{ display:block; color:var(--rung-text-muted); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.solution-metric strong{ display:block; margin-top:var(--rung-space-2); color:var(--rung-text); font-size:22px; font-variant-numeric:tabular-nums; }
.solution-result .callout{ margin:var(--rung-space-4) 0; }
.solution-result-actions{ display:flex; flex-wrap:wrap; gap:var(--rung-space-3); margin-top:var(--rung-space-5); }
.solution-table-wrap{ overflow-x:auto; margin:var(--rung-space-4) 0; }
.solution-table{ width:100%; min-width:620px; border-collapse:collapse; font-size:14px; }
.solution-table caption{ margin-bottom:var(--rung-space-2); color:var(--rung-text-muted); text-align:left; }
.solution-table th,.solution-table td{ padding:var(--rung-space-3); border-bottom:1px solid var(--rung-line); text-align:left; font-variant-numeric:tabular-nums; }
.solution-table th{ color:var(--rung-text-muted); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.solution-table td:last-child,.solution-table th:last-child{ text-align:right; }
.solution-error-summary{ margin:var(--rung-space-4) 0; padding:var(--rung-space-4); border-left:4px solid var(--rung-danger); background:var(--rung-surface-alt); }
.solution-error-summary:focus{ outline:3px solid color-mix(in srgb,var(--rung-danger) 25%,transparent); outline-offset:2px; }
.solution-method-note{ color:var(--rung-text-muted); font-size:14px; }
.solution-method-note code{ color:var(--rung-text); }
.solution-index-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--rung-space-4); margin:var(--rung-space-6) 0; }
.solution-index-grid .panel{ display:flex; flex-direction:column; }
.solution-index-grid .panel .btn{ align-self:flex-start; margin-top:auto; }
@media(max-width:760px){
  .solution-grid,.solution-grid.three,.solution-metrics,.solution-index-grid{ grid-template-columns:1fr; }
  .solution-progress{ grid-template-columns:1fr; }
  .solution-actions{ align-items:stretch; flex-direction:column; }
  .solution-actions .btn{ width:100%; }
  .solution-result{ padding:var(--rung-space-4); }
}
@media(prefers-reduced-motion:reduce){ .solution-choice,.solution-result{ scroll-behavior:auto; } }
