/* ==========================================================================
   Gemeinsame UI-Bausteine
   Enthaelt gemeinsam genutzte Toggle-, Hint- und Tooltip-Bausteine fuer Sidebar und Discover.
   Responsive Anpassungen dazu bleiben in oorigin-responsive.css.
   ========================================================================== */

:root {
  /* Zentrale Panel-Surface fuer Overlay, Info-Fenster und kuenftige Panels. */
  --oorigin-panel-fill: rgba(18, 16, 22, 0.22);
  --oorigin-panel-border: rgba(240, 234, 248, 0.05);
  --oorigin-panel-radius: 7px;
  --oorigin-panel-blur: 1px;
  --oorigin-panel-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
  --oorigin-panel-padding: 14px;
  /* Discover: leichte Verdunkelung über dem Cover (heller als Info/Einladung). */
  --oorigin-panel-backdrop: rgba(12, 10, 18, 0.09);
  /* Info-Panel: kein dunkler Scrim; helles Milchglas — Cover bleibt sichtbar. */
  --oorigin-info-panel-backdrop: transparent;
  --oorigin-info-panel-fill:
    linear-gradient(145deg, rgba(240, 234, 248, 0.05), rgba(240, 234, 248, 0.015)),
    rgba(18, 16, 22, 0.11);
  --oorigin-info-panel-blur: 0px;
  --oorigin-info-panel-border: rgba(240, 234, 248, 0.07);
  --oorigin-info-panel-shadow: 0 16px 40px rgba(8, 6, 14, 0.1);
  /* Frost-Panel (Info Embed) — gemeinsame Quelle für Info-Textpanels + Discover-Kacheln. */
  --sage-rgb: 134, 169, 144;
  --oorigin-frost-panel-radius: 28px;
  --oorigin-frost-panel-blur: 8px;
  --oorigin-frost-panel-border-color: rgba(var(--white-rgb), 0.18);
  --oorigin-frost-panel-inset-highlight: inset 0 1px 0 rgba(var(--white-rgb), 0.14);
  --oorigin-frost-panel-bg-embed:
    radial-gradient(circle at 88% 10%, rgba(var(--sage-rgb), 0.12), transparent 46%),
    radial-gradient(circle at 12% 92%, rgba(var(--purple-rgb), 0.07), transparent 50%),
    linear-gradient(168deg, rgba(var(--white-rgb), 0.15) 0%, rgba(var(--white-rgb), 0.05) 48%),
    rgba(36, 42, 40, 0.3);
  --oorigin-frost-panel-bg-embed-hover:
    radial-gradient(circle at 88% 10%, rgba(var(--sage-rgb), 0.13), transparent 46%),
    radial-gradient(circle at 12% 92%, rgba(var(--purple-rgb), 0.08), transparent 50%),
    linear-gradient(168deg, rgba(var(--white-rgb), 0.16) 0%, rgba(var(--white-rgb), 0.055) 48%),
    rgba(36, 42, 40, 0.32);
  --oorigin-discover-grid-item-glass: var(--oorigin-frost-panel-bg-embed);
  --oorigin-discover-grid-item-glass-hover: var(--oorigin-frost-panel-bg-embed-hover);
  --oorigin-discover-grid-item-blur: 6px;
  /* iPhone Profil/Suche-Drawer (Desktop/Tablet: unverändert hell über --oorigin-info-panel-fill). */
  --oorigin-phone-drawer-cover-veil:
    linear-gradient(145deg, rgba(240, 234, 248, 0.075), rgba(240, 234, 248, 0.022)),
    rgba(18, 16, 22, 0.14);
  /* Einladung (etwas kräftiger als Info). */
  --oorigin-info-invite-panel-backdrop: rgba(12, 10, 18, 0.4);
  /* Overlay-Panel: Größen-Handle unten rechts (wie Sidebar „Gemerkt“-Lila). */
  --oorigin-panel-resize-handle-color: rgba(var(--purple-rgb), 0.9);
  --oorigin-panel-resize-handle-color-hover: rgba(var(--purple-rgb), 1);

  /* Pill-Text (Serifen): optisch mittig — mehr oben, weniger unten. */
  --oo-tag-pill-pad-block-start: 5px;
  --oo-tag-pill-pad-block-end: 2px;
  --oo-tag-pill-pad-inline: 9px;
  --oo-tag-pill-pad: var(--oo-tag-pill-pad-block-start) var(--oo-tag-pill-pad-inline) var(--oo-tag-pill-pad-block-end);

  /* Zentrale Geometrie fuer frei positionierbare Standard-Panels. */
  --oorigin-panel-open-top: calc(var(--nav-h) + 18px);
  --oorigin-panel-open-left: calc(50px + 240px + 35px);
  --oorigin-panel-open-right: calc(50px + 240px + 90px);
  --oorigin-panel-open-bottom: 50px;
  --oorigin-panel-open-default-offset-x: -40px;
  --oorigin-panel-open-default-offset-y: -35px;
  --oorigin-panel-open-center-sidebar-gap: 40px;
  --oorigin-panel-open-default-area-right-inset: 305px;
  --oorigin-panel-open-clamp-margin: 8px;
  --oorigin-panel-min-w: 280px;
  --oorigin-panel-min-h: 220px;

  /* Standard-Panel-Metriken. */
  --oorigin-panel-metric-sheet-radius: 10px;
  --oorigin-panel-metric-sheet-inset: 2px;
  --oorigin-panel-metric-sheet-inset-top: 12px;

  /* Drawer-Surface fuer Texteditor/Sheets. */
  --oorigin-drawer-surface-fill: rgba(44, 48, 52, 0.085);
  --oorigin-drawer-border: rgba(240, 234, 248, 0.07);
  --oorigin-drawer-border-top: rgba(240, 234, 248, 0.05);
  --oorigin-drawer-base-fill: rgba(18, 22, 22, 0.22);
  --oorigin-drawer-base-border: rgba(240, 234, 248, 0.12);
  --oorigin-drawer-blur: 6px;
  --oorigin-drawer-grad-0: rgba(44, 48, 52, 0);
  --oorigin-drawer-grad-12: rgba(46, 50, 54, 0.034);
  --oorigin-drawer-grad-28: rgba(44, 48, 52, 0.042);
  --oorigin-drawer-filter: blur(var(--oorigin-drawer-blur));
  --oorigin-drawer-shadow-over-grid: 0 -8px 28px rgba(0, 0, 0, 0.1);

  /* Drawer-Metriken. */
  --oorigin-drawer-metric-padding-top: 10px;
  --oorigin-drawer-metric-padding-x: 20px;
  --oorigin-drawer-metric-padding-bottom: 0;
  --oorigin-drawer-metric-height: 58%;
  --oorigin-drawer-metric-min-height: 260px;
  --oorigin-drawer-metric-grid-min-visible: 0px;

  /* Motion-Tokens. */
  --oorigin-motion-panel-duration: 0.2s;
  --oorigin-motion-panel-ease: ease;
  --oorigin-motion-panel-enter-offset-y: -6px;
  --oorigin-drawer-motion-duration: 0.5s;
  --oorigin-drawer-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --oorigin-drawer-motion-closed-offset: 16px;
  --oorigin-drawer-hover-lift: -6px;

  /* Autofill: transparent — Browser-Flash per inset-shadow + Transition verhindern. */
  --oo-field-autofill-bg: transparent;
  --oo-field-autofill-text: #ede9f7;
  --oo-field-autofill-caret: #ede9f7;
}

