.bm-layout{display:grid;grid-template-columns:320px minmax(280px,1fr);gap:var(--sp-4);align-items:start}.bm-sex{display:flex;gap:var(--sp-2)}.bm-sex-btn{flex:1;padding:var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-md);border:1px solid var(--line);background:var(--panel2);color:var(--muted)}.bm-sex-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}@media(max-width:760px){.bm-sex-btn{min-height:44px}}.bm-panel input[type=number],.bm-panel select{width:100%;background:var(--panel2);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font:inherit;font-size:var(--fs-md)}.bm-panel input[type=number]:focus,.bm-panel select:focus{outline:none;border-color:var(--accent)}.bm-suffix{position:relative}.bm-suffix input{padding-right:42px}.bm-suffix span.bm-unit{position:absolute;right:12px;bottom:11px;font-size:var(--fs-sm);color:var(--muted);pointer-events:none}.bm-result{display:flex;flex-direction:column;gap:var(--sp-4)}.bm-hero{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4)}.bm-hero-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.bm-hero-label{font-size:var(--fs-sm);color:var(--muted)}.bm-bmi-value{font-size:44px;font-weight:800;line-height:1;letter-spacing:-.02em}.bm-badge{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-md);font-weight:700;border:1px solid transparent}.bm-badge[data-cat=under]{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);border-color:var(--accent)}.bm-badge[data-cat=normal]{background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--ok);border-color:var(--ok)}.bm-badge[data-cat=pre]{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn);border-color:var(--warn)}.bm-badge[data-cat=obese1],.bm-badge[data-cat=obese2],.bm-badge[data-cat=obese3]{background:color-mix(in srgb,var(--err) 22%,transparent);color:var(--err);border-color:var(--err)}.bm-gauge{margin-top:18px}.bm-gauge-track{position:relative;display:flex;height:10px;border-radius:var(--r-pill);overflow:hidden}.bm-gauge-track>i{display:block;height:100%}.bm-seg-under{background:var(--accent)}.bm-seg-normal{background:var(--ok)}.bm-seg-pre{background:var(--warn)}.bm-seg-obese1{background:#ff8a5c}.bm-seg-obese2{background:var(--err)}.bm-seg-obese3{background:#c0392b}.bm-marker{position:absolute;top:-5px;width:4px;height:20px;border-radius:3px;background:var(--text);box-shadow:0 0 0 2px var(--panel);transform:translate(-50%);transition:left .2s ease}.bm-scale{display:flex;justify-content:space-between;margin-top:6px;font-size:var(--fs-xs);color:var(--muted)}.bm-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.bm-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3)}.bm-card-label{font-size:var(--fs-xs);color:var(--muted)}.bm-card-value{font-size:var(--fs-xl);font-weight:800;margin:4px 0 2px}.bm-card-value small{font-size:var(--fs-sm);font-weight:600;color:var(--muted)}.bm-card-desc{font-size:var(--fs-xs);color:var(--muted)}.bm-block{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.bm-block-title{font-size:var(--fs-sm);font-weight:700;margin-bottom:8px}.bm-healthy-range{font-size:var(--fs-xl);font-weight:800;color:var(--ok)}.bm-block-note{font-size:var(--fs-xs);color:var(--muted);margin-top:4px}.bm-goals{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}.bm-goal{text-align:center;padding:var(--sp-2);border-radius:var(--r-md);background:var(--panel2);border:1px solid var(--line)}.bm-goal.maintain{border-color:var(--accent)}.bm-goal-name{font-size:var(--fs-xs);color:var(--muted)}.bm-goal-kcal{font-size:var(--fs-lg);font-weight:800;margin:4px 0 2px}.bm-goal-note{font-size:var(--fs-xs);color:var(--muted)}.bm-disclaimer{font-size:var(--fs-xs);color:var(--muted);line-height:1.5}@media(max-width:760px){.bm-layout{grid-template-columns:1fr}}
