/* Title and native thinking use the same ring; button waiting keeps its size. */
.chat-loader.chat-loader-small,.btn .chat-loader,button[aria-busy=true]>.chat-loader{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;box-sizing:border-box;flex:none;animation:site-loading-spin 1s linear infinite}
:root[data-appearance] :is(.btn,button[aria-busy=true]) .chat-loader{border-color:currentColor;border-top-color:transparent}
.chat-loader.chat-loader-small{corner-shape:round;width:14px;height:14px;border:2px solid var(--chat-loader-track,#dbe9fa);border-top-color:var(--blue,#0865ed);animation:site-loading-spin 1s linear infinite}
[data-chat-running] .EvIC1a_runningIcon:has(.chat-loader-small){width:14px;height:14px}
:root[data-personal-appearance=dark] .chat-loader.chat-loader-small{border-color:#353638;border-top-color:#7bb4ff}
@keyframes site-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.chat-loader.chat-loader-small,.btn .chat-loader,button[aria-busy=true]>.chat-loader{animation:none}}

/* Native history owns the waiting node; only its presentation changes. */
.personal-history-loading::after{content:"";display:block;width:30px;height:30px;border:3px solid var(--chat-loader-track,#dbe9fa);border-top-color:var(--blue,#0865ed);border-radius:50%;box-sizing:border-box;animation:site-loading-spin 1s linear infinite}
:root[data-personal-appearance=dark] .personal-history-loading::after{border-color:#353638;border-top-color:#7bb4ff}
@media(prefers-reduced-motion:reduce){.personal-history-loading::after{animation:none}}
