html {
    background: var(--gt-bg, #0a0a0a);
}

body {
    margin: 0;
    font-family: 'Roboto', sans-serif;
    min-height: 100vh;
    background:
        linear-gradient(
            135deg,
            var(--gt-bg, #0a0a0a) 0%,
            color-mix(in srgb, var(--gt-primary, #AB47BC) calc(var(--gt-gradient-intensity, 0) * 1%), var(--gt-bg, #0a0a0a)) 100%
        );
    background-attachment: fixed;
}

.gt-grain-overlay {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 100;
    opacity: calc(var(--gt-grain-opacity, 0) * 0.01);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 256px 256px;
}
