/* Geometry and timing copied from the approved geo-diamond-chase.html. */
.brand-loader{display:inline-flex;align-items:center;justify-content:center;flex:none;color:#101113;vertical-align:middle;line-height:0}
.brand-loader>svg{display:block;flex:none;overflow:visible}
.brand-loader path{fill:none;stroke:currentColor;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:miter}
.brand-loader-track{opacity:.1}
.brand-loader-lead,.brand-loader-follow{animation:brand-perimeter-chase 1.45s cubic-bezier(.2,.52,.58,.82) infinite}
.brand-loader-lead{stroke-dasharray:28 72;animation-delay:-.4s}
.brand-loader-follow{stroke-dasharray:16 84;opacity:.45;animation-delay:-.2s}
.brand-loader.is-delayed{animation:brand-loader-reveal .15s step-end both}
.brand-loading-surface{display:grid;place-items:center;min-height:240px;width:100%}
.brand-loading-dialog,.brand-loading-drawer{min-height:180px}
.brand-loading-card{min-height:96px}
.brand-boot{display:grid;place-items:center;position:fixed;inset:0;z-index:100;background:#f1f2f3}
[data-theme=dark] .brand-boot{background:#171819}
[data-theme=dark] .brand-loader{color:#f3f4f5}
.btn .brand-loader,.hx-message .brand-loader{color:inherit}
.btn.is-working::after,.btn.is-working::before{display:none!important}
.btn.is-working{gap:6px}
.btn.is-working>.icon{display:none}
.btn.is-working>.brand-loader{display:inline-flex}
.has-brand-loading{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;padding-inline:0}
.has-brand-loading>.icon,.has-brand-loading>svg,.has-brand-loading::before{display:none!important}
.has-brand-loading>.brand-loader{color:inherit}
.bf-goal-assist.is-loading [data-assist-title]::before{display:none}
.geo-loading:has(>.brand-loader){display:grid;place-items:center;min-height:240px}
.brand-loader-inline>.brand-loader{margin-inline-end:0}
.hx-thinking>.brand-loader{color:inherit}
.brand-loader-inline{display:inline-flex;align-items:center;gap:6px}
html[data-page-hidden] .brand-loader path{animation-play-state:paused}
@keyframes brand-perimeter-chase{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
@keyframes brand-loader-reveal{from{visibility:hidden}to{visibility:visible}}
@media(prefers-reduced-motion:reduce){.brand-loader-lead,.brand-loader-follow{animation:none}.brand-loader-lead{stroke-dasharray:none}.brand-loader-follow{opacity:0}}

/* Fixed optical size across startup, page, drawer and card surfaces. */
.brand-loader{width:var(--brand-loader-size,32px)!important;height:var(--brand-loader-size,32px)!important}
.brand-loader>svg{width:var(--brand-loader-size,32px)!important;height:var(--brand-loader-size,32px)!important}
