/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

::-webkit-scrollbar {
  width: 5px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  border-radius: 3px;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Progress-Bar-Füllungen mit dieser Klasse animieren Fortschritt sanft.
   Macht Erfolgsmomente fühlbar — Balken "rast" über ~1.2s auf neuen Wert. */
.nx-progress-fill {
  transition: width 1.2s cubic-bezier(.22,.9,.35,1);
}

/* Ring-Animation bei 100% — einmalig, wenn die Klasse hinzugefügt wird. */
@keyframes nx-ring-close {
  0%   { box-shadow: 0 0 0 0 rgba(62,207,160,0); }
  40%  { box-shadow: 0 0 0 8px rgba(62,207,160,0.28); }
  100% { box-shadow: 0 0 0 0 rgba(62,207,160,0); }
}
.nx-ring-complete {
  animation: nx-ring-close 1s ease-out;
}

/* ═══ HAPTIK — Klick, Hover, Focus fühlbar machen ═════════════════════ */

/* Alle Buttons: sanfter Scale-Down beim Klicken (außer explizit ausgeschlossen) */
button:not(.nx-no-haptik) {
  transition: transform 0.1s ease, box-shadow 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
button:not(:disabled):not(.nx-no-haptik):active {
  transform: scale(0.97);
}

/* Inputs / Textareas / Selects: Focus-Glow (nur wenn nicht explizit ausgeschlossen) */
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.nx-no-haptik):focus,
textarea:not(.nx-no-haptik):focus,
select:not(.nx-no-haptik):focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(62,207,160,0.18);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

/* Karten, die Haptik wollen, bekommen die Klasse .nx-card. Sanfter Lift beim Hover. */
.nx-card {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.nx-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
}

/* Seiten-Transition: aktuelle Content-Fläche fadet glatt rein */
@keyframes nx-page-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.nx-page-enter {
  animation: nx-page-fade-in 0.22s ease-out;
}

/* First-Time-Pulse: primärer CTA auf leerer Seite pulst 3x dezent */
@keyframes nx-cta-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(62,207,160,0.4); }
  50%      { box-shadow: 0 0 0 10px rgba(62,207,160,0); }
}
.nx-cta-pulse {
  animation: nx-cta-pulse 1.6s ease-out 3;
}

/* Asset-Thumbnail-Hover-Preview — Bild wächst beim Hover und legt sich vor */
.nx-asset-thumb img {
  transition: transform 0.25s ease;
  transform-origin: center center;
}
.nx-asset-thumb:hover img {
  transform: scale(1.15);
  z-index: 5;
  position: relative;
}

