.rvr { display: grid; gap: 32px; }
.rvr-h { margin: 0 0 6px; font: 700 1.25rem/1.25 var(--f-display); color: var(--ink); letter-spacing: -0.01em; }
.rvr-h3 { margin: 8px 0 0; font: 700 1.0625rem/1.3 var(--f-display); color: var(--ink); }
.rvr-help { margin: 0 0 12px; font-size: 0.95rem; color: var(--ink-soft); max-width: 75ch; }
.rvr-form { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important; }
.rvr-form [hidden] { display: none !important; }
.rvr-form label { align-content: start; }
.rvr-form select { width: 100%; max-width: 100%; height: 49px; }
.rvr-form input { height: 49px; }
.rvr-hint { font: 400 0.8125rem/1.4 var(--f-body); color: var(--ink-soft); letter-spacing: 0; }
.rvr .tool-actions { margin-top: 12px; }
.rvr-sum { margin: 0; font: 700 1.25rem/1.3 var(--f-display); color: var(--ink); }
.rvr-out { display: grid; gap: 16px; }
.rvr-out > * { margin-block: 0; }
.rvr-note { font: 400 0.8125rem/1.5 var(--f-body); color: var(--ink-soft); }
.rvr .tool-result svg.rvr-map { max-width: 480px; }
.rvr-accent { fill: var(--teal); fill-opacity: 0.12; }
.rvr-frame { fill: none; stroke: var(--ink-soft); stroke-width: 1; }
.rvr-div { stroke: var(--ink-soft); stroke-width: 1; stroke-dasharray: 4 4; }
.rvr-lab { font: 400 13px var(--f-mono); fill: var(--ink-soft); }
.rvr-lab.is-on { font-weight: 700; fill: var(--ink); }
.rvr-tick { font: 400 12px var(--f-mono); fill: var(--ink-soft); }
.rvr-drop { stroke: var(--ochre); stroke-width: 1.5; stroke-dasharray: 2 3; }
.rvr-gross { fill: var(--paper-light); stroke: var(--ochre); stroke-width: 2; }
.rvr-you { fill: var(--ochre); stroke: var(--paper-light); stroke-width: 2; }
.rvr-key { margin: 0; font: 400 0.875rem/1.6 var(--f-body); color: var(--ink); }
.rvr-dot { display: inline-block; width: 10px; height: 10px; margin: 0 6px 0 0; border-radius: 50%; vertical-align: baseline; box-sizing: border-box; }
.rvr-dot.is-you { background: var(--ochre); }
.rvr-dot.is-gross { border: 2px solid var(--ochre); margin-left: 12px; }
.rvr-mark { display: inline-block; width: 18px; height: 0; margin: 0 6px 0 12px; vertical-align: middle; border-top: 2px dashed var(--ink-soft); }
.rvr-tablewrap { overflow-x: auto; }
.rvr .tool-result tbody th { font: 400 0.95rem var(--f-body); color: var(--ink); }
.rvr .tool-result tr.rvr-all th, .rvr .tool-result tr.rvr-all td { font-weight: 700; border-top: 1px solid var(--ink); }
.rvr-quote { margin: 8px 0 0; padding: 0 0 0 14px; border-left: 3px solid var(--teal); font-style: italic; color: var(--ink); }
.rvr-quote cite { display: block; margin-top: 2px; font: 400 0.8125rem var(--f-mono); font-style: normal; color: var(--ink-soft); }
