/* Stage 3.25 — compact module-only loader with normal page rhythm.
 * Headings, server-rendered data-update kickers and all SEO remain visible. */
.wrm2-page-loading{min-width:0;display:block}
.wrm2-page-loading[data-wrm2-state="ready"]{display:none}
.wrm2-page-loading[data-wrm2-state="pending"] + [data-wrm2-module-ui],
.wrm2-page-loading[data-wrm2-state="error"] + [data-wrm2-module-ui]{display:none}
.wrm2-module-ui{display:contents}
.wrm2-loading-block{display:grid;min-height:150px;align-content:center;gap:18px;padding:20px;border:1px solid var(--wrm2-line);background:var(--wrm2-canvas2)}
.wrm2-loading-block-head{display:flex;align-items:center;gap:12px}
.wrm2-loading-block-head>div{display:grid;gap:4px}
.wrm2-loading-block-head strong{color:var(--wrm2-text);font-size:13px;font-weight:900;letter-spacing:.1em}
.wrm2-loading-block-head small{color:var(--wrm2-muted);font-size:11px;line-height:1.5}
.wrm2-loading-spinner{display:block;width:22px;height:22px;flex:0 0 22px;border:2px solid var(--wrm2-line-strong);border-top-color:var(--wrm2-mint);border-radius:50%;animation:wrm2-loading-spin .65s linear infinite}
@keyframes wrm2-loading-spin{to{transform:rotate(360deg)}}
.wrm2-loading-skeleton{display:grid;max-width:760px;gap:9px}
.wrm2-loading-skeleton span{display:block;height:12px;background:linear-gradient(90deg,var(--wrm2-panel2),var(--wrm2-line),var(--wrm2-panel2));background-size:200% 100%;animation:wrm2-loading-skeleton 1.5s linear infinite}
.wrm2-loading-skeleton span:nth-child(2){width:78%}
.wrm2-loading-skeleton span:nth-child(3){width:56%}
@keyframes wrm2-loading-skeleton{to{background-position:-200% 0}}
.wrm2-page-loading[data-wrm2-state="error"] .wrm2-loading-spinner,
.wrm2-page-loading[data-wrm2-state="error"] .wrm2-loading-skeleton{display:none}
.wrm2-page-loading[data-wrm2-state="error"] .wrm2-loading-block{border-color:var(--wrm2-red)}
.wrm2-page-loading[data-wrm2-state="error"] .wrm2-loading-block-head strong{color:var(--wrm2-red)}
.wrm2-loading-retry{display:none;width:max-content;padding:8px 12px;border:1px solid var(--wrm2-line-strong);background:var(--wrm2-panel);color:var(--wrm2-text)}
.wrm2-page-loading[data-wrm2-state="error"] .wrm2-loading-retry{display:inline-block}
.wrm2-loading-retry:hover{border-color:var(--wrm2-mint)}
@media(prefers-reduced-motion:reduce){.wrm2-loading-spinner,.wrm2-loading-skeleton span{animation:none}}
