body {
    position: relative;
    height: 100vh;
    background: none;
    color: #ffffff;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #404041, #23202c, #140a1a, #1c2024, #2d2e2e);
    background-size: 200% 200%;
    animation: gradientShift 50s ease-in-out infinite;
    z-index: 0;
    pointer-events: none;
}

body.light-theme::before {
    background: linear-gradient(45deg, #c5c5d6, #c2bdda, #d1bcdd, #c0d3e2, #c8dddd);
    background-size: 200% 200%;
    animation: gradientShift 50s ease-in-out infinite;
}

body::after {
    content: "";
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)'/></svg>");
    opacity: 0.02;
    z-index: 1;
    pointer-events: none;
}

.bg-image {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background-image: url('bg.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 2;
    pointer-events: none;
    opacity: 0.12;
}
body.light-theme .bg-image {
    filter: invert(1);
}

@keyframes gradientShift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.icon {
    transform: scale(0.9);
    animation: scaleLoop 7s ease-in-out infinite;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 120px;
    margin-bottom: 30px;
    z-index: 10;
    filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 1));
}

@keyframes scaleLoop {
    0% {
        transform: scale(0.9);
    }
    50% {
        transform: scale(1);
    }
    100% {
        transform: scale(0.9);
    }
}
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    
}
.center-container {
    display: flex;
    align-items: center;
    height: 100vh;
    flex-direction: column;
}
.button::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='3' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)'/></svg>");
    opacity: 0.03;
    z-index: -100;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
}
.button::after {
    content: "";
    background-image: url("https://dax.hiveborn.digital/x.png");
    opacity: 0.2;
    z-index: -100;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: repeat;
    background-size: 30px;

    -webkit-mask-image: linear-gradient(to right, #000000ff, #00000000);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(to right, #000000ff, #00000000);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;

    transition: opacity 0.4s ease;
}
body.light-theme .button::after, body.light-theme .bigbutton::after {
    filter: invert(1);
}
.button:hover::after {
    opacity: 0;
}
body.light-theme .button, body.light-theme .bigbutton {
    background: linear-gradient(to right, #ffffff54, #ffffff54);
    color: #000000;
}
body.light-theme .bigbutton * {
    filter: invert(1);
    color: #000000;
}
.button {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 5;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: linear-gradient(to right, #00000054, #00000054);
    color: #f1f1f1;
    border: none;
    padding-left: 70px;
    padding-right: 1.5rem;
    border-radius: 10px;
    box-shadow: 0 0 25px rgb(0, 0, 0, 0.22);

    cursor: pointer;
    width: 500px;
    height: 55px;
    margin: 8px;
    text-align: left;
    transform: scale(1);
    overflow: hidden;
    outline: 2px solid transparent;
    transition: 
        transform 0.4s ease, 
        box-shadow 0.4s ease, 
        outline-color 0.4s ease;
}

@keyframes outlineLoop {
    0% {
        outline-offset: 4px;
    }
    50% {
        outline-offset: 10px;
    }
    100% {
        outline-offset: 4px;
    }
}

.button:hover, body.light-theme .button:hover {
    box-shadow: 0 0 35px #000000c4;
    background: linear-gradient(to right, #41d3ffa0, #6441ffa0, #ff41f6a0, #ff4171a0);
    transform: scale(1.1);
    outline-color: #d6fcff;
    background-size: 400% 400%;
    animation: gradientShift 5s ease-in-out infinite, outlineLoop 2s ease-in-out infinite;
    color: #ffffff;
}
body.light-theme .button:hover, body.light-theme .bigbutton:hover {
    outline-color: #121a40;
}

.button:active, body.light-theme .button:active {
    box-shadow: 0 0 35px #000000ff;
    transform: scale(1.12);
    outline-color: #ffffff;
    background-size: 400% 400%;
    animation: outlineLoop 2s ease-in-out infinite;
    color: #000000;
    background-color: #ffffff;
    background: linear-gradient(to right, #aaaaaa, #ffffff)
}

.button:active *, body.light-theme .button * {
    filter: brightness(0);
}

.button img {
    position: absolute;
    left: 20px;
    width: 30px;
    height: 30px;
    pointer-events: none;
}

.button-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.button-title {
    font-size: 0.9rem;
    font-weight: bold;
}

.button-subtext {
    font-size: 0.7rem;
    color: #ffffffb2;
}

.bigbutton::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='3' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)'/></svg>");
    opacity: 0.03;
    z-index: -100;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
}
.bigbutton::after {
    content: "";
    background-image: url("https://dax.hiveborn.digital/x.png");
    opacity: 0.2;
    z-index: -100;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: repeat;
    background-size: 30px;

    -webkit-mask-image: linear-gradient(to right, #000000ff, #00000000);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(to right, #000000ff, #00000000);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;

    transition: opacity 0.4s ease;
}
.bigbutton:hover::after {
    opacity: 0;
}
.bigbutton {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 5;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: linear-gradient(to right, #00000054, #00000054);
    color: #f1f1f1;
    border: none;
    padding-left: 70px;
    padding-right: 1.5rem;
    border-radius: 10px;
    box-shadow: 0 0 25px rgb(0, 0, 0, 0.22);
    cursor: pointer;
    width: 350px;
    height: 160px;
    margin: 16px;
    text-align: left;
    transform: scale(1);
    overflow: hidden;
    outline: 2px solid transparent;
    transition: 
        transform 0.4s ease, 
        box-shadow 0.4s ease, 
        outline-color 0.4s ease;
}
.bigbutton:active, .bigbutton:focus:active {
    box-shadow: 0 0 35px #000000ff;
    transform: scale(1.12);
    outline-color: #ffffff;
    background-size: 400% 400%;
    animation: outlineLoop 2s ease-in-out infinite;
    color: #000000;
    background-color: #ffffff;
    background: linear-gradient(to right, #aaaaaa, #ffffff)
}

.bigbutton:active * {
    filter: brightness(0);
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.button-row a {
  flex: 1 1 300px;
  max-width: 400px;
  display: block;
}

.bigbutton:hover {
    box-shadow: 0 0 35px #000000c4;
    background: linear-gradient(to right, #41d3ffa0, #6441ffa0, #ff41f6a0, #ff4171a0);
    transform: scale(1.1);
    outline-color: #d6fcff;
    background-size: 400% 400%;
    animation: gradientShift 5s ease-in-out infinite, outlineLoop 2s ease-in-out infinite;
}

.bigbutton img {
    position: absolute;
    left: 15px;
    width: 40px;
    height: 40px;
    pointer-events: none;
}

.bigbutton-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bigbutton-title {
    font-size: 0.9rem;
    font-weight: bold;
}

.bigbutton-subtext {
    font-size: 0.7rem;
    color: #ffffffb2;
}

.title {
    font-size: 110%;
    background: linear-gradient(to right, #abfcff, #b8a9ff, #f2bfff, #ffabc7);
    background-size: 400% 400%;
    animation: gradientShift 5s ease-in-out infinite, outlineLoop 2s ease-in-out infinite;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    z-index: 6;
    margin-bottom: 16px;
    margin-top: 40px;
}
body.light-theme .title {
    background: linear-gradient(to right, #07bac0, #2606c7, #a508cc, #b40540);
    background-size: 400% 400%;
    animation: gradientShift 5s ease-in-out infinite, outlineLoop 2s ease-in-out infinite;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
} 
.subtext {
    font-size: 90%;
    color: #ffffffe8;
    z-index: 6;
    margin-bottom: 16px;
    max-width: 550px;
    text-shadow: 0px 0px 12px #000000;
}
body.light-theme .subtext {
    color: #000000ff;
    text-shadow: 0px 0px 12px #0000003a;
}
a {
    text-decoration: none;
}
.top-rectangle, .bottom-rectangle {
    position: fixed;
    left: 0;
    right: 0;
    height: 42px;
    background-color: #0000008a;
    z-index: 999;
}

body.light-theme .top-rectangle, body.light-theme .bottom-rectangle {
    filter: invert(1);
    opacity: 0.8;
}
body.light-theme #particles1, body.light-theme #particles2 {
    filter: invert(1);
}

.top-rectangle {
    top: 0;
}

.bottom-rectangle {
    bottom: 0;

}
.toggleicon_bg {
    position: fixed;
    right: 30px;
    top: 60px;
    z-index: 1000;
}
.toggleicon_bg:hover {
    position: fixed;
    right: 30px;
    top: 60px;
    z-index: 1000;
    filter: drop-shadow(0 0 4px #ffffff);
}
.toggleicon_bg:active {
    transform: scale(1.1);
}
.toggleicon_theme {
    position: fixed;
    right: 90px;
    top: 60px;
    z-index: 1000;
}
.toggleicon_theme:hover {
    position: fixed;
    right: 90px;
    top: 60px;
    z-index: 1000;
    filter: drop-shadow(0 0 4px #ffffff);
}
.toggleicon_theme:active {
    transform: scale(1.1);
}
#toggleParticles {
    cursor: pointer;
    transition: filter 0.2s ease;
}
#toggleParticles.paused {
    filter: brightness(50%);
}
#toggleTheme {
    cursor: pointer;
    transition: filter 0.2s ease;
}
#toggleTheme.paused {
    filter: brightness(50%);
}
.spoiler {
    filter: blur(7px);
    transition: all 0.3s ease;
}
.spoiler:hover {
    filter: blur(0px);

}
.bg-hex {
    position: absolute;
    left: 0;
    right: 0; 
}
body.light-theme .bg-hex {
    filter: invert(1);
}
body.light-theme .toggleicon_theme, body.light-theme .toggleicon_bg {
    filter: invert(1);

}
::selection {
    background-color: #e0daffaa;
    color: #000000;
}

body.light-theme ::selection {
    background-color: #08002caa;
    color: #ffffff;
}





