.fbx{
  --fbx-paper:#F4F6FC; --fbx-ink:#1C2120; --fbx-card:#FFF; --fbx-line:#DBE0EE;
  --fbx-tint:#E8ECF8; --fbx-soft:#6A6F7A; --fbx-dim:#9AA0AC;
  --fbx-naranja:#F99B1D; --fbx-naranja-sombra:#C97A0D; --fbx-azul:#0B548B;
  background:var(--fbx-paper); color:var(--fbx-ink);
  font-family:'Open Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:15.5px; line-height:1.5; font-variant-numeric:tabular-nums;
  max-width:460px; margin:0 auto; padding:26px 18px; border-radius:18px; box-sizing:border-box;
}
.fbx *{box-sizing:border-box}

.fbx-brand{display:flex;align-items:center;gap:10px;margin-bottom:26px}
.fbx-brand img{width:34px;height:auto;display:block;margin:0}
.fbx-brand b{font-family:'League Spartan',sans-serif;font-size:23px;font-weight:700;letter-spacing:-.015em;color:#000}
.fbx-brand i{font-style:normal;font-size:19px;font-weight:700;color:#000;margin-left:-4px}

.fbx .fbx-h1{
  font-family:'League Spartan',sans-serif;font-size:32px;line-height:1.06;font-weight:700;
  letter-spacing:-.03em;margin:0 0 12px;color:#000;padding:0;border:0;
}
.fbx-lede{color:var(--fbx-soft);margin:0 0 26px;max-width:34ch}

.fbx-panel{background:var(--fbx-card);border:1px solid var(--fbx-line);border-radius:16px;padding:20px 18px;margin-bottom:16px}
.fbx-step{display:flex;align-items:center;gap:9px;margin:0 0 18px}
.fbx-step b{width:22px;height:22px;border-radius:50%;background:var(--fbx-ink);color:var(--fbx-paper);font-family:'League Spartan',sans-serif;font-size:13px;font-weight:600;display:grid;place-items:center;flex:none}
.fbx-step span{font-family:'League Spartan',sans-serif;font-size:17px;font-weight:600;letter-spacing:-.01em}

.fbx label{display:block;font-size:14px;font-weight:600;margin:0 0 8px;color:var(--fbx-ink)}
.fbx select{
  width:100%;padding:13px 14px;font:inherit;font-size:15.5px;color:var(--fbx-ink);
  background:var(--fbx-paper);border:1px solid var(--fbx-line);border-radius:11px;
  -webkit-appearance:none;appearance:none;height:auto;
  background-image:linear-gradient(45deg,transparent 50%,var(--fbx-ink) 50%),linear-gradient(135deg,var(--fbx-ink) 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}
.fbx :focus-visible{outline:2.5px solid var(--fbx-azul);outline-offset:2px}
.fbx-field + .fbx-field{margin-top:20px}
.fbx-hint{font-size:12.5px;color:var(--fbx-soft);margin:7px 0 0}

.fbx-bat-head{display:flex;align-items:baseline;justify-content:space-between}
.fbx-bat-head label{margin:0}
.fbx-bat-val{font-family:'League Spartan',sans-serif;font-size:27px;font-weight:700;letter-spacing:-.02em}
.fbx input[type=range]{width:100%;margin:10px 0 4px;height:26px;accent-color:var(--fbx-azul);padding:0;border:0;background:none}
.fbx-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--fbx-soft)}

.fbx-check{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--fbx-line);cursor:pointer;font-weight:400}
.fbx-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--fbx-azul);flex:none}
.fbx-check b{display:block;font-size:14.5px;font-weight:600}
.fbx-check em{font-style:normal;font-size:13px;color:var(--fbx-soft)}

.fbx .fbx-btn{
  display:block;width:100%;margin:6px 0 0;padding:16px;border:0;border-radius:14px;
  font-family:'League Spartan',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.01em;
  background:var(--fbx-naranja);color:#1C1305;cursor:pointer;box-shadow:0 3px 0 var(--fbx-naranja-sombra);
}
.fbx .fbx-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--fbx-naranja-sombra)}

.fbx-stage{margin-top:18px;display:none}
.fbx-stage.fbx-on{display:block}
.fbx-frames{position:relative;height:230px;display:grid;place-items:end center}
.fbx-frames img{position:absolute;bottom:0;max-height:230px;width:auto;opacity:0;transition:opacity .28s ease;pointer-events:none;margin:0}
.fbx-frames img.fbx-show{opacity:1}
.fbx-bob{animation:fbx-bob 1.1s ease-in-out infinite}
.fbx-shake{animation:fbx-shake .5s ease-in-out infinite}
.fbx-pop{animation:fbx-pop .45s cubic-bezier(.2,1.4,.4,1) 1}
@keyframes fbx-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes fbx-shake{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
@keyframes fbx-pop{0%{transform:scale(.82)}100%{transform:scale(1)}}

.fbx-status{text-align:center;font-size:15px;color:var(--fbx-soft);margin:2px 0 0;min-height:22px}

.fbx-result{background:var(--fbx-ink);color:var(--fbx-paper);border-radius:16px;padding:22px 18px;margin-top:8px;display:none}
.fbx-result.fbx-on{display:block}
.fbx-result-lbl{font-size:14.5px;color:var(--fbx-dim);margin:0 0 6px}
.fbx-num{font-family:'League Spartan',sans-serif;font-size:52px;font-weight:700;letter-spacing:-.035em;line-height:1;color:#fff}
.fbx-estado{margin-top:14px;padding:12px 14px;background:#2E3433;border-radius:11px;font-size:13.5px}
.fbx-estado b{color:var(--fbx-naranja)}
.fbx-aviso{font-size:13px;color:var(--fbx-dim);margin:14px 0 0;line-height:1.45}
.fbx .fbx-cta{display:block;margin-top:16px;padding:15px;background:var(--fbx-naranja);color:#1C1305;border-radius:12px;font-weight:700;font-size:16px;text-align:center;text-decoration:none}
.fbx .fbx-cta:hover{background:#FFB040;color:#1C1305;text-decoration:none}
.fbx .fbx-otra{display:block;width:100%;margin-top:10px;padding:13px;background:none;border:1px solid #4A4F4E;color:var(--fbx-paper);border-radius:12px;font:inherit;font-size:14.5px;cursor:pointer}

@media (prefers-reduced-motion:reduce){
  .fbx-bob,.fbx-shake,.fbx-pop{animation:none}
  .fbx-frames img{transition:none}
}
