.rm-calculator {
    --calc-forest: #1b4332;
    --calc-ink: #28251e;
    --calc-paper: #f0ece3;
    --calc-border: #d9d0bd;
    color: var(--calc-ink);
    font: 500 16px/1.55 Manrope, system-ui, sans-serif;
    margin-block: 28px;
}
.rm-calculator [hidden] { display: none !important; }
.rm-calculator p { margin: 0; }
.rm-calc-notice {
    background: var(--calc-paper);
    padding: 20px 22px;
    border-radius: 12px;
    line-height: 1.55;
}
.rm-calc-notice strong { display: block; color: var(--calc-forest); margin-bottom: 6px; font-weight: 800; }
.rm-calc-tabs { display: flex; gap: 8px; margin: 26px 0; border-bottom: 1px solid var(--calc-border); }
.rm-calc-tabs button {
    padding: 12px 18px;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 6px 6px 0 0;
    background: transparent;
    color: var(--calc-forest);
    font: 750 16px/1.4 Manrope, system-ui, sans-serif;
    cursor: pointer;
    transition: background-color 160ms ease-out, border-color 160ms ease-out;
}
.rm-calc-tabs button:hover { background: #e9eee6; }
.rm-calc-tabs button[aria-selected="true"] { border-color: var(--calc-forest); background: #e9eee6; }
.rm-calc-intro { margin: 24px 0; }
.rm-calc-intro h2 { color: var(--calc-forest); font: 750 26px/1.25 Manrope, system-ui, sans-serif; letter-spacing: -.02em; margin: 0 0 10px; }
.rm-calc-workspace { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.rm-calc-form { display: grid; gap: 20px; min-width: 0; }
.rm-calc-field { min-width: 0; }
.rm-calc-field label { display: block; font-weight: 750; line-height: 1.4; margin-bottom: 8px; }
.rm-calc-field label span { font-weight: 500; }
.rm-calc-unit-field, .rm-calc-fixed-unit { display: flex; gap: 8px; min-width: 0; }
.rm-calculator input, .rm-calculator select {
    color: var(--calc-ink);
    background: #fffdf9;
    border: 1px solid #a89b80;
    border-radius: 6px;
    min-height: 48px;
    padding: 10px 12px;
    font: 650 16px/1.4 Manrope, system-ui, sans-serif;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
    caret-color: var(--calc-forest);
}
.rm-calculator input { min-width: 0; width: 100%; flex: 1 1 auto; }
.rm-calculator select { flex: 0 1 auto; min-width: 86px; max-width: 55%; cursor: pointer; }
.rm-calc-fixed-unit > span { flex: 0 0 74px; align-self: center; font-weight: 650; }
.rm-calculator .rm-calc-help { font-size: 14px; color: #484235; line-height: 1.5; margin-top: 7px; }
.rm-calculator .rm-calc-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.rm-calc-actions button {
    background: var(--calc-forest);
    color: #fcfaf7;
    border: 1px solid var(--calc-forest);
    border-radius: 6px;
    padding: 12px 20px;
    min-height: 48px;
    font: 750 16px/1.4 Manrope, system-ui, sans-serif;
    cursor: pointer;
    transition: background-color 160ms ease-out, transform 160ms ease-out;
}
.rm-calc-actions button:hover { background: #102e22; transform: translateY(-1px); }
.rm-calc-actions button:active { transform: translateY(0); }
.rm-calc-actions button[type="reset"] { background: transparent; color: var(--calc-forest); }
.rm-calc-actions button[type="reset"]:hover { background: #e9eee6; }
.rm-calc-actions button:disabled { cursor: not-allowed; opacity: .6; transform: none; }
.rm-calculator :is(button, input, select, summary):focus-visible { outline: 3px solid #785824; outline-offset: 3px; }
.rm-calculator [aria-invalid="true"] { border: 2px solid #983d2d; }
.rm-calculator .rm-calc-error { color: #812f22; font-weight: 650; padding: 12px 14px; background: #f8e7e1; border-radius: 6px; }
.rm-calc-output { background: var(--calc-paper); padding: 24px; border-radius: 12px; min-width: 0; overflow-wrap: anywhere; }
.rm-calc-output h3 { color: var(--calc-forest); font: 750 18px/1.4 Manrope, system-ui, sans-serif; margin: 0 0 20px; }
.rm-calc-output p + p { margin-top: 10px; }
.rm-calc-output .rm-calc-result-label { font-size: 14px; font-weight: 750; color: #484235; margin-top: 24px; }
.rm-calc-output .rm-calc-result-label:first-child { margin-top: 0; }
.rm-calc-output .rm-calc-result-value { color: var(--calc-forest); font-size: 27px; line-height: 1.3; font-weight: 800; margin-top: 4px; font-variant-numeric: tabular-nums; }
.rm-calc-output .rm-calc-equivalent { font-size: 14px; }
.rm-calc-output .rm-calc-formula { padding-top: 12px; border-top: 1px solid #c5baa5; font-size: 14px; font-variant-numeric: tabular-nums; }
.rm-calc-output .rm-calc-rounding { padding-top: 16px; font-size: 12px; line-height: 1.6; }
.rm-calc-output .rm-calc-note, .rm-calc-empty { font-size: 14px; }
.rm-calc-explanation { margin-top: 24px; padding: 16px 0; border-block: 1px solid var(--calc-border); }
.rm-calc-explanation summary { cursor: pointer; color: var(--calc-forest); font-weight: 750; padding: 4px 0; }
.rm-calc-explanation[open] summary { margin-bottom: 14px; }
.rm-calc-explanation p + p { margin-top: 12px; }
.rm-calculator .rm-calc-privacy { margin-top: 24px; font-size: 14px; color: #484235; }
.rm-calculator .rm-calc-sources { margin-top: 12px; font-size: 13px; color: #484235; }
.rm-calc-sources a { color: var(--calc-forest); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.rm-calc-noscript { margin-top: 20px !important; }
@media (max-width: 700px) {
    .rm-calc-workspace { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .rm-calc-output { padding: 22px; }
    .rm-calc-notice { padding: 18px; }
    .rm-calc-intro h2 { font-size: 23px; }
    .rm-calc-tabs button { padding-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .rm-calc-actions button, .rm-calc-tabs button { transition: none; }
    .rm-calc-actions button:hover { transform: none; }
}
