/* Template-specific loader surfaces. The shared spinner remains the single DOM contract. */
body.wz-template--base .app-loader__panel,
body.wz-template--base_corporate .app-loader__panel { border-radius: 12px; border-color: color-mix(in srgb, var(--accent-primary, #64748b) 35%, transparent); }
body.wz-template--basic1 .app-loader__panel,
body.wz-template--mixed1 .app-loader__panel { border-radius: 28px; background: linear-gradient(145deg, rgba(255,240,248,.92), rgba(255,255,255,.78)); box-shadow: 0 18px 60px rgba(190,100,150,.22); }
body.wz-template--basic2 .app-loader__panel,
body.wz-template--mixed2 .app-loader__panel { background: rgba(8,24,34,.94); border-color: rgba(72,220,210,.42); font-family: ui-monospace, monospace; }
body.wz-template--basic3 .app-loader__panel,
body.wz-template--mixed3 .app-loader__panel { border-radius: 4px; border-color: #f2c94c; box-shadow: 8px 8px 0 rgba(20,184,166,.28); }
body.wz-template--basic4 .app-loader__panel,
body.wz-template--mixed4 .app-loader__panel { border-radius: 30px 12px 30px 12px; background: linear-gradient(135deg, rgba(219,252,250,.9), rgba(236,253,245,.82)); }
body.wz-template--basic5 .app-loader__panel,
body.wz-template--mixed5 .app-loader__panel { border-radius: 8px; border-color: rgba(245,158,11,.58); background: rgba(58,35,12,.92); }
body.wz-template--basic6 .app-loader__panel,
body.wz-template--mixed6 .app-loader__panel { background: radial-gradient(circle at 50% 0, rgba(34,211,238,.2), rgba(15,23,42,.95) 65%); border-color: rgba(129,140,248,.55); }
body.wz-template--basic7 .app-loader__panel,
body.wz-template--mixed7 .app-loader__panel { border-radius: 6px; border-style: dashed; background: rgba(255,253,245,.96); }
body.wz-template--basic8 .app-loader__panel { border-radius: 22px; background: #fff7e8; box-shadow: 0 18px 50px rgba(146,92,45,.2); }
body.wz-template--mixed8 .app-loader__panel { background: #161225; border-color: rgba(168,85,247,.5); font-family: ui-monospace, monospace; }
body.wz-template--mixed9 .app-loader__panel { background: rgba(30,10,35,.94); border-color: rgba(236,72,153,.65); box-shadow: 0 0 42px rgba(34,211,238,.22), 0 0 80px rgba(236,72,153,.18); }

@media (prefers-reduced-motion: reduce) {
  .app-loader__spinner, .app-loader__spinner::after, .app-spinner-inline { animation: none; }
}

@media (forced-colors: active) {
  .app-loader, .app-loader--scoped { background: Canvas; }
  .app-loader__panel { background: Canvas; border: 1px solid CanvasText; }
  .app-loader__label { color: CanvasText; }
}
