:root {
    color-scheme: light dark;
}

::selection {
    background-color: #fa6400;
    color: #000000;
}

html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
}

body {
    display: flex;
    flex-direction: column;
    width: 100%;
    font-family: Helvetica, sans-serif;
    font-size: 16px;
    overflow-wrap: break-word;
    color: light-dark(#000000, #ffffff);
    background-color: light-dark(#ffffff, #000000);
}

/* Hauptbereich */
main {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* Footer */
footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 10px;

    color: light-dark(#000000, #ffffff);
    background: transparent;
    font-size: 0.9rem;
    text-align: center;
}

/* Titel (SVG) */
#title-svg {
    display: inline-block;
    width: clamp(300px, 50vw, 800px);
    height: auto;
    padding: clamp(1rem, 3vw, 3rem);
    box-sizing: border-box;

    opacity: 0;
    transform: scale(0.9);
    filter: brightness(1);
    
    /* Animation */
    animation: electricShock 0.5s ease-out forwards;
    animation-delay: 0.7s;
}

@keyframes electricShock {
    0%   { opacity: 0; transform: scale(0.9); filter: brightness(1); }
    10%  { opacity: 1; transform: scale(1.2); filter: brightness(4); } /* starker Blitz */
    20%  { opacity: 0.8; transform: scale(1.05); filter: brightness(2.5); }
    30%  { opacity: 1; transform: scale(1.15); filter: brightness(3.5); } /* kurzer zweiter Blitz */
    40%  { opacity: 0.7; transform: scale(1); filter: brightness(1.5); }
    50%  { opacity: 1; transform: scale(1.1); filter: brightness(3); } /* letzter Schlag */
    100% { opacity: 1; transform: scale(1); filter: brightness(1); } /* normal sichtbar */
}

