/* BMI 계산기 — 공통 도구 스타일에 없는 것만 정의한다. */

.bmi-num { font-variant-numeric: tabular-nums; }
.bmi-note { margin-top: var(--spacing-md, 1rem); font-size: var(--text-ui-sm, .8125rem); }

.bmi-main {
    display: flex; flex-direction: column; align-items: center; gap: .15rem;
    padding: var(--spacing-lg, 1.5rem) var(--spacing-md, 1rem);
    border: 1px solid var(--border-color, #e5e8ed);
    border-radius: var(--radius-md, 8px);
    background: var(--primary-soft, #eef3fd);
}
.bmi-main-label { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }
.bmi-main-value {
    font-size: 2.25rem; font-weight: 700; line-height: 1.15;
    color: var(--primary-strong, #2c56b8); font-variant-numeric: tabular-nums;
}
.bmi-main-stage { font-weight: 700; font-size: var(--text-base, 1rem); }

/* 단계 색 — 막대·결과·표가 같은 색을 쓴다 */
.bmi-seg--under, .bmi-main-stage[data-tone="under"] { --bmi-c: #5b8def; }
.bmi-seg--normal, .bmi-main-stage[data-tone="normal"] { --bmi-c: #2e9e6a; }
.bmi-seg--pre, .bmi-main-stage[data-tone="pre"] { --bmi-c: #c9a227; }
.bmi-seg--ob1, .bmi-main-stage[data-tone="ob1"] { --bmi-c: #e0823a; }
.bmi-seg--ob2, .bmi-main-stage[data-tone="ob2"] { --bmi-c: #d65a3c; }
.bmi-seg--ob3, .bmi-main-stage[data-tone="ob3"] { --bmi-c: #b03636; }
.bmi-main-stage[data-tone] { color: var(--bmi-c); }

.bmi-scale { position: relative; margin: var(--spacing-lg, 1.5rem) .5rem 1.75rem; }
.bmi-bar { display: flex; height: 12px; border-radius: 6px; overflow: hidden; }
.bmi-seg { display: block; height: 100%; background: var(--bmi-c); }
.bmi-marker {
    position: absolute; top: -5px; width: 4px; height: 22px; margin-left: -2px;
    background: var(--text-color, #1b1e24); border-radius: 2px;
    box-shadow: 0 0 0 2px var(--bg-surface, #fff);
}
.bmi-marker[hidden] { display: none; }
.bmi-ticks { position: relative; height: 1rem; margin-top: .3rem; }
.bmi-tick {
    position: absolute; transform: translateX(-50%);
    font-size: .72rem; color: var(--text-muted, #626977); font-variant-numeric: tabular-nums;
}

.bmi-stats { margin-top: var(--spacing-md, 1rem); }
.bmi-stats .stat-number { font-variant-numeric: tabular-nums; }

.bmi-table-wrap { margin-top: var(--spacing-lg, 1.5rem); overflow-x: auto; }
.bmi-table { width: 100%; border-collapse: collapse; margin-top: .5rem; font-size: var(--text-sm, .875rem); }
.bmi-table th, .bmi-table td { padding: .4rem .6rem; border-bottom: 1px solid var(--border-color, #e5e8ed); text-align: left; font-variant-numeric: tabular-nums; }
.bmi-table th { font-weight: 600; color: var(--text-muted, #626977); font-size: var(--text-ui-sm, .8125rem); }
.bmi-table tr.is-current td { font-weight: 700; background: var(--primary-soft, #eef3fd); }
