*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
    background: #0d1117;
    color: #e6edf3;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: #58a6ff;
}

a:hover {
    color: #79c0ff;
}

::selection {
    background: rgba(240, 180, 41, 0.3);
    color: #e6edf3;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #3fb950;
}

.invalid {
    outline: 1px solid #f85149;
}

.validation-message {
    color: #f85149;
}

.text-danger {
    color: #f85149 !important;
}

.blazor-error-boundary {
    background: #f85149;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
    border-radius: 6px;
}

.blazor-error-boundary::after {
    content: "An error has occurred.";
}

#blazor-error-ui {
    display: none;
    background: #161b22;
    color: #8b949e;
    border-top: 1px solid #21262d;
    font-size: 0.8rem;
}

#blazor-error-ui .reload {
    color: #58a6ff;
}

#blazor-error-ui .dismiss {
    color: #8b949e;
}