body.single-cover-bg.is-desktop-cover-display,
body.single-cover-bg[data-cover-layout="tablet-col"] {
  --oorigin-panel-metric-sheet-radius: var(--oorigin-frost-panel-radius);
}

html.is-chrome {
  --oorigin-drawer-surface-fill: rgba(44, 48, 52, 0.085);
  --oorigin-drawer-border: rgba(240, 234, 248, 0.07);
  --oorigin-drawer-border-top: rgba(240, 234, 248, 0.05);
  --oorigin-drawer-grad-0: rgba(44, 48, 52, 0);
  --oorigin-drawer-grad-12: rgba(46, 50, 54, 0.034);
  --oorigin-drawer-grad-28: rgba(44, 48, 52, 0.042);
  --oorigin-drawer-filter: blur(var(--oorigin-drawer-blur)) saturate(0) brightness(1.15);
}

/* Gemeinsamer Rueckzugszustand fuer Hintergrund-Chrome hinter Panels. */
body.oorigin-panel-background-muted #chapterLabel,
body.oorigin-panel-background-muted #heroChapter,
body.oorigin-panel-background-muted #quickNav,
body.oorigin-panel-background-muted #cover .cover-tag,
body.oorigin-panel-background-muted #cover .cover-title,
body.oorigin-panel-background-muted #cover .chapter-intro-wrap,
body.oorigin-panel-background-muted #cover .cover-enter-btn,
body.oorigin-panel-background-muted #cover .cover-entered-action,
body.oorigin-panel-background-muted #cover .cover-title-motion,
body.oorigin-panel-background-muted #cover .chapter-intro-motion,
body.oorigin-panel-background-muted .sec-cover > .cover-tag,
body.oorigin-panel-background-muted .sec-cover > .cover-title,
body.oorigin-panel-background-muted .sec-cover .chapter-intro-wrap,
body.oorigin-panel-background-muted .sec-cover .cover-enter-btn,
body.oorigin-panel-background-muted .sec-cover .cover-entered-action,
body.oorigin-panel-background-muted .scroll-panel > .sec:not(.sec-cover) > .sec-num,
body.oorigin-panel-background-muted .scroll-panel > .sec:not(.sec-cover) > .sec-title,
body.oorigin-panel-background-muted .scroll-panel > .sec:not(.sec-cover) .chapter-intro-wrap,
body.oorigin-panel-background-muted .scroll-panel > .sec:not(.sec-cover) .sec-title-motion,
body.oorigin-panel-background-muted .scroll-panel > .sec:not(.sec-cover) .chapter-intro-motion {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Cover: gleicher leichter Schleier wie Info-Panel-Fill, ohne Info zu öffnen. */
body.single-cover-bg.is-cover-active:not(.info-window-open):not(.info-window-story-open)::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--oorigin-info-panel-fill);
  transition: background 0.28s ease;
}
/* Cover 00 ohne Extra-Schleier (Admin: Cover-Schleier Aus) — wie 01/02. */
body.single-cover-bg.cover-tone-layer-off.is-cover-active:not(.info-window-open):not(.info-window-story-open)::after {
  content: none;
  opacity: 0;
  visibility: hidden;
  background: transparent;
}

