/* ============================================================
   app.css — Styles for markup that sits outside the Blazor
   component tree, and therefore outside MudBlazor's theming.
   Everything here is scoped to an element id that Blazor itself
   owns; nothing here may target application markup.

   Depends on loading.css for the palette custom properties, and
   every document links loading.css first.
   ============================================================ */

/* Blazor's unhandled-error banner. The framework reveals it by assigning
   display:block to the element's inline style when an error is dispatched,
   so the default has to be display:none and must never be !important —
   an !important here would outrank the inline style and leave a real
   error silently invisible.

   Hiding it is not cosmetic. Every served document carries this markup,
   and until this rule existed nothing styled it: the banner's text was
   live in the DOM on every page, so it rendered as stray body text on a
   healthy load and Google indexed it as the site's search description. */
#blazor-error-ui {
    display: none;
    position: fixed;
    left: 0;
    bottom: 0;
    /* Above #boot-overlay, so an error thrown while the app is still
       booting is visible rather than painted behind the overlay. */
    z-index: 10000;
    width: 100%;
    padding: 0.9rem 3rem 0.9rem 1.25rem;
    background: #1f2429;
    color: var(--white);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.45);
    font-size: 0.95rem;
}

#blazor-error-ui .reload {
    color: var(--teal);
    margin-left: 0.5rem;
    text-decoration: underline;
}

#blazor-error-ui .dismiss {
    position: absolute;
    top: 0.6rem;
    right: 1rem;
    cursor: pointer;
    color: var(--white);
}
