/* Nunito Sans — regular / semi-bold / bold weight axis */
@font-face {
    font-family: 'Nunito Sans';
    src: url('fonts/NunitoSans-VariableFont.woff2') format('woff2'),
         url('fonts/NunitoSans-VariableFont.ttf')   format('truetype');
    font-weight: 200 900;
    font-style: normal;
    font-display: swap;
}

/* Nunito Sans — italic weight axis */
@font-face {
    font-family: 'Nunito Sans';
    src: url('fonts/NunitoSans-Italic-VariableFont.woff2') format('woff2'),
         url('fonts/NunitoSans-Italic-VariableFont.ttf')   format('truetype');
    font-weight: 200 900;
    font-style: italic;
    font-display: swap;
}

/* --------------------------------------------------------------------------
   Thebe Space brand tokens (mirrors https://thebe.space)
   -------------------------------------------------------------------------- */
:root {
    --thebe-black:   #111111;
    --thebe-text:    #1a1a1a;
    --thebe-muted:   #5d5d5d;
    --thebe-line:    #e7e3db;
    --thebe-soft:    #f8f6f2;
    --thebe-gold:    #ddb24c;
    --thebe-white:   #ffffff;
    --thebe-green:   #0eae1d;   /* app-icon accent */
}

/* Override MudBlazor's default Roboto stack globally */
body,
.mud-typography,
.mud-input,
.mud-button,
.mud-nav-link,
.mud-chip {
    font-family: 'Nunito Sans', sans-serif !important;
}

.app-title {
    font-weight: 900;
}

/* --------------------------------------------------------------------------
   Blazor unhandled-error banner (hidden until Blazor toggles it)
   -------------------------------------------------------------------------- */
#blazor-error-ui {
    background: var(--thebe-gold);
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    color: var(--thebe-black);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}