/* style.css */

/* Global box-sizing für konsistente Größenberechnung */
* {
  box-sizing: border-box;
}

/* Allgemeine Styles für html und body, um den gesamten Viewport zu füllen */
html, body {
  margin: 0;
  padding: 0;
  height: 100%; /* Stellt sicher, dass html und body die volle Viewport-Höhe einnehmen */
  font-family: sans-serif;
  overflow: hidden; /* Verhindert Scrollbalken auf der Hauptebene des Bodys */
  background-color: #F8F8F8; /* Optionale Hintergrundfarbe für den gesamten Body, falls gewünscht */
}

/* Body als Flex-Container, um Inhalte vertikal zu stapeln */
body {
  display: flex;
  flex-direction: column;
}

/* Optional: Style für die Überschrift im Output-Bereich und allgemeine Überschriften/Paragraphen */
h1, h2, p {
  margin: 0;
  padding: 10px 0; /* Beispiel: Etwas vertikale Polsterung, keine horizontalen Ränder */
  text-align: center; /* Überschriften zentrieren */
}

/* Styling für die Button-Leiste */
.button-bar {
  margin-bottom: 0; /* Rand unten entfernen */
  padding: 10px 0 0 0; /* Polsterung anpassen, um oberen Rand zu entfernen */
  text-align: center; /* Buttons zentrieren */
}

.button-bar button {
  margin: 0 5px; /* Kleiner Abstand zwischen den Buttons */
  padding: 8px 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #e0e0e0;
  cursor: pointer;
}

.button-bar button:hover {
  background-color: #d0d0d0;
}

/* Haupt-Container für Blockly-Workspace und Output-Bereich */
#container {
  display: flex; /* Machen Sie den Container zu einem Flex-Container, um die Kinder nebeneinander anzuordnen */
  flex-grow: 1; /* Lässt den Container den restlichen vertikalen Platz füllen */
  padding: 0; /* Polsterung um den Inhalt herum vollständig entfernen */
  box-sizing: border-box; /* Stellt sicher, dass Padding in der Größe enthalten ist */
}

/* Blockly-Workspace Bereich */
#blocklyDiv {
  flex-grow: 1; /* Lässt BlocklyDiv den maximalen horizontalen Platz einnehmen */
  min-width: 200px; /* Mindestbreite für Blockly, damit es nicht zu klein wird */
  height: 100%; /* Füllt die Höhe des #container */
  background-color: #FFF8E1; /* Sehr helles Beige für den Blockly-Hintergrund des Containers */
  margin: 0; /* Rand entfernen */
}

/* WICHTIG: Regel für den Blockly SVG-Hintergrund */
#blocklyDiv .blocklySvg {
  background-color: #FFF8E1; /* Hintergrundfarbe für das von Blockly generierte SVG-Element */
}

/* Optional: Sicherstellen, dass Blockly-Scrollbalken über anderen Elementen liegen */
#blocklyDiv .blocklyScrollbarHorizontal,
#blocklyDiv .blocklyScrollbarVertical {
    z-index: 100;
}

/* Flex-Container für Splitter und Output-Bereich */
#outputContainer {
  display: none; /* Standardmäßig ausgeblendet, wird bei Bedarf von JS eingeblendet */
  flex-shrink: 0; /* Verhindert, dass dieser Container schrumpft, wenn nicht im WebView */
  flex-basis: auto; /* Initial flexible Basis */
}

/* Splitter-Element */
#splitter {
  width: 8px; /* Breite des Splitters */
  background-color: #ccc; /* Farbe des Splitters */
  cursor: ew-resize; /* Zeigt den "Ost-West-Größenänderung"-Cursor */
  flex-shrink: 0; /* Verhindert, dass der Splitter schrumpft */
  margin-left: 0; /* Abstand zum Blockly-Bereich entfernen */
  margin-right: 0; /* Abstand zum Output-Bereich entfernen */
}

/* Output-Bereich (mit Code-Textarea) */
#outputArea {
  display: flex;
  flex-direction: column; /* Überschrift und Textarea vertikal stapeln */
  min-width: 200px; /* Mindestbreite für die OutputArea */
  width: 500px; /* Startbreite für den Output-Bereich, wird von JS überschrieben */
  box-sizing: border-box;
  margin: 0; /* Rand entfernen */
}

/* Textarea für den generierten Code */
#codeOutput {
  flex-grow: 1; /* Lässt die Textarea die verbleibende Höhe in outputArea füllen */
  font-family: 'Courier New', Courier, monospace;
  font-size: 14px;
  white-space: pre-wrap;
  border: none; /* Deaktiviert den Rand der Textarea */
  resize: none; /* Deaktiviert die eingebaute Resize-Funktion der Textarea */
  overflow: auto; /* Notwendig, damit Scrollbalken erscheinen, wenn der Inhalt die Größe überschreitet */
  padding: 10px; /* Optional: Innenabstand für den Text, damit er nicht direkt am Rand klebt */
}