/* iPhone only: Cover/Sidebar — verdunkeln statt aufhellen (Trial). */
body.single-cover-bg[data-cover-layout="phone"] {
  /* Cover 00 idle — steuerbar; Sidebar/Info behalten eigene Werte unten. */
  --oorigin-phone-cover-img-veil: rgba(12, 10, 16, 0.22);
  --oorigin-phone-cover-body-veil: rgba(12, 10, 16, 0.3);
  --oorigin-phone-cover-veil: var(--oorigin-phone-cover-body-veil);
  /* Sidebar/Rotation: helleres Milchglas (mehr Weiß), Cover scheint stärker durch als rgba(12,10,16,.26) */
  --oorigin-phone-sidebar-cover-veil:
    linear-gradient(145deg, rgba(240, 234, 248, 0.07), rgba(240, 234, 248, 0.022)),
    rgba(18, 16, 22, 0.1);
  --oorigin-phone-drawer-cover-veil: rgba(12, 10, 16, 0.32);
}
body.single-cover-bg[data-cover-layout="phone"].sidebar-open:not(.info-window-open):not(.info-window-story-open)::after,
body.single-cover-bg[data-cover-layout="phone"].sidebar-pinned:not(.info-window-open):not(.info-window-story-open)::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--oorigin-phone-sidebar-cover-veil);
}
body.single-cover-bg[data-cover-layout="phone"].is-cover-active:not(.info-window-open):not(.info-window-story-open)::after {
  background: var(--oorigin-phone-cover-veil);
  transition: none;
}
body.single-cover-bg.cover-tone-layer-off[data-cover-layout="phone"].is-cover-active:not(.info-window-open):not(.info-window-story-open)::after {
  content: none;
  opacity: 0;
  visibility: hidden;
  background: transparent;
}
body.single-cover-bg[data-cover-layout="phone"].is-cover-active.sidebar-open:not(.info-window-open):not(.info-window-story-open)::after,
body.single-cover-bg[data-cover-layout="phone"].is-cover-active.sidebar-pinned:not(.info-window-open):not(.info-window-story-open)::after {
  background: var(--oorigin-phone-sidebar-cover-veil);
}
body.single-cover-bg[data-cover-layout="phone"].is-cover-active.is-phone-drawer-cover-shield:not(.info-window-open):not(.info-window-story-open)::after,
body.single-cover-bg[data-cover-layout="phone"].sidebar-open.is-phone-drawer-cover-shield:not(.info-window-open):not(.info-window-story-open)::after,
body.single-cover-bg[data-cover-layout="phone"].sidebar-pinned.is-phone-drawer-cover-shield:not(.info-window-open):not(.info-window-story-open)::after {
  background: var(--oorigin-phone-drawer-cover-veil);
}

