.rb-planner, .rb-stats {color:#17323f; padding:clamp(30px,4vw,56px) 0; word-break:keep-all; overflow-wrap:break-word}
.rb-planner h2, .rb-stats h2 {font-size:clamp(24px,2.4vw,35px); line-height:1.4; margin:0 0 14px}
.rb-intro, .rb-chart p {max-width:72ch; color:#48606a; line-height:1.75; margin:0 0 22px}
.rb-layout {display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:clamp(22px,4vw,54px); align-items:start}
.rb-items {border-top:2px solid #294b57}
.rb-row {display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid #d5ddd9; padding:5px 0}
.rb-choice {text-align:left; display:flex; align-items:center; gap:14px; flex:1; min-width:0; min-height:66px; background:transparent; color:inherit; border:0; border-radius:3px; font:inherit; padding:7px 3px; cursor:pointer}
.rb-choice:hover strong {text-decoration:underline; text-underline-offset:4px}
.rb-check {display:grid; place-items:center; width:22px; height:22px; border:1px solid #819895; border-radius:5px; flex:none; color:white}
.rb-choice[aria-pressed="true"] .rb-check {background:#215750; border-color:#215750}
.rb-choice[aria-pressed="true"] .rb-check::after {content:""; width:10px; height:6px; border:solid white; border-width:0 0 2px 2px; transform:translateY(-1px) rotate(-45deg)}
.rb-choice strong {display:block; font-size:17px; line-height:1.45}
.rb-choice small {display:block; margin-top:3px; font-size:13px; line-height:1.6; color:#52646b}
.rb-field {display:flex; align-items:center; gap:5px; flex:none; font-size:13px; white-space:nowrap}
.rb-field input {box-sizing:border-box; width:76px; height:42px; border:1px solid #91a69f; border-radius:5px; text-align:right; padding:4px 8px; background:#fff; color:#17323f; font:inherit; font-size:17px; font-variant-numeric:tabular-nums; appearance:textfield}
.rb-field input::-webkit-inner-spin-button {appearance:none}
.rb-field input:disabled {color:#68787a; background:#f2f4f2; border-color:#dae0dd}
.rb-field input[aria-invalid="true"] {border-color:#a43e28}
.rb-planner :focus-visible, .rb-stats :focus-visible {outline:3px solid #af7427; outline-offset:3px}
.rb-estimate {position:sticky; top:100px; background:#183a40; color:white; padding:clamp(22px,3vw,38px); border-radius:5px}
.rb-estimate h3 {margin:0; color:#f1f5f1; font-size:17px}
.rb-estimate output {display:block; font-size:clamp(30px,3.5vw,48px); line-height:1.4; color:white; font-weight:700; letter-spacing:-.045em; margin-top:6px; overflow-wrap:anywhere}
.rb-estimate p {color:#d6e2df; line-height:1.6; margin:4px 0 22px; font-size:14px}
.rb-next {display:inline-flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:center; background:#fff; color:#173b40; border-radius:3px; text-decoration:none; padding:12px 16px; font-weight:700; font-size:15px}
.rb-next[aria-disabled="true"] {opacity:.6}
.rb-note {color:#55686d; font-size:14px; margin:15px 0 0}
.rb-stats {border-top:1px solid #d3dcd8}
.rb-chart {border:1px solid #d6dfd9; border-radius:5px; background:#fafbf8; padding:clamp(16px,3vw,32px); margin:16px 0 0}
.rb-chart h3 {font-size:15px; margin:20px 0 6px}
.rb-chart p {font-size:15px; margin:0 0 20px}
.rb-chart ul {max-width:740px; list-style:none; padding:0; margin:0}
.rb-bar {display:grid; grid-template-columns:4em minmax(0,1fr) 5.7em; align-items:center; gap:10px; padding:5px 0; font-size:15px; line-height:1.5}
.rb-bar strong {text-align:right; font-variant-numeric:tabular-nums}
.rb-track {height:13px; background:#e2e8e3; border-radius:2px; overflow:hidden}
.rb-track i {display:block; height:100%; background:#738980}
.rb-accent .rb-track i {background:#216258}
.rb-source {display:inline-block; margin-top:23px; color:#335c5b; text-underline-offset:3px; font-size:14px}
@media(max-width:720px) {
  .rb-layout {grid-template-columns:1fr; gap:18px}
  .rb-estimate {position:static; padding:18px 20px}
  .rb-estimate p {margin-bottom:12px}
  .rb-choice {gap:9px}
  .rb-choice small {font-size:12px}
  .rb-field input {width:60px}
  .rb-bar {font-size:13px; gap:7px}
}
