/* First paint is independent of the module graph and API response time. */
.initial-loading { margin-top:12px; }
.initial-loading[hidden] { display:none; }
.boot-caption { display:flex; align-items:center; gap:12px; padding:18px 20px; color:var(--text); }
.boot-caption strong { font-size:15px; font-weight:600; }
.boot-caption p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.boot-caption button { margin-left:auto; min-height:44px; flex-shrink:0; }
.boot-indicator { width:9px; height:9px; border-radius:50%; background:var(--accent); flex:none; animation:boot-breathe 1.6s ease-in-out infinite; }
.boot-filter,.boot-rows { border:1px solid var(--line); background:var(--panel-solid); border-radius:14px; overflow:hidden; }
.boot-filter { display:flex; gap:24px; padding:20px; margin-bottom:12px; }
.boot-filter span,.boot-row i,.boot-row b,.boot-row span,.boot-row em { display:block; background:var(--soft); border-radius:5px; animation:boot-breathe 1.6s ease-in-out infinite; }
.boot-filter span { width:22%; height:16px; }
.boot-row { display:grid; grid-template-columns:36px minmax(0,1fr) 110px; gap:20px; align-items:center; padding:22px 24px; border-bottom:1px solid var(--line); }
.boot-row:last-child { border:0; }
.boot-row i { width:30px; height:30px; border-radius:10px; }
.boot-row b { width:35%; height:16px; }
.boot-row span { width:55%; height:10px; margin-top:12px; }
.boot-row em { height:22px; }
html[data-boot="error"] .boot-rows,html[data-boot="error"] .boot-filter { display:none; }
html[data-boot="error"] .boot-indicator { animation:none; background:var(--accent-warm); }
.filters > *, .filters .filter-field { min-width:0; }
.filters input,.filters select { min-width:0; max-width:100%; box-sizing:border-box; }
@keyframes boot-breathe { 50% { opacity:.45; } }
@media(max-width:800px) {
  .boot-caption { padding:18px 10px; align-items:flex-start; flex-wrap:wrap; }
  .boot-indicator { margin-top:5px; }
  .boot-filter { padding:20px 16px; }
  .boot-filter span { width:52%; }
  .boot-filter span:not(:first-child) { display:none; }
  .boot-row { padding:20px 16px; gap:12px; grid-template-columns:30px minmax(0,1fr) 76px; }
  .boot-row b { width:70%; }
  .boot-row span { width:90%; }
}
@media(prefers-reduced-motion:reduce) { .initial-loading * { animation:none!important; } }
:root[data-motion="quiet"] .initial-loading * { animation:none!important; }
