body{
    --bg-color: white;
    --text-color: black;
    margin: 0;
    font-family: National Park, Arial, sans-serif;
    /* background: linear-gradient(180deg,#f6f8ff 0%,var(--bg) 100%); */
    /*padding: 28px;*/
    color: --var(--text-color);
    background: var(--bg-color);
    --red: rgb(246, 0, 0);
    --green: rgb(0, 226, 0);
    --blue: rgb(0, 166, 255);
    --yellow: rgb(255, 255, 0);
    --orange: rgb(255, 145, 0);
    --lila: rgb(136, 0, 255);
    --pink: rgb(231, 0, 231);
    --dark-green: rgb(0, 160, 0);
    --neon-green: rgb(45, 255, 3); /*rgb(4, 255, 0)*/

    --red-hover: rgb(246, 0, 0, 0.700);
    --green-hover: rgb(0, 226, 0, 0.700);
    --blue-hover: rgb(0, 166, 255, 0.700);
    --yellow-hover: rgb(255, 255, 0, 0.700);
    --orange-hover: rgb(255, 145, 0, 0.700);
    --lila-hover: rgb(136, 0, 255, 0.700);
    --pink-hover: rgb(231, 0, 231, 0.700);
    --dark-green-hover: rgba(0, 160, 0, 0.700);

    --red-active: rgb(246, 0, 0, 0.500);
    --green-active: rgb(0, 226, 0, 0.500);
    --blue-active: rgb(0, 166, 255, 0.500);
    --yellow-active: rgb(255, 255, 0, 0.500);
    --orange-active: rgb(255, 145, 0, 0.500);
    --lila-active: rgb(136, 0, 255, 0.500);
    --pink-active: rgb(231, 0, 231, 0.500);
    --dark-green-active: rgb(0, 160, 0, 0.500);

    --rad1: 5px;
    --rad2: 10px;
    --pad:  5px 10px;
    --brd:3px solid black;
    --font10: 10px;
    --font15: 15px;
    --font20: 20px;
    
    --input: rgb(229, 229, 229);
    --input-focus: rgb(240, 240, 240);
    --input-hover: #dcdcdc;

    --border: grey;

    --shadow: rgba(0, 0, 0, 0.1) 0px 0px 12px 10px;
    --input-shadow: 0px 0px 3px 3px hsla(0, 0%, 50%, 0.3);
    --trdiv: hsl(0, 0%, 95%);
    --trdiv-hover: hsl(0, 0%, 90%);
  }

*{
    font-family: National Park, Ubuntu, sans-serif;
}

#main{
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  z-index: 9998;
    position: relative;
}

#loginsection{
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.titles{
    text-align: center;
    font-size: 50px;
    color:white;
    
}

#bubi{
   margin-top: 25px; 
}

#sh{
  color: white;
}


hr{
  color: white;
  width: 365px;
  height: 3px;
  background-color: white;
  border-radius: 5px;
  align-self: center;
  text-align: center;
}

.input{
    display: flex;
    flex-direction: column;
    align-items: center;
    
}

.input .i{
    margin-bottom: 10px;
    font-size: 25px;
    border: none;
    padding: var(--pad);
    transition: 0.3s ease;
    background-color: var(--input);
    border-radius: var(--rad2);
    width: 345px;
}

.input input:hover{
    outline: none;
    background-color: var(--input-hover);
    color: var(--green);
    
}

.input input:focus-within{
    outline: none;
    background-color: var(--input-focus);
    box-shadow: var(--input-shadow);
    color: var(--green);
}

.input button{
    font-size: 25px;
    border: none;
    font-family: National Park, Ubuntu, Arial, sans-serif;
    background: var(--green);
    padding: var(--pad);
    border-radius: var(--rad2);
    color: var(--text-color);
    transition: 0.3s ease;
}

.input button:hover{
    background: var(--green-hover);
}

.input button:active{
  background: var(--green-active);
    
}

#links{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
}
#links h1{
  font-size: 75px;
  text-align: center;
  margin-top: 40px;
}

#info{
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#info p{
  font-size: 20px;
  display: block;
  text-align: center;
  /* margin: 0 200px;
  margin-bottom: 50px; */
}

