:root{
  --bfrt-card:#0f1526;--bfrt-muted:#9aa4b2;--bfrt-text:#e6e8ee;
  --bfrt-border:#1f2842;--bfrt-primary:#5b8cff;--bfrt-accent:#22c55e;
  --bfrt-shadow:0 10px 30px rgba(0,0,0,.35);--bfrt-radius:16px;
  --bfrt-font:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial;
  --bfrt-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.bfrt{font-family:var(--bfrt-font);color:var(--bfrt-text)}
.bfrt-card{
  background:radial-gradient(1200px 400px at 20% -10%, rgba(91,140,255,.15), transparent),
             radial-gradient(900px 300px at 120% 0%, rgba(34,197,94,.12), transparent),
             var(--bfrt-card);
  border:1px solid var(--bfrt-border);border-radius:var(--bfrt-radius);
  box-shadow:var(--bfrt-shadow);padding:24px;max-width:860px;margin:0 auto;
}
.bfrt-head{margin-bottom:18px}
.bfrt-title{display:flex;align-items:center;gap:10px}
.bfrt-title h2{margin:0;font-size:1.4rem;letter-spacing:.2px}
.bfrt-logo{font-size:1.35rem}
.bfrt-sub{margin:6px 0 0;color:var(--bfrt-muted);font-size:.95rem}
.bfrt-row{margin-top:16px}
.bfrt-label{display:block;font-size:.9rem;color:var(--bfrt-muted);margin-bottom:6px}
.bfrt-inputwrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bfrt-input{
  flex:1;min-width:240px;padding:12px 14px;border-radius:12px;border:1px solid var(--bfrt-border);
  background:rgba(255,255,255,.03);color:var(--bfrt-text);outline:none;
}
.bfrt-input:focus{border-color:var(--bfrt-primary);box-shadow:0 0 0 3px rgba(91,140,255,.15)}
.bfrt-btn{
  padding:11px 14px;border-radius:12px;border:1px solid var(--bfrt-border);background:rgba(255,255,255,.06);
  color:var(--bfrt-text);cursor:pointer;transition:transform .06s ease, background .2s ease, border-color .2s ease;
}
.bfrt-btn:hover{transform:translateY(-1px)}
.bfrt-btn:disabled{opacity:.6;cursor:not-allowed}
.bfrt-btn--primary{background:linear-gradient(180deg,#6fa0ff,#487dfc);border-color:rgba(91,140,255,.5);color:#fff}
.bfrt-btn--accent{background:linear-gradient(180deg,#34d399,#10b981);border-color:rgba(34,197,94,.5);color:#00140a;font-weight:600}
.bfrt-btn--ghost{background:transparent}

.bfrt-status{margin:16px 0;min-height:22px;color:var(--bfrt-muted);font-size:.95rem}
.bfrt-status.loading::before{
  content:"";display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:-3px;
  border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;animation:bfrt-spin .7s linear infinite
}
@keyframes bfrt-spin{to{transform:rotate(360deg)}}

.bfrt-result__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.bfrt-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:700;text-transform:uppercase;font-size:.8rem;background:rgba(255,255,255,.06);border:1px solid var(--bfrt-border)}
.bfrt-badge--good{background:rgba(34,197,94,.12);color:#22c55e;border-color:rgba(34,197,94,.35)}
.bfrt-badge--warn{background:rgba(245,158,11,.12);color:#f59e0b;border-color:rgba(245,158,11,.35)}
.bfrt-badge--bad{background:rgba(239,68,68,.12);color:#ef4444;border-color:rgba(239,68,68,.35)}
.bfrt-time{color:var(--bfrt-muted);font-size:.85rem}

.bfrt-reasons{margin:8px 0 12px;padding-left:18px}
.bfrt-reasons li{margin:6px 0}

.bfrt-grid{margin-top:8px}
.bfrt-kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bfrt-kv div{background:rgba(255,255,255,.04);border:1px solid var(--bfrt-border);border-radius:12px;padding:10px 12px;min-height:54px}
.bfrt-kv span{display:block;font-size:.75rem;color:var(--bfrt-muted)}
.bfrt-kv strong{display:block;margin-top:4px;font-size:.95rem}
@media (max-width:900px){.bfrt-kv{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.bfrt-kv{grid-template-columns:1fr}}

.bfrt-details{margin-top:10px}
.bfrt-prewrap{border:1px solid var(--bfrt-border);border-radius:12px;overflow:hidden}
.bfrt-pretools{display:flex;gap:8px;justify-content:flex-end;padding:8px;border-bottom:1px solid var(--bfrt-border);background:rgba(255,255,255,.03)}
.bfrt-pre{font-family:var(--bfrt-mono);font-size:.8rem;line-height:1.4;padding:12px;margin:0;max-height:260px;overflow:auto;background:#0a0f1b}

.bfrt-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.bfrt-note{margin-top:8px;color:var(--bfrt-muted);font-size:.9rem}
.bfrt-toast{position:fixed;inset:auto 16px 16px auto;background:rgba(15,21,38,.95);color:var(--bfrt-text);border:1px solid var(--bfrt-border);border-radius:10px;padding:10px 12px;box-shadow:var(--bfrt-shadow)}