/* iPhone only: Info-Panel wie Sidebar-Gradient (Desktop/iPad: globales --oorigin-info-panel-fill). */
body.single-cover-bg[data-cover-layout="phone"].info-window-story-open {
  --oorigin-info-panel-fill: linear-gradient(
    180deg,
    rgba(18, 16, 22, 0.34) 0%,
    rgba(14, 12, 18, 0.4) 50%,
    rgba(18, 16, 22, 0.34) 100%
  );
}
/* iPhone only: Cover-Schleier wie Sidebar (0.26) unter dem Info-Panel. */
body.single-cover-bg[data-cover-layout="phone"].info-window-story-open::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--oorigin-phone-sidebar-cover-veil);
  transition: none;
}

/* Toolbar-Toggles */
.discover-overlay-saved-toggle,
.discover-overlay-neu-toggle,
.discover-overlay-add-toggle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 0.88rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(var(--white-rgb), 0.5);
  padding: 8px 2px 6px;
  transition: color 0.2s ease;
}
.discover-overlay-saved-toggle {
  width: 36px;
  min-height: 36px;
  gap: 8px;
  padding: 0;
  border-radius: 8px;
  justify-content: center;
  transition: color 0.18s ease, background 0.18s ease;
}
/* Modus-Icon (Legacy): nur wenn kein Text-Button */
.discover-overlay-saved-toggle.discover-overlay-saved-toggle--mode:not(.discover-overlay-source-btn) {
  display: inline-grid;
  place-items: center;
  height: 36px;
  box-sizing: border-box;
}
.discover-overlay-saved-toggle.discover-overlay-saved-toggle--mode:not(.discover-overlay-source-btn) > .discover-overlay-saved-toggle-icon {
  display: grid;
  place-items: center;
}
.discover-overlay-saved-toggle-wrap {
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.discover-overlay-saved-toggle-wrap .discover-grid-item-pin-tip {
  left: 0;
  top: calc(100% + 4px);
  min-width: 0;
  width: max-content;
  max-width: 220px;
}
.discover-overlay-saved-toggle-wrap:not(.discover-overlay-own-toggle-wrap) .discover-grid-item-pin-tip {
  max-width: max-content;
}
.discover-overlay-own-toggle-wrap .discover-overlay-saved-toggle-count {
  margin-left: -5px;
}
.discover-overlay-saved-toggle-wrap:not(.discover-overlay-own-toggle-wrap) .discover-overlay-saved-toggle-count {
  margin-left: -5px;
}
.discover-overlay-saved-toggle-label,
.discover-overlay-neu-toggle-label,
.discover-overlay-add-toggle-label {
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
  transform: translateY(1px);
  transition: border-bottom-color 0.2s ease;
}
.discover-overlay-neu-toggle-label {
  color: rgba(var(--purple-rgb), 0.9);
}
.discover-overlay-saved-toggle-icon {
  width: 17.6px;
  height: 17.6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
  flex-shrink: 0;
}
.discover-overlay-saved-toggle-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.discover-overlay-saved-toggle-icon img {
  width: 100%;
  height: 100%;
  display: block;
}
.discover-overlay-saved-toggle-icon--seek {
  display: none;
}
.discover-overlay-saved-toggle--mode.is-source-discover .discover-overlay-saved-toggle-icon--heart {
  display: none;
}
.discover-overlay-saved-toggle--mode.is-source-discover .discover-overlay-saved-toggle-icon--seek {
  display: inline-flex;
  /* Zwischenstellung: -2px zu hoch, 0px evtl. zu tief → leichte Korrektur */
  transform: translateY(-1px) scale(calc(1.482 * 0.95));
}
.discover-overlay-saved-toggle--mode.is-source-discover .discover-overlay-saved-toggle-icon--seek path,
.discover-overlay-saved-toggle--mode.is-source-discover .discover-overlay-saved-toggle-icon--seek circle {
  stroke-width: 1.5;
}
.discover-overlay-saved-toggle--mode.is-source-saved .discover-overlay-saved-toggle-icon--heart {
  display: inline-flex;
}
.discover-overlay-saved-toggle--mode.is-source-saved .discover-overlay-saved-toggle-icon--seek {
  display: none;
}
.discover-overlay-saved-toggle--mode .discover-overlay-saved-toggle-icon--own {
  display: none;
  width: 17.6px;
  height: 17.6px;
}
.discover-overlay-saved-toggle--mode.is-source-own .discover-overlay-saved-toggle-icon--heart,
.discover-overlay-saved-toggle--mode.is-source-own .discover-overlay-saved-toggle-icon--seek {
  display: none;
}
.discover-overlay-saved-toggle--mode.is-source-own .discover-overlay-saved-toggle-icon--own {
  display: inline-flex;
  position: relative;
  transform: scale(1.02);
}
.discover-overlay-saved-toggle--mode.is-source-own .discover-overlay-saved-toggle-icon--own svg {
  color: currentColor;
}
#sidebarSavedToggleBtn.is-source-discover .discover-overlay-saved-toggle-icon--heart {
  display: none;
}
#sidebarSavedToggleBtn.is-source-discover .discover-overlay-saved-toggle-icon--seek {
  display: inline-flex;
  position: relative;
  top: 0;
  transform: scale(1.2597);
}
#sidebarSavedToggleBtn.is-source-discover .discover-overlay-saved-toggle-icon--seek path,
#sidebarSavedToggleBtn.is-source-discover .discover-overlay-saved-toggle-icon--seek circle {
  stroke-width: 1.5;
}
#sidebarSavedToggleBtn.is-source-saved .discover-overlay-saved-toggle-icon--heart {
  display: inline-flex;
}
#sidebarSavedToggleBtn.is-source-saved .discover-overlay-saved-toggle-icon--seek {
  display: none;
}
#sidebarSavedToggleBtn .discover-overlay-saved-toggle-icon--own {
  display: none;
  width: 17.6px;
  height: 17.6px;
}
#sidebarSavedToggleBtn.is-source-own .discover-overlay-saved-toggle-icon--heart,
#sidebarSavedToggleBtn.is-source-own .discover-overlay-saved-toggle-icon--seek {
  display: none;
}
#sidebarSavedToggleBtn.is-source-own .discover-overlay-saved-toggle-icon--own {
  display: inline-flex;
  position: relative;
  transform: scale(1.02);
}
#sidebarSavedToggleBtn.is-source-own .discover-overlay-saved-toggle-icon--own svg {
  color: currentColor;
}
.discover-overlay-saved-toggle-icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 0.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.discover-overlay-saved-toggle-count {
  display: inline-flex;
  align-items: center;
  min-width: 35px;
  font-size: 0.9em;
  font-variant-numeric: tabular-nums;
  color: rgba(var(--white-rgb), 0.5);
  pointer-events: none;
}
.discover-overlay-own-toggle-icon {
  width: 17.6px;
  height: 17.6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
  flex-shrink: 0;
}
.discover-overlay-own-toggle-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.discover-overlay-own-toggle-icon circle {
  vector-effect: non-scaling-stroke;
}
.discover-overlay-saved-toggle::before,
.discover-overlay-neu-toggle::before,
.discover-overlay-add-toggle::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(var(--purple-rgb), 0.45);
  flex-shrink: 0;
  align-self: center;
  transition: background 0.18s ease;
}
.discover-overlay-saved-toggle:hover::before,
.discover-overlay-saved-toggle.is-active::before,
.discover-overlay-neu-toggle:hover::before,
.discover-overlay-neu-toggle.is-active::before {
  background: rgba(var(--purple-rgb), 0.9);
}
.discover-overlay-add-toggle::before,
.discover-overlay-filter-toggle::before {
  content: none;
}
.discover-overlay-saved-toggle::before {
  content: none;
}
.discover-overlay-saved-toggle:hover,
.discover-overlay-neu-toggle:hover,
.discover-overlay-add-toggle:hover {
  color: rgba(var(--white-rgb), 0.82);
}
.discover-overlay-saved-toggle:not(.is-active):hover {
  background: rgba(255, 255, 255, 0.06);
}
.discover-overlay-neu-toggle:hover .discover-overlay-neu-toggle-label,
.discover-overlay-add-toggle:hover .discover-overlay-add-toggle-label {
  border-bottom-color: rgba(var(--purple-rgb), 0.55);
}
.discover-overlay-add-toggle:hover .discover-overlay-add-toggle-label {
  border-bottom-color: transparent;
}
.discover-overlay-saved-toggle.is-active,
.discover-overlay-neu-toggle.is-active {
  color: rgba(var(--white-rgb), 0.88);
}
.discover-overlay-saved-toggle.is-active {
  color: rgba(var(--purple-rgb), 0.9);
}
.discover-overlay-saved-toggle--mode.is-source-saved.is-active .discover-overlay-saved-toggle-icon--heart .discover-grid-item-bookmark-svg path {
  stroke-width: 1.67 !important;
}
.discover-overlay-saved-toggle--mode.is-source-discover .discover-overlay-saved-toggle-icon--seek .discover-overlay-search-ring,
.discover-overlay-saved-toggle--mode.is-source-discover .discover-overlay-saved-toggle-icon--seek .discover-overlay-search-handle {
  fill: none;
  stroke: currentColor;
}
.discover-overlay-saved-toggle--mode.is-source-discover .discover-overlay-saved-toggle-icon--seek .discover-overlay-search-handle {
  stroke-width: 1.5;
  stroke-linecap: round;
}
.discover-overlay-saved-toggle.is-active:hover {
  color: rgba(var(--purple-rgb), 1);
  background: rgba(255, 255, 255, 0.08);
}
.discover-overlay-neu-toggle.is-active .discover-overlay-neu-toggle-label {
  border-bottom-color: rgba(var(--purple-rgb), 0.55);
}
.discover-overlay-saved-toggle:focus-visible,
.discover-overlay-neu-toggle:focus-visible,
.discover-overlay-add-toggle:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: 6px;
}

