:root{--bn-loading-bg:#fafbfa;--bn-loading-ink:#28342f;--bn-loading-muted:#54605a;--bn-loading-line:#dde2df;--bn-loading-accent:#54605a}
:root[data-loading-theme=dark]{--bn-loading-bg:#09090b;--bn-loading-ink:#f4f4f5;--bn-loading-muted:#a1a1aa;--bn-loading-line:#303035;--bn-loading-accent:#a1a1aa}
.bn-loading-screen{box-sizing:border-box;background:var(--bn-loading-bg);color:var(--bn-loading-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:32px 24px}
.bn-loading-content{width:min(100%,360px);text-align:center}
.bn-loading-track{width:112px;height:3px;margin:0 auto 18px;border-radius:3px;background:var(--bn-loading-line);overflow:hidden}
.bn-loading-track::after{content:'';display:block;width:42px;height:100%;border-radius:inherit;background:var(--bn-loading-accent);animation:bn-load 1.6s linear infinite}
.bn-loading-label{margin:0;min-height:42px;color:var(--bn-loading-muted);font-size:13px;line-height:1.6;font-weight:400}
.bn-loading-recovery{height:56px;padding-top:12px;box-sizing:border-box}
.bn-loading-retry{padding:8px 16px;border:1px solid var(--bn-loading-line);border-radius:6px;color:var(--bn-loading-ink);background:transparent;cursor:pointer;font:inherit;font-size:13px}
.bn-loading-retry:focus-visible{outline:2px solid var(--bn-loading-ink);outline-offset:3px}
.bn-loading-screen [hidden]{display:none!important}
.bn-startup-overlay{position:fixed;inset:0;z-index:2147483000;overflow:auto;background:var(--bn-loading-bg);opacity:1;transition:opacity 160ms ease-out}
.bn-startup-overlay[data-ready]{opacity:0;pointer-events:none}
.bn-section-loading{min-height:240px;padding:24px;color:inherit;opacity:.7;font:inherit;font-size:13px}
.bn-section-loading>span{display:inline-block;animation:bn-section-appear 120ms ease-out 180ms both}
@keyframes bn-load{from{transform:translateX(-44px)}to{transform:translateX(114px)}}
@keyframes bn-section-appear{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.bn-loading-track::after{animation:none;margin:auto}.bn-startup-overlay{transition:none}.bn-section-loading>span{animation:none}}
