/* floating_point.css — mantissa + exponent bit toggles (see floating_point.js). */
.fp-group { margin-bottom: 0.2rem; }
.fp-ghead { font-size: 0.78rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.3rem; }
.fp-bits { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; }
.fp-point { color: #fbbf24; font-weight: 800; font-size: 1.4rem; line-height: 1; margin: 0 0.05rem; }
.fp-bit {
  display: flex; flex-direction: column; align-items: center; gap: 0.15rem; cursor: pointer;
  min-width: 2.5rem; padding: 0.35rem 0.3rem 0.45rem; border-radius: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.16); background: rgba(255, 255, 255, 0.03);
  transition: border-color 0.12s, background 0.12s, box-shadow 0.12s;
}
.fp-bit:hover { border-color: rgba(255, 255, 255, 0.4); }
.fp-bit:focus-visible { outline: 2px solid #38bdf8; outline-offset: 2px; }
.fp-place { font-size: 0.66rem; font-weight: 700; color: #64748b; }
.fp-val { font-size: 1.25rem; font-weight: 800; font-family: ui-monospace, SFMono-Regular, monospace; color: #cbd5e1; line-height: 1; }
.fp-bit.is-on { border-color: #34d399; background: color-mix(in srgb, #34d399 22%, #0b1220); box-shadow: 0 0 0 2px color-mix(in srgb, #34d399 18%, transparent); }
.fp-bit.is-on .fp-val { color: #d1fae5; }
.fp-sign .fp-place { color: #fb7185; }
.fp-sign.is-on { border-color: #fb7185; background: color-mix(in srgb, #fb7185 22%, #0b1220); box-shadow: 0 0 0 2px color-mix(in srgb, #fb7185 18%, transparent); }
.fp-sign.is-on .fp-val { color: #fecdd3; }
.fp .lv-eq sup { font-size: 0.7em; }
