.prose h2 { font-size: 1.5rem; font-weight: 700; color: rgb(var(--ink)); margin: 2.5rem 0 1rem; line-height: 1.3 }
.prose h3 { font-size: 1.15rem; font-weight: 600; color: rgb(var(--ink)); margin: 2rem 0 .75rem }
.prose p { color: rgb(var(--soft)); line-height: 1.8; margin-bottom: 1.15rem }
.prose ul, .prose ol { color: rgb(var(--soft)); line-height: 1.8; margin: 0 0 1.15rem 1.25rem }
.prose li { margin-bottom: .5rem }
.prose ul { list-style: disc }
.prose ol { list-style: decimal }
.prose strong { color: rgb(var(--ink)); font-weight: 600 }
.prose a { color: rgb(var(--accent)); text-decoration: none; font-weight: 500 }
.prose a:hover { color: rgb(var(--accentHover)) }

.quote {
    border-left: 3px solid rgb(var(--line) / .3);
    background: rgb(var(--docBg));
    padding: 1rem 1.25rem; margin: 1.5rem 0;
    border-radius: 0 8px 8px 0;
    font-size: .95rem; line-height: 1.75; color: rgb(var(--soft));
}
.quote.bad  { border-left-color: rgb(var(--riskHigh)); background: rgb(var(--riskHigh) / .06) }
.quote.good { border-left-color: rgb(var(--accent));   background: rgb(var(--accent) / .06) }

.tbl { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 1.5rem 0 }
.tbl th { text-align: left; padding: .75rem .9rem; background: rgb(var(--bgAlt));
          color: rgb(var(--ink)); font-weight: 600; border: 1px solid rgb(var(--line) / .12) }
.tbl td { padding: .8rem .9rem; border: 1px solid rgb(var(--line) / .12);
          color: rgb(var(--soft)); line-height: 1.65; vertical-align: top }
.scroll-x { overflow-x: auto; -webkit-overflow-scrolling: touch }

.calc { display: grid; gap: .6rem; margin: 1.5rem 0 }
.calc-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
            padding: .85rem 1.1rem; border-radius: 10px; background: rgb(var(--bgAlt));
            border: 1px solid rgb(var(--line) / .10) }
.calc-row .lbl { color: rgb(var(--soft)); font-size: .93rem; line-height: 1.5 }
.calc-row .val { color: rgb(var(--ink)); font-weight: 700; font-size: 1.05rem;
                 white-space: nowrap; font-variant-numeric: tabular-nums }
.calc-row.hi { background: rgb(var(--riskHigh) / .08); border-color: rgb(var(--riskHigh) / .25) }
.calc-row.hi .val { color: rgb(var(--riskHigh)) }
.calc-row.ok { background: rgb(var(--accent) / .08); border-color: rgb(var(--accent) / .25) }
.calc-row.ok .val { color: rgb(var(--accent)) }
