/* Money tools (/tools/<slug>/): a calculator panel on top of an article column (post.css). */
.calc { margin: 28px 0 40px; padding: 22px 20px 24px; border-radius: 20px; background: var(--y-surface); border: 1px solid var(--y-line); box-shadow: var(--y-shadow); line-height: 1.6; }
.calc__form { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px 18px; }
.calc__field { display: grid; gap: 6px; }
.calc__field label { font-weight: 700; font-size: 0.92rem; }
.calc__field .hint { font-size: 0.78rem; color: var(--y-muted); }
.calc__input { display: flex; align-items: center; gap: 8px; }
.calc__input input { width: 100%; min-width: 0; font: inherit; font-size: 1.05rem; font-weight: 700; padding: 10px 12px; border: 1px solid var(--y-line); border-radius: 12px; background: var(--y-bg); color: var(--y-ink); }
.calc__input input:focus-visible { outline: 3px solid var(--y-pink); outline-offset: 1px; }
.calc__input span { flex: none; font-size: 0.9rem; color: var(--y-ink-2); }
.calc__out { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--y-line); }
.calc__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0; }
.calc__stat { margin: 0; padding: 12px 14px; border-radius: 14px; background: var(--y-bg); }
.calc__stat dt { font-size: 0.8rem; font-weight: 700; color: var(--y-ink-2); }
.calc__stat dd { margin: 2px 0 0; font-family: var(--y-font-latin); font-weight: 800; font-size: 1.3rem; line-height: 1.3; font-variant-numeric: tabular-nums; }
.calc__stat--key { background: var(--y-pink-soft); }
.calc__note { margin: 14px 0 0; font-size: 0.86rem; color: var(--y-ink-2); }
.calc__note:empty { display: none; }
.calc__note.warn { padding: 10px 12px; border-radius: 12px; background: #fff4d6; color: var(--y-ink); }
.calc__chart { margin: 18px 0 0; }
.calc__chart svg { display: block; width: 100%; height: auto; }
.calc__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 6px 0 0; padding: 0; list-style: none; font-size: 0.8rem; color: var(--y-ink-2); }
.calc__legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.calc .table-scroll { margin: 18px 0 0; }
.calc .table-scroll table { min-width: 460px; }
.calc .table-scroll td, .calc .table-scroll th { text-align: right; font-variant-numeric: tabular-nums; }
.calc .table-scroll td:first-child, .calc .table-scroll th:first-child { text-align: left; }
.calc details { margin-top: 18px; }
.calc summary { cursor: pointer; font-weight: 700; font-size: 0.92rem; }
@media (max-width: 480px) { .calc { padding: 18px 14px 20px; } .calc__stat dd { font-size: 1.12rem; } }
