:root {
    --blu-bg: #06111f;
    --blu-bg-deep: #020814;
    --blu-bg-soft: #0b1f36;
    --blu-surface: rgba(11, 31, 54, 0.92);
    --blu-surface-soft: rgba(6, 17, 31, 0.72);
    --blu-border: rgba(136, 202, 255, 0.18);
    --blu-border-strong: rgba(84, 199, 255, 0.28);
    --blu-text: #eef7ff;
    --blu-text-soft: #d8e8f5;
    --blu-muted: #9ab5ca;
    --blu-accent: #54c7ff;
    --blu-accent-strong: #8de6ff;
    --blu-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
    --blu-radius: 2rem;
    --blu-radius-soft: 1.25rem;
    --blu-container: 1120px;
    --blu-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    min-height: 100%;
    margin: 0;
    background:
        radial-gradient(circle at top left, rgba(84, 199, 255, 0.18), transparent 36rem),
        linear-gradient(135deg, var(--blu-bg), var(--blu-bg-deep) 72%);
    color: var(--blu-text);
    font-family: var(--blu-font);
    font-size: 1rem;
    line-height: 1.6;
}

body.admin-bar .blu-header {
    top: 32px;
}

a {
    color: inherit;
    text-decoration-color: rgba(84, 199, 255, 0.45);
    text-underline-offset: 0.18em;
}

a:hover,
a:focus {
    color: var(--blu-accent-strong);
}

img,
svg,
video {
    display: block;
    max-width: 100%;
    height: auto;
}

button,
input,
textarea,
select {
    font: inherit;
}

.blu-container {
    width: min(var(--blu-container), calc(100% - 2rem));
    margin-right: auto;
    margin-left: auto;
}

.blu-flow > * + * {
    margin-top: 1rem;
}

.blu-screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

p:last-child {
    margin-bottom: 0;
}

@media (max-width: 782px) {
    body.admin-bar .blu-header {
        top: 46px;
    }
}
