/* Fallbacks, falls Tailwind-Klassen (z. B. .hidden) mal fehlen sollten */
.hidden { display: none !important; }

/* Monospace-Helfer */
.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace;
}

/* Glasoptik, falls genutzt */
.glass {
  background: rgba(23,25,34,.9);
  backdrop-filter: blur(6px);
}

/* Spinner */
.spin {
  width: 16px;
  height: 16px;
  border: 2px solid #6b7280;
  border-top-color: #e5e7eb;
  border-radius: 9999px;
  animation: spin 0.8s linear infinite;
  display: inline-block;
  vertical-align: -2px;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Pulse-Button (optional) */
.pulse-btn {
  animation: pulse-btn 1.2s ease-in-out infinite;
  pointer-events: none;
  opacity: 0.7;
}
@keyframes pulse-btn {
  0%, 100% { border-color: #222633; }
  50%      { border-color: #66d9ef; }
}

/* Segment-Buttons (optional) */
.seg { display: inline-flex; border: 1px solid #222633; border-radius: 12px; overflow: hidden; }
.seg button {
  padding: 0.4rem 0.7rem;
  font-size: 0.85rem;
  background: #101522;
  border-right: 1px solid #222633;
  transition: background-color 0.2s;
}
.seg button:last-child { border-right: none; }
.seg button[aria-pressed="true"] { background: #2d384d; font-weight: 600; }
.seg button:hover:not([aria-pressed="true"]) { background: #1a2030; }

/* Dropzone-State */
.drop-ok {
  border-color: #93c5fd;
  background: rgba(147, 197, 253, 0.06);
}

/* Allgemeine Button-States */
button:disabled { opacity: 0.5; cursor: not-allowed; }
button:not(:disabled):hover { background: #374151; }

/* Cheat-Sheet Toggle */
.cheat-sheet { transition: all 0.3s ease-in-out; overflow: hidden; }
.cheat-sheet.closed { max-height: 0; opacity: 0; }
.cheat-sheet.open { max-height: 500px; opacity: 1; }
