.octans-loader{display:flex;align-items:center;justify-content:center;gap:12px;min-height:140px;color:var(--ink-700,#343a40);font-size:14px}
.octans-loader.is-inline{display:inline-flex;min-height:0;gap:8px;font-size:13px}
.octans-loader svg{width:36px;height:36px;flex:none;color:var(--brand,#1b4be5)}
.octans-loader.is-inline svg{width:22px;height:22px}
.octans-loader-orbit{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transform-origin:20px 20px;animation:octans-loader-spin 1.2s linear infinite}
.octans-loader-star{fill:currentColor}
.mcv-job-summary{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;color:#343a40;font-size:13px}
.mcv-job-summary strong{color:#17191c;font-variant-numeric:tabular-nums}
.mcv-job-note{margin:8px 0 0;color:#697386;font-size:13px;line-height:1.65}
.mcv-job-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mcv-job.is-waiting{background:#f5f6f7}
.mcv-job.is-error{color:#a9342b}
.mcv-job small{color:#697386}
.mcv-job button{flex:none}
@keyframes octans-loader-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.octans-loader-orbit{animation:none}}

/* One loading animation, 40px, centred in the active work area. */
.octans-loading-signal,.octans-loader,.loading-mark,.data-loading-mark,.home-loading-logo,.notification-loading-mark,.analytics-loading-mark,.resource-loading-state img,.followup-loading-state img,.analytics-loading i,.team-workbench-loading>i,.home-recommendation-spinner{display:none!important}
.octans-global-loading{position:fixed;left:calc(50% + 112px);top:50%;transform:translate(-50%,-20px);display:flex;flex-direction:column;align-items:center;gap:12px;width:max-content;max-width:min(360px,calc(100vw - 48px));z-index:10050;pointer-events:none;color:var(--ui-brand,#3f57bc);transition:none!important}
.octans-global-loading[hidden]{display:none!important}
.octans-global-loading svg{display:block;width:40px;height:40px;flex:none}
.octans-global-loading[role="status"] .octans-global-loading-label{display:block;color:#667085;font-family:"AIOS UI","Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;font-weight:400;line-height:22px!important;text-align:center;overflow-wrap:anywhere}
dialog .octans-global-loading{left:50%}
@media(max-width:760px){.octans-global-loading{left:50%}}

#authLoginTransition img{display:none!important}body:has(.auth-shell) .octans-global-loading{left:50%}

/* Finish review: route export, detail, overview, media and node reads also share the singleton. */
.export-spinner,.detail-spinner,.overview-shell-loading img,.node-loading img,.detail-reading-spinner,.loading-spinner,.feedback-file-status.is-analyzing i,.feedback-service-status.is-checking i,.feedback-media-loading{display:none!important}
.detail-reading-state i,.detail-reading-state i::after,.detail-skeleton i::after,.analytics-skeleton-head i,.analytics-skeleton-grid i,.amp-skeleton,.amp-skeleton-grid>div,.feedback-thumb-loading::after,.deepseek-public-info.is-loading>header svg{animation:none!important}

/* Figure 3: the same 40px mark at the centre of the active content viewport. */
.octans-global-loading{left:calc(50% + 112px)!important;top:50%!important;transform:translate(-50%,-20px)!important;color:#3f57bc!important;gap:12px!important;pointer-events:none!important}
.octans-global-loading>svg{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
dialog .octans-global-loading,body:has(.auth-shell) .octans-global-loading,body:not(:has(.sidebar)) .octans-global-loading{left:50%!important}
.route-loading,.data-loading-screen{pointer-events:none!important}
.market-load-error{display:grid;place-content:center;justify-items:center;min-height:240px;gap:12px;color:#697386}
.market-load-error p{margin:0}
@media(max-width:900px){.octans-global-loading{left:50%!important}}
@media(prefers-reduced-motion:reduce){.octans-loader-orbit{animation:none!important}}
