/* Self-hosted variable fonts — @font-face can't live in the MudBlazor theme,
   so this is the one styling concern that stays in CSS. Two families, split by
   role: Space Grotesk for display headings (theme H4-H6), Inter for body. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('fonts/inter-var-latin.woff2') format('woff2');
}

@font-face {
    font-family: 'Space Grotesk';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('fonts/space-grotesk-var-latin.woff2') format('woff2');
}

html, body {
    font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

* {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.1) transparent;
}

.blazor-error-boundary {
    background: #1a1a2e;
    padding: 1rem;
    color: #ef4444;
    border: 1px solid rgba(239,68,68,0.3);
    border-radius: 8px;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}

.mud-nav-link {
    border-radius: 8px !important;
    margin: 2px 8px !important;
}

/* Collapsed mini-drawer: center icons, prevent text overlap */
.mud-drawer--closed.mud-drawer--mini .mud-nav-link {
    justify-content: center;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 2px 4px !important;
    min-height: 48px;
}

.mud-drawer--closed.mud-drawer--mini .mud-nav-link-text {
    display: none;
}

/* Equal height widget cards */
.mud-grid-item > .mud-paper {
    height: 100%;
}
