html, body {
    margin: 0;
    width: none !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.search-toolbar {
    display: flex;
    align-items: center;
    gap: 16px;
}

    .search-toolbar .search-input {
        flex: 1 1 80%;
        min-width: 0;
    }

    .search-toolbar .search-button {
        flex: 0 0 20%;
        max-width: 220px;
    }

@media (max-width: 600px) {
    .search-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

        .search-toolbar .search-input,
        .search-toolbar .search-button {
            flex: 1 1 auto;
            max-width: none;
            width: 100%;
        }
}

/* --- Splash (loading) --- */
.splash {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    background: var(--bg);
}

@media (prefers-color-scheme: dark) {
    .splash {
        background: #0d1117;
    }
}

.splash-card {
    background: var(--surface, #fff);
    color: var(--text, #24292f);
    border: 1px solid var(--border, #d0d7de);
    border-radius: var(--radius, 6px);
    box-shadow: 0 12px 32px rgba(0,0,0,.15);
    padding: 20px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 240px;
}

.splash-logo {
    font-weight: 600;
    font-size: 1.1rem;
}

.spinner {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid var(--border, #d0d7de);
    border-top-color: var(--primary, #1f883d);
    animation: spin 1s linear infinite;
}

.loading-progress-text {
    font-size: .9rem;
    color: var(--muted, #57606a);
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* --- Error bar --- */
#blazor-error-ui {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    background: var(--surface, #fff);
    color: var(--text, #24292f);
    border: 1px solid var(--border, #d0d7de);
    border-radius: var(--radius, 6px);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    padding: 10px 12px;
    display: none;
    align-items: center;
    gap: 8px;
    z-index: 2000;
}

    #blazor-error-ui .reload,
    #blazor-error-ui .dismiss {
        border: 1px solid var(--border, #d0d7de);
        background: var(--bg, #f6f8fa);
        padding: 4px 8px;
        border-radius: 6px;
        text-decoration: none;
        color: inherit;
    }

    #blazor-error-ui .dismiss {
        cursor: pointer;
    }

        #blazor-error-ui .dismiss:hover,
        #blazor-error-ui .reload:hover {
            filter: brightness(0.98);
        }

    /* Blazor toggles display; ensure visible when set inline */
    #blazor-error-ui[style*="display: block"] {
        display: flex;
    }