/* Search-Hints */
.discover-overlay-search-ring,
.discover-overlay-search-handle {
  fill: none;
  stroke: currentColor;
}
.discover-overlay-search-dot {
  fill: currentColor;
}
.discover-overlay-search-ring {
  stroke-width: var(--discover-overlay-head-icon-stroke, 1.45);
}
.discover-overlay-search-handle {
  stroke-width: var(--discover-overlay-head-icon-stroke, 1.45);
  stroke-linecap: round;
}
.discover-overlay-search-wrap,
.sidebar-tools-search-wrap {
  --oo-search-type-size: 0.98rem;
  --oo-search-chip-type-size: 1.02rem;
  --oo-search-chip-tracking: 0.03em;
  --oo-search-chip-pad-block-start: 8px;
  --oo-search-chip-pad-block-end: 4px;
  --oo-search-chip-pad-inline: 12px;
  --oo-search-chip-pad: var(--oo-search-chip-pad-block-start) var(--oo-search-chip-pad-inline) var(--oo-search-chip-pad-block-end);
  --oo-search-fg: rgba(var(--white-rgb), 0.92);
  --oo-search-fg-muted: rgba(var(--white-rgb), 0.62);
  --oo-search-icon-size: 18px;
  --oo-search-clear-size: 22px;
  --oo-search-clear-type: 1.08rem;
  --oo-search-clear-right: 30px;
  --oo-search-input-pad-with-clear: 78px;
  --oo-search-shell-min-height: 42px;
  --oo-search-submit-icon: calc(19.48px * 1.22);
}
.discover-overlay-search-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  width: min(268px, 100%);
  max-width: min(268px, 44vw);
  min-width: 0;
  min-height: var(--oo-search-shell-min-height);
  margin-top: 6px;
  margin-right: 8px;
  padding: 0 8px 0 16px;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  transition: background 0.18s ease;
}
.discover-overlay-search-wrap:focus-within {
  border: 0;
  box-shadow: none;
  background: transparent;
}
.discover-overlay-search-tag-hint,
.discover-overlay-search-text-hint,
.discover-overlay-search-time-hint,
.discover-overlay-search-trash-hint,
.discover-overlay-search-source-hint {
  position: absolute;
  left: 14px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 28px);
  padding: 2px 5px 2px 9px;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
  color: var(--oo-search-fg-muted);
  font-size: calc(var(--oo-search-type-size) * 0.92);
  letter-spacing: var(--oo-search-chip-tracking);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.16s ease;
}
.discover-overlay-search-tag-hint-label,
.discover-overlay-search-text-hint-label,
.discover-overlay-search-trash-hint-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
  font-synthesis: weight;
}
.discover-overlay-search-tag-hint-clear,
.discover-overlay-search-text-hint-clear,
.discover-overlay-search-time-hint-clear,
.discover-overlay-search-trash-hint-clear,
.discover-overlay-search-source-hint-clear {
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(var(--white-rgb), 0.74);
  width: var(--oo-search-clear-size);
  height: var(--oo-search-clear-size);
  margin-left: 6px;
  padding: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  font-size: var(--oo-search-clear-type);
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}
.discover-overlay-search-tag-hint-clear:hover,
.discover-overlay-search-text-hint-clear:hover,
.discover-overlay-search-time-hint-clear:hover,
.discover-overlay-search-trash-hint-clear:hover,
.discover-overlay-search-source-hint-clear:hover {
  color: rgba(var(--white-rgb), 0.92);
  background: rgba(255, 255, 255, 0.08);
}
.discover-overlay-search-tag-hint-clear:focus-visible,
.discover-overlay-search-text-hint-clear:focus-visible,
.discover-overlay-search-time-hint-clear:focus-visible,
.discover-overlay-search-trash-hint-clear:focus-visible,
.discover-overlay-search-source-hint-clear:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}
.discover-overlay-search-tag-hint {
  background: transparent;
  border: 0;
  box-sizing: border-box;
  box-shadow: none;
  color: var(--oo-search-fg);
  font-size: var(--oo-search-chip-type-size);
  font-weight: 600;
  font-synthesis: weight;
  line-height: 1.35;
  letter-spacing: var(--oo-search-chip-tracking);
  gap: 0.4em;
  padding: var(--oo-search-chip-pad);
}
.discover-overlay-search-trash-hint {
  background: transparent;
  border: 0;
  box-sizing: border-box;
  box-shadow: none;
  color: var(--oo-search-fg);
  font-size: var(--oo-search-chip-type-size);
  font-weight: 600;
  font-synthesis: weight;
  line-height: 1.35;
  letter-spacing: var(--oo-search-chip-tracking);
  gap: 0.4em;
  padding: var(--oo-search-chip-pad);
}
.discover-overlay-search-tag-hint-clear,
.discover-overlay-search-trash-hint-clear {
  color: rgba(var(--white-rgb), 0.74);
  font-size: var(--oo-search-clear-type);
}
.discover-overlay-search-tag-hint-clear:hover,
.discover-overlay-search-tag-hint-clear:focus-visible,
.discover-overlay-search-trash-hint-clear:hover,
.discover-overlay-search-trash-hint-clear:focus-visible {
  color: rgba(var(--white-rgb), 0.92);
  background: transparent;
}
.discover-overlay-search-text-hint {
  background: transparent;
  border: 0;
  box-sizing: border-box;
  box-shadow: none;
  color: var(--oo-search-fg);
  font-size: var(--oo-search-chip-type-size);
  font-weight: 600;
  font-synthesis: weight;
  line-height: 1.35;
  letter-spacing: var(--oo-search-chip-tracking);
  gap: 0.4em;
  padding: var(--oo-search-chip-pad);
  pointer-events: auto;
}
.discover-overlay-search-text-hint-label {
  font-size: inherit;
  letter-spacing: inherit;
}
.discover-overlay-search-text-hint-clear {
  color: rgba(var(--white-rgb), 0.74);
  font-size: var(--oo-search-clear-type);
  flex-shrink: 0;
}
.discover-overlay-search-text-hint-clear:hover,
.discover-overlay-search-text-hint-clear:focus-visible {
  color: rgba(var(--white-rgb), 0.92);
  background: transparent;
}
.discover-overlay-search-wrap.has-tag-hint .discover-overlay-search-tag-hint {
  opacity: 1;
}
.discover-overlay-search-wrap.has-time-hint .discover-overlay-search-time-hint {
  opacity: 1;
}
.discover-overlay-search-wrap.has-trash-hint .discover-overlay-search-trash-hint {
  opacity: 1;
}
.discover-overlay-search-wrap.has-source-hint .discover-overlay-search-source-hint {
  opacity: 1;
}
.discover-overlay-search-wrap.has-text-hint .discover-overlay-search-text-hint {
  opacity: 1;
}
.discover-overlay-search-time-filter-btn {
  position: absolute;
  left: 14px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--oo-search-fg);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  max-width: calc(100% - 28px);
  padding: var(--oo-search-chip-pad);
  border-radius: 0;
  font: inherit;
  font-size: var(--oo-search-chip-type-size);
  font-weight: 600;
  font-synthesis: weight;
  letter-spacing: var(--oo-search-chip-tracking);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.discover-overlay-search-time-filter-btn[hidden] {
  display: none !important;
}
.discover-overlay-search-time-filter-btn-icon {
  display: block;
  width: var(--oo-search-icon-size);
  height: var(--oo-search-icon-size);
  flex-shrink: 0;
}
.discover-overlay-search-time-filter-btn-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
  font-synthesis: weight;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.discover-overlay-search-time-filter-btn-x {
  color: rgba(var(--white-rgb), 0.74);
  font-size: var(--oo-search-clear-type);
  width: var(--oo-search-clear-size);
  height: var(--oo-search-clear-size);
  margin-left: 6px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--oo-search-clear-type);
  line-height: 1;
  flex: 0 0 auto;
}
.discover-overlay-search-time-filter-btn:hover .discover-overlay-search-time-filter-btn-x,
.discover-overlay-search-time-filter-btn:focus-visible .discover-overlay-search-time-filter-btn-x {
  color: rgba(var(--white-rgb), 0.92);
  background: transparent;
}
.discover-overlay-search-time-filter-btn:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}
.discover-overlay-search-trash-hint-icon {
  display: block;
  width: var(--oo-search-icon-size);
  height: var(--oo-search-icon-size);
  flex-shrink: 0;
  color: inherit;
}
.discover-overlay-search-trash-hint-icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

