.ai-loading-notice {
    position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 10000;
    display: flex; align-items: flex-start; gap: .9rem;
    width: min(28rem, calc(100vw - 2.5rem)); padding: 1rem 1.25rem;
    border: 1px solid #93b4ff; border-radius: .9rem;
    background: #fff; color: #163365; box-shadow: 0 8px 32px #16336526;
}
.ai-loading-notice[hidden] { display: none; }
.ai-loading-notice strong { display: block; font-size: .95rem; }
.ai-loading-notice p { margin: .35rem 0 0; font-size: .8rem; line-height: 1.5; }
.ai-loading-spinner {
    display: inline-block; flex-shrink: 0; width: 1.4rem; height: 1.4rem;
    border: 3px solid #c9d8ff; border-top-color: #165dff; border-radius: 50%;
    animation: ai-loading-spin .8s linear infinite;
}
.ai-loading-spinner-small { width: 1em; height: 1em; margin-right: .5em; border-width: 2px; vertical-align: middle; }
@keyframes ai-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ai-loading-spinner { animation: none; } }