#links a{
  font-size: 50px;
  color:var(--green);
  text-decoration: none;
  font-weight: bold;
  margin: 20px 250px;
  text-align: center;
}

#links a:hover{
  color:var(--green-hover);
}

#links a:active{
  color:var(--green-active);
}


:root {
    --bg1: black; /*#090909 / black*/
    --bg2: black; /*#151515 / black*/
    --line-bright: #b6ff3b;   /* hellgelbgrün */
    --line-dark: #0f3a20;     /* dunkelgrün */
    --grid-color: #7aff4a;    /* schwach leuchtendes Grün fürs Gitter */
    --grid-size: 250px;
    --grid-thickness: 1px;
    --line-thickness: 3px;
    --move-time-h: 5s;
    --move-time-v: 5s;
  }

main {
    /* Setze Höhe und Hintergrund wie zuvor für body */
    min-height: 100vh; /* Mindestens die Höhe des Viewports */
    background: radial-gradient(circle at 40% 30%, var(--bg1), var(--bg2) 80%);
    position: relative; /* Wichtig für die Positionierung der absoluten Kinder */
    overflow: hidden; /* Verhindert Scrollbalken durch die hinauslaufenden Streifen */
    padding-bottom: 50px; /* Beispiel für etwas Platz, falls der Footer drunter ist */
  }

  .scene {
    position: absolute; /* Muss innerhalb von <main> absolut positioniert werden */
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  /* --- zartes Gittermuster im Hintergrund --- */
  .grid {
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(var(--grid-color) var(--grid-thickness), transparent var(--grid-thickness)),
      linear-gradient(90deg, var(--grid-color) var(--grid-thickness), transparent var(--grid-thickness));
    background-size: var(--grid-size) var(--grid-size);
    opacity: 0.08; /* nur leicht sichtbar */
    mix-blend-mode: screen;
    filter: drop-shadow(0 0 3px var(--grid-color));
    z-index: 1;
  }
  
  /* Grund-Style für alle Energie-Streifen */
  .beam {
    position: absolute;
    background: linear-gradient(
      to right,
      var(--line-dark) 0%,
      var(--line-bright) 50%,
      rgba(182,255,59,0) 100%
    );
    filter: drop-shadow(0 0 6px var(--line-bright));
    opacity: 0.85;
    z-index: 2; /* über dem Gitter */
  }

  /* horizontale Streifen */
  .beam.h {
    /* width: 60vw; -> muss jetzt auf main bezogen werden, z.B. 60% oder 60vw wenn es Viewport-abhängig bleiben soll */
    width: 60vw; 
    height: var(--line-thickness);
    animation: moveH var(--move-time-h) linear infinite;
  }
  .beam.h.reverse {
    animation: moveHReverse var(--move-time-h) linear infinite;
  }

  /* vertikale Streifen */
  .beam.v {
    /* height: 60vh; -> muss jetzt auf main bezogen werden, z.B. 60% oder 60vh wenn es Viewport-abhängig bleiben soll */
    height: 50%;
    width: var(--line-thickness);
    background: linear-gradient(
      to bottom,
      var(--line-dark) 0%,
      var(--line-bright) 50%,
      rgba(182,255,59,0) 100%
    );
    animation: moveV var(--move-time-v) linear infinite;
  }
  .beam.v.reverse {
    animation: moveVReverse var(--move-time-v) linear infinite;
  }

  /* --- Keyframes für Bewegungen --- */
  /* Die Keyframes müssen auch angepasst werden, um sich auf die Ränder des <main>-Elements zu beziehen, 
     aber da sie Viewport-Units (vw/vh) verwenden, bleiben sie größtenteils gleich,
     sie bewegen sich relativ zum Viewport, was OK ist, solange <main> sichtbar ist.
     Wenn sie sich relativ zu <main> bewegen sollen, müsste man %-Werte verwenden. 
     Für diesen Effekt bleiben wir bei vw/vh: */
  @keyframes moveH {
    0% { left: -60vw; }
    100% { left: 100vw; }
  }

  @keyframes moveHReverse {
    0% { left: 100vw; transform: scaleX(-1); }
    100% { left: -60vw; transform: scaleX(-1); }
  }

  @keyframes moveV {
    0% { top: -80%; }
    100% { top: 100%; }
  }

  @keyframes moveVReverse {
    0% { top: 100%; transform: scaleY(-1); }
    100% { top: -80%; transform: scaleY(-1); }
  }

  /* --- Positionierung der Linien --- */
  /* Beachten Sie: Die harten Pixelwerte (z.B. 250px) für 'top' und 'left' 
     sollten eventuell durch %-Werte ersetzt werden, damit sie sich an die Höhe des <main> anpassen. 
     Ich lasse sie hier als px, da sie aus dem Originalcode stammen. */
  /* horizontale */
  .beam.h:nth-child(2) { top: 250px; }
  .beam.h:nth-child(3) { top: 500px; }
  .beam.h:nth-child(4) { top: 750px; }
  .beam.h:nth-child(5) { top: 1000px; }
  .beam.h:nth-child(6) { top: 1250px; }
  .beam.h:nth-child(7) { top: 1500px; }
  .beam.h:nth-child(8) { top: 1750px; }
  .beam.h:nth-child(9) { top: 2000px; }
  .beam.h:nth-child(10) { top: 2250px; }
  .beam.h:nth-child(11) { top: 2500px; }
  .beam.h:nth-child(12) { top: 2750px; }
  .beam.h:nth-child(13) { top: 3000px; }
  .beam.h:nth-child(14) { top: 3250px; }
  .beam.h:nth-child(15) { top: 3500px; }
  .beam.h:nth-child(16) { top: 3750px; }

  /* vertikale */
  .beam.v:nth-child(17)  { left: 250px; }
  .beam.v:nth-child(18)  { left: 500px; }
  .beam.v:nth-child(19) { left: 750px; }
  .beam.v:nth-child(20) { left: 1000px; }
  .beam.v:nth-child(21) { left: 1250px; }
  .beam.v:nth-child(22) { left: 1500px; }
  .beam.v:nth-child(23) { left: 1750px; }
  .beam.v:nth-child(24) { left: 2000px; }

  /* leichtes Glühen im Zentrum */
  .glow {
    position: absolute;
    inset: 0;
    /* background: black; */
    background: radial-gradient(circle at 50% 50%, rgba(182,255,59,0.15), transparent 70%);
    pointer-events: none;
    mix-blend-mode: screen;
    z-index: 3;
  }
/*BACKGROUND MAIN*/

.popup{
  margin-top: 20px;
  padding: 20px;
  width: inherit;
  height: fit-content;
  position: fixed;
   right: 50px;
  bottom: 50px;
  border: 2px solid rgb(0, 160, 0);
  border-radius: 10px;
  background-color: rgb(185, 255, 185);
  color: var(--text-color);
  z-index: 9999;
  font-size: 30px;
  font-weight: bold;
}

.showPw{
 margin-bottom: 10px;
}

footer{
  text-align: center;
  background-color: black;
  color: var(--green);
}
footer p{
  text-align: center;
  background-color: black;
  color: var(--green);
  margin: 0;
  padding: 16px 0;
}
footer span{
  text-align: center;
  background-color: black;
  color: var(--green);
}

.password{
  display: flex;
  flex-direction: row;
}

#links{
  padding: 20px;
}

img{
  width: 150px;
}

@media(min-width: 1201px){
  #info p{
  width: 600px;
}
#loginsection{
  width: 50vw;
}

#links{
  width: 50vw;
}
}

@media(max-width: 1200px) and (min-width: 651px){
  #main{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #links{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #links a{
    margin: 20px;
  }
  #info p{
    width: 75vw;
  }
}

@media(max-width: 650px){
  #main{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #links{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #links a{
    margin: 20px;
  }
  #links h1{
    font-size: 55px;
  }

  
  #info p{
    width: 75vw;
  }
}

@media(max-width: 410px){
  #links h1{
    font-size: 40px;
  }
  #loginEmail{
    width: 280px;
  }
  #loginPassword{
    width: 280px;
  }
  hr{
    width: 280px;
  }
  .input .i{
    width: 280px;
  }
}