/* Tooltips */
.discover-grid-item-pin-tip {
  --oo-pin-tip-fg: rgba(var(--white-rgb), 0.92);
  --oo-pin-tip-bg: rgba(14, 12, 18, 0.96);
  --oo-pin-tip-border: rgba(var(--purple-rgb), 0.28);
  --oo-pin-tip-shadow: 0 10px 28px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(0, 0, 0, 0.12);
  --oo-pin-tip-blur: blur(10px);
  position: absolute;
  left: 0;
  top: calc(100% + 4px);
  z-index: 5;
  min-width: 148px;
  max-width: calc(var(--discover-tile-size) - 28px);
  padding: 8px 10px;
  border-radius: 8px;
  font-size: calc(0.68rem * var(--discover-grid-text-scale, 1));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.03em;
  text-align: left;
  color: var(--oo-pin-tip-fg);
  background: var(--oo-pin-tip-bg);
  border: 0.5px solid var(--oo-pin-tip-border);
  box-shadow: var(--oo-pin-tip-shadow);
  backdrop-filter: var(--oo-pin-tip-blur);
  -webkit-backdrop-filter: var(--oo-pin-tip-blur);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease,
    transform 0.2s ease;
  transform: translateY(-3px);
}
.discover-grid-item-pin-wrap .discover-grid-item-pin-tip {
  top: calc(100% + 4px);
  min-width: 148px;
  width: max-content;
  max-width: calc(var(--discover-tile-size) - 28px);
  white-space: normal;
  overflow-wrap: break-word;
}
.discover-grid-item-pin-tip.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .discover-grid-item-pin-tip {
    transition: opacity 0.12s ease, visibility 0.12s ease;
    transform: none;
  }
}

