:root {
    --surface-strong: #08131f;
    --surface-mid: #0d1d2c;
    --surface-light: #f4efe7;
    --surface-card: rgba(255, 253, 249, 0.92);
    --text-strong: #132536;
    --text-soft: #476072;
    --accent-aqua: #6fd1d1;
    --accent-gold: #d9b47d;
    --line-soft: rgba(18, 41, 56, 0.12);
}

html {
    scroll-behavior: smooth;
}

html,
body {
    margin: 0;
    padding: 0;
    background: var(--surface-light);
    color: var(--text-strong);
    font-family: "DM Sans", sans-serif;
}

body {
    min-height: 100vh;
}

a {
    color: inherit;
}

h1:focus,
h2:focus,
h3:focus {
    outline: none;
}

img {
    display: block;
    max-width: 100%;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #b3451d;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

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