body {
  font-family: 'Inter', sans-serif;
  background: #f5f5f5;
  color: #222;
  margin: 0;
  padding: 0;
}

.wrapper {
  max-width: 780px;
  margin: 0 auto;
  padding: 1.5rem;
}

header {
  padding: 1.5rem 0 0.5rem;
}

h1 {
  font-size: 1.5rem;
  margin-bottom: 0.4rem;
  font-weight: 600;
}

.subtitle {
  color:#555;
  font-size:0.9rem;
  margin-bottom:1.2rem;
}

label {
  display:block;
  margin-bottom:0.4rem;
  font-weight:600;
}

textarea {
  width:100%;
  height:150px;
  padding:0.9rem;
  font-size:1rem;
  border:1px solid #bbb;
  border-radius:6px;
  background:white;
  box-sizing:border-box;
}

button {
  margin-top:1rem;
  padding:0.8rem 1.5rem;
  width:100%;
  border:none;
  border-radius:6px;
  font-size:1rem;
  font-weight:600;
  background:linear-gradient(to right, black, goldenrod, red);
  color:white;
  cursor:pointer;
}

button:hover { opacity:0.92; }

.hidden { display:none; }

.loader {
  margin-top:1.5rem;
  text-align:center;
  color:#444;
}

.spinner {
  margin:0 auto 1rem;
  border:4px solid #ccc;
  border-top:4px solid #c92127;
  border-radius:50%;
  width:42px;
  height:42px;
  animation:spin 0.7s linear infinite;
}

@keyframes spin {
  from {transform:rotate(0);}
  to   {transform:rotate(360);}
}

.auswertung {
  margin-top:1.5rem;
}

.result {
  background:white;
  padding:1rem;
  border-left:5px solid #c92127;
  border-radius:6px;
  margin:1rem 0;
  white-space:pre-wrap;
}

footer {
  margin-top:2.5rem;
  padding-top:1rem;
  border-top:1px solid #ddd;
  font-size:0.85rem;
  color:#666;
}

footer a {
  color:#444;
  text-decoration:none;
}
footer a:hover { text-decoration:underline; }

/* Info-Box einklappbar */
.collapsible {
  margin-top: 1.5rem;
}

.sbd-toggle {
  width: 100%;
  background: #CA0000;
  border: 1px solid #bbb;
  padding: 0.7rem;
  font-size: 1rem;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
}

.sbd-toggle:hover {
  background: #000000;
}

.sbd-content {
  display: none;
  margin-top: 0.8rem;
  padding: 1.1rem;
  background: #ffffff;
  border-left: 5px solid #c92127;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.sbd-content.open {
  display: block;
}

.sbd-content h2 {
  font-size: 1.15rem;
  margin-bottom: 0.6rem;
}

.sbd-content h3 {
  font-size: 1rem;
  margin-top: 1rem;
  margin-bottom: 0.4rem;
}

.sbd-content ul.sbd-list {
  margin: 0.2rem 0 0;
  padding-left: 1.2rem;
  line-height: 1.4;
}

.sbd-content ul.sbd-list li {
  margin-bottom: 0.3rem;
}

/* Mobile-Abstände */
@media (max-width: 600px) {
  .wrapper {
    padding: 1rem;
  }

  header {
    padding-top: 1rem;
  }

  h1 {
    font-size: 1.25rem;
  }

  .subtitle {
    margin-bottom: 1rem;
  }

  textarea {
    margin-top: 0.3rem;
    height: 130px;
  }

  .collapsible {
    margin-top: 1.2rem;
  }

  .sbd-content {
    padding: 0.9rem;
    margin-top: 0.5rem;
  }

  .sbd-content ul.sbd-list {
    padding-left: 0.9rem;
    margin-top: 0.3rem;
  }

  .auswertung {
    margin-top: 1.5rem;
  }
}