/* ==========================================================================
   Autofill — Einladung und Profil
   ========================================================================== */

#sidebarProfileDrawer {
  --oo-field-autofill-text: rgba(var(--white-rgb), 0.82);
  --oo-field-autofill-caret: rgba(var(--white-rgb), 0.82);
}

.invite-flow-field-input:-webkit-autofill,
.invite-flow-field-input:-webkit-autofill:hover,
.invite-flow-field-input:-webkit-autofill:focus,
.invite-flow-field-input:-webkit-autofill:active,
.invite-flow-field-input:-internal-autofill-selected,
.sidebar-profile-field-input:-webkit-autofill,
.sidebar-profile-field-input:-webkit-autofill:hover,
.sidebar-profile-field-input:-webkit-autofill:focus,
.sidebar-profile-field-input:-webkit-autofill:active,
.sidebar-profile-field-input:-internal-autofill-selected {
  -webkit-box-shadow: 0 0 0 1000px var(--oo-field-autofill-bg) inset !important;
  box-shadow: 0 0 0 1000px var(--oo-field-autofill-bg) inset !important;
  background-color: var(--oo-field-autofill-bg) !important;
  background-image: none !important;
  -webkit-text-fill-color: var(--oo-field-autofill-text) !important;
  caret-color: var(--oo-field-autofill-caret);
  -webkit-transition: background-color 99999s ease-out 0s;
  transition: background-color 99999s ease-out 0s;
}

.invite-flow-field-input:autofill,
.sidebar-profile-field-input:autofill {
  box-shadow: 0 0 0 1000px var(--oo-field-autofill-bg) inset !important;
  background-color: var(--oo-field-autofill-bg) !important;
  background-image: none !important;
  -webkit-text-fill-color: var(--oo-field-autofill-text) !important;
  caret-color: var(--oo-field-autofill-caret);
  -webkit-transition: background-color 99999s ease-out 0s;
  transition: background-color 99999s ease-out 0s;
}

/* Sidebar-Suche + Overlay-Tag-Drawer: Pill-Text optisch höher. */
#sidebarGridDrawer.sidebar-grid-drawer:not(.sidebar-grid-drawer--profile),
.discover-tags-panel-body.sidebar-grid-drawer-body {
  --oo-tag-pill-pad-block-start: 4px;
  --oo-tag-pill-pad-block-end: 3px;
}
