/* Loading and "couldn't load" screens. They live in #app until the queue itself is drawn.
   Kept out of styles.css so that file stays identical to the v10 prototype. Uses its colour variables. */
.boot{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--ink)}
.boot-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:440px;width:100%}
.boot-err{align-items:stretch;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--error);border-radius:10px;padding:20px 22px}
.boot-t{margin:0;font-size:15px;font-weight:500;color:var(--muted)}
.boot-h{margin:0;font-size:18px;font-weight:600;line-height:1.3}
.boot-p{margin:0;font-size:13.5px;color:var(--muted);overflow-wrap:anywhere}
.boot-err .btn{align-self:flex-start;margin-top:6px;padding:8px 18px}
.boot-spin{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--red);animation:boot-spin .9s linear infinite}
@keyframes boot-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.boot-spin{animation:none;border-top-color:var(--red);border-right-color:var(--red)}}
@media (max-width:480px){.boot{padding:16px}.boot-err{padding:16px}}
