/* /css/base/reset.css */
/* Source: :contentReference[oaicite:2]{index=2} */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
  font-family: 'Arial', sans-serif;
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
  border: none;
  outline: none;
  background: none;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  cursor: pointer;
}

/* Scroll-Lock Utility */
body.no-scroll {
  overflow: hidden;
  height: 100%;
  touch-action: none;
  overscroll-behavior: none;
  position: fixed;
  width: 100%;
}

/* Global: Textselektion unterbinden (z. B. gegen Langdruck auf iOS) */
* {
  -webkit-user-select: none; /* Safari/iOS */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* IE/Edge */
  user-select: none;         /* Standard */
}

/* verhindert Scroll-Kettenreaktionen / Pull-to-Refresh */
#image-hold-viewer {
  overscroll-behavior: contain; /* Chrome/Android */
  touch-action: none;           /* blockt Panning/Pinch als Pointer-Gesten */
}

/* iOS: kein Callout/Highlight/Selection */
#image-hold-viewer,
#image-hold-viewer img {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}


/* ==== iOS: Bild-Callout/Copy/Drag/Select global verhindern ==== */
img, picture, video, canvas, svg {
  -webkit-touch-callout: none;  /* kein Long-Press-Menü */
  -webkit-user-select: none;    /* keine Auswahl */
  user-select: none;
  -webkit-user-drag: none;      /* kein Drag */
  touch-action: none;           /* Gesten deaktivieren (Pinch/LongPress) */
}

a, button, [role="button"] img {
  -webkit-touch-callout: none;
}

* { -webkit-tap-highlight-color: transparent; }

/* Für Bild-Viewer/-Cards: Interaction komplett blocken */
.img-locked, .image-post img, #viewer img, #viewer-preview, #viewer-traced {
  pointer-events: none;
} 



							/* ===== Upload Overlay (statt <style>-Inject aus JS) ===== */
.upload-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10,10,12,.8);
  backdrop-filter: saturate(1.2) blur(2px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.upload-card {
  width: min(420px, 90vw);
  border-radius: 16px;
  background: #0f1218;
  color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  padding: 20px 22px;
}

.upload-title {
  font-weight: 600;
  font-size: 16px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  margin-bottom: 10px;
}

.upload-text {
  opacity: .9;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 14px;
  min-height: 1.2em;
}

.upload-bar {
  height: 10px;
  background: #1d2330;
  border-radius: 999px;
  overflow: hidden;
}

.upload-bar-fill {
  height: 100%;
  width: var(--upload-progress, 0%);
  background: linear-gradient(90deg, #6ea8fe, #9b7bff);
  transition: width .15s ease;
}

/* Während Upload Interaktionen blockieren (statt body.style...) */
html.is-uploading {
  overflow: hidden;
}
html.is-uploading body {
  pointer-events: none;
}
 

[hidden] { display: none !important; }