
#bfin-splash {
  --ink:#2b414b; --text:#60747d; --canvas:#fffaf1;
  --coral:#ef9b8d; --teal:#78cbbf; --gold:#f1cc72; --lilac:#aaa1df; --blue:#8bc5e2;
  position:fixed; inset:0; z-index:99999; display:grid; place-items:center; overflow:hidden;
  color:var(--text);
  background:
    radial-gradient(circle at 22% 24%,rgba(120,203,191,.23),transparent 18rem),
    radial-gradient(circle at 78% 68%,rgba(170,161,223,.20),transparent 22rem),
    radial-gradient(circle at 72% 18%,rgba(241,204,114,.17),transparent 16rem),
    radial-gradient(rgba(62,82,91,.12) 1.2px,transparent 1.2px),
    var(--canvas);
  background-size:auto,auto,auto,24px 24px,auto;
  font-family:"Quicksand",ui-rounded,system-ui,sans-serif;
  opacity:1; visibility:visible;
  transition:opacity .38s ease, visibility .38s ease;
}
#bfin-splash.bfin-splash-hide { opacity:0; visibility:hidden; pointer-events:none; }

.bfin-splash-card {
  width:min(520px,calc(100vw - 34px));
  padding:34px 26px 28px;
  text-align:center;
}

.bfin-splash-eyebrow {
  margin:0 0 16px;
  color:#695f9f;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.bfin-finance-orbit {
  position:relative;
  width:164px; height:164px;
  margin:0 auto 24px;
}

.bfin-orbit-ring {
  position:absolute;
  border-radius:50%;
}

.bfin-orbit-ring.outer {
  inset:0;
  border:2px dashed rgba(43,65,75,.27);
  animation:bfin-spin 5s linear infinite;
}

.bfin-orbit-ring.inner {
  inset:19px;
  border:2px solid rgba(43,65,75,.13);
  animation:bfin-spin-reverse 3.5s linear infinite;
}

.bfin-orbit-chip {
  position:absolute;
  min-width:38px;
  height:30px;
  padding:0 7px;
  display:grid;
  place-items:center;
  color:var(--ink);
  background:#fff;
  border:2px solid var(--ink);
  border-radius:8px;
  box-shadow:3px 3px 0 rgba(43,65,75,.11);
  font-size:.58rem;
  font-weight:800;
  line-height:1;
}
.outer .chip-bs { top:-12px; left:63px; background:#e6f7f4; }
.outer .chip-is { right:-13px; top:65px; background:#fff6d9; }
.outer .chip-cf { bottom:-11px; left:63px; background:#fff0ec; }
.outer .chip-eq { left:-13px; top:65px; background:#f0edff; }

.bfin-analysis-core {
  position:absolute;
  inset:42px;
  display:grid;
  place-items:center;
  background:#fff;
  border:3px solid var(--ink);
  border-radius:20px;
  box-shadow:7px 7px 0 var(--teal);
  animation:bfin-core-pulse 2s ease-in-out infinite;
}
.bfin-analysis-core svg { width:58px; height:58px; overflow:visible; }
.bfin-analysis-core .gridline,
.bfin-analysis-core .axis {
  stroke:rgba(43,65,75,.28);
  stroke-width:1.5;
  fill:none;
}
.bfin-analysis-core .trend {
  stroke:#237f73;
  stroke-width:3.4;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:84;
  stroke-dashoffset:84;
  animation:bfin-draw 1.4s ease-in-out infinite alternate;
}
.bfin-analysis-core .trend-dot {
  fill:var(--gold);
  stroke:var(--ink);
  stroke-width:1.5;
}

.bfin-splash-title {
  margin:0;
  color:var(--ink);
  font-size:clamp(1.55rem,6vw,2.15rem);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.035em;
}
.bfin-splash-subtitle {
  margin:8px 0 0;
  color:#237f73;
  font-size:.83rem;
  font-weight:800;
}
.bfin-splash-status {
  min-height:20px;
  margin:16px 0 0;
  font-size:.75rem;
  font-weight:700;
}

.bfin-splash-progress {
  width:min(290px,78%);
  height:8px;
  margin:18px auto 0;
  overflow:hidden;
  background:rgba(43,65,75,.10);
  border:1.5px solid rgba(43,65,75,.22);
  border-radius:999px;
}
.bfin-splash-progress span {
  display:block;
  width:42%;
  height:100%;
  background:linear-gradient(90deg,var(--coral),var(--gold),var(--teal),var(--lilac));
  border-radius:inherit;
  animation:bfin-progress 1.0s ease-in-out infinite;
}

@keyframes bfin-spin { to { transform:rotate(360deg); } }
@keyframes bfin-spin-reverse { to { transform:rotate(-360deg); } }
@keyframes bfin-core-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.045)} }
@keyframes bfin-draw { to { stroke-dashoffset:0; } }
@keyframes bfin-progress { 0%{transform:translateX(-115%)} 100%{transform:translateX(340%)} }

@media (max-width:520px) {
  .bfin-finance-orbit { width:142px; height:142px; }
  .bfin-analysis-core { inset:38px; }
  .outer .chip-bs,.outer .chip-cf { left:53px; }
  .outer .chip-is,.outer .chip-eq { top:56px; }
}

@media (prefers-reduced-motion:reduce) {
  #bfin-splash *,#bfin-splash *::before,#bfin-splash *::after {
    animation:none!important;
    transition:none!important;
  }
}
