:root {
  /* Hauptfarben (Dark) */
  --bg: #0a0a0a;
  --surface: #181818;
  --surface-2: #181818;
  --line: rgba(243, 245, 247, 0.08);
  --text: #f3f5f7;
  /* Sekundärtexte (Handles, Meta, Feed-Zeiten): lesbar auf #181818 */
  --muted: #8a8d95;
  /* Sehr gedämpft, z. B. explizite Platzhalter */
  --muted-deep: #363636;
  --link: #5959c2;
  --danger: #ff4b59;
  --fg: var(--text);
  --content-width: 638px;
  /* Desktop-Spalten / Page-Stack: einheitliche Kartenbreite */
  --page-stack-width: 700px;
  /* Fixe Sidebar (left + Icon-Spalte): Inhalt darf nicht darunter laufen */
  --sidebar-reserved-width: 64px;
  --desk-content-pad-left: 40px;
  --desk-content-pad-right: 40px;
  --settings-width: 963px;
  --radius: 16px;
  /*
   * Page-Stack single-native: feste Kartenhöhe, Karte = Shell (border-radius + overflow hidden).
   * Nur .page-stack-body-flow scrollt (overflow-y: auto, height im Flex, overscroll-behavior-y: contain).
   */
  --page-stack-chrome-sum: 64px;
  --page-stack-card-height: calc(100vh - var(--page-stack-chrome-sum));
  /* Einheitliche Höhe der Titelzeile (Feed-Tabs ≙ Suche/Profil/Chats/…) – gleicher Start der Karte von oben */
  --page-shell-title-height: 52px;
  /* Modals: Seite dahinter sichtbar, ~70 % abgedunkelt */
  --modal-scrim: rgba(0, 0, 0, 0.7);
  /*
   * Modale per Flex in der Viewport-Mitte — ohne Versatz liegt das Zentrum bei 50vw, während
   * Feed/Page-Stack im Hauptbereich rechts von der fixen Sidebar zentriert sind (Mitte ≈ (W+S)/2).
   * padding-left auf Overlays verschiebt den Flex-Bereich entsprechend.
   */
  --modal-content-shift-x: 0px;
  /* Desktop: Scrollbars (nur html:not(.mobile-shell), min-width 981px) */
  --desk-scrollbar-track: rgba(255, 255, 255, 0.06);
  --desk-scrollbar-thumb: rgba(255, 255, 255, 0.24);
  --desk-scrollbar-thumb-hover: rgba(255, 255, 255, 0.38);
}

@media (min-width: 981px) {
  :root {
    --modal-content-shift-x: var(--sidebar-reserved-width);
  }
}

/* Schmale Shell: .content mit margin-left — Näherung für dasselbe optische Zentrum wie die Spalte */
@media (max-width: 980px) {
  :root {
    --modal-content-shift-x: 84px;
  }
}

@supports (height: 100dvh) {
  :root {
    --page-stack-card-height: calc(100dvh - var(--page-stack-chrome-sum));
  }
}

@supports not (height: 100dvh) {
  @supports (height: 100svh) {
    :root {
      --page-stack-card-height: calc(100svh - var(--page-stack-chrome-sum));
    }
  }
}

body.light {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f6f7f8;
  --line: #d8dae0;
  --text: #0f1115;
  --muted: #636973;
  --link: #5959c2;
  --fg: var(--text);
  --modal-scrim: rgba(0, 0, 0, 0.55);
  --desk-scrollbar-track: rgba(0, 0, 0, 0.06);
  --desk-scrollbar-thumb: rgba(0, 0, 0, 0.22);
  --desk-scrollbar-thumb-hover: rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  font-family: Inter, Segoe UI, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}

.layout {
  width: 100%;
  margin: 0;
  display: block;
  min-height: 100vh;
}

/* Shell-Slots: keine zusätzliche Box im Flow (Modals/Menus bleiben wie zuvor) */
#chrome-floating-menus {
  display: contents;
}

/* Eigener Stacking-Kontext — vermeidet Hit-Test-/Layer-Probleme mit display:contents */
#modal-layer {
  position: fixed;
  inset: 0;
  /* Über .app-overlay-root (Post-/Chat-Menüs), unter nichts Kritischem */
  z-index: 480;
  pointer-events: none;
}
#modal-layer > * {
  pointer-events: auto;
}

.sidebar {
  position: fixed;
  left: 16px;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0 20px;
  z-index: 30;
  background: var(--bg);
}

.logo { font-size: 18px; font-weight: 700; margin-top: 8px; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, 0.12); color: var(--text); }
.navicons { display: flex; flex-direction: column; gap: 13px; align-items: center; }

.iconbtn {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  position: relative;
  display: grid;
  place-items: center;
}
.iconbtn:hover { background: rgba(255,255,255,0.06); }
.iconbtn.boxed { border-color: var(--line); }
.iconbtn svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2; }
.iconbtn.active svg.fill { fill: currentColor; }

/* Sidebar-Leiste: Icons auf Seitenhintergrund, Hover/Aktiv als Fläche #181818 */
.sidebar .navicons .iconbtn,
aside.sidebar > button.iconbtn {
  width: 55px;
  height: 55px;
  min-width: 55px;
  min-height: 55px;
  border-radius: 12px;
  border: none !important;
  background: transparent;
  color: #6e737b;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.sidebar .navicons .iconbtn:hover,
aside.sidebar > button.iconbtn:hover {
  background: var(--surface);
  color: var(--text);
}
.sidebar .navicons .iconbtn.active,
aside.sidebar > button.iconbtn.active {
  background: var(--surface);
  color: var(--text);
}
.sidebar .navicons .iconbtn.active:hover,
aside.sidebar > button.iconbtn.active:hover {
  background: var(--surface);
  color: var(--text);
}
.sidebar .navicons .iconbtn svg,
aside.sidebar > button.iconbtn svg {
  width: 27.5px;
  height: 27.5px;
}
.sidebar .navicons .iconbtn svg:not(.fill),
aside.sidebar > button.iconbtn svg:not(.fill) {
  fill: none;
}
.sidebar .navicons .iconbtn svg:not(.fill) circle,
.sidebar .navicons .iconbtn svg:not(.fill) path,
aside.sidebar > button.iconbtn svg:not(.fill) circle,
aside.sidebar > button.iconbtn svg:not(.fill) path {
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
.sidebar .navicons .iconbtn.iconbtn--compose {
  width: 62px;
  height: 50px;
  min-width: 62px;
  min-height: 50px;
  margin: 6px 0;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: #181818;
  color: #8b9097;
}
.sidebar .navicons .iconbtn.iconbtn--compose svg {
  width: 28.5px;
  height: 28.5px;
}
.sidebar .navicons .iconbtn.iconbtn--compose:hover {
  background: #222;
  color: #a4a9b1;
}

.profile-media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}

.profile-media-grid__tile {
  position: relative;
  border: 0;
  background: #0f1115;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 129 / 179;
  cursor: pointer;
}

.profile-media-grid__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* <picture> sonst inline — Kachel-Höhe/„lädt nicht“-Optik brechen (wie Feed-Strips). */
.profile-media-grid__tile picture {
  display: block;
  width: 100%;
  height: 100%;
}

.profile-media-grid__tile--video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent 45%);
  pointer-events: none;
}

.profile-media-grid__video-mark {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 1;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  background: rgba(0, 0, 0, 0.42);
  border-radius: 999px;
  padding: 4px 6px;
}
.profile-media-grid__tile--video .profile-media-grid__video-mark {
  right: auto;
  left: 8px;
}
.profile-media-grid__pin-badge {
  position: absolute;
  right: 8px;
  top: 8px;
  z-index: 2;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.48);
  color: #fff;
}
.profile-media-grid__views-badge {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  max-width: calc(100% - 16px);
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 11px;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-media-grid__spoiler-host .profile-media-grid__spoiler-eye {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.95);
  background: rgba(0, 0, 0, 0.32);
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.18s ease;
}
.profile-media-grid__spoiler-host.post-spoiler-host--revealed .profile-media-grid__spoiler-eye {
  opacity: 0;
}

.profile-media-grid--skeleton {
  pointer-events: none;
}
.profile-media-grid__tile--skeleton {
  cursor: default;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.11) 0%,
    rgba(255, 255, 255, 0.05) 45%,
    rgba(255, 255, 255, 0.08) 100%
  );
  animation: profile-media-grid-skel 1.05s ease-in-out infinite;
}
@keyframes profile-media-grid-skel {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.72;
  }
}
body.light .profile-media-grid__tile--skeleton {
  background: linear-gradient(145deg, rgba(0, 0, 0, 0.07) 0%, rgba(0, 0, 0, 0.04) 100%);
}

.profile-media-viewer-overlay {
  position: fixed;
  inset: 0;
  z-index: 260420;
  background: rgba(0, 0, 0, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
}

/*
 * Compose-Vollbild: innerhalb #modal-layer.
 * Bottom-Sheets (Optionen, …) müssen höher sein als .compose-overlay, sonst liegen sie unsichtbar darunter.
 */
#modal-layer .modal-overlay.compose-overlay {
  z-index: 260750;
}
#modal-layer .feed-publish-toast-host {
  z-index: 260900;
}
#modal-layer .modal-overlay.compose-overlay--schedule-picker {
  z-index: 260770;
  align-items: center;
  justify-content: center;
  padding-top: max(12px, env(safe-area-inset-top, 0px));
  padding-right: max(12px, env(safe-area-inset-right, 0px));
  padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
  padding-left: calc(var(--modal-content-shift-x) + max(12px, env(safe-area-inset-left, 0px)));
  background: var(--modal-scrim);
}
#modal-layer .mobile-bottom-sheet-overlay--compose-options,
#modal-layer .mobile-bottom-sheet-overlay--reply-options {
  z-index: 260760 !important;
}
#modal-layer .mobile-bottom-sheet-overlay.compose-schedule-sheet-overlay {
  z-index: 260800 !important;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
}

.profile-media-viewer-overlay--mobile {
  padding: 0;
  align-items: stretch;
  justify-content: stretch;
  z-index: 260420;
}

/* Mobile: Profil-Medien-Grid → Vollbild-Feed (Instagram-ähnlich), fester Kopf, vertikal scrollbar */
.profile-media-feed-mob {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  flex-direction: column;
  background: #000;
  color: #f3f5f7;
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  box-sizing: border-box;
  /* Feste Medienhöhe: weitere 10 % unter vorher min(62.4vh, 512px) */
  --profile-mob-media-h: min(56.16vh, 461px);
}

.profile-media-feed-mob__head {
  flex-shrink: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  padding: max(6px, env(safe-area-inset-top, 0px)) 4px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: #000;
}

.profile-media-feed-mob__back {
  justify-self: start;
  color: #fff !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  font-size: 1.45rem !important;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
}

.profile-media-feed-mob__head-text {
  text-align: center;
  min-width: 0;
}

.profile-media-feed-mob__title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}

.profile-media-feed-mob__sub {
  margin: 2px 0 0;
  font-size: 13px;
  font-weight: 400;
  color: rgba(243, 245, 247, 0.72);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-media-feed-mob__head-sp {
  justify-self: end;
  width: 44px;
  height: 1px;
}

.profile-media-feed-mob__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  background: #000;
}

.profile-media-feed-mob__post {
  background: #000;
}

.profile-media-feed-mob__post .feed-item {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

.profile-media-feed-mob__post .feed-main .name {
  color: #fff;
}

.profile-media-feed-mob__post .feed-main .meta {
  color: rgba(243, 245, 247, 0.65);
}

.profile-media-feed-mob__post .feed-main p,
.profile-media-feed-mob__post .feed-main .post-body--plain {
  color: #f3f5f7;
}

.profile-media-feed-mob__post .iconbtn {
  color: #f3f5f7;
}

/* Profil-Medien-Overlay: Post wie IG (Kopf → Vollbreiten-Slider → Caption → Aktionen) */
.profile-media-feed-mob__post .feed-item--profile-media-mob {
  display: flex;
  flex-direction: column;
  grid-template-columns: unset;
  gap: 0;
  align-items: stretch;
  padding: 10px 0 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.profile-media-feed-mob__post .feed-item--profile-media-mob > .avatar {
  display: none;
}
.profile-media-feed-mob__post .feed-item--profile-media-mob > .iconbtn {
  display: none;
}
.profile-media-mob__header {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  gap: 10px;
  align-items: start;
  padding: 0 14px 10px;
  box-sizing: border-box;
}
.profile-media-mob__hdr-av {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
}
.profile-media-mob__hdr-text {
  min-width: 0;
}
.profile-media-mob__hdr-line1 {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  min-width: 0;
}
.profile-media-mob__hdr-line1 .name {
  color: #fff;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-media-mob__hdr-time {
  color: rgba(243, 245, 247, 0.74);
  font-weight: 500;
  white-space: nowrap;
}
.profile-media-mob__hdr-sub {
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.3;
  color: rgba(243, 245, 247, 0.62);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-media-mob__hdr-menu {
  justify-self: end;
  align-self: start;
  color: #f3f5f7 !important;
}
.profile-media-mob__feed-main {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.profile-media-feed-mob .post-media-strip--profile-mob {
  margin: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  background: #000;
}
.profile-media-feed-mob .post-media-strip--profile-mob .post-media-strip__counter {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
  background: rgba(0, 0, 0, 0.62);
  opacity: 1;
  transition: opacity 0.24s ease;
  pointer-events: none;
}
.profile-media-feed-mob .post-media-strip--profile-mob .post-media-strip__counter.is-hidden {
  opacity: 0;
}
/* Keine Punkt-Navigation („Karussell“-Optik) */
.profile-media-feed-mob .post-media-strip--profile-mob .post-carousel-dots {
  display: none !important;
}
.profile-media-feed-mob .post-media-strip--profile-mob .post-carousel-strip-scroll--profile-mob {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #000;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  gap: 0;
  overscroll-behavior-x: none;
  /* Horizontal wischen für nächstes Bild, vertikal scrollt der Profil-Medien-Feed */
  touch-action: pan-x pan-y;
}
.profile-media-feed-mob .post-media-strip--profile-mob .post-carousel-strip-track--profile-mob {
  gap: 0;
  background: #000;
  min-height: var(--profile-mob-media-h);
  /* Global `.post-carousel-strip-track` nutzt `width: max-content` — bricht `flex-basis: 100%` auf Slides */
  width: auto;
}
/* Exakt eine Bildbreite pro „Seite“, kein sichtbarer Spalt zwischen Slides */
.profile-media-feed-mob .post-carousel-slide-strip--profile-mob {
  flex: 0 0 var(--profile-mob-strip-slide-w, 100%);
  width: var(--profile-mob-strip-slide-w, 100%);
  min-width: var(--profile-mob-strip-slide-w, 100%);
  max-width: var(--profile-mob-strip-slide-w, 100%);
  height: var(--profile-mob-media-h);
  min-height: var(--profile-mob-media-h);
  max-height: var(--profile-mob-media-h);
  border-radius: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
.profile-media-feed-mob .post-carousel-slide-strip--profile-mob .post-spoiler-host {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
.profile-media-feed-mob .post-carousel-slide-strip--profile-mob picture {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
.profile-media-feed-mob .post-carousel-slide-strip--profile-mob img {
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: middle;
}
.profile-media-feed-mob .post-carousel-slide-strip--profile-mob.post-carousel-slide-strip--video {
  background: #000;
}
.profile-media-feed-mob .post-carousel-slide-strip--profile-mob .post-feed-video {
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
.profile-media-feed-mob .post-media-strip--profile-mob .post-feed-video .post-feed-video__el {
  max-height: 100% !important;
  width: 100%;
  object-fit: contain;
  background: #000;
}
.profile-media-mob__caption-wrap {
  padding: 10px 14px 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}
.profile-media-mob__caption-inner {
  min-width: 0;
}
.profile-media-mob__caption-wrap--collapsible:not(.profile-media-mob__caption-wrap--expanded) .profile-media-mob__caption-inner {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.profile-media-mob__caption-wrap--collapsible.profile-media-mob__caption-wrap--expanded .profile-media-mob__caption-inner {
  display: block;
  max-height: min(38vh, 280px);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.profile-media-mob__caption-wrap--collapsible.profile-media-mob__caption-wrap--expanded .profile-media-mob__more-btn {
  display: none;
}
.profile-media-mob__more-btn {
  display: inline-block;
  margin-top: 6px;
  padding: 4px 0 0;
  border: none;
  background: none;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: rgba(243, 245, 247, 0.52);
  cursor: pointer;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
.profile-media-mob__more-btn--inline {
  margin-top: 0;
  margin-left: 6px;
  padding-top: 0;
  display: inline;
  white-space: nowrap;
  vertical-align: baseline;
}
.profile-media-mob__more-btn:active {
  opacity: 0.85;
}
.profile-media-mob__cap-userline {
  margin-bottom: 6px;
}
.profile-media-mob__cap-name {
  font-weight: 700;
  color: #f3f5f7;
}
.profile-media-mob__caption {
  margin: 0;
  color: #f3f5f7;
  line-height: 1.45;
}
.profile-media-mob__caption--rich {
  margin-top: 0;
}
.profile-media-feed-mob__post .feed-item--profile-media-mob .post-pinned-row {
  padding: 0 14px 8px;
}
.profile-media-feed-mob__post .feed-item--profile-media-mob .feed-main > .post-actions-stack {
  flex-shrink: 0;
  padding: 4px 14px calc(4px + env(safe-area-inset-bottom, 0px));
  margin-top: 4px;
  box-sizing: border-box;
}
.profile-media-feed-mob__post .feed-item--profile-media-mob .post-actions-stack .actions.actions--post {
  padding: 0;
  margin-top: 0;
}
.profile-media-feed-mob__post .feed-item--profile-media-mob .feed-main > .actions.actions--post {
  flex-shrink: 0;
  padding: 4px 14px calc(4px + env(safe-area-inset-bottom, 0px));
  margin-top: 4px;
  box-sizing: border-box;
}
.profile-media-feed-mob__post .feed-item--profile-media-mob .post-quoted-embed,
.profile-media-feed-mob__post .feed-item--profile-media-mob .post-poll {
  margin-left: 14px;
  margin-right: 14px;
}
.profile-media-feed-mob__post .feed-item--profile-media-mob .post-ki-info {
  padding: 0 14px;
  box-sizing: border-box;
}

.profile-media-viewer__back-mob {
  position: fixed;
  top: max(8px, env(safe-area-inset-top, 0px));
  left: max(8px, env(safe-area-inset-left, 0px));
  z-index: 4;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.profile-media-viewer {
  width: min(560px, 100%);
  max-height: calc(100vh - 28px);
  overflow: auto;
  background: var(--surface);
  border-radius: 16px;
  border: 1px solid var(--line);
}

.profile-media-viewer.profile-media-viewer--mobile {
  width: 100%;
  height: 100%;
  max-height: none;
  border-radius: 0;
  border: none;
  overflow: auto;
  background: var(--surface);
}

.profile-media-viewer__head {
  position: relative;
  padding: 12px 14px 8px;
}

.profile-media-viewer__user {
  font-weight: 700;
  font-size: 14px;
}

.profile-media-viewer__topic {
  color: var(--muted);
  font-size: 13px;
}

.profile-media-viewer__location {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.profile-media-viewer__close {
  position: absolute;
  right: 8px;
  top: 8px;
  border: 0;
  background: transparent;
  color: var(--text);
  width: 32px;
  height: 32px;
  border-radius: 999px;
  cursor: pointer;
}

.profile-media-viewer__media-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 129 / 179;
  background: #0b0b0b;
}

.profile-media-viewer__img,
.profile-media-viewer__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.profile-media-viewer__dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  display: flex;
  gap: 6px;
}

.profile-media-viewer__dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  border: 0;
  background: rgba(255, 255, 255, 0.5);
  padding: 0;
  cursor: pointer;
}

.profile-media-viewer__dot.is-active {
  background: #fff;
}

.profile-media-viewer__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 0;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
  display: grid;
  place-items: center;
}

.profile-media-viewer__arrow--prev {
  left: 8px;
}

.profile-media-viewer__arrow--next {
  right: 8px;
}

.profile-media-viewer__actions {
  padding: 8px 10px 2px;
}

.profile-media-viewer__caption {
  padding: 0 14px 14px;
}

.profile-media-viewer__caption-head {
  font-size: 13px;
  margin-bottom: 4px;
}

.profile-media-viewer__caption-user {
  font-weight: 700;
}

.profile-media-viewer__text {
  font-size: 14px;
  line-height: 1.45;
  word-break: break-word;
}

.profile-media-viewer__text--clamp {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.profile-media-viewer__more {
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 3px 0 0;
  cursor: pointer;
  font-size: 13px;
}

.profile-media-viewer__time {
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 980px) {
  .profile-media-viewer:not(.profile-media-viewer--mobile) {
    width: 100%;
    max-height: 100%;
    border-radius: 14px;
  }

  .profile-media-viewer .profile-media-viewer__arrow {
    display: none;
  }
}
body.light .sidebar .navicons .iconbtn.iconbtn--compose {
  border-color: rgba(0, 0, 0, 0.08) !important;
  background: #eceef2;
  color: #5e636b;
}
body.light .sidebar .navicons .iconbtn.iconbtn--compose:hover {
  background: #e2e5eb;
}
.sidebar .navicons .iconbtn svg.fill path,
aside.sidebar > button.iconbtn svg.fill path {
  fill: currentColor;
  stroke: none;
}
.sidebar .navicons .iconbtn .dot,
aside.sidebar > button.iconbtn .dot {
  border-color: var(--bg);
}
body.light .sidebar {
  background: var(--bg);
}
body.light .logo {
  border-color: var(--line);
}
body.light .sidebar .navicons .iconbtn,
body.light aside.sidebar > button.iconbtn {
  color: #636973;
}
body.light .sidebar .navicons .iconbtn:hover,
body.light aside.sidebar > button.iconbtn:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #636973;
}
body.light .sidebar .navicons .iconbtn.active,
body.light aside.sidebar > button.iconbtn.active {
  background: rgba(0, 0, 0, 0.09);
  color: #0f1115;
}
body.light .sidebar .navicons .iconbtn.active:hover,
body.light aside.sidebar > button.iconbtn.active:hover {
  background: rgba(0, 0, 0, 0.09);
  color: #0f1115;
}
body.light .sidebar .navicons .iconbtn .dot,
body.light aside.sidebar > button.iconbtn .dot {
  border-color: var(--bg);
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #ff2c3f;
  border: 1px solid var(--bg);
  position: absolute;
  right: 12px;
  top: 12px;
}

/* Modals, Menüs, Lightbox: eigener Layer — Feed/#app wird dafür nicht neu aufgebaut */
.app-overlay-root {
  position: fixed;
  inset: 0;
  /* Über #desk-messenger-host (~450), unter #modal-layer (Compose/Antwort-Modals) */
  z-index: 470;
  pointer-events: none;
  overflow: visible;
}
.app-overlay-root > * {
  pointer-events: auto;
}

.content {
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  min-height: 100vh;
  background: var(--surface);
  width: var(--content-width);
  margin: 12px auto 0;
  border-top-left-radius: 26px;
  border-top-right-radius: 26px;
  overflow: hidden;
}

/* Desktop: Home – wie Suche/Profil: Seite = --bg, nur Karten = --surface */
.content--desk {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  margin-top: 12px;
  padding-left: calc(var(--sidebar-reserved-width) + var(--desk-content-pad-left));
  padding-right: var(--desk-content-pad-right);
  box-sizing: border-box;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Profil, Suche, Aktivitäten, … – Titel/Tabs außerhalb der Karten-Box */
.content--page-stack {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  margin-top: 12px;
  padding-left: calc(var(--sidebar-reserved-width) + var(--desk-content-pad-left));
  padding-right: var(--desk-content-pad-right);
  box-sizing: border-box;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.page-stack-root {
  width: min(var(--page-stack-width), 100%);
  max-width: var(--page-stack-width);
  min-width: min(288px, 100%);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  height: auto;
  min-height: 0;
  max-height: none;
  padding-bottom: 15px;
  box-sizing: border-box;
}

.page-stack-root--narrow {
  width: min(var(--page-stack-width), 100%);
  max-width: var(--page-stack-width);
}

/* Frühere Sticky-Cap-Elemente entfernt (Desktop Doc-Scroll: gerade Oberkante statt Rundung beim Scrollen). */
.page-stack-doc-top-cap,
.desk-feed-doc-top-cap {
  display: none;
}

/* Page-Stack-Karte: feste Viewport-Höhe; Menüs (.post-menu / .repost-menu) sind position:fixed */
.page-stack-card {
  flex: 0 0 auto;
  box-sizing: border-box;
  height: var(--page-stack-card-height);
  min-height: var(--page-stack-card-height);
  max-height: var(--page-stack-card-height);
  border-radius: 26px;
  border: 1px solid var(--line);
  background: var(--surface);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.page-stack-scroll {
  flex: 0 0 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0;
  box-sizing: border-box;
}

.page-stack-root .center-title.page-stack-title {
  position: relative;
  box-sizing: border-box;
  min-height: var(--page-shell-title-height);
  padding: 0 14px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-bottom: none;
  background: var(--bg);
  flex-shrink: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Rechtszeile unter der Karte (Seitenhintergrund), zentriert wie Threads */
.page-stack-legal-footer {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 12px;
  margin-top: 4px;
  padding: 8px 12px 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
  opacity: 0.88;
  text-align: center;
}

body.light .page-stack-legal-footer {
  opacity: 0.92;
}

.page-stack-legal-footer__copy {
  white-space: nowrap;
}

.page-stack-legal-footer__link {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.page-stack-legal-footer__link:hover {
  text-decoration: underline;
}

/* Desktop-Split: Spalten-Wrapper (Profil, Suche, Aktivitäten, …) */
.desk-pane-column-wrap {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  height: auto;
  min-height: 0;
  max-height: none;
  box-sizing: border-box;
  position: relative;
}

.desk-pane-column-wrap .desk-col.desk-col--pane {
  flex: 0 0 auto;
  height: auto;
  min-height: 0;
  max-height: none;
  width: 100%;
  max-width: none;
  min-width: 0;
  position: relative;
}

.desk-pane-head-outside {
  border-bottom: none;
  background: var(--bg);
}

/* Gleiche optische Unterkante wie Feed-Spalte (dort: Legal-Footer unter der Karte) */
.desk-pane-column-align-spacer {
  flex-shrink: 0;
  height: 42px;
  pointer-events: none;
}

/* Profil: vier Tabs in einer Zeile, gleichmäßig über die volle Kartenbreite (wie Threads-Screenshot) */
.top-tabs.desk-feed-tabs-above.desk-feed-tabs-above--profile {
  flex-wrap: nowrap;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  justify-content: space-between;
  gap: 4px;
  padding: 6px 10px 4px;
  border-bottom: 1px solid var(--line);
}

.top-tabs.desk-feed-tabs-above.desk-feed-tabs-above--profile .tab {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 10px 2px 8px;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.saved-page-stack {
  min-height: 200px;
}

.saved-page-stack .saved-page-header {
  border-bottom: none;
  background: transparent;
}

.desk-split-root {
  min-height: 0;
  padding-bottom: 0;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  justify-content: center;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.desk-feed-card-row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex: 0 0 auto;
  height: auto;
  min-height: 0;
  max-height: none;
  gap: 8px;
  width: 100%;
}

.desk-feed-card-row .desk-split-add-wrap {
  align-self: center;
  flex-shrink: 0;
}

.desk-split-row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 10px;
  width: max-content;
  min-width: max-content;
  padding-bottom: 2px;
}

/* Einspaltiger Home-Feed: volle Breite (sonst width:max-content + absolute Kinder → 0px → leere Seite). */
.desk-split-row--single-main-scroll {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/*
 * Mehrspaltig ohne „equal“-Layout: optionaler Offset (Single-Home nutzt --single-main-scroll und
 * wird hier ausgeschlossen — sonst kollidiert es mit zentriertem main / gleicher Kartenbreite wie Page-Stack).
 */
.desk-split-row:not(.desk-split-row--equal):not(.desk-split-row--single-main-scroll) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding-left: max(0px, calc(50% - var(--page-stack-width) / 2));
}

/*
 * Mehrere Spalten: gleiche Breite, maximal Standard (--page-stack-width), nur schmaler wenn
 * (Zeilenbreite − Plus-Buttons − Gaps) / Anzahl Spalten < Standard. Zeile zentriert.
 * --desk-split-cols und --desk-split-chrome setzt app.js (Chrome = alle „+“-Spalten + Flex-Gaps).
 */
.desk-split-row--equal {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  justify-content: center;
}
.desk-split-row--equal > .desk-feed-column-wrap,
.desk-split-row--equal > .desk-pane-column-wrap {
  flex: 0 0 auto;
  min-width: 0;
  box-sizing: border-box;
  width: min(
    var(--page-stack-width),
    max(140px, calc((100% - var(--desk-split-chrome, 0px)) / var(--desk-split-cols, 1)))
  );
  max-width: var(--page-stack-width);
}

.desk-col {
  flex: 0 1 auto;
  min-width: 0;
  max-height: none;
  border-radius: 26px;
  border: 1px solid var(--line);
  background: var(--surface);
  overflow: visible;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

/*
 * Desktop: untere Kartenrundung nur am Scrollende; oben immer rund.
 * Mobil (.mobile-shell): keine Klassen vom JS = bisheriges Verhalten.
 */
@media (min-width: 981px) {
  html:not(.mobile-shell) .page-stack-card.desk-shell--bottom-flat,
  html:not(.mobile-shell) article.desk-col.desk-shell--bottom-flat {
    border-radius: 26px 26px 0 0;
  }
  html:not(.mobile-shell) .page-stack-card.desk-shell--bottom-rounded,
  html:not(.mobile-shell) article.desk-col.desk-shell--bottom-rounded {
    border-radius: 26px;
  }
}

/* Hauptfeed: Tabs + Karte (feste Höhe) + Footer unter der Karte */
.desk-feed-column-wrap {
  flex: 0 0 auto;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: var(--page-stack-width);
  max-width: min(var(--page-stack-width), 100%);
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  padding-bottom: 15px;
  box-sizing: border-box;
}

.desk-col.desk-col--feed {
  flex: 1 1 auto;
  min-height: var(--page-stack-card-height);
  width: 100%;
  max-width: none;
  max-height: none;
  min-width: 0;
}

/* Feed-Karte füllt die Zeile neben dem Plus-Button */
.desk-feed-card-row .desk-col.desk-col--feed {
  flex: 1 1 auto;
  min-width: 0;
  min-height: var(--page-stack-card-height);
  max-height: none;
}

.desk-col__scroll--feed {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: visible;
  overflow-y: visible;
  flex: 0 0 auto;
}

.desk-feed-main-flow {
  flex: 0 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
}

.desk-feed-empty {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  padding: 32px 20px 48px;
}

.desk-feed-empty__inner {
  text-align: center;
  max-width: 280px;
}

.desk-feed-empty__ic {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
  color: var(--muted);
  opacity: 0.55;
}

.desk-feed-empty__ic .compose-gif-search__svg {
  width: 52px;
  height: 52px;
}

.desk-feed-empty__txt {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--muted);
  font-weight: 500;
}

/* Desktop-Zusatzspalten (Profil, Suche, …): Inhalt wächst nach unten, kein inneres Scrollen */
.desk-col__scroll {
  flex: 0 0 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 30px;
  box-sizing: border-box;
}
.desk-col__scroll--feed.desk-col__scroll {
  overflow: visible;
  overflow-y: visible;
  padding-bottom: 0;
}

.desk-split-add-wrap {
  flex: 0 0 44px;
  width: 44px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}

.desk-split-add-btn {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #131313;
  color: var(--text);
  cursor: pointer;
  display: grid;
  place-items: center;
  z-index: 282;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.38);
}

.desk-split-add-btn:hover {
  background: #1a1a1a;
}

.desk-split-add-icon {
  display: block;
}

.desk-add-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 280;
  background: transparent;
}

.desk-add-menu {
  position: absolute;
  left: calc(100% + 6px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 281;
  min-width: 232px;
  background: var(--surface-2);
  border-radius: 18px;
  padding: 6px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
  border: 1px solid var(--line);
}

.desk-add-menu__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 14px;
  border: none;
  background: transparent;
  color: var(--text);
  font-weight: 700;
  font-size: 15px;
  border-radius: 12px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

.desk-add-menu__row:hover {
  background: rgba(255, 255, 255, 0.06);
}

body.light .desk-add-menu__row:hover {
  background: rgba(0, 0, 0, 0.04);
}

.desk-add-menu__chev {
  color: var(--muted);
  font-weight: 400;
  margin-left: 8px;
}

.desk-add-menu__sub {
  border-top: 1px solid var(--line);
  margin-top: 4px;
  padding-top: 4px;
}

.desk-add-menu__subrow {
  font-weight: 600;
  font-size: 14px;
}

.desk-col-head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--page-shell-title-height);
  padding: 0 48px;
  border-bottom: 1px solid var(--line);
  font-weight: 700;
  flex-shrink: 0;
  box-sizing: border-box;
}

.desk-col-head__title {
  text-align: center;
}

.desk-col-head__title--click {
  cursor: pointer;
}

.desk-col-head__actions {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 2px;
  align-items: center;
}

.desk-col-head__menu {
  width: 36px !important;
  height: 36px !important;
}

.desk-col-head > .desk-col-head__menu {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
}

.desk-col-menu {
  z-index: 120;
  position: absolute;
  top: 50px;
  right: 8px;
  margin: 0;
  min-width: 220px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 6px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
}

.desk-col-menu__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px;
  padding: 10px 12px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--text);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

.desk-col-menu__row:hover {
  background: rgba(255, 255, 255, 0.06);
}

.desk-col-menu__row--toggle {
  cursor: default;
}

.desk-col-menu__row--toggle:hover {
  background: transparent;
}

.desk-col-menu__row--danger {
  color: var(--danger);
}

.desk-col-menu__minus {
  font-size: 18px;
  opacity: 0.9;
}

.desk-pill-toggle {
  width: 44px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #3a3b42;
  padding: 2px;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.28s ease;
}

.desk-pill-toggle.is-on {
  background: #f1f2f4;
  border-color: #f1f2f4;
}

.desk-pill-toggle__knob {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #fff;
  transform: translateX(0);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.desk-pill-toggle.is-on .desk-pill-toggle__knob {
  transform: translateX(18px);
  background: #0a0b0d;
}

body.light .desk-pill-toggle.is-on .desk-pill-toggle__knob {
  background: #fff;
}

.desk-pane-placeholder {
  padding: 28px 16px;
  color: var(--muted);
  text-align: center;
  font-size: 14px;
}

/* Toast unten: „Wird gepostet …“, Hinweise, Einstellungen gespeichert (#modal-layer oder .auth-shell) */
.feed-publish-toast-host {
  position: fixed;
  left: 50%;
  bottom: max(24px, env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  z-index: 260600;
  pointer-events: none;
  display: flex;
  justify-content: center;
  width: calc(100% - 32px);
  max-width: 420px;
  box-sizing: border-box;
}
.feed-publish-toast {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 16px;
  background: #fff;
  color: #0a0a0a;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
  width: 100%;
  box-sizing: border-box;
  transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s ease;
  will-change: transform, opacity;
}
.feed-publish-toast--swipe-dragging {
  transition: none !important;
}
.feed-publish-toast--swipe-reset {
  transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s ease !important;
}
.feed-publish-toast--swipe-dismiss-up {
  transform: translateY(-125%);
  opacity: 0;
}
.feed-publish-toast--swipe-dismiss-down {
  transform: translateY(125%);
  opacity: 0;
}
body.light .feed-publish-toast {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}
.feed-publish-toast--hint .feed-publish-toast__hint-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.feed-publish-toast--hint .feed-publish-toast__hint-row .feed-publish-toast__text {
  flex: 1;
  min-width: 0;
}
.feed-publish-toast--warn .feed-publish-toast__hint-row svg {
  flex-shrink: 0;
  color: #b45309;
}
.feed-publish-toast__text {
  flex: 1;
  min-width: 0;
  color: #0a0a0a;
}
.feed-publish-toast__spinner {
  flex-shrink: 0;
  color: #6b6b6b;
  animation: feed-publish-spin 0.85s linear infinite;
}
.feed-publish-toast__check {
  flex-shrink: 0;
  color: #0a0a0a;
}
.feed-publish-toast__view {
  flex-shrink: 0;
  margin-left: auto;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-weight: 700;
  font-size: 15px;
  color: #0a0a0a;
  cursor: pointer;
}
.feed-publish-toast__view:hover {
  opacity: 0.82;
}
.feed-publish-toast--scheduled {
  align-items: center;
  gap: 12px;
  border-radius: 22px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.96);
}
.feed-publish-toast__sched-thumb {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.feed-publish-toast__sched-copy {
  flex: 1;
  min-width: 0;
}
.feed-publish-toast__sched-title {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  color: #111214;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.feed-publish-toast__sched-time {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.2;
  color: #4b4d52;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.feed-publish-toast__view--sched {
  align-self: center;
  font-size: 16px;
}
html.mobile-shell .feed-publish-toast-host {
  max-width: min(760px, calc(100% - 14px));
  width: calc(100% - 14px);
  bottom: max(14px, env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .feed-publish-toast--scheduled {
  border-radius: 20px;
  padding: 10px 12px;
}
@keyframes feed-publish-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Fixierter Beitrag (Profil) */
.post-pinned-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}
.post-pinned-row__ic {
  display: inline-flex;
  color: var(--muted);
}
.post-pinned-row__ic svg {
  width: 14px;
  height: 14px;
  display: block;
}

/* iOS-artige Bestätigung / KI-Info / Antwortoptionen */
.ios-sheet-card {
  width: min(340px, calc(100vw - 40px));
  border-radius: 14px;
  overflow: hidden;
  background: #2c2c2e;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-sizing: border-box;
}
body.light .ios-sheet-card {
  background: #f2f2f7;
  border-color: rgba(0, 0, 0, 0.08);
}
.ios-sheet-card__section {
  padding: 18px 16px;
  text-align: center;
}
.ios-sheet-card__title {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  line-height: 1.35;
}
body.light .ios-sheet-card__title {
  color: #000;
}
.ios-sheet-card__body {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #aeaeb2;
}
body.light .ios-sheet-card__body {
  color: #3c3c43;
}
.ios-sheet-card__divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  margin: 0;
  border: 0;
}
body.light .ios-sheet-card__divider {
  background: rgba(0, 0, 0, 0.1);
}
.ios-sheet-card__btn-row {
  display: flex;
  width: 100%;
}
.ios-sheet-card__btn {
  flex: 1;
  margin: 0;
  padding: 14px 12px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 17px;
  font-weight: 400;
  color: #fff;
  cursor: pointer;
}
body.light .ios-sheet-card__btn {
  color: #007aff;
}
.ios-sheet-card__btn--solo {
  width: 100%;
  font-weight: 600;
}
.ios-sheet-card__btn--danger {
  color: #ff453a;
  font-weight: 600;
}
body.light .ios-sheet-card__btn--danger {
  color: #ff3b30;
}
.ios-sheet-card__btn-col {
  flex: 1;
  padding: 14px 12px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 17px;
  cursor: pointer;
  color: #fff;
}
body.light .ios-sheet-card__btn-col {
  color: #000;
}
.ios-sheet-card__btn-col--danger {
  color: #ff453a;
  font-weight: 600;
}
.ios-sheet-card__vsep {
  width: 1px;
  background: rgba(255, 255, 255, 0.12);
  flex-shrink: 0;
}
body.light .ios-sheet-card__vsep {
  background: rgba(0, 0, 0, 0.1);
}

.ios-reply-settings {
  width: min(400px, calc(100vw - 32px));
  max-height: min(88vh, 720px);
  border-radius: 16px;
  overflow: hidden;
  background: #1c1c1e;
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
body.light .ios-reply-settings {
  background: #fff;
  border-color: var(--line);
}
.ios-reply-settings__scroll {
  overflow-y: auto;
  padding: 0 0 12px;
  flex: 1;
  min-height: 0;
}
.ios-reply-settings__hint {
  margin: 0;
  padding: 12px 16px 8px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.ios-reply-settings__caption {
  margin: 0;
  padding: 14px 16px 6px;
  font-size: 13px;
  color: var(--muted);
}
.ios-reply-settings__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 16px;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
.ios-reply-settings__row:hover {
  background: rgba(255, 255, 255, 0.04);
}
body.light .ios-reply-settings__row:hover {
  background: rgba(0, 0, 0, 0.04);
}
.ios-reply-settings__radio {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--muted);
  flex-shrink: 0;
  box-sizing: border-box;
  position: relative;
}
.ios-reply-settings__radio--on {
  border-color: #fff;
}
body.light .ios-reply-settings__radio--on {
  border-color: #000;
}
.ios-reply-settings__radio--on::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #fff;
}
body.light .ios-reply-settings__radio--on::after {
  background: #000;
}
.ios-reply-settings__hr {
  height: 1px;
  margin: 0 16px;
  background: rgba(255, 255, 255, 0.1);
  border: 0;
}
body.light .ios-reply-settings__hr {
  background: var(--line);
}
.ios-reply-settings__toggle-block {
  padding: 8px 16px 16px;
}
.ios-reply-settings__toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0 0;
}
.ios-reply-settings__foot {
  padding: 8px 16px 16px;
  flex-shrink: 0;
}
.ios-reply-settings__update {
  width: 100%;
  padding: 14px 16px;
  border-radius: 12px;
  border: 0;
  background: #fff;
  color: #8e8e93;
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
body.light .ios-reply-settings__update {
  background: #e5e5ea;
  color: #3c3c43;
}

/* „Für dich vorgeschlagen“ */
.suggest-strip {
  border-bottom: 1px solid var(--line);
  padding: 14px 16px 12px;
}

.suggest-strip__title {
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 12px;
  color: var(--muted);
}

.suggest-strip__scroll {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}

.suggest-strip__scroll::-webkit-scrollbar {
  height: 6px;
}

.suggest-strip__scroll::-webkit-scrollbar-thumb {
  background: var(--line);
  border-radius: 999px;
}

/* Suche: max. 4 Vorschlagskarten nebeneinander */
.suggest-strip--max-four .suggest-card {
  flex: 0 0 calc((100% - 36px) / 4);
  min-width: 100px;
  max-width: 148px;
  box-sizing: border-box;
}
.search-page__suggest.suggest-strip {
  border-bottom: none;
}

/* Thema-Vorschläge: nur Anker patchen (kein Fokusverlust) */
.compose-topic-suggest-anchor {
  position: relative;
  width: 100%;
}
.compose-topic-suggest--loading {
  padding: 12px 14px;
  font-size: 14px;
  color: var(--muted);
}

/* Mobil Feed: „Für dich vorgeschlagen“ horizontal scrollen */
.suggest-strip--mobile-hscroll .suggest-strip__scroll {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 8px;
}
.suggest-strip--mobile-hscroll .suggest-card {
  flex: 0 0 auto;
  min-width: 128px;
  max-width: 155px;
  width: 140px;
}
.suggest-card--more-hscroll {
  min-width: 128px;
  max-width: 155px;
  width: 140px;
}

/* Mobil: „Für dich vorgeschlagen“ als Liste + „Mehr sehen“ */
.suggest-strip--mobile-list .suggest-strip__mobile-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.suggest-card--mobile-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  position: relative;
  min-height: 56px;
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
.suggest-strip--mobile-list .suggest-card--mobile-row:last-child {
  border-bottom: none;
}
.suggest-card--mobile-row .suggest-card__profile-hit {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 0;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.suggest-card--mobile-row .suggest-card__avatar {
  flex-shrink: 0;
  border-radius: 999px;
  width: 44px;
  height: 44px;
  object-fit: cover;
}
.suggest-card__mobile-text {
  flex: 1;
  min-width: 0;
  text-align: left;
}
.suggest-card--mobile-row .suggest-card__line1.verified-inline-row {
  justify-content: flex-start;
}
.suggest-card--more-row .suggest-card__profile-hit--more {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  width: 100%;
  background: transparent;
  border: 0;
  padding: 0;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.suggest-card__more-ic {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(127, 127, 127, 0.15);
  font-size: 22px;
  flex-shrink: 0;
}
.suggest-card__follow--placeholder {
  opacity: 0.9;
  pointer-events: none;
  user-select: none;
  font-weight: 600;
}

/* Antwort-Modal Mobil: Avatar im Textfeld links */
.compose-modal__textarea-stack--reply-mob-inner .reply-modal__textarea-inner {
  position: relative;
  display: block;
}
.reply-modal__textarea-inner .reply-modal__input-av {
  position: absolute;
  left: 10px;
  top: 10px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  object-fit: cover;
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.12s ease;
}
.reply-modal__textarea-inner--has-text .reply-modal__input-av {
  opacity: 1;
  visibility: visible;
}
.mobile-shell .reply-modal__textarea-inner .compose-modal__textarea,
.mobile-shell .reply-modal__textarea-inner .compose-modal__textarea-mirror {
  padding-left: 46px;
}

/* Modal „Vorschläge zum Folgen“: eine Zeile pro Nutzer */
.follow-sug-list--modal {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: min(70vh, 520px);
  overflow-y: auto;
}
.follow-sug-row--modal {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.follow-sug-row--modal:last-child {
  border-bottom: none;
}
.follow-sug-row__hit {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  padding: 0;
}
.follow-sug-row__av {
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.follow-sug-row__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  align-items: flex-start;
}
.follow-sug-row__line1 {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  font-size: 15px;
  min-width: 0;
}
.follow-sug-row__dn {
  font-size: 13px;
  color: var(--muted);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.follow-sug-row__follow {
  flex-shrink: 0;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
}

/* Profil-Onboarding: Schritt ausblenden */
.profile-onboard-card__dismiss {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.2);
  color: var(--text);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}
.suggest-card__line1 {
  margin-bottom: 4px;
  width: 100%;
}
.suggest-card .suggest-card__line1.verified-inline-row {
  justify-content: center;
  max-width: 100%;
}
.suggest-card__uname {
  font-weight: 700;
  font-size: 13px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.suggest-card__dn {
  font-size: 12px;
  color: var(--muted);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-height: 1.2em;
  margin-bottom: 8px;
}
/* Startseiten-Streifen „Für dich vorgeschlagen“: Zeile 1 @name + Badge, Zeile 2 Anzeigename */
.suggest-card:not(.suggest-card--modal-grid) .suggest-card__line1.verified-inline-row {
  margin-bottom: 4px;
  width: 100%;
  justify-content: center;
}
.suggest-card__dn--strip {
  margin-top: 0;
  margin-bottom: 2px;
}

/* Suchverlauf */
.search-history {
  padding: 14px 16px 20px;
}
.search-history--below-suggest {
  border-top: 1px solid var(--line);
  margin-top: 0;
  padding-top: 16px;
}
.search-history__title {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 12px 0;
  color: var(--muted);
}
.search-history__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.search-history__empty {
  margin: 0;
  padding: 4px 0 2px;
  font-size: 14px;
  line-height: 1.35;
  color: var(--muted);
}
.search-history-row {
  padding: 10px 0;
  border-bottom: 0;
}
.search-history .feed-item.search-history-row {
  border-bottom: 0 !important;
}
/* Such-Historie links bündig mit Überschrift */
.search-history .search-history-row.feed-item {
  padding-left: 0;
  padding-right: 0;
}
.search-history-row:last-child {
  border-bottom: 0;
}
.search-history-row__mid {
  cursor: pointer;
  min-width: 0;
  text-align: left;
}
.search-history-row__line1 {
  flex-wrap: nowrap;
}
.search-history-row__uname {
  font-weight: 600;
  font-size: 15px;
}
.search-history-row__meta {
  margin-top: 2px;
}
.search-history-row__qtext {
  font-size: 15px;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-history-row__ic-wrap {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(127, 127, 127, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
}
.search-history-row__av-btn {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: inline-flex;
}
.search-history-row__ic .compose-gif-search__svg {
  width: 22px;
  height: 22px;
  color: var(--muted);
}
.search-history-row__del {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  flex-shrink: 0;
}
.search-history-row__del:hover {
  background: rgba(127, 127, 127, 0.12);
  color: var(--text);
}
.search-history-row__del-x {
  font-size: 22px;
  line-height: 1;
  font-weight: 300;
}
@media (min-width: 781px) {
  .search-history-row__del {
    opacity: 0;
    transition: opacity 0.12s ease;
  }
  .search-history-row:hover .search-history-row__del {
    opacity: 1;
  }
}
.search-page__posts--empty {
  min-height: 0;
}

.suggest-card {
  position: relative;
  flex: 0 0 calc((100% - 5 * 12px) / 6);
  min-width: 108px;
  max-width: 132px;
  padding: 14px 10px 12px;
  border-radius: 16px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.suggest-card__dismiss {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: var(--text);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}

body.light .suggest-card__dismiss {
  background: rgba(0, 0, 0, 0.08);
}

.suggest-card__profile-hit {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.suggest-card__profile-hit:focus-visible {
  outline: 2px solid var(--accent, #4f7cff);
  outline-offset: 2px;
  border-radius: 12px;
}
.suggest-card__profile-hit--search .suggest-card__avatar {
  margin-bottom: 8px;
}
.suggest-card__avatar {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  object-fit: cover;
  margin-bottom: 10px;
  background: #4f4f53;
}

.suggest-card__name {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.suggest-card__handle {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.suggest-card__follow {
  margin-top: 12px;
  width: 100%;
  padding: 8px 10px;
  border: none;
  border-radius: 999px;
  background: #ffffff;
  color: #0a0a0d;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
}
.suggest-card__follow:hover {
  filter: brightness(0.92);
}

body.light .suggest-card__follow {
  background: #0f1115;
  color: #fff;
}

/* Suche: „Folgen“ wie Referenz (weißer Block, schwarzer Text) */
.search-follow-btn {
  border: none;
  border-radius: 999px;
  background: #ffffff;
  color: #0a0a0d;
  font-weight: 700;
  font-size: 13px;
  padding: 8px 16px;
  cursor: pointer;
  font-family: inherit;
  flex-shrink: 0;
}
.search-follow-btn:hover {
  filter: brightness(0.92);
}
body.light .search-follow-btn {
  background: #0f1115;
  color: #fff;
}
body.light .search-follow-btn:hover {
  filter: brightness(1.08);
}

@media (max-width: 900px) {
  .content--desk {
    width: var(--content-width);
    max-width: calc(100vw - 104px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    align-items: stretch;
  }

  .content--page-stack {
    width: var(--content-width);
    max-width: calc(100vw - 104px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    align-items: stretch;
  }

  .page-stack-root,
  .page-stack-root--narrow {
    max-width: none;
    width: 100%;
  }

  .desk-split-root {
    max-width: none;
  }

  .desk-split-add-wrap {
    display: none !important;
  }

  .desk-pane-column-wrap {
    display: none !important;
  }

  .desk-col.desk-col--pane {
    display: none !important;
  }

  .desk-split-row {
    flex-direction: column;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .desk-split-row:not(.desk-split-row--equal) {
    padding-left: 0;
  }

  .desk-feed-column-wrap {
    max-width: none;
    width: 100%;
  }

  /* Mehrspalten-Zeilen: Kartenhöhe flexibel; Einspalt-Home nutzt eigenes Layout (desk-split-row--single-main-scroll). */
  .desk-split-row:not(.desk-split-row--single-main-scroll) .desk-feed-card-row {
    height: auto;
    min-height: 0;
    max-height: none;
  }

  .desk-col.desk-col--feed {
    max-width: none;
  }
}

/*
 * Page-Stack + Home-Feed: html/body fest; feste Kartenhöhe, scrollt nur innerer Flow (.page-stack-body-flow / .desk-col__scroll).
 * Mehrspalt-Desk: pro Spalte wie bisher. Kein body-Scroll für diese Routen.
 */
.app-main-scroll {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.app-main-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/*
 * Desktop: themed Scrollbar nur am document-scroll main (Einspalt); Spalten/Boxen ohne Leiste.
 */
@media (min-width: 981px) {
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll {
    scrollbar-width: thin;
    scrollbar-color: var(--desk-scrollbar-thumb) var(--desk-scrollbar-track);
    -ms-overflow-style: auto;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll::-webkit-scrollbar {
    display: block;
    width: 10px;
    height: 10px;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll::-webkit-scrollbar-track {
    background: var(--desk-scrollbar-track);
    border-radius: 999px;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll::-webkit-scrollbar-thumb {
    background-color: var(--desk-scrollbar-thumb);
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll::-webkit-scrollbar-thumb:hover {
    background-color: var(--desk-scrollbar-thumb-hover);
  }
  html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-feed-column-wrap.desk-feed-column-wrap--desk-outer-scroll,
  html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-pane-column-wrap.desk-pane-column-wrap--desk-outer-scroll {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-feed-column-wrap.desk-feed-column-wrap--desk-outer-scroll::-webkit-scrollbar,
  html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-pane-column-wrap.desk-pane-column-wrap--desk-outer-scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}

html:has(main.content.content--desk),
html:has(main.content.content--page-stack) {
  height: 100%;
  overflow: hidden;
}
body:has(main.content.content--desk),
body:has(main.content.content--page-stack) {
  height: 100%;
  overflow: hidden;
}

main.content.content--desk {
    height: calc(100dvh - 12px);
    max-height: calc(100dvh - 12px);
    margin-top: 12px;
    margin-bottom: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 0;
    box-sizing: border-box;
  }

  main.content.content--page-stack {
    height: calc(100dvh - 12px);
    max-height: calc(100dvh - 12px);
    margin-top: 12px;
    margin-bottom: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 0;
    box-sizing: border-box;
  }

  main.content.content--desk > .desk-split-root {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
  }

  main.content.content--page-stack > .page-stack-root {
    flex: 1 1 0%;
    min-height: 0;
    max-height: 100%;
    width: min(var(--page-stack-width), 100%);
    max-width: var(--page-stack-width);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
    align-self: center;
  }

  /*
   * Single-native: zentriert (align-self: center) — NICHT stretch über volle Zeile (wirkt sonst links).
   * Wurzel so breit wie Karte + dasselbe horizontale Padding wie .page-stack-main-scroll__inner,
   * damit min(700px, 100%) der Karte = 700px wie beim Home-Feed (ohne Padding-Falle ~676px).
   */
  main.content.content--page-stack > .page-stack-root.page-stack-root--single-native {
    --_page-stack-pad-left: max(12px, env(safe-area-inset-left, 0px));
    --_page-stack-pad-right: max(12px, env(safe-area-inset-right, 0px));
    min-height: 0;
    overflow: hidden;
    width: min(
      calc(var(--page-stack-width) + var(--_page-stack-pad-left) + var(--_page-stack-pad-right)),
      100%
    );
    max-width: min(
      calc(var(--page-stack-width) + var(--_page-stack-pad-left) + var(--_page-stack-pad-right)),
      100%
    );
    align-self: center;
  }

  /*
   * Page-Stack: fester Kartenrahmen (Ecken bleiben), scrollt nur .page-stack-scroll in der Karte.
   * .page-stack-route-bleed scrollt nicht.
   */
  main.content.content--page-stack .page-stack-route-bleed {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  main.content.content--page-stack .page-stack-route-bleed > .page-stack-card {
    flex: 1 1 auto;
    min-height: var(--page-stack-card-height);
    max-height: min(var(--page-stack-card-height), 100%);
    height: var(--page-stack-card-height);
    max-width: var(--page-stack-width);
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* Page-Stack einspaltig: nativer Scroll unter Titel — gleiche max. Kartenbreite, nicht volle Viewport-Breite */
  main.content.content--page-stack .page-stack-root--single-native {
    gap: 0;
  }

  main.content.content--page-stack .page-stack-head-fixed {
    flex-shrink: 0;
    width: 100%;
    max-width: var(--page-stack-width);
    box-sizing: border-box;
    align-self: center;
    background-color: var(--bg);
    isolation: isolate;
  }

  main.content.content--page-stack .page-stack-route-bleed--single-native {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
  }

  /* Hülle zwischen Shell-Titel und Karte: kein Scroll, nur Flex-Platz für die Karte. */
  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-main-scroll {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
  }

  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-main-scroll__inner {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
    padding-bottom: 0;
  }

  /* Karten-Shell: feste sichtbare Höhe, Rundungen, clip — bewegt sich nicht beim Scrollen des Inhalts. */
  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-main-scroll__inner > .page-stack-card {
    align-self: stretch;
    flex: 1 1 auto;
    width: var(--page-stack-width);
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: var(--page-stack-card-height);
    max-height: min(var(--page-stack-card-height), 100%);
    overflow: hidden;
    isolation: isolate;
  }

  /* Innerer Feed-/Listen-Container: einziger vertikaler Scroll (Threads-Prinzip). */
  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-body-flow.app-main-scroll {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-body-flow > .page-stack-legal-footer {
    margin-top: auto;
    padding-bottom: 16px;
    padding-top: 8px;
  }

  /* Fixe Chrom-Zeilen in der Shell oberhalb des Scroll-Bereichs (kein Sticky zur Spalte). */
  main.content.content--page-stack .page-stack-route-bleed--single-native .search-page-card__toolbar-wrap {
    position: relative;
    flex-shrink: 0;
    z-index: 6;
    background: var(--surface);
    border-top-left-radius: 26px;
    border-top-right-radius: 26px;
    overflow: hidden;
  }

  main.content.content--page-stack .page-stack-route-bleed--single-native .messages-inbox-sticky-head {
    position: relative;
    flex-shrink: 0;
    z-index: 6;
    background: var(--surface);
    border-top-left-radius: 26px;
    border-top-right-radius: 26px;
    overflow: hidden;
  }

  main.content.content--page-stack .page-stack-card--messages-requests .messages-requests-inline-head {
    position: sticky;
    top: 0;
    z-index: 6;
    background: var(--surface);
  }

  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-card__profile-top {
    position: relative;
    flex-shrink: 0;
    z-index: 6;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    border-top-left-radius: 26px;
    border-top-right-radius: 26px;
    overflow: hidden;
  }

  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-card.page-stack-card--topic .topic-page-tabs-wrap {
    position: relative;
    flex-shrink: 0;
    z-index: 6;
    background: var(--surface);
    border-top-left-radius: 26px;
    border-top-right-radius: 26px;
    overflow: hidden;
  }

  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-card--thread > .thread-view-head {
    position: relative;
    flex-shrink: 0;
    z-index: 6;
    border-top-left-radius: 26px;
    border-top-right-radius: 26px;
  }

  /* Suchkarte: Rundung + Clip (globales overflow:visible würde Ecken „ausfransen“). Filter-Menü bleibt i. d. R. in der Karte. */
  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-card.page-stack-card--search {
    overflow: hidden;
  }
  main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-card.page-stack-card--scheduled-content.page-stack-card--scheduled-desk {
    overflow: hidden;
  }

  /* Chat: dieselbe zentrierte Spaltenbreite wie übrige Page-Stack-Karten. */
  main.content.content--page-stack .chat-page--single-native {
    width: min(var(--page-stack-width), 100%);
    max-width: var(--page-stack-width);
    align-self: center;
    margin-left: 0;
    margin-right: 0;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
    box-sizing: border-box;
  }

  main.content.content--page-stack .chat-page-head-fixed {
    flex-shrink: 0;
  }

  main.content.content--page-stack .chat-page-main-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    -webkit-overflow-scrolling: touch;
  }

  main.content.content--page-stack .chat-page-main-scroll__inner {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }

  main.content.content--page-stack .chat-page-scroll-column {
    width: var(--page-stack-width);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    flex: 1 1 0%;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }

  main.content.content--page-stack .chat-thread--native-outer {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 12px 14px 24px;
    box-sizing: border-box;
  }

  main.content.content--page-stack .chat-thread__native-inner {
    max-width: var(--page-stack-width);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
  }

  main.content.content--page-stack .chat-page-scroll-column .page-stack-legal-footer {
    margin-top: auto;
    padding-top: 12px;
  }

  /* Hauptfeed: Mehrspaltig / alt: Feed + „+“ zentrieren. Einspaltig: desk-split-row--single-main-scroll (eigenes Layout) */
  main.content.content--desk .desk-split-row:not(.desk-split-row--equal):not(.desk-split-row--single-main-scroll) {
    padding-left: 0;
    justify-content: center;
  }

  /*
   * Einspalt-Home: Shell = volle --page-stack-card-height; nur .desk-col__inner-scroll scrollt; Footer letztes Kind im Scroller.
   * .desk-feed-main-flow--single-home: flex 0 0 auto (nicht flex:1), sonst kein sauberes Scrollen bis zum Footer.
   */
  main.content.content--desk .desk-split-row--single-main-scroll {
    position: relative;
    padding-left: 0;
    justify-content: center;
    overflow: hidden;
  }

  main.content.content--desk .desk-home-single-stack {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    box-sizing: border-box;
  }

  main.content.content--desk .desk-home-single-stack .desk-feed-tabs-anchor {
    flex-shrink: 0;
    width: 100%;
    max-width: var(--page-stack-width);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
  }

  main.content.content--desk .desk-home-single-stack .desk-home-main-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    box-sizing: border-box;
  }

  main.content.content--desk .desk-home-single-stack .desk-home-main-scroll__inner {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    overflow: visible;
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
    padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
  }

  main.content.content--desk .desk-home-single-stack .desk-feed-column-wrap--single-outer {
    width: var(--page-stack-width);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: visible;
    box-sizing: border-box;
  }

  main.content.content--desk .desk-home-single-stack .desk-feed-column-wrap--single-outer .desk-feed-card-row {
    flex: 0 0 auto;
    min-height: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }

  main.content.content--desk
    .desk-home-single-stack
    .desk-feed-column-wrap--single-outer
    .desk-feed-card-row
    > .desk-col.desk-col--feed.desk-col--feed-shell {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    height: var(--page-stack-card-height);
    min-height: var(--page-stack-card-height);
    max-height: min(var(--page-stack-card-height), 100%);
    box-sizing: border-box;
    border-radius: 26px;
    border: 1px solid var(--line);
    background: var(--surface);
    overflow: hidden;
    isolation: isolate;
    display: flex;
    flex-direction: column;
  }

  main.content.content--desk .desk-home-single-stack .desk-col__inner-scroll.desk-col__scroll--single-flow.desk-col__scroll--feed.desk-col__scroll {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding-bottom: 24px;
    scroll-padding-bottom: 24px;
  }

  main.content.content--desk .desk-split-row--single-main-scroll .desk-home-main-scroll {
    flex: 1 1 auto;
    min-height: 0;
  }
  main.content.content--desk .desk-split-row--single-main-scroll .desk-home-single-stack .desk-home-main-scroll__inner {
    width: 100%;
  }
  main.content.content--desk .desk-split-row--single-main-scroll .desk-home-single-stack .desk-feed-column-wrap--single-outer {
    flex: 1 1 auto;
    width: var(--page-stack-width);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    min-height: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
  }
  main.content.content--desk .desk-split-row--single-main-scroll .desk-home-single-stack .desk-feed-column-wrap--single-outer .desk-feed-card-row {
    flex: 0 0 auto;
    min-height: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }
  main.content.content--desk
    .desk-split-row--single-main-scroll
    .desk-home-single-stack
    .desk-feed-column-wrap--single-outer
    .desk-feed-card-row
    > .desk-col.desk-col--feed.desk-col--feed-shell {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    height: var(--page-stack-card-height);
    min-height: var(--page-stack-card-height);
    max-height: min(var(--page-stack-card-height), 100%);
    box-sizing: border-box;
    border-radius: 26px;
    border: 1px solid var(--line);
    background: var(--surface);
    overflow: hidden;
    isolation: isolate;
    display: flex;
    flex-direction: column;
  }
  main.content.content--desk .desk-split-row--single-main-scroll .desk-home-single-stack .desk-col__inner-scroll.desk-col__scroll--single-flow.desk-col__scroll--feed.desk-col__scroll {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding-bottom: 24px;
    scroll-padding-bottom: 24px;
  }

  main.content.content--desk .desk-split-row--single-main-scroll .desk-col__scroll.desk-col__scroll--feed .desk-feed-main-flow--single-home {
    flex: 0 0 auto;
    min-height: 0;
  }

  main.content.content--desk .desk-split-row--single-main-scroll > .desk-split-add-wrap {
    position: absolute;
    z-index: 2;
    left: calc(50% + (min(var(--page-stack-width), calc(100% - 24px)) / 2) + 5px);
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    flex: none;
    pointer-events: auto;
  }

  main.content.content--desk .desk-feed-column-wrap {
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
  }

  main.content.content--desk .desk-split-row:not(.desk-split-row--equal) > .desk-feed-column-wrap {
    flex: 0 0 auto;
    min-width: 0;
    width: var(--page-stack-width);
    max-width: min(var(--page-stack-width), 100%);
  }

  main.content.content--desk .desk-feed-tabs-anchor {
    display: flex;
    justify-content: center;
    width: 100%;
    flex-shrink: 0;
    box-sizing: border-box;
  }

  main.content.content--desk .desk-feed-tabs-anchor > .top-tabs {
    width: 100%;
    max-width: 100%;
  }

  main.content.content--desk .desk-feed-card-row {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  main.content.content--desk .desk-feed-card-row > .desk-col.desk-col--feed {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    max-width: min(100%, var(--page-stack-width));
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
  }

  main.content.content--desk .desk-col__scroll--feed.desk-col__scroll {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
  }

  .page-stack-root {
    padding-bottom: 0;
    gap: 10px;
  }

  .desk-split-root {
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .desk-split-row {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    align-content: stretch;
    /* Basis-Regel .desk-split-row hat width:max-content — sonst kollabiert die Home-Zeile (leerer Feed). */
    width: 100%;
    min-width: 0;
    max-width: 100%;
    align-self: stretch;
  }

  main.content.content--desk .desk-split-row--single-main-scroll {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    min-height: 0;
    align-self: stretch;
  }

  .desk-feed-column-wrap {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
    gap: 10px;
  }

  .top-tabs.desk-feed-tabs-above {
    flex-shrink: 0;
  }

  .desk-feed-card-row {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .desk-col.desk-col--feed {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .desk-col__scroll--feed.desk-col__scroll {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
  }
  /* Wie Profil-Scroll: Post-Liste wächst mit Inhalt; kein flex:1 (sonst überdecken Posts den Footer) */
  .desk-feed-main-flow {
    flex: 0 0 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .desk-col__scroll--feed > .page-stack-legal-footer {
    flex-shrink: 0;
    margin-top: auto;
    padding-bottom: 16px;
    padding-top: 8px;
  }

  .desk-pane-column-wrap {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .desk-pane-column-wrap .desk-col.desk-col--pane {
    flex: 1 1 auto;
    min-height: var(--page-stack-card-height);
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .desk-pane-column-wrap .desk-col__scroll {
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .desk-pane-column-wrap .desk-col__scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  .page-stack-root .center-title.page-stack-title {
    flex-shrink: 0;
  }

  .page-stack-card {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .page-stack-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .page-stack-scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
  .page-stack-scroll > .page-stack-legal-footer {
    margin-top: auto;
    padding-bottom: 10px;
    padding-top: 8px;
  }

  .page-stack-card.page-stack-card--search {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .page-stack-card--search .search-page-card__toolbar-wrap {
    flex-shrink: 0;
  }

  .page-stack-card--search .page-stack-scroll {
    flex: 1 1 auto;
    min-height: 0;
  }

  .page-stack-card.page-stack-card--profile-split {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .page-stack-card__profile-top {
    flex-shrink: 0;
  }

  /* Desktop-Profil: Flex-Hülle für optionalen inneren Clip (Document-Scroll) */
  .page-stack-card__inner-clip {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
  }

  .page-stack-card--profile-split .page-stack-scroll {
    flex: 1 1 auto;
    min-height: 0;
  }

  .page-stack-card.page-stack-card--messages {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .page-stack-card.page-stack-card--chat {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  .page-stack-card--messages .page-stack-scroll {
    flex: 1 1 auto;
    min-height: 0;
  }

  .page-stack-legal-footer {
    margin-top: 8px;
    padding-bottom: 16px;
  }

.top-tabs {
  display: flex;
  justify-content: center;
  gap: 34px;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: var(--surface);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.tab {
  padding: 16px 2px 13px;
  cursor: pointer;
  color: var(--muted);
  font-weight: 600;
  border-bottom: 2px solid transparent;
}
.tab.active { color: var(--text); border-color: var(--text); }

/* Tabs sitzen auf dem Seitenhintergrund, nicht in der Feed-Surface */
.top-tabs.desk-feed-tabs-above {
  position: relative;
  top: auto;
  z-index: 5;
  background-color: var(--bg);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: none;
  justify-content: center;
  align-items: center;
  gap: 34px;
  min-height: var(--page-shell-title-height);
  padding: 0 12px;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* Profil-Tabs in der Karten-Surface (nicht Seitenhintergrund) */
.page-stack-card__profile-top .top-tabs.desk-feed-tabs-above--profile,
.page-stack-scroll > .top-tabs.desk-feed-tabs-above--profile,
.page-stack-body-flow--profile-mob-all .top-tabs.desk-feed-tabs-above--profile,
.desk-col.desk-col--pane .desk-col__scroll > .top-tabs.desk-feed-tabs-above--profile,
.desk-col.desk-col--pane > .top-tabs.desk-feed-tabs-above--profile {
  background-color: var(--surface) !important;
}

.top-tabs.desk-feed-tabs-above .tab {
  display: inline-flex;
  align-items: center;
  min-height: var(--page-shell-title-height);
  padding: 0 2px 2px;
  box-sizing: border-box;
}

.top-tabs--home {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0 8px 0 10px;
}
.top-tabs--home .top-tabs__tabs-cluster {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 34px;
}
.top-tabs--home .top-tabs__end-actions {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}
.top-tabs--home .top-tabs__menu-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.top-tabs--home .top-tabs__menu-wrap--main {
  margin-left: 0;
}
.top-tabs--home .top-tabs__menu-wrap--tab {
  margin-left: 0;
}
.top-tabs--home .top-tabs__more {
  position: relative;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.26) !important;
  background: transparent !important;
  color: #f3f5f7 !important;
  display: grid;
  place-items: center;
  padding: 0;
  flex-shrink: 0;
  box-shadow: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.top-tabs--home .top-tabs__more:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}
.top-tabs--home .top-tabs__more:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.35);
  outline-offset: 2px;
}
.top-tabs--home .top-tabs__more .top-tabs__more-dots {
  display: block;
  width: 18px;
  height: 18px;
}
body.light .top-tabs--home .top-tabs__more {
  background: transparent !important;
  border-color: rgba(0, 0, 0, 0.22) !important;
  color: #1a1d22 !important;
}
body.light .top-tabs--home .top-tabs__more:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.35) !important;
  color: #0f1115 !important;
}

.home-feed-create-menu.menu,
.home-feed-tab-menu.menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 90;
  min-width: 0;
  width: max-content;
  max-width: min(320px, calc(100vw - 24px));
  padding: 8px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #262626;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
}
.top-tabs__menu-wrap--tab .home-feed-tab-menu.menu {
  right: auto;
  left: 0;
}
body.light .home-feed-create-menu.menu,
body.light .home-feed-tab-menu.menu {
  background: #f2f3f5;
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.home-feed-create-menu__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: none;
  border-radius: 14px;
  background: #262626;
  color: #f3f5f7;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.home-feed-create-menu__row:hover {
  background: #303030;
}
.home-feed-create-menu__label {
  flex: 1;
  min-width: 0;
}
.home-feed-create-menu__plus {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 0;
  border: none;
  color: #fff;
  display: grid;
  place-items: center;
}
.home-feed-create-menu__plus-svg {
  display: block;
  width: 24px;
  height: 24px;
}
body.light .home-feed-create-menu__row {
  background: #fff;
  color: #0f1115;
}
body.light .home-feed-create-menu__row:hover {
  background: #f6f7f8;
}
body.light .home-feed-create-menu__plus {
  border-color: rgba(0, 0, 0, 0.75);
  color: #0f1115;
}

.home-feed-tab-menu__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  border: none;
  border-radius: 12px;
  background: transparent;
  color: #f3f5f7;
  font-size: 15px;
  font-weight: 500;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.home-feed-tab-menu__row:hover {
  background: rgba(255, 255, 255, 0.1);
}
.home-feed-tab-menu__row + .home-feed-tab-menu__row {
  margin-top: 2px;
}
body.light .home-feed-tab-menu__row {
  color: #0f1115;
}
body.light .home-feed-tab-menu__row:hover {
  background: rgba(0, 0, 0, 0.06);
}

.feed-builder-modal.modal {
  width: 618px;
  height: 736px;
  max-width: min(618px, calc(100vw - 24px));
  max-height: min(736px, calc(100vh - 24px));
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  overflow: hidden;
}
.feed-builder-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.feed-builder-head .feed-builder-sp {
  justify-self: end;
  width: 40px;
}
.feed-builder-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 12px 14px 14px;
}
.feed-builder-name {
  min-height: 54px;
  border-radius: 14px;
  margin-bottom: 12px;
  background: #1d1d1f;
  border-color: rgba(255, 255, 255, 0.06);
}
body.light .feed-builder-name {
  background: #f4f5f7;
  border-color: rgba(0, 0, 0, 0.08);
}
.feed-builder-addpick {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
  color: var(--text);
  font-weight: 700;
  font-size: 17px;
  padding: 4px 0 10px;
  cursor: pointer;
}
.feed-builder-addpick span:first-child {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
}
.feed-builder-picked-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  border-top: 1px solid var(--line);
}
.feed-builder-row,
.feed-builder-picked {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.feed-builder-row__left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.feed-builder-row__ic {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #0b0c0f;
  border: 1px solid var(--line);
}
.feed-builder-row__label { font-weight: 700; }
.feed-builder-row__sub { color: var(--muted); font-size: 13px; }
.feed-builder-row__btn {
  min-width: 116px;
  height: 40px;
}
.feed-builder-search {
  margin-bottom: 10px;
}
.feed-builder-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.feed-builder-empty {
  color: var(--muted);
  padding: 28px 2px;
}
.feed-builder-actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.feed-builder-delete {
  height: 50px;
  color: #ff4b59;
}
.post-btn.feed-builder-done {
  height: 34px;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 10px;
  background: #ffffff;
  color: #1a1a1a;
  border: none;
  font-weight: 700;
}
.post-btn.feed-builder-done:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
body.light .post-btn.feed-builder-done {
  background: #111;
  color: #fff;
}

/* Profil-Tabs innerhalb der Karten-Box (mobil + Desktop-Spalte) */
.desk-col.desk-col--pane > .top-tabs,
.desk-col.desk-col--pane .desk-col__scroll > .top-tabs.desk-feed-tabs-above--profile,
.page-stack-scroll > .top-tabs.desk-feed-tabs-above--profile,
.page-stack-body-flow--profile-mob-all .top-tabs.desk-feed-tabs-above--profile,
.page-stack-card__profile-top .top-tabs.desk-feed-tabs-above--profile {
  flex-shrink: 0;
  margin: 0;
  border-radius: 0;
}

.compose-preview {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  min-height: 68px;
  border-bottom: 1px solid var(--line);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.compose-preview.profile-inline-compose {
  min-height: 56px;
  flex-shrink: 0;
}

.profile-feed-lead {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* Startseite: gleiche nutzbare Breite wie die Haupt-Content-Box */
.desk-col.desk-col--feed .compose-preview {
  width: 100%;
  max-width: 100%;
}

.avatar { width: 36px; height: 36px; border-radius: 999px; background: #4f4f53; object-fit: cover; }

.ghost-input {
  color: var(--muted);
  padding: 9px 0;
  border-radius: 8px;
  cursor: pointer;
}

.post-btn {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  border-radius: 10px;
  padding: 8px 15px;
  cursor: pointer;
  font-weight: 600;
}
.post-btn:hover { background: rgba(255,255,255,0.06); }
/* Profil: „Gefolgt“ gefüllt, „Erwähnen“ nur Outline */
.post-btn--profile-following {
  background: rgba(255, 255, 255, 0.16);
  border-color: transparent;
  color: var(--text);
}
.post-btn--profile-following:hover {
  background: rgba(255, 255, 255, 0.22);
}
.post-btn--profile-mention {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.38);
  color: var(--text);
}
.post-btn--profile-mention:hover {
  background: rgba(255, 255, 255, 0.06);
}
/* Profil Fremd: „Folgen“ weiß (#fff), ausstehend gedämpft */
.post-btn--profile-follow-primary {
  background: #fff !important;
  color: #0f0f0f !important;
  border-color: #fff !important;
}
.post-btn--profile-follow-primary:hover {
  background: #e8e8e8 !important;
  border-color: #e8e8e8 !important;
}
.post-btn--profile-follow-pending {
  background: transparent !important;
  color: var(--muted) !important;
  border: 1px solid var(--line) !important;
  cursor: default;
}
body.light .post-btn--profile-follow-primary {
  background: #0f0f0f !important;
  color: #fff !important;
  border-color: #0f0f0f !important;
}
body.light .post-btn--profile-follow-primary:hover {
  background: #2a2a2a !important;
  border-color: #2a2a2a !important;
}
body.light .post-btn--profile-following {
  background: rgba(0, 0, 0, 0.08);
  border-color: transparent;
}
body.light .post-btn--profile-following:hover {
  background: rgba(0, 0, 0, 0.12);
}
body.light .post-btn--profile-mention {
  border-color: rgba(0, 0, 0, 0.25);
}

/* @, #, URLs – Linkfarbe */
.text-link.text-link--mention,
.text-link.text-link--hashtag {
  color: var(--link);
  text-decoration: none;
  font-weight: inherit;
}
.text-link.text-link--mention:hover,
.text-link.text-link--hashtag:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.light .text-link.text-link--mention,
body.light .text-link.text-link--hashtag {
  color: var(--link);
}

.post-btn--sm {
  padding: 6px 10px;
  font-size: 13px;
  border-radius: 8px;
}

.feed-item {
  border-bottom: 1px solid var(--line);
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 36px;
  gap: 10px;
  align-items: start;
  position: relative;
}
.feed-item.feed-item--not-interested-row {
  display: block;
  padding: 0;
}
.post-hidden-not-interested-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  min-height: 48px;
  box-sizing: border-box;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}
.post-hidden-not-interested-row__msg {
  flex: 1;
  min-width: 0;
}
.post-hidden-not-interested-row__undo {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-weight: 600;
  color: var(--link, #4a9eff);
  cursor: pointer;
}
.post-hidden-not-interested-row__undo:hover {
  text-decoration: underline;
}
/* Grid-Item darf schrumpfen, sonst schiebt breiter Medieninhalt die Menü-Spalte aus dem Viewport */
.feed-main {
  min-width: 0;
}
.feed-item > .iconbtn {
  position: relative;
  z-index: 3;
  flex-shrink: 0;
  align-self: start;
  justify-self: end;
}
.feed-item > .iconbtn.feed-item__menu-btn {
  margin-top: -4px;
}
html.mobile-shell .feed-item > .iconbtn.feed-item__menu-btn {
  margin-top: -6px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.feed-main .meta { color: var(--muted); font-size: 14px; }
.feed-main .name { color: var(--text); font-weight: 700; margin-right: 6px; }
.feed-main p,
.feed-main .post-body--plain { margin: 8px 0 12px; line-height: 1.45; }

/* Klick auf Post (nicht Bild/Aktionen) → Thread */
.feed-main--thread-hit {
  cursor: pointer;
}
.feed-main--thread-hit .actions,
.feed-main--thread-hit .meta .name {
  cursor: default;
}
html.mobile-shell .feed-main--thread-hit {
  cursor: default;
}

.thread-inline-compose {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
}
.thread-inline-compose__input {
  flex: 1;
}
.thread-comments-block {
  min-height: 0;
}

/* Thread: eine Karte pro Hauptkommentar; Antworten darunter eingerückt (Instagram-nah) */
.thread-comments-block .thread-comment-card__feed-main {
  min-width: 0;
}
.thread-comment-node__replies {
  margin-top: 8px;
  padding-left: 10px;
  border-left: none;
}
/* Unter-Antworten: kein zusätzliches Padding (Mobil unverändert) */
.thread-comment-node__replies .thread-comment-node__replies {
  padding-left: 0 !important;
  border-left: none !important;
  margin-top: 8px;
}
html.mobile-shell .thread-comment-node__replies .thread-comment-node__replies,
html.mobile-shell .thread-comment-node__nested-main > .thread-comment-node__replies {
  margin-left: 0 !important;
}
/*
 * Desktop: Antworten liegen im DOM unter .nested-main (rechts neben Avatar) — ohne Ausgleich stapeln sie sich.
 * Einmalig 10px nur unter dem Hauptkommentar; alle tieferen Antworten dieselbe Zeile wie die erste Antwort.
 */
html:not(.mobile-shell) .thread-comment-node__nested-main > .thread-comment-node__replies {
  margin-left: calc(-1 * (36px + 8px));
  width: calc(100% + 36px + 8px);
  max-width: none;
  padding-left: 0 !important;
  border-left: none !important;
  margin-top: 8px;
  box-sizing: border-box;
}
/* Desktop: genau 10px zum ersten Antwort-Block unter dem Wurzelkommentar */
html:not(.mobile-shell) .thread-comments-block .thread-comment-card__feed-main > .thread-comment-node__replies {
  margin-left: 10px;
  margin-right: 0;
  padding-left: 0 !important;
}
.thread-comment-node__toggle-replies,
.thread-comment-node__load-more-replies {
  display: block;
  margin-top: 8px;
  padding: 0;
  border: none;
  background: none;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
.thread-comment-node__toggle-replies:hover,
.thread-comment-node__load-more-replies:hover {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.thread-comment-node__replies-loading {
  font-size: 14px;
  color: var(--muted);
  padding: 6px 0;
}
.thread-comment-node--nested {
  margin-top: 8px;
}
.thread-comment-node__nested-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 32px;
  gap: 8px;
  align-items: start;
}
.thread-comment-node__nested-main {
  min-width: 0;
}
.thread-comment-node__avatar--sm {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}
.thread-comment-node__menu--sm {
  width: 32px;
  height: 32px;
  justify-self: end;
}
.thread-comment-node__body {
  margin: 6px 0 8px;
}
.thread-comment-node__meta {
  margin: 0;
}
.thread-comments-empty-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: min(320px, 42vh);
  padding: 24px 16px 32px;
  box-sizing: border-box;
}
.thread-comments-empty-shell .page-empty-state {
  text-align: center;
}
.thread-comments-empty {
  padding: 24px 16px;
  color: var(--muted);
  text-align: center;
  font-size: 15px;
}
.thread-comments-more {
  padding: 14px 16px 20px;
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.thread-comments-more__btn {
  border: none;
  background: none;
  color: var(--muted);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 12px;
  font-family: inherit;
}
.thread-comments-more__btn:hover {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ——— Thread-Detail: Kopf wie Threads (Zurück, „Thread“, Aufrufe + Balken-Icon, ⋯) ——— */
.page-stack-card.page-stack-card--thread {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.page-stack-card.page-stack-card--thread > .thread-view-head {
  flex-shrink: 0;
}
.page-stack-card.page-stack-card--thread > .page-stack-body-flow {
  flex: 1 1 auto;
  min-height: 0;
}

.thread-view-head {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  gap: 4px;
  padding: 8px 10px 10px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  flex-shrink: 0;
}
.thread-view-head__back,
.thread-view-head__more {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  justify-self: center;
}
.thread-view-head__spacer {
  width: 40px;
  height: 40px;
  justify-self: center;
}
.thread-view-head__center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 0;
  gap: 2px;
}
.thread-view-head__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}
.thread-view-head__views-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
}
.thread-view-head__views-ic {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.88;
  color: var(--muted);
}

.thread-comments-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px 10px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.thread-sort-wrap {
  position: relative;
}
.thread-sort-trigger {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: none;
  background: none;
  padding: 4px 2px;
  margin: 0;
  cursor: pointer;
  font-family: inherit;
  color: var(--text);
  font-size: 15px;
  font-weight: 700;
}
.thread-sort-trigger__chev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text);
  opacity: 0.88;
  line-height: 0;
  margin-left: 2px;
}
.thread-sort-trigger__chev-svg {
  display: block;
}
.thread-sort-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  min-width: 220px;
  padding: 8px 0;
  border-radius: 16px;
  background: #262626;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
  z-index: 90;
}
body.light .thread-sort-menu {
  background: var(--surface-2);
  border-color: var(--line);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}
.thread-sort-menu__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 16px;
  border: none;
  background: none;
  color: var(--text);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
.thread-sort-menu__row:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .thread-sort-menu__row:hover {
  background: rgba(0, 0, 0, 0.05);
}
.thread-sort-menu__check {
  font-size: 16px;
  font-weight: 700;
  width: 22px;
  text-align: center;
}
.thread-activity-link {
  border: none;
  background: none;
  padding: 4px 0;
  margin: 0;
  cursor: pointer;
  font-family: inherit;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}
.thread-activity-link:hover {
  color: var(--text);
}
.thread-activity-link__chev {
  display: inline-block;
  margin-left: 4px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  opacity: 0.9;
}

/* Modal „Beitragsaktivität“ (nur Text-Vorschau, Aufrufe, Like-Anzahl — keine Like-Liste) */
.post-activity-overlay {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 48px 16px 24px;
  background: rgba(0, 0, 0, 0.72);
  box-sizing: border-box;
  overflow-y: auto;
}
.post-activity-modal {
  width: min(420px, 100%);
  max-width: 420px;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
  box-sizing: border-box;
  overflow: hidden;
}
.post-activity-modal__head {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 44px 14px;
  border-bottom: 1px solid var(--line);
  position: relative;
}
.post-activity-modal__title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
}
.post-activity-modal__close {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--text);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.post-activity-modal__body {
  padding: 16px 16px 20px;
  max-height: min(72vh, 640px);
  overflow-y: auto;
}
.post-activity-post-preview {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 16px;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}
.post-activity-post-preview__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 10px;
}
.post-activity-post-preview__av {
  width: 28px !important;
  height: 28px !important;
  flex-shrink: 0;
}
.post-activity-post-preview .meta {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 8px;
}
.post-activity-post-preview .post-body--plain,
.post-activity-post-preview .post-body--rich {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--text);
}
.post-activity-stat-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 4px;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
}
.post-activity-stat-row:last-child {
  border-bottom: none;
}
.post-activity-stat-row__ic {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text);
}
.post-activity-stat-row__ic svg {
  width: 20px;
  height: 20px;
}
.post-activity-stat-row__label {
  flex: 1 1 auto;
  font-weight: 500;
}
.post-activity-stat-row__val {
  font-weight: 700;
  color: var(--text);
}

.actions { display: flex; gap: 18px; color: var(--muted); font-size: 15px; }
.actions button {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  padding: 0;
}
.post-actions-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  min-width: 0;
  margin-top: 2px;
}
.post-like-phrase-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 4px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  line-height: 1.35;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.post-like-phrase-row__av {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  object-fit: cover;
  flex: 0 0 22px;
  flex-shrink: 0;
  display: block;
}
.post-like-phrase-row__text {
  display: block;
  flex: 1 1 0;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.post-actions-stack .actions.actions--post {
  margin-top: 0;
}
.actions--post {
  align-items: center;
  gap: 22px;
  color: var(--text);
}
.actions--post .post-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  margin: -2px -4px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  opacity: 0.92;
  transition: background-color 0.15s ease, opacity 0.15s ease, color 0.15s ease;
}
.actions--post .post-action-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  opacity: 1;
}
body.light .actions--post .post-action-btn:hover {
  background: rgba(0, 0, 0, 0.06);
}
.actions--post .post-action-btn--liked {
  color: #e50914;
  opacity: 1;
}
.actions--post .post-action-btn--liked .post-action-ic {
  color: #e50914;
}
.actions--post .post-action-btn--liked .post-action-count {
  color: #e50914;
}
/* Kommentar-Icon + Zahl bei vorhandenen Kommentaren: gleiche „Signal“-Stärke wie Likes, in kräftigem Blau */
.actions--post .post-action-btn--has-comments {
  color: #0a76e5;
  opacity: 1;
}
.actions--post .post-action-btn--has-comments .post-action-ic {
  color: #0a76e5;
}
.actions--post .post-action-btn--has-comments .post-action-count {
  color: #0a76e5;
}
.actions--post .post-action-btn--has-reposts {
  color: #27b04b;
  opacity: 1;
}
.actions--post .post-action-btn--has-reposts .post-action-ic,
.actions--post .post-action-btn--has-reposts .post-action-count {
  color: #27b04b;
}
.actions--post .post-action-btn--reposted .post-action-ic {
  color: #27b04b;
}
.actions--post .post-action-btn--has-shares {
  color: var(--text);
  opacity: 1;
}
.actions--post .post-action-btn--has-shares .post-action-ic,
.actions--post .post-action-btn--has-shares .post-action-count {
  color: inherit;
}
.actions--post .post-action-btn--save {
  margin-left: auto;
}
.actions--post .post-action-btn--saved {
  color: var(--text);
  opacity: 1;
}
.actions--post .post-action-ic {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: block;
  shape-rendering: geometricPrecision;
}
.actions--post .post-action-ic--fill {
  fill: currentColor;
}
.actions--post .post-action-count {
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  min-width: 0;
}
.actions--post .post-action-btn .post-action-count--like-line {
  max-width: min(200px, 46vw);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.actions--post .post-action-btn--liked .post-action-count--like-line {
  color: #e50914;
}
.actions--post .post-action-btn--thread-views .post-action-ic--thread-views {
  color: var(--muted);
}
.actions--post .post-action-btn--thread-views:hover .post-action-ic--thread-views {
  color: var(--text);
}

html:not(.mobile-shell) .thread-desk-views-bar-wrap {
  display: flex;
  justify-content: center;
  padding: 8px 16px 4px;
}
html:not(.mobile-shell) .thread-desk-views-bar {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: var(--muted);
  padding: 8px 14px;
  border-radius: 999px;
  max-width: 100%;
}
html:not(.mobile-shell) .thread-desk-views-bar:hover {
  background: rgba(127, 127, 127, 0.14);
  color: var(--text);
}
html:not(.mobile-shell) .thread-desk-views-bar__title {
  font-weight: 700;
  font-size: 15px;
  color: var(--text);
}
html:not(.mobile-shell) .thread-desk-views-bar__sep {
  margin: 0 8px;
  opacity: 0.65;
}
html:not(.mobile-shell) .thread-desk-views-bar__views {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
}
html:not(.mobile-shell) .thread-desk-views-bar__views-txt {
  color: var(--muted);
}
html:not(.mobile-shell) .thread-desk-views-bar:hover .thread-desk-views-bar__views-txt {
  color: var(--text);
}

.feed-main .meta .name {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.01em;
  margin-right: 0;
}

.menu {
  position: fixed;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
  z-index: 70;
}
.menu.in-modal {
  position: absolute;
}

@keyframes menuPopoverSpringIn {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
html:not(.mobile-shell) .menu.post-menu:not(.in-modal):not(.profile-header-overflow-menu),
html:not(.mobile-shell) .menu.repost-menu,
html:not(.mobile-shell) .sidebar-menu,
html:not(.mobile-shell) .desk-add-menu,
html:not(.mobile-shell) .activity-filter-menu.activity-filter-menu--desk-inline,
html:not(.mobile-shell) .compose-modal__popover {
  animation: menuPopoverSpringIn 0.24s cubic-bezier(0.16, 1, 0.3, 1);
}
html:not(.mobile-shell) .menu.post-menu:not(.in-modal):not(.profile-header-overflow-menu) {
  transform-origin: top right;
}
html:not(.mobile-shell) .menu.repost-menu {
  transform-origin: top left;
}
html:not(.mobile-shell) .sidebar-menu {
  transform-origin: top center;
}
html:not(.mobile-shell) .desk-add-menu {
  transform-origin: top left;
}
html:not(.mobile-shell) .activity-filter-menu.activity-filter-menu--desk-inline {
  transform-origin: top left;
}
html:not(.mobile-shell) .compose-modal__popover {
  transform-origin: top right;
}

.post-menu {
  width: min(221px, calc(100vw - 24px));
  min-height: auto;
  padding: 8px;
  border-radius: 16px;
  z-index: 200;
}
.sidebar-menu { width: 245px; min-height: 434px; padding: 8px; }
.repost-menu {
  width: 196px;
  min-height: 110px;
  padding: 8px;
  z-index: 200;
}
.activity-filter-menu {
  width: 240px;
  min-height: 328px;
  padding: 8px;
}
.activity-filter-menu.activity-filter-menu--anchored,
.activity-filter-menu.activity-filter-menu--desk-inline {
  min-height: 0;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 120;
  margin: 0;
  border-radius: 14px;
  background: #262626;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 14px 44px rgba(0, 0, 0, 0.52);
}
.activity-filter-menu.activity-filter-menu--desk-inline {
  left: auto;
  right: 0;
}
body.light .activity-filter-menu.activity-filter-menu--anchored,
body.light .activity-filter-menu.activity-filter-menu--desk-inline {
  background: var(--surface-2);
  border-color: var(--line);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.14);
}

/* Filter in Aktivitäten-Spalte: Kopf liegt außerhalb der Karte */
.desk-pane-column-wrap .activity-filter-menu--desk-pane {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 46px;
  z-index: 25;
  margin: 0;
}

.page-stack-title--activities {
  justify-content: center !important;
}
.activity-head-title-group {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: 100%;
}
.activity-head-title-text {
  font-weight: 600;
  font-size: 17px;
  cursor: pointer;
  user-select: none;
}
.activity-filter-anchor {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.activity-filter-chevron-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: transparent;
  color: #f3f5f7;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.activity-filter-chevron-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.45);
}
.activity-filter-chevron-btn:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.35);
  outline-offset: 2px;
}
body.light .activity-filter-chevron-btn {
  border-color: rgba(0, 0, 0, 0.22);
  color: #1a1d22;
}
body.light .activity-filter-chevron-btn:hover {
  background: rgba(0, 0, 0, 0.05);
}

.desk-col-head.desk-col-head--activities {
  justify-content: space-between;
  padding: 0 8px 0 12px;
}
.desk-col-head.desk-col-head--activities .desk-col-head__activity-title {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}
.desk-col-head.desk-col-head--activities .desk-col-head__actions {
  position: static;
  transform: none;
  flex-shrink: 0;
}
.activity-filter-anchor--desk {
  margin-left: 2px;
}
.theme-menu { width: 245px; min-height: 96px; padding: 10px; }
/* Compose Optionen-Popup: .compose-options-popover (unten bei .compose-modal__popover--options) */

.menu-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border-radius: 10px;
  cursor: pointer;
}
.menu-row:hover { background: rgba(127,127,127,0.12); }
.menu-row.danger { color: var(--danger); }
.menu-divider { border: 0; border-top: 1px solid var(--line); margin: 8px 0; }

.modal-overlay {
  position: fixed;
  inset: 0;
  background: var(--modal-scrim);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 80;
  box-sizing: border-box;
  padding-left: var(--modal-content-shift-x);
}
.modal {
  width: 620px;
  max-width: 96vw;
  min-height: 277px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
}
.modal.modal-location {
  width: 620px;
  min-height: 658px;
}
.modal-head--account-danger-xonly {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: 40px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
}
.account-danger-top--centered {
  text-align: center;
}
.account-danger-top--centered .account-danger-lead {
  text-align: center;
}
.account-danger-top--centered .account-danger-list {
  display: inline-block;
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  max-width: 32rem;
}
.modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
}
.modal-body { padding: 14px 16px; }

/* Melde-Assistent: nur über ✕ schließen, kein Klick-außerhalb */
.modal-overlay--report-wiz-no-dismiss {
  pointer-events: auto;
}
.modal--report-wiz {
  width: min(440px, 96vw);
  min-height: 400px;
  max-height: min(88vh, 720px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.report-wiz-head {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--line);
}
.report-wiz-head__title {
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
}
.report-wiz-back,
.report-wiz-close {
  justify-self: center;
}
.report-wiz-back-spacer {
  display: block;
  width: 36px;
  height: 36px;
}
.report-wiz-body {
  overflow: hidden;
  padding-top: 16px;
  padding-bottom: 20px;
}
.report-wiz-h2 {
  margin: 0 0 10px;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
}
.report-wiz-h3 {
  margin: 18px 0 8px;
  font-size: 0.95rem;
  font-weight: 600;
}
.report-wiz-lead {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.report-wiz-inline-link {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: inherit;
  color: var(--accent, #0095f6);
  cursor: pointer;
  text-decoration: underline;
}
.report-wiz-actions--full {
  width: 100%;
}
.report-wiz-actions--full .report-wiz-submit {
  width: 100%;
}
.report-flow-row--user .report-flow-row__utext {
  flex: 1;
  min-width: 0;
}
.report-wiz-muted {
  margin: 12px 0 4px;
  font-size: 12px;
  color: var(--muted);
}
.report-wiz-answer {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.4;
}
.report-wiz-path {
  margin: 0 0 8px;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.45;
}
.report-wiz-note-lab {
  display: block;
  margin-top: 14px;
}
.report-wiz-note {
  width: 100%;
  margin-top: 6px;
  box-sizing: border-box;
}
.report-wiz-search {
  width: 100%;
  margin-bottom: 10px;
  box-sizing: border-box;
}
.report-wiz-actions {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}
.report-flow-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.report-flow-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  text-align: left;
  padding: 14px 4px 14px 2px;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font-size: 14px;
  line-height: 1.35;
  cursor: pointer;
}
.report-flow-row:first-child {
  border-top: 1px solid var(--line);
}
.report-flow-row:hover {
  background: rgba(127, 127, 127, 0.06);
}
.report-flow-row__chev {
  flex-shrink: 0;
  opacity: 0.45;
  font-size: 18px;
  font-weight: 300;
}
.report-wiz-submit {
  width: 100%;
  justify-content: center;
  margin-top: 4px;
  border-radius: 12px;
  min-height: 48px;
  font-weight: 600;
  border: none !important;
}
/* Absenden-Report: hoher Kontrast — Dark: helle Fläche, Light: Akzent + weiße Schrift */
body:not(.light) .report-wiz-submit {
  background: #fff !important;
  color: #0a0a0a !important;
}
body:not(.light) .report-wiz-submit:hover {
  filter: brightness(0.96);
}
body.light .report-wiz-submit {
  background: var(--accent, #0095f6) !important;
  color: #fff !important;
}
body.light .report-wiz-submit:hover {
  filter: brightness(1.06);
}
.report-wiz-done {
  text-align: center;
  padding: 8px 4px 20px;
}
.report-wiz-done__circle {
  width: 64px;
  height: 64px;
  margin: 12px auto 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
  background: rgba(52, 199, 89, 0.2);
  color: #34c759;
}
.report-wiz-done__h {
  margin: 0 0 10px;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.35;
}
.report-wiz-done__sub {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.report-wiz-done-actions {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 16px;
  border-top: 1px solid var(--line);
}
.report-wiz-done-actions__h {
  font-size: 13px;
  font-weight: 600;
  margin: 14px 0 8px;
  text-align: left;
}
.report-wiz-done-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  padding: 12px 2px;
  border: none;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font-size: 14px;
  cursor: pointer;
}
.report-wiz-done-row--danger {
  color: #ff453a;
}
.report-wiz-done-finish {
  width: 100%;
  margin-top: 8px;
  border-radius: 12px;
  min-height: 48px;
  font-weight: 600;
  border: none !important;
}
body:not(.light) .report-wiz-done-finish {
  background: #fff !important;
  color: #0a0a0d !important;
}
body.light .report-wiz-done-finish {
  background: #0f1115 !important;
  color: #fff !important;
}
.report-flow-row--user {
  display: flex;
  align-items: center;
  gap: 10px;
}
.report-flow-row__av {
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.report-flow-row__utext {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.report-flow-row__un {
  font-weight: 600;
}
.report-flow-row__dn {
  font-size: 12px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-blocked-banner {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
  background: rgba(127, 127, 127, 0.1);
  border: 1px solid var(--line);
}
.chat-compose-outer--invite-pending {
  padding: 8px 12px max(12px, env(safe-area-inset-bottom, 0px));
}
.chat-invite-pending-banner {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(127, 127, 127, 0.08);
  border: 1px solid var(--line);
}
.chat-invite-pending-banner__title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--text);
}
.chat-invite-pending-banner__hint {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
}
.desk-msg-compose-wrap .chat-invite-pending-banner {
  width: 100%;
  box-sizing: border-box;
}
.chat-head--thread .chat-thread-report {
  justify-self: end;
  width: 36px;
  height: 36px;
}

.modal-body.compose-body {
  position: relative;
  overflow: visible;
}

/* ——— Compose-Modal (Thread-UI wie Referenz-Screenshot) ——— */
.compose-overlay {
  align-items: center;
  justify-content: center;
  padding-top: max(12px, env(safe-area-inset-top, 0px));
  padding-right: max(12px, env(safe-area-inset-right, 0px));
  padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
  padding-left: calc(var(--modal-content-shift-x) + max(12px, env(safe-area-inset-left, 0px)));
}

.modal.compose-modal {
  /* Gleiche Schrift wie Haupt-Textfeld (Threads-ähnlich) — wie body */
  --compose-body-font-size: 17px;
  --compose-body-line-height: 1.45;
  --compose-body-font: Inter, Segoe UI, system-ui, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
  /* Post-/Compose-Modal: wächst mit Inhalt (Threads-ähnlich) */
  width: min(620px, calc(100vw - 24px));
  max-width: 620px;
  height: auto;
  min-height: 277px;
  max-height: calc(100vh - 24px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: var(--surface);
  color: var(--text);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
  overflow: hidden;
  position: relative;
  font-family: var(--compose-body-font);
  font-size: var(--compose-body-font-size);
  line-height: var(--compose-body-line-height);
}
.modal.compose-modal.compose-modal--reply {
  min-height: 0;
  max-height: min(900px, calc(100dvh - 32px));
}
.compose-modal--reply .compose-modal__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.compose-modal--reply .compose-modal__reply-quote-wrap {
  margin: 0 0 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.light .compose-modal--reply .compose-modal__reply-quote-wrap {
  border-bottom-color: var(--line);
}
/* Antwort-Modal: Autor-Avatar + Linie bis eigenes Avatar in derselben Rail-Spalte (kein Einzug der Compose-Spalte) */
.compose-modal__thread-stack--reply-chain {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.compose-modal__reply-chain-row {
  display: flex;
  gap: 12px;
  align-items: stretch;
  width: 100%;
}
.compose-modal__reply-chain-row--composed {
  align-items: flex-start;
}
/* Obere Zeile (Mobil): Flex, kein Stretch der Zitat-Spalte */
.compose-modal__reply-chain-row--top {
  align-items: flex-start;
}
.compose-modal__rail-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 40px;
  flex-shrink: 0;
}
.compose-modal__rail-slot--composed {
  align-items: center;
}
.compose-modal__avatar--quoted-top {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.compose-modal__avatar--reply-self {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.compose-modal__rail-line--fill-down {
  flex: 1 1 auto;
  width: 2px;
  min-height: 12px;
  margin: 6px 0 0;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 2px;
}
.compose-modal__rail-line--cap {
  width: 2px;
  height: 10px;
  flex-shrink: 0;
  margin: 0;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 2px;
}
.compose-modal__rail-line--before-thread {
  width: 2px;
  height: 10px;
  flex-shrink: 0;
  margin: 6px 0 0;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 2px;
}
.compose-modal__rail-line--tail-mobile {
  width: 2px;
  flex: 1 1 auto;
  min-height: 8px;
  margin: 6px 0 0;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 2px;
}
body.light .compose-modal__rail-line--fill-down,
body.light .compose-modal__rail-line--cap,
body.light .compose-modal__rail-line--before-thread,
body.light .compose-modal__rail-line--tail-mobile {
  background: rgba(0, 0, 0, 0.12);
}
.compose-modal__reply-compose-user-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.compose-modal__reply-quote-column {
  flex: 1;
  min-width: 0;
  padding-bottom: 2px;
  margin-bottom: 8px;
  border-bottom: none;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-quote-column {
  margin-bottom: 0;
  padding-bottom: 0;
}
/* Kein Extra-Abstand unter Zitat-Text (Spalte hat schon padding-bottom); vermeidet „Leerzeile“ neben pre-wrap */
.compose-modal__thread-stack--reply-chain .reply-modal__quoted-body {
  margin-bottom: 0;
}
.compose-modal__thread-stack--reply-chain .post-body--rich p:empty {
  display: none;
}
.compose-modal__thread-stack--reply-chain .reply-modal__quoted-body.post-body--rich p:last-child {
  margin-bottom: 0;
}
.compose-modal__reply-compose-column {
  flex: 1;
  min-width: 0;
  /* Gleiche vertikale Offset wie Anschlussstrich (cap) links, damit Avatar mit Nutzerzeile fluchtet */
  padding-top: 10px;
}
/*
 * Desktop Antwort-Modal: Oberkante Avatar (nach Cap) = Oberkante Nutzername wie bei testuser.
 * Ohne das zentriert align-items:center + min-height:36px am Thema-Slot den Namen in der Zeile — wirkt wie Avatar „unter“ dem Namen / an der Textarea.
 */
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-compose-user-main > .compose-modal__user-row {
  align-items: flex-start;
  margin-bottom: 0;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__topic-slot {
  min-height: 22px;
  align-items: flex-start;
}

/*
 * Desktop Antwort-Modal ≈ Threads-Referenz: feste Avatar-Spalte 40px, Inhaltsspalte bündig.
 * Rail-Zelle stretcht mit Zeilenhöhe (Linie wächst); Quote/Compose nur so hoch wie Inhalt (kein Leerraum unten).
 */
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-chain-row--top {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  width: 100%;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-chain-row--top > .compose-modal__rail-slot {
  width: 40px;
  min-height: 0;
  align-self: stretch;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-chain-row--top > .compose-modal__reply-quote-column {
  align-self: start;
  margin-left: 0;
  min-width: 0;
  width: 100%;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-chain-row--composed {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  width: 100%;
  position: relative;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-chain-row--composed > .compose-modal__rail-slot {
  width: 40px;
  min-height: 0;
  align-self: stretch;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-chain-row--composed > .compose-modal__reply-compose-column {
  align-self: start;
  min-width: 0;
  width: 100%;
}
/* Desktop: eigenes Avatar absolut in der 40px-Spalte; Text bündig mit Zitat */
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-compose-column--desk-abs {
  position: relative;
  padding-top: 8px;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-compose-column--desk-abs .compose-modal__avatar--reply-desk-abs {
  position: absolute;
  left: -50px;
  top: 8px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
  z-index: 1;
  flex-shrink: 0;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__rail-slot--composed .compose-modal__rail-line--cap {
  height: 8px;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__rail-line--compose-mid-desk {
  flex: 1 1 auto;
  width: 2px;
  min-height: 36px;
  margin: 0;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 2px;
}
body.light .compose-modal--reply .compose-modal__rail-line--compose-mid-desk {
  background: rgba(0, 0, 0, 0.12);
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__rail-slot--composed .compose-modal__rail-line--before-thread {
  margin-top: 2px;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-compose-column--desk-abs .compose-modal__textarea-stack {
  margin-top: 0;
}
/* Nutzername-Zeile wie Zitat-Meta (15px) */
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-compose-column .compose-modal__username {
  font-size: 15px;
  line-height: 1.25;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-compose-column .compose-modal__chev {
  font-size: 15px;
  line-height: 1.25;
}
/* Antwort-Modal Desktop: Instagram/Threads-Kopfzeile (⋯ statt Kreis-Menü, keine Entwürfe) */
html.mobile-shell .compose-modal--reply .compose-modal__head-icon--reply-desk-more {
  display: none !important;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-head-more-mob {
  display: none !important;
}
html:not(.mobile-shell) .compose-modal--reply .compose-modal__reply-head-drafts-btn {
  display: none !important;
}
.compose-modal__head-icon--reply-desk-more svg {
  width: 20px;
  height: 20px;
  display: block;
}
.compose-modal__head-icon--reply-desk-more svg circle {
  fill: currentColor;
}

.compose-modal__toolbar--reply-desk .compose-modal__tool {
  color: rgba(255, 255, 255, 0.52);
}
body.light .compose-modal__toolbar--reply-desk .compose-modal__tool {
  color: rgba(15, 17, 21, 0.45);
}
.compose-modal__toolbar--reply-desk .compose-modal__tool:hover {
  color: rgba(255, 255, 255, 0.92);
}
body.light .compose-modal__toolbar--reply-desk .compose-modal__tool:hover {
  color: var(--text);
}

.compose-modal__reply-compose-column .compose-modal__thread-add--reply-faint {
  margin-top: 14px;
  align-self: flex-start;
}
.compose-modal__avatar--thread-add-faint {
  opacity: 0.38;
}
.compose-modal__thread-add--reply-faint {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.48);
  cursor: pointer;
  text-align: left;
}
body.light .compose-modal__thread-add--reply-faint {
  color: rgba(15, 17, 21, 0.45);
}
.compose-modal__thread-add--reply-faint:hover {
  color: rgba(255, 255, 255, 0.72);
}
body.light .compose-modal__thread-add--reply-faint:hover {
  color: rgba(15, 17, 21, 0.65);
}

.modal.compose-modal.compose-modal--emoji-open,
.modal.compose-modal.compose-modal--head-menu-open,
.modal.compose-modal.compose-modal--options-open,
.modal.compose-modal.compose-modal--thread-extras {
  overflow: visible;
}
.modal.compose-modal.compose-modal--emoji-open .compose-modal__scroll {
  overflow: visible;
}
.modal.compose-modal.compose-modal--head-menu-open .compose-modal__scroll,
.modal.compose-modal.compose-modal--topic-suggest-open .compose-modal__scroll,
.modal.compose-modal.compose-modal--options-open .compose-modal__scroll,
.modal.compose-modal.compose-modal--thread-extras .compose-modal__scroll {
  overflow: visible;
}
.modal.compose-modal.compose-modal--topic-suggest-open .compose-modal__grid,
.modal.compose-modal.compose-modal--topic-suggest-open .compose-modal__main {
  overflow: visible;
}
.modal.compose-modal.compose-modal--emoji-open .compose-modal__grid,
.modal.compose-modal.compose-modal--emoji-open .compose-modal__main {
  overflow: visible;
}
.modal.compose-modal.compose-modal--options-open .compose-modal__grid,
.modal.compose-modal.compose-modal--options-open .compose-modal__main,
.modal.compose-modal.compose-modal--thread-extras .compose-modal__grid,
.modal.compose-modal.compose-modal--thread-extras .compose-modal__main {
  overflow: visible;
}
.modal.compose-modal.compose-modal--options-open .compose-modal__foot {
  overflow: visible;
}
body.light .modal.compose-modal {
  background: var(--surface);
  color: var(--text);
  border-color: var(--line);
  box-shadow: none;
}

.compose-modal__head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 12px 10px 12px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}
body.light .compose-modal__head {
  border-bottom-color: var(--line);
}

.compose-modal__cancel {
  grid-column: 1;
  justify-self: start;
  margin: 0;
  padding: 6px 4px;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.compose-modal__title {
  grid-column: 2;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.compose-modal__head-actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 2px;
}

.compose-modal__head-icon {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.92);
  display: grid;
  place-items: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.compose-modal__head-icon:hover {
  background: rgba(255, 255, 255, 0.08);
}
body.light .compose-modal__head-icon {
  color: var(--text);
}
body.light .compose-modal__head-icon:hover {
  background: rgba(0, 0, 0, 0.06);
}

.compose-ic {
  width: 22px;
  height: 22px;
  display: block;
}
.compose-ic--sm {
  width: 20px;
  height: 20px;
}

.compose-modal__scroll {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
  padding: 14px 16px 10px;
}

.compose-modal__grid {
  display: flex;
  gap: 12px;
  align-items: stretch;
}

.compose-modal__rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 40px;
  flex-shrink: 0;
}

.compose-modal__avatar {
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.compose-modal__avatar--main {
  width: 36px;
  height: 36px;
}
.compose-modal__avatar--reply {
  width: 28px;
  height: 28px;
  opacity: 0.42;
}

.compose-modal__rail-line {
  flex: 1 1 auto;
  width: 2px;
  min-height: 40px;
  margin: 6px 0;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 2px;
}
body.light .compose-modal__rail-line {
  background: rgba(0, 0, 0, 0.12);
}

.compose-modal__main {
  flex: 1;
  min-width: 0;
  overflow: visible;
}

.compose-modal__user-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  margin-bottom: 4px;
}

.compose-modal__username {
  font-weight: 700;
  font-size: var(--compose-body-font-size);
  line-height: var(--compose-body-line-height);
  font-family: var(--compose-body-font);
}

.compose-modal__chev {
  color: rgba(255, 255, 255, 0.35);
  font-size: var(--compose-body-font-size);
  line-height: var(--compose-body-line-height);
  user-select: none;
}
body.light .compose-modal__chev {
  color: var(--muted);
}

.compose-modal__topic-slot {
  position: relative;
  flex: 1 1 auto;
  min-width: 56px;
  max-width: 100%;
  min-height: 36px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.compose-modal__topic-input {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  height: 22px;
  min-height: 22px;
  max-height: 22px;
  padding: 0 2px 0 0;
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-family: var(--compose-body-font);
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  outline: none;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.compose-modal__topic-input::placeholder {
  color: rgba(255, 255, 255, 0.45);
  opacity: 1;
}
body.light .compose-modal__topic-input::placeholder {
  color: var(--muted);
  opacity: 1;
}

.compose-modal__topic-input:focus,
.compose-modal__topic-input:focus-visible {
  border-bottom: 0;
  box-shadow: none;
  outline: none;
}

.compose-topic-suggest {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 36;
  width: min(360px, calc(100vw - 56px));
  max-width: min(360px, calc(100vw - 56px));
  padding: 0;
  border-radius: 10px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 14px 44px rgba(0, 0, 0, 0.52);
  text-align: left;
  overflow: hidden;
}
body.light .compose-topic-suggest {
  background: var(--surface-2);
  border-color: var(--line);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.14);
}

.compose-topic-suggest__list {
  max-height: 360px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.compose-topic-suggest__item,
.compose-topic-suggest__create {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 11px 14px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: var(--compose-body-font);
  font-size: var(--compose-body-font-size);
  line-height: var(--compose-body-line-height);
  -webkit-tap-highlight-color: transparent;
}

.compose-topic-suggest__item:last-child,
.compose-topic-suggest__create:last-child {
  border-bottom: 0;
}

body.light .compose-topic-suggest__item,
body.light .compose-topic-suggest__create {
  border-bottom-color: var(--line);
}

.compose-topic-suggest__main {
  font-weight: 700;
  color: rgba(255, 255, 255, 0.96);
  font-size: var(--compose-body-font-size);
  line-height: 1.25;
}
body.light .compose-topic-suggest__main {
  color: var(--text);
}

.compose-topic-suggest__meta {
  display: block;
  margin-top: 1px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.5);
}
body.light .compose-topic-suggest__meta {
  color: var(--muted);
}

.compose-topic-suggest__item:hover,
.compose-topic-suggest__create:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .compose-topic-suggest__item:hover,
body.light .compose-topic-suggest__create:hover {
  background: rgba(0, 0, 0, 0.04);
}

.compose-modal__quote {
  position: relative;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.45);
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  margin-bottom: 8px;
  text-align: left;
}
.compose-modal__quote--loading {
  min-height: 52px;
  display: flex;
  align-items: center;
}
.compose-modal__quote-loading {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
}
.compose-modal__quote-remove {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.85);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  z-index: 2;
}
.compose-modal__quote-remove:hover {
  background: rgba(255, 255, 255, 0.14);
}
.compose-modal__quote--embed {
  color: var(--fg);
}
.compose-modal__quote-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 6px;
  font-size: 14px;
  padding-right: 32px;
}
.compose-modal__quote-name {
  font-weight: 600;
  color: var(--fg);
}
.compose-modal__quote-sep {
  color: var(--muted);
}
.compose-modal__quote-time {
  color: var(--muted);
  font-size: 13px;
}
.compose-modal__quote-body {
  font-size: 15px;
  line-height: 1.45;
  color: var(--fg);
}
.compose-modal__quote-body--plain {
  white-space: pre-wrap;
  word-break: break-word;
}
.compose-modal__quote-media {
  margin-top: 8px;
  border-radius: 10px;
  overflow: hidden;
}
body.light .compose-modal__quote {
  color: var(--muted);
  border-color: var(--line);
}
body.light .compose-modal__quote-loading {
  color: var(--muted);
}

.compose-modal__textarea-stack-wrap {
  position: relative;
  width: 100%;
}
.compose-modal__textarea-stack-wrap--counter {
  padding-bottom: 20px;
  box-sizing: border-box;
}
.compose-modal__plain-count {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 12px;
  line-height: 1.2;
  color: var(--muted);
  letter-spacing: 0.02em;
  pointer-events: none;
  user-select: none;
}
.compose-modal__post-meta-sublines {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  margin: 2px 0 4px;
  width: 100%;
  min-width: 0;
}
.compose-modal__meta-subl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
  min-width: 0;
}
.compose-modal__meta-subl--badges .post-meta-badges-row {
  font-size: 13px;
}
.compose-head-menu__end .compose-modal__sensitive-tgl-svg {
  width: 20px;
  height: 20px;
  display: block;
}
.post-meta-badges-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  min-width: 0;
}
.post-meta-badges-sep {
  margin: 0 5px;
  color: var(--muted);
  opacity: 0.85;
}
.post-meta-badge-btn {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 13px;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.post-meta-badge-btn:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
  color: rgba(255, 255, 255, 0.72);
}
body.light .post-meta-badge-btn {
  color: var(--muted);
}
body.light .post-meta-badge-btn:hover {
  color: var(--text);
}
.feed-main .meta-sub .post-meta-badge-btn {
  font-size: 13px;
}
/* Sensibler Inhalt: orange wie früher (.post-sensitive-badge) */
.post-meta-badge-btn--sensitive {
  color: rgba(255, 180, 120, 0.95);
}
.post-meta-badge-btn--sensitive:hover {
  color: rgba(255, 210, 165, 0.98);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.light .post-meta-badge-btn--sensitive {
  color: #b45309;
}
body.light .post-meta-badge-btn--sensitive:hover {
  color: #92400e;
}
.post-meta-explain-ic {
  display: flex;
  justify-content: center;
  margin: 4px auto 12px;
  color: rgba(255, 180, 120, 0.95);
}
.post-meta-explain-ic--ai {
  color: rgba(180, 200, 255, 0.95);
}
.post-meta-explain-ic--sensitive {
  color: rgba(255, 180, 120, 0.95);
}
.post-meta-explain-ic .compose-modal__sensitive-tgl-svg {
  width: 44px;
  height: 44px;
}
.post-meta-explain-ic-svg {
  width: 44px;
  height: 44px;
  display: block;
}
.post-meta-explain-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted);
  text-align: center;
}
.post-meta-explain-modal .post-meta-explain-desk-body {
  text-align: center;
  padding-bottom: 4px;
}
.post-meta-explain-sheet__inner {
  padding: 8px 16px 18px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.post-meta-explain-sheet__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
}
.post-meta-explain-sheet .post-meta-explain-text {
  text-align: center;
  max-width: 100%;
}
.post-meta-explain-close {
  margin-top: 14px;
}
.post-meta-explain-sheet__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin-top: 16px;
  box-sizing: border-box;
}
.post-meta-explain-desk-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
  width: 100%;
  box-sizing: border-box;
}
.post-meta-explain-close--desk {
  width: 100%;
  box-sizing: border-box;
}
/* Bottom-Sheet: Schließen wie „Folgen“ — weiß, dunkle Schrift, volle Breite */
.post-meta-explain-sheet .post-meta-explain-close--sheet {
  width: 100%;
  box-sizing: border-box;
  margin-top: 0;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 700;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #fff !important;
}
.post-meta-explain-sheet .post-meta-explain-close--sheet:hover {
  background: #e8e8e8 !important;
  border-color: #e8e8e8 !important;
}
body.light .post-meta-explain-sheet .post-meta-explain-close--sheet {
  background: #fff !important;
  color: #111 !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
}
body.light .post-meta-explain-sheet .post-meta-explain-close--sheet:hover {
  background: #f3f3f3 !important;
}
/* Sekundär: Label entfernen — dezentes Rot (Dark / Light) */
.post-meta-explain-remove--sheet {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 700;
  background: rgba(200, 72, 72, 0.22) !important;
  color: #f0b0b0 !important;
  border: 1px solid rgba(210, 90, 90, 0.38) !important;
}
.post-meta-explain-remove--sheet:hover {
  background: rgba(210, 82, 82, 0.34) !important;
  border-color: rgba(220, 100, 100, 0.48) !important;
}
body.light .post-meta-explain-remove--sheet {
  background: rgba(190, 50, 50, 0.1) !important;
  color: #9c2a2a !important;
  border: 1px solid rgba(180, 50, 50, 0.22) !important;
}
body.light .post-meta-explain-remove--sheet:hover {
  background: rgba(190, 50, 50, 0.16) !important;
}
.post-meta-explain-remove--desk {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 700;
  background: rgba(200, 72, 72, 0.22) !important;
  color: #f0b0b0 !important;
  border: 1px solid rgba(210, 90, 90, 0.38) !important;
}
.post-meta-explain-remove--desk:hover {
  background: rgba(210, 82, 82, 0.34) !important;
  border-color: rgba(220, 100, 100, 0.48) !important;
}
body.light .post-meta-explain-remove--desk {
  background: rgba(190, 50, 50, 0.1) !important;
  color: #9c2a2a !important;
  border: 1px solid rgba(180, 50, 50, 0.22) !important;
}
body.light .post-meta-explain-remove--desk:hover {
  background: rgba(190, 50, 50, 0.16) !important;
}
.profile-instant-shell__bio-sk {
  padding: 0 4px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.profile-instant-shell__bio-sk-line {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.16);
  width: 100%;
}
.profile-instant-shell__bio-sk-line--mid {
  width: 92%;
}
.profile-instant-shell__bio-sk-line--short {
  width: 55%;
}
body.light .profile-instant-shell__bio-sk-line {
  background: rgba(0, 0, 0, 0.08);
}
.profile-media-mob__hdr-sub--badges {
  margin-top: 1px;
}
.compose-modal__sensitive-tgl-svg {
  width: 14px;
  height: 14px;
  display: block;
}
.compose-modal__plain-count--warn {
  color: var(--danger);
  font-weight: 600;
}

.compose-modal__textarea-stack {
  position: relative;
  width: 100%;
  min-height: 22px;
  max-height: 140px;
  margin-top: 0;
  margin-bottom: 0;
}
.compose-modal__textarea-mirror {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  min-height: 22px;
  max-height: 132px;
  overflow: hidden;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-size: 15px !important;
  line-height: 22px;
  font-family: var(--compose-body-font);
  white-space: pre-wrap;
  word-wrap: break-word;
  color: var(--text);
  pointer-events: none;
}
.compose-modal__textarea.compose-modal__textarea--highlight {
  position: relative;
  z-index: 1;
  color: transparent !important;
  caret-color: var(--text);
  -webkit-text-fill-color: transparent;
}
.compose-modal__textarea.compose-modal__textarea--highlight::placeholder {
  -webkit-text-fill-color: rgba(255, 255, 255, 0.38);
}
body.light .compose-modal__textarea.compose-modal__textarea--highlight::placeholder {
  -webkit-text-fill-color: var(--muted);
}
.compose-modal__textarea {
  width: 100%;
  min-height: 22px;
  max-height: 132px;
  resize: none;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 15px !important;
  line-height: 22px;
  outline: none;
  padding: 0;
  margin: 0;
  font-family: var(--compose-body-font);
  overflow-y: auto;
  box-sizing: border-box;
}
.compose-modal__textarea::placeholder {
  color: rgba(255, 255, 255, 0.38);
}
body.light .compose-modal__textarea::placeholder {
  color: var(--muted);
}

/* Mobil: Bei Bild-/Video-Vorschau Textbereich höher — Medien rutschen mit nach unten statt Text darunter zu verdecken */
html.mobile-shell .compose-modal__main:has(.compose-modal__previews) .compose-modal__textarea-stack {
  position: relative;
  z-index: 1;
  max-height: min(58vh, 440px);
  background: var(--surface);
}
html.mobile-shell .compose-modal__main:has(.compose-modal__previews) .compose-modal__textarea,
html.mobile-shell .compose-modal__main:has(.compose-modal__previews) .compose-modal__textarea-mirror {
  max-height: min(54vh, 400px);
}
html.mobile-shell .compose-modal__main:has(.compose-modal__previews) .compose-modal__previews {
  position: relative;
  z-index: 0;
}

html.mobile-shell .compose-modal__textarea-stack--mob-dense .compose-modal__textarea,
html.mobile-shell .compose-modal__textarea-stack--mob-dense .compose-modal__textarea-mirror {
  font-size: 14px !important;
  line-height: 20px;
}
.modal-overlay.compose-plain-limit-overlay {
  z-index: 260856 !important;
}
.compose-plain-limit-modal--desk .compose-plain-limit-modal__body {
  margin: 0;
  padding: 0 16px 10px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
}
.compose-plain-limit-modal__foot .compose-plain-limit-modal__cancel {
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--line, #fff) 32%, transparent);
  color: var(--text);
}
body.light .compose-plain-limit-modal__foot .compose-plain-limit-modal__cancel {
  border-color: rgba(0, 0, 0, 0.14);
}
html.mobile-shell .compose-plain-limit-card__btns {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
  width: 100%;
}
html.mobile-shell .compose-plain-limit-card__btns .ui-hint-ios-card__btn {
  width: 100%;
  box-sizing: border-box;
}
html.mobile-shell .ui-hint-ios-card__btn--secondary {
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--line, #fff) 24%, transparent);
  color: var(--text);
  font-weight: 600;
}
html.mobile-shell body.light .ui-hint-ios-card__btn--secondary {
  border-color: rgba(0, 0, 0, 0.12);
  background: transparent;
  color: var(--text);
}

.compose-modal__location {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.42);
  font-size: 15px;
  line-height: 1.3;
  font-family: var(--compose-body-font);
  cursor: default;
}
.compose-modal__location--picked {
  color: #5959c2;
}
body.light .compose-modal__location {
  color: var(--muted);
}
body.light .compose-modal__location--picked {
  color: #5959c2;
}
.compose-modal__location-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(360px, calc(100vw - 170px));
}
.compose-modal__location-x {
  opacity: 0;
  transition: opacity 0.15s ease;
  cursor: pointer;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  margin: 0;
  line-height: 1;
  font: inherit;
}
.compose-modal__location:hover .compose-modal__location-x {
  opacity: 1;
}
html.mobile-shell .compose-modal__location .compose-modal__location-x {
  opacity: 1;
}

.compose-modal__previews {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin-bottom: 10px;
  padding-bottom: 4px;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-x;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}
.compose-modal__previews::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.compose-modal__previews.is-dragging {
  cursor: grabbing;
}
.compose-modal__preview-tile {
  position: relative;
  flex: 0 0 auto;
  border-radius: 12px;
  overflow: hidden;
  border: 0;
}
.compose-modal__preview-tile img {
  display: block;
  width: 170px;
  height: 227px;
  object-fit: cover;
}
.compose-modal__previews--single .compose-modal__preview-tile img {
  width: 522px;
  height: 391px;
}
.compose-modal__previews--single .compose-modal__preview-tile {
  max-width: calc(100vw - 118px);
}
.compose-modal__previews--single .compose-modal__preview-tile img {
  max-width: 100%;
  height: auto;
  aspect-ratio: 522 / 391;
}
.compose-modal__preview-video-el {
  display: block;
  width: 170px;
  height: 227px;
  object-fit: cover;
  background: #090909;
}
.compose-modal__previews--single .compose-modal__preview-video-el {
  width: 522px;
  height: 391px;
  max-width: 100%;
  aspect-ratio: 522 / 391;
}
.compose-modal__preview-img-holder--video .compose-modal__preview-video-status {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(180deg, rgba(16, 16, 16, 0.72), rgba(10, 10, 10, 0.84));
  color: #d9deea;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.compose-modal__preview-img-holder--video.is-ready .compose-modal__preview-video-status {
  opacity: 0;
}
.compose-modal__preview-img-holder--video.is-error .compose-modal__preview-video-status {
  opacity: 1;
  background: rgba(15, 15, 15, 0.92);
}
.compose-modal__preview-video-status-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  opacity: 0.9;
}
.compose-modal__preview-video-status-ic svg {
  width: 28px;
  height: 28px;
}
.compose-modal__preview-video-status-spin {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(190, 197, 214, 0.35);
  border-top-color: #dbe3f5;
  animation: composePreviewSpin 0.85s linear infinite;
}
@keyframes composePreviewSpin {
  to {
    transform: rotate(360deg);
  }
}
.compose-modal__preview-x {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.compose-modal__preview-img-holder {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
}
.compose-modal__preview-tile--spoiler .compose-modal__preview-img-holder > img {
  filter: blur(22px);
  transform: scale(1.05);
}
.compose-modal__preview-spoiler-wrap {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.compose-modal__preview-spoiler-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 6px 12px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.compose-modal__preview-spoiler-btn:hover {
  background: rgba(0, 0, 0, 0.68);
}
.compose-modal__preview-spoiler-dots {
  letter-spacing: 0.12em;
  font-weight: 700;
  line-height: 1;
}
.compose-modal__preview-spoiler-pill {
  font-weight: 600;
  line-height: 1;
}
.compose-modal__preview-spoiler-btn--mob-eye {
  padding: 0;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.compose-modal__preview-spoiler-mob-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
}
.compose-modal__preview-spoiler-svg {
  width: 22px;
  height: 22px;
  display: block;
}
.compose-modal__preview-img-holder--crop {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
html:not(.mobile-shell) .compose-modal__preview-img-holder--crop {
  touch-action: pan-y pinch-zoom;
}
.compose-modal__preview-img-holder--crop:focus-visible {
  outline: 2px solid var(--link);
  outline-offset: 2px;
}
.compose-crop-modal-overlay {
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  --modal-content-shift-x: 0px;
  touch-action: none;
  overscroll-behavior: none;
}
html.compose-crop-active {
  overflow: hidden;
  height: 100%;
}
html.compose-crop-active body {
  overflow: hidden !important;
  touch-action: none;
}
.compose-crop-modal {
  width: min(520px, 100%);
  max-height: min(92dvh, 900px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--surface);
  border-radius: 16px;
  border: 1px solid var(--line);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
  padding: 0 0 12px;
  overflow: hidden;
}
html.mobile-shell .compose-crop-modal {
  width: 100%;
  max-width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  height: auto;
  border-radius: 0;
  border: 0;
  box-sizing: border-box;
}
html.mobile-shell .compose-crop-modal-overlay {
  padding: 0;
  align-items: stretch;
  justify-content: stretch;
  flex-direction: column;
  min-height: 100dvh;
  touch-action: none;
  overscroll-behavior: none;
}
.compose-crop-modal__head {
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  align-items: center;
  gap: 4px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}
.compose-crop-modal__title {
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  justify-self: stretch;
  min-width: 0;
}
.compose-crop-modal__head-spacer {
  width: 52px;
  height: 1px;
  visibility: hidden;
  pointer-events: none;
}
.compose-crop-modal__close {
  justify-self: start;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--fg, #f5f5f5);
}
.compose-crop-modal__close-ic {
  display: block;
  flex-shrink: 0;
}
.compose-crop-modal__hint {
  margin: 0 14px;
  line-height: 1.4;
  font-size: 13px;
}
.compose-crop-modal__pager {
  margin: -2px 14px 4px;
  text-align: center;
  font-size: 12px;
  line-height: 1.3;
  opacity: 0.82;
}
.compose-crop-modal__fit-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 0 14px 10px;
  box-sizing: border-box;
}
.compose-crop-fit-toggle {
  align-self: flex-start;
  max-width: 100%;
  font-weight: 600;
}
.compose-crop-fit-toggle--on {
  border-color: rgba(89, 89, 194, 0.55);
  color: #aeb4ff;
}
body.light .compose-crop-fit-toggle--on {
  color: #3a3ab0;
}
.compose-crop-modal__fit-note {
  font-size: 12px;
  line-height: 1.35;
  opacity: 0.78;
}
html.mobile-shell .compose-crop-modal__fit-note {
  display: none;
}
.compose-crop-modal__frame--contain {
  background: #000;
}
.compose-crop-modal__frame-wrap {
  padding: 0 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 0;
}
html.mobile-shell .compose-crop-modal__frame-wrap {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0 12px;
}
.compose-crop-modal__frame {
  width: 100%;
  max-width: 480px;
  max-height: min(64dvh, 520px);
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
  border: 1px solid var(--line);
  box-sizing: border-box;
}
html.mobile-shell .compose-crop-modal__frame {
  max-width: 100%;
  width: 100%;
  max-height: 100%;
}
.compose-crop-modal__panner {
  position: absolute;
  inset: 0;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
}
.compose-crop-modal__panner:active {
  cursor: grabbing;
}
.compose-crop-modal__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.2;
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 24px 24px;
}
.compose-crop-modal__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: 10px;
  padding: 8px 14px 4px;
  margin-top: auto;
}
.compose-crop-modal__actions .post-btn {
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
}
html.mobile-shell .compose-crop-modal__actions {
  padding: 10px 12px max(12px, env(safe-area-inset-bottom, 0px));
}
.compose-image-spoiler-popover {
  position: absolute;
  left: 0;
  bottom: calc(100% + 6px);
  min-width: 220px;
  border-radius: 14px;
  background: #262626;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
  padding: 6px 0;
  z-index: 6;
}
.compose-image-spoiler-popover__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 12px 16px;
  border: 0;
  background: transparent;
  color: #f5f5f5;
  font-size: 15px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.compose-image-spoiler-popover__row:hover {
  background: rgba(255, 255, 255, 0.06);
}
.compose-image-spoiler-popover__label {
  flex: 1;
  min-width: 0;
}
.compose-image-spoiler-popover__ic {
  display: flex;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.88);
}
.compose-image-spoiler-popover__svg {
  width: 22px;
  height: 22px;
  display: block;
}

.compose-modal__toolbar {
  position: relative;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 2px;
  margin-top: -2px;
  padding-bottom: 0;
  overflow: visible;
}

.compose-modal__tool {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.55);
  display: grid;
  place-items: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.compose-modal__tool:hover {
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.85);
}
body.light .compose-modal__tool {
  color: var(--muted);
}
body.light .compose-modal__tool:hover {
  background: rgba(0, 0, 0, 0.05);
  color: var(--text);
}

.compose-modal__tool .compose-ic {
  width: 24px;
  height: 24px;
}
.compose-modal__tool .compose-ic--poll {
  width: 22px;
  height: 22px;
}

/* GIF: Text ohne Rahmen (Mobil/Desktop einheitlich) */
.compose-modal__tool--gif {
  width: auto;
  min-width: 36px;
  height: 30px;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.72);
  border: none;
  border-radius: 999px;
  background: transparent;
  box-sizing: border-box;
}
body.light .compose-modal__tool--gif {
  color: var(--muted);
}

.compose-modal__thread-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.compose-modal__rail--main {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.compose-modal__rail-line--main {
  flex: 1 1 auto;
  min-height: 20px;
  margin: 6px 0 0;
}

.compose-modal__rail-bridge {
  width: 2px;
  height: 10px;
  flex-shrink: 0;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 2px;
}
body.light .compose-modal__rail-bridge {
  background: rgba(0, 0, 0, 0.12);
}

.compose-modal__rail--thread-extra {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.compose-modal__rail-line--extra {
  flex: 1 1 auto;
  min-height: 12px;
  width: 2px;
  margin: 6px 0 0;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 2px;
}
body.light .compose-modal__rail-line--extra {
  background: rgba(0, 0, 0, 0.12);
}

.compose-modal__rail--add {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2px;
}

.compose-modal__user-row--spread {
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.compose-modal__user-row-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1;
  min-height: 36px;
  white-space: nowrap;
}

.compose-thread-counter {
  flex-shrink: 0;
  font-size: 13px;
  line-height: var(--compose-body-line-height);
  color: rgba(255, 255, 255, 0.38);
  padding-top: 2px;
}
body.light .compose-thread-counter {
  color: var(--muted);
}

.compose-thread-extra-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.compose-thread-remove {
  margin: 0;
  padding: 2px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(255, 255, 255, 0.45);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.compose-thread-remove:hover {
  color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.06);
}

.compose-modal__main--thread-extra {
  padding-bottom: 4px;
}

.compose-modal__avatar--thread-faded {
  opacity: 0.42;
}

.compose-modal__main--thread-add {
  padding-top: 4px;
  padding-bottom: 2px;
}

.compose-modal__thread-add {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 10px 0 4px;
  border: 0;
  background: none;
  text-align: left;
  font-family: var(--compose-body-font);
  font-size: var(--compose-body-font-size);
  line-height: var(--compose-body-line-height);
  color: rgba(255, 255, 255, 0.28);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.compose-modal__thread-add:hover:not(:disabled) {
  color: rgba(255, 255, 255, 0.45);
}
.compose-modal__thread-add--disabled,
.compose-modal__thread-add:disabled {
  opacity: 0.35;
  color: rgba(255, 255, 255, 0.22);
  cursor: not-allowed;
}
body.light .compose-modal__thread-add {
  color: var(--muted);
  opacity: 0.85;
}
body.light .compose-modal__thread-add--disabled,
body.light .compose-modal__thread-add:disabled {
  opacity: 0.4;
}

.compose-modal__tool--na {
  opacity: 0.3;
  pointer-events: none;
}

/* Umfrage im Composer */
.compose-poll {
  margin: 8px 0 4px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
body.light .compose-poll {
  background: rgba(0, 0, 0, 0.04);
  border-color: var(--line);
}
.compose-poll__options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.compose-poll__input {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.25);
  color: inherit;
  font-size: 15px;
}
body.light .compose-poll__input {
  border-color: var(--line);
  background: var(--surface);
}
.compose-poll__add {
  margin-top: 8px;
  width: 100%;
  padding: 12px 14px;
  border: 1px dashed rgba(255, 255, 255, 0.22);
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.45);
  font-size: 14px;
  cursor: pointer;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.compose-poll__add:hover {
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.35);
}
body.light .compose-poll__add {
  color: var(--muted);
  border-color: var(--line);
}
.compose-poll__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.45);
}
body.light .compose-poll__meta {
  color: var(--muted);
}
.compose-poll__remove {
  flex-shrink: 0;
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font-size: 13px;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}
.compose-poll__remove:hover {
  color: rgba(255, 255, 255, 0.85);
}
body.light .compose-poll__remove:hover {
  color: var(--text);
}

.compose-poll--mobile-inline {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}
.compose-poll__mobile-hint {
  margin: 0;
  line-height: 1.45;
}
html.mobile-shell .compose-poll-sheet-overlay {
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  z-index: 260780 !important;
}
html.mobile-shell .compose-poll-sheet {
  width: 100vw;
  max-width: 100vw;
  max-height: min(92vh, 100dvh);
  border-radius: 16px 16px 0 0;
  display: flex;
  flex-direction: column;
  min-height: 52vh;
}
.compose-poll-sheet__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px 8px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.compose-poll-sheet__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  flex: 1;
  text-align: center;
}
.compose-poll-sheet__body {
  flex: 1;
  min-height: 0;
  padding: 12px 14px calc(16px + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
}
.compose-poll-sheet__body .compose-poll {
  margin-top: 0;
}

/* Umfrage im Feed */
.post-poll {
  margin: 10px 0 6px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.post-poll__opt {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  cursor: pointer;
  font-size: 15px;
  -webkit-tap-highlight-color: transparent;
}
.post-poll__opt:hover {
  background: rgba(255, 255, 255, 0.08);
}
body.light .post-poll__opt {
  border-color: var(--line);
  background: var(--surface);
}
.post-poll__row {
  position: relative;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 8px;
}
body.light .post-poll__row {
  border-color: var(--line);
}
.post-poll__row-bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.12);
  z-index: 0;
  max-width: 100%;
  pointer-events: none;
}
body.light .post-poll__row-bar {
  background: rgba(0, 0, 0, 0.08);
}
.post-poll__row-label,
.post-poll__row-pct {
  position: relative;
  z-index: 1;
}
.post-poll__row-pct {
  margin-left: auto;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}
body.light .post-poll__row-pct {
  color: var(--muted);
}
.post-poll__footer {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 2px;
}
body.light .post-poll__footer {
  color: var(--muted);
}

/* Zitat / eingebetteter Original-Thread */
.post-quoted-embed {
  margin: 10px 0 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  max-width: 100%;
  box-sizing: border-box;
}
html.mobile-shell .post-quoted-embed {
  cursor: default;
}
.post-quoted-embed__inner {
  padding: 10px 12px 12px;
  background: rgba(127, 127, 127, 0.06);
}
body.light .post-quoted-embed__inner {
  background: rgba(0, 0, 0, 0.03);
}
.post-quoted-embed__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin-bottom: 8px;
  font-size: 13px;
}
.post-quoted-embed__av {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.post-quoted-embed__name {
  font-weight: 600;
}
.post-quoted-embed__sep,
.post-quoted-embed__time {
  color: var(--muted);
  font-size: 12px;
}
.post-quoted-embed__body {
  font-size: 14px;
  line-height: 1.4;
}
.post-quoted-embed__body .post-body {
  margin-top: 0;
}
.post-quoted-embed__body .post-poll {
  margin-top: 8px;
}
.post-quoted-embed__body .post-media,
.post-quoted-embed__body .post-carousel {
  margin-top: 8px;
}

/* Feed-Listen: lange Texte einklappen (mobil üblicherweise ~4 Zeilen — siehe Mobil-Overrides), Toggle „Mehr lesen“ */
.post-body-feed-wrap .post-body--feed-clamp {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  line-clamp: 6;
}
html.mobile-shell .post-body-feed-wrap .post-body--feed-clamp {
  -webkit-line-clamp: 4;
  line-clamp: 4;
}
.post-body-feed-wrap.post-body-feed-wrap--expanded .post-body--feed-clamp,
.post-body-feed-wrap .post-body--feed-clamp.post-body--feed-clamp--expanded {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible;
}
.post-body-feed-more {
  display: block;
  margin: 6px 0 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-weight: 700;
  color: var(--link);
  cursor: pointer;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
/* Mobil: kein Link-Blau — dezentes Grau zwischen Muted und Vordergrund */
html.mobile-shell .post-body-feed-more {
  color: rgba(243, 245, 247, 0.55);
  font-weight: 600;
}
html.mobile-shell body.light .post-body-feed-more {
  color: rgba(28, 30, 35, 0.5);
}
.post-body-feed-more[hidden] {
  display: none !important;
}
.post-body-feed-more:focus-visible {
  outline: 2px solid var(--link);
  outline-offset: 2px;
}

/* Rich-Text (Textanhang) im Feed */
.post-body--rich {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.45;
  color: inherit;
  cursor: pointer;
  margin: 4px 0 0;
  word-break: break-word;
}
.post-body--rich p {
  margin: 0 0 0.5em;
}
.post-body--rich p:last-child {
  margin-bottom: 0;
}
.post-body--rich b,
.post-body--rich strong {
  font-weight: 700;
}
.post-body--rich i,
.post-body--rich em {
  font-style: italic;
}
.post-body--rich u {
  text-decoration: underline;
}
.post-body--rich s,
.post-body--rich strike,
.post-body--rich del {
  text-decoration: line-through;
}
.post-body--rich a,
.post-body a.text-link {
  color: var(--link);
  text-decoration: none;
}
.post-body--rich a:hover,
.post-body a.text-link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Composer: Textanhang-Vorschau */
.compose-modal__rich-wrap {
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
.compose-modal__rich-preview {
  width: 100%;
  max-height: 200px;
  overflow-y: auto;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.2);
}
body.light .compose-modal__rich-preview {
  border-color: var(--line);
  background: var(--surface);
}
.compose-modal__rich-edit,
.compose-modal__rich-remove {
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
  cursor: pointer;
  padding: 0;
  text-align: left;
}
.compose-modal__rich-remove {
  color: rgba(255, 100, 100, 0.85);
}
body.light .compose-modal__rich-edit,
body.light .compose-modal__rich-remove {
  color: var(--muted);
}

/* Vollbild Textanhang — gleiche Flächenfarbe wie Compose-Modal */
.textattach-overlay {
  z-index: 200;
  align-items: flex-end;
  justify-content: center;
  background: var(--modal-scrim);
}
/* Breite an Compose-Modal angelehnt */
.textattach-sheet {
  width: min(720px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  height: min(1063px, 96vh);
  max-height: 96vh;
  background: var(--surface);
  color: var(--text);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px 16px 0 0;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  overflow: hidden;
}
@media (min-width: 520px) {
  .textattach-overlay {
    align-items: center;
    padding: 24px 0;
    padding-left: var(--modal-content-shift-x);
  }
  .textattach-sheet {
    border-radius: 16px;
  }
}
.textattach-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 12px 14px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}
.textattach-head__cancel {
  justify-self: start;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.75);
  font-size: 16px;
  cursor: pointer;
  padding: 6px 4px;
}
.textattach-head__title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  grid-column: 2;
}
.textattach-head__done {
  justify-self: end;
  border: 0;
  background: none;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  padding: 6px 4px;
  color: rgba(255, 255, 255, 0.85);
}
.textattach-head__done:disabled {
  color: rgba(255, 255, 255, 0.28);
  cursor: default;
}
.textattach-body {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.textattach-editor {
  position: relative;
  flex: 1;
  min-height: 120px;
  max-height: none;
  overflow-y: auto;
  padding: 16px 18px 24px;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 18px;
  line-height: 1.5;
  color: #b9c0ca;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.textattach-editor * {
  color: inherit;
}
.textattach-editor.textattach-editor--empty::before {
  content: attr(data-placeholder);
  color: rgba(255, 255, 255, 0.38);
  pointer-events: none;
  position: absolute;
  left: 18px;
  top: 16px;
}
.textattach-intro {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  pointer-events: none;
}
.textattach-intro__scrim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  pointer-events: auto;
}
.textattach-intro__card {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 300px;
  padding: 22px 18px 0;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
  pointer-events: auto;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
}
.textattach-intro__icon {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
.textattach-intro__title {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}
.textattach-intro__text {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.55);
}
.textattach-intro__rule {
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin: 0 -18px 0;
}
.textattach-intro__btn {
  width: 100%;
  padding: 16px 12px;
  border: 0;
  background: none;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
.textattach-toolbar {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  padding: 14px 16px calc(20px + env(safe-area-inset-bottom, 0px) + max(0px, calc(var(--app-kb-offset, 0px) - 30px)));
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
  background: var(--surface);
}
.textattach-tb-btn {
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.88);
  font-size: 17px;
  padding: 8px;
  cursor: pointer;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
.textattach-tb-btn--clear {
  font-size: 20px;
  opacity: 0.9;
}
body.light .textattach-sheet {
  background: var(--surface);
  color: var(--text);
  border-color: var(--line);
  box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.12);
}
body.light .textattach-editor {
  color: var(--text);
}

.compose-modal__popover {
  position: absolute;
  z-index: 6;
  overflow-y: auto;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
}
/* Direkt unter „Optionen“ / Listen-Icon (Anker-Element), nicht am Modal-Rand */
.compose-modal__popover--options {
  top: 100%;
  bottom: auto;
  left: 0;
  right: auto;
  margin-top: 8px;
  width: min(308px, calc(100vw - 40px));
  max-height: min(420px, 52vh);
  padding: 0;
  border-radius: 16px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.1);
  z-index: 25;
}
body.light .compose-modal__popover--options {
  background: var(--surface-2);
  border-color: var(--line);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
}

.compose-modal__popover--head {
  top: 52px;
  right: 8px;
  left: auto;
  bottom: auto;
  z-index: 26;
  width: min(288px, calc(100vw - 36px));
  max-height: none;
  padding: 6px 0;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: visible !important;
  overflow-y: visible !important;
}
body.light .compose-modal__popover--head {
  background: var(--surface-2);
  border-color: var(--line);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
}

.compose-head-menu__row {
  display: block;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.96);
  font-size: 15px;
  font-weight: 400;
  text-align: left;
  line-height: 1.25;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.compose-head-menu__row--schedule {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.compose-head-menu__row--schedule .compose-head-menu__label {
  flex: 1;
  min-width: 0;
}
.compose-head-menu__row--schedule .compose-head-menu__end {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.compose-head-menu__row--schedule .compose-ic--clock {
  width: 1em;
  height: 1em;
}
body.light .compose-head-menu__row {
  color: var(--text);
}
.compose-head-menu__row:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .compose-head-menu__row:hover {
  background: rgba(0, 0, 0, 0.04);
}

.compose-head-menu__rule {
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
body.light .compose-head-menu__rule {
  border-top-color: var(--line);
}

.compose-head-menu__row--disabled {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: rgba(255, 255, 255, 0.38);
  cursor: default;
  pointer-events: none;
}
body.light .compose-head-menu__row--disabled {
  color: var(--muted);
}

.compose-head-menu__end {
  display: inline-flex;
  color: inherit;
  opacity: 0.85;
}
.compose-head-menu__row:not(.compose-head-menu__row--schedule) .compose-head-menu__end .compose-ic--clock {
  width: 20px;
  height: 20px;
}

.compose-modal__head-icon--active {
  background: rgba(255, 255, 255, 0.1);
}
body.light .compose-modal__head-icon--active {
  background: rgba(0, 0, 0, 0.06);
}

.compose-modal__ki-info {
  margin: 6px 0 2px;
  padding: 0 2px;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.42);
  letter-spacing: 0.01em;
}
body.light .compose-modal__ki-info {
  color: var(--muted);
}

.post-ki-info {
  margin: 4px 0 2px;
  font-size: 13px;
  line-height: 1.3;
  color: var(--muted);
  letter-spacing: 0.01em;
}

.post-sensitive-badge {
  margin: 2px 0 4px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  color: rgba(255, 180, 120, 0.95);
  letter-spacing: 0.02em;
}
body.light .post-sensitive-badge {
  color: #b45309;
}

.compose-modal__sensitive-block {
  margin-top: 8px;
}
.compose-modal__sensitive-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.35;
  color: var(--text);
}
.compose-modal__sensitive-cb {
  margin-top: 3px;
  flex-shrink: 0;
}
.compose-modal__sensitive-hint {
  margin: 6px 0 0 28px;
  font-size: 12px;
  line-height: 1.4;
}
/* Emoji-Popup sitzt am Smiley-Button (.compose-emoji-popover) */

.compose-modal__emoji-slot {
  position: relative;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

/* Optionen-Menü: Anker Fußzeile oder Toolbar-Listen-Icon */
.compose-modal__opt-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.compose-emoji-popover {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 25;
  width: min(300px, calc(100vw - 36px));
  max-height: min(248px, 42vh);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 10px 10px 12px;
  border-radius: 16px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
  -webkit-overflow-scrolling: touch;
}
body.light .compose-emoji-popover {
  background: var(--surface-2);
  border-color: var(--line);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
}

.compose-emoji-popover__title {
  margin: 0 0 10px 4px;
  padding: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.45);
}
body.light .compose-emoji-popover__title {
  color: var(--muted);
}

.compose-emoji-popover__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2px 4px;
}

.compose-emoji-popover__emoji {
  margin: 0;
  padding: 6px 4px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.compose-emoji-popover__emoji:hover {
  background: rgba(255, 255, 255, 0.08);
}
body.light .compose-emoji-popover__emoji:hover {
  background: rgba(0, 0, 0, 0.06);
}

.compose-modal__tool--active {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.95) !important;
}
body.light .compose-modal__tool--active {
  background: rgba(0, 0, 0, 0.08);
  color: var(--text) !important;
}

/* Optionen-Menü Inhalt (Referenz-Screenshot) */
.compose-options-popover {
  text-align: left;
}
.compose-options-popover__block {
  padding: 6px 0 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.light .compose-options-popover__block {
  border-bottom-color: var(--line);
}
.compose-options-popover__block--last {
  border-bottom: 0;
  padding-bottom: 6px;
}
.compose-options-popover__caption {
  margin: 0;
  padding: 8px 16px 6px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.45);
}
body.light .compose-options-popover__caption {
  color: var(--muted);
}
.compose-options-popover__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 11px 16px;
  border: 0;
  background: transparent;
  color: #f5f5f5;
  font-size: 15px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
body.light .compose-options-popover__row {
  color: var(--text);
}
.compose-options-popover__row:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .compose-options-popover__row:hover {
  background: rgba(0, 0, 0, 0.04);
}
.compose-options-popover__row--active .compose-options-popover__label {
  font-weight: 500;
}
.compose-options-popover__label {
  flex: 1;
  min-width: 0;
}
.compose-options-popover__label--wrap {
  white-space: normal;
  line-height: 1.35;
  padding-right: 8px;
}
.compose-options-popover__check {
  flex-shrink: 0;
  width: 1.1em;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
body.light .compose-options-popover__check {
  color: var(--text);
}
.compose-options-popover__check--empty {
  visibility: hidden;
}
.compose-options-popover__nav-end {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 15px;
}
body.light .compose-options-popover__nav-end {
  color: var(--muted);
}
.compose-options-popover__status {
  color: rgba(255, 255, 255, 0.5);
}
body.light .compose-options-popover__status {
  color: var(--muted);
}
.compose-options-popover__chev {
  color: rgba(255, 255, 255, 0.35);
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
}
body.light .compose-options-popover__chev {
  color: var(--muted);
}
.compose-options-popover__row--switch {
  align-items: center;
}
.compose-options-popover__row--switch .switch {
  flex-shrink: 0;
  transform: scale(0.92);
  transform-origin: center right;
}

.compose-ic--sliders {
  width: 20px;
  height: 20px;
}

.compose-modal__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
  gap: 12px;
}
body.light .compose-modal__foot {
  border-top-color: var(--line);
}

.compose-modal__opt-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 6px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.5);
  font-size: 15px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.compose-modal__opt-btn:hover {
  color: rgba(255, 255, 255, 0.75);
}
body.light .compose-modal__opt-btn {
  color: var(--muted);
}

/* Von Standard abweichende Compose-Optionen: Antwortziel ≠ Alle, Antworten überprüfen an */
.compose-modal__opt-btn--custom {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 600;
}
.compose-modal__opt-btn--custom .compose-modal__opt-ic {
  opacity: 1;
  color: rgba(255, 255, 255, 0.95);
}
.compose-modal__opt-btn--custom:hover {
  color: #ffffff;
}
.compose-modal__opt-btn--custom:hover .compose-modal__opt-ic {
  color: #ffffff;
}
body.light .compose-modal__opt-btn--custom {
  color: var(--text);
  font-weight: 600;
}
body.light .compose-modal__opt-btn--custom .compose-modal__opt-ic {
  opacity: 1;
  color: var(--text);
}
body.light .compose-modal__opt-btn--custom:hover {
  color: var(--text);
  filter: brightness(0.92);
}

.compose-modal__opt-ic {
  display: grid;
  place-items: center;
  opacity: 0.9;
}

.compose-modal__post {
  padding: 9px 22px;
  border-radius: 22px;
  border: none;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  background: #f5f5f5;
  color: #0a0a0a;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.compose-modal__post:hover:not(:disabled) {
  filter: brightness(1.05);
}
.compose-modal__post--disabled,
.compose-modal__post:disabled {
  background: #2c2c2c;
  color: #6b6b6b;
  cursor: default;
  filter: none;
}
body.light .compose-modal__post:not(:disabled) {
  background: var(--text);
  color: var(--bg);
}
body.light .compose-modal__post--disabled,
body.light .compose-modal__post:disabled {
  background: var(--surface-2);
  color: var(--muted);
}

/* GIF-Auswahl (volle Fläche im Compose-Modal, GIPHY) */
.modal.compose-modal.compose-modal--gif-picker {
  background: var(--surface);
  color: var(--text);
  border-color: rgba(255, 255, 255, 0.1);
  width: min(620px, calc(100vw - 24px));
  max-width: 620px;
  height: min(92vh, 720px);
  max-height: min(92vh, 720px);
  min-height: min(480px, 85vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
body.light .modal.compose-modal.compose-modal--gif-picker {
  background: var(--surface);
  color: var(--text);
}

.compose-gif-picker {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.compose-gif-picker__head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: 14px 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}

.compose-gif-picker__back {
  justify-self: start;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  -webkit-tap-highlight-color: transparent;
}
.compose-gif-picker__back:hover {
  background: rgba(255, 255, 255, 0.08);
}

.compose-gif-picker__title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  letter-spacing: -0.02em;
}

.compose-gif-picker__head-spacer {
  width: 44px;
  height: 1px;
}

.compose-gif-picker__search-row {
  padding: 12px 14px 10px;
  flex-shrink: 0;
}

.compose-gif-picker__search {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.compose-gif-picker__search .compose-gif-search__svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.4);
}

.compose-gif-picker__input {
  flex: 1;
  min-width: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--text);
  font-size: 16px;
  outline: none;
  font-family: inherit;
}
.compose-gif-picker__input::placeholder {
  color: rgba(255, 255, 255, 0.38);
}

.compose-gif-picker__body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  position: relative;
}

.compose-gif-picker__masonry {
  flex: 1;
  min-height: 120px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 6px 10px 8px;
  column-count: 2;
  column-gap: 6px;
  -webkit-overflow-scrolling: touch;
}

.compose-gif-card {
  display: block;
  width: 100%;
  margin: 0 0 6px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  background: var(--surface);
  break-inside: avoid;
  -webkit-tap-highlight-color: transparent;
}
.compose-gif-card:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.5);
  outline-offset: 2px;
}
.compose-gif-card img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: middle;
}

.compose-gif-picker__hint {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 36px 20px;
  font-size: 15px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.45);
}

.compose-gif-picker__attr {
  flex-shrink: 0;
  margin: 0;
  padding: 8px 12px 12px;
  text-align: center;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
}
.compose-gif-picker__attr a {
  color: var(--link);
  text-decoration: none;
}
.compose-gif-picker__attr a:hover {
  text-decoration: underline;
}

.text-input {
  width: 100%;
  background: transparent;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 16px;
  outline: none;
  margin: 8px 0 12px;
  padding: 10px 12px;
}

.compose-plain-input {
  width: 100%;
  background: transparent;
  color: var(--text);
  border: none;
  font-size: 18px;
  outline: none;
  margin: 8px 0 12px;
  padding: 0;
}

.toolbar { display: flex; gap: 12px; color: var(--muted); align-items: center; }
.emoji-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
  margin-top: 6px;
}
.emoji-item {
  border: 0;
  background: transparent;
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
}

.switch {
  width: 46px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--line);
  position: relative;
  cursor: pointer;
  background: rgba(127, 127, 127, 0.2);
  transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.28s ease;
}
.switch::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  left: 2px;
  top: 2px;
  background: #999;
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.22s ease;
  will-change: transform;
}
.switch.on {
  background: #2077ff44;
}
.switch.on::after {
  transform: translateX(20px);
  background: #6ca3ff;
}

.center-title {
  text-align: center;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  font-weight: 700;
  display: flex;
  justify-content: center;
  gap: 8px;
  align-items: center;
}

/* ——— Gespeichert (Saved) ——— */
.saved-page {
  min-height: 200px;
}
.saved-page-header {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  min-height: var(--page-shell-title-height);
  padding: 0 8px;
  box-sizing: border-box;
  border-bottom: 1px solid var(--line);
  background-color: var(--surface);
}
.saved-page-header__center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.saved-page-header__title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}
.saved-page-header__chev {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  line-height: 1;
  padding: 4px 6px;
  cursor: pointer;
  border-radius: 6px;
}
.saved-page-header__chev:hover {
  background: rgba(127, 127, 127, 0.12);
}
.saved-page-header__dots {
  justify-self: end;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1;
}
.saved-page-menu.menu {
  position: absolute;
  right: 8px;
  top: 48px;
  z-index: 20;
  min-width: 220px;
}
.saved-feed {
  padding-bottom: 24px;
}
.saved-feed-empty {
  padding: 36px 20px;
  text-align: center;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
}
.meta-sep,
.meta-time {
  color: var(--muted);
  font-weight: 400;
  font-size: 14px;
}
.meta-location {
  color: var(--muted);
  font-weight: 500;
  max-width: min(42vw, 280px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: bottom;
}
.menu-ic {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 22px;
  color: inherit;
}
.post-menu-ic {
  width: 20px;
  height: 20px;
  display: block;
  flex-shrink: 0;
}
.menu-row .post-action-ic {
  width: 20px;
  height: 20px;
  display: block;
}
.menu-ic--bookmark-off {
  color: var(--text);
  opacity: 0.95;
}
.menu-ic--bookmark-off svg path:last-child {
  stroke: var(--danger, #ff4b59);
}

/* ——— Einstellungen (Threads: Seite #0a0a0a, Karte #181818, mittig) ——— */
main.content.content--settings,
.content.content--settings {
  width: 100%;
  max-width: none;
  margin: 0;
  margin-top: 0;
  padding: 20px 20px 28px calc(var(--sidebar-reserved-width) + var(--desk-content-pad-left));
  box-sizing: border-box;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--bg) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.settings-page {
  display: flex;
  flex-direction: column;
  width: min(var(--settings-width), calc(100vw - 96px));
  max-width: min(var(--settings-width), calc(100vw - 96px));
  height: min(1210px, calc(100dvh - 48px));
  max-height: min(1210px, calc(100dvh - 48px));
  min-height: min(480px, calc(100dvh - 48px));
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  background: #181818;
  color: #f3f5f7;
  box-shadow: 0 16px 56px rgba(0, 0, 0, 0.5);
  flex: 0 1 auto;
}
body.light .settings-page {
  background: var(--surface);
  color: var(--text);
  border-color: var(--line);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
}
.settings-page__head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  min-height: var(--page-shell-title-height);
  padding: 0 8px;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: sticky;
  top: 0;
  z-index: 6;
  flex-shrink: 0;
  background: #181818;
}
body.light .settings-page__head {
  background: var(--surface);
  border-bottom-color: var(--line);
}
.settings-page__back {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  background: transparent;
  color: var(--text);
  cursor: pointer;
}
.settings-page__title {
  margin: 0;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
}
.settings-page__head-spacer {
  width: 36px;
  height: 36px;
}

.settings-shell {
  display: flex;
  flex: 1;
  min-height: 0;
  background: #181818;
}
body.light .settings-shell {
  background: var(--surface);
}
.settings-shell__nav {
  flex: 0 0 35%;
  min-width: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  padding: 12px 10px 20px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
body.light .settings-shell__nav {
  border-right-color: var(--line);
}
.settings-shell__main {
  flex: 1;
  min-width: 0;
  padding: 8px 18px 28px 20px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #181818;
}
body.light .settings-shell__main {
  background: var(--surface);
}

.settings-nav__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  text-align: left;
  padding: 12px 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font: inherit;
}
.settings-nav__item:hover {
  background: rgba(127, 127, 127, 0.08);
}
body.light .settings-nav__item:hover {
  background: rgba(0, 0, 0, 0.05);
}
.settings-nav__item.is-active {
  background: rgba(255, 255, 255, 0.08);
}
body.light .settings-nav__item.is-active {
  background: rgba(0, 0, 0, 0.06);
}
.settings-nav__svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--text);
}
.settings-nav__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.settings-nav__title {
  font-weight: 700;
  font-size: 15px;
}
.settings-nav__sub {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.35;
}
.settings-nav__meta-logo {
  font-size: 15px;
  color: var(--muted);
  margin-top: 1px;
  font-weight: 400;
}

/* Rechte Spalte: Kopf wie Threads (nur Desktop; mobil weiter „Einstellungen“ oben) */
.settings-main-head {
  display: none;
}
@media (min-width: 781px) {
  .settings-page__head {
    display: none;
  }
  .settings-main-head {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    padding: 4px 0 14px;
    margin: 0 0 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  body.light .settings-main-head {
    border-bottom-color: var(--line);
  }
  .settings-main-head__back {
    grid-column: 1;
    justify-self: start;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: transparent;
    color: inherit;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
  }
  body.light .settings-main-head__back {
    border-color: var(--line);
  }
  .settings-main-head__h {
    grid-column: 2;
    margin: 0;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
  }
  .settings-main-head__spacer {
    grid-column: 3;
    width: 36px;
    height: 36px;
  }
}

.settings-panel-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 12px;
}
@media (min-width: 781px) {
  .settings-panel-title--hidden-words {
    display: none;
  }
}
.settings-lead {
  font-size: 15px;
  color: var(--muted);
  margin: 0 0 16px;
  line-height: 1.45;
}

.settings-help-subbar {
  display: flex;
  align-items: center;
  margin: 0 0 12px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line);
}
body.light .settings-help-subbar {
  background: rgba(0, 0, 0, 0.04);
}
.settings-help-subbar__back {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: transparent;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.settings-support-page-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 14px;
}

.settings-support-list__ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 10px;
  flex-shrink: 0;
  color: var(--fg);
}

.settings-support-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  padding: 12px 0;
  border: none;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.settings-support-row:last-child {
  border-bottom: none;
}
.settings-support-row__mid {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.settings-support-row__meta {
  font-size: 12px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.settings-support-meta--amber {
  color: #e6b422;
}
.settings-support-meta--orange {
  color: #f0a04b;
}
.settings-support-row__bull {
  opacity: 0.55;
}
.settings-support-row__title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}
.settings-support-row__trail {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.settings-support-row__chev {
  font-size: 18px;
  color: var(--muted);
  line-height: 1;
}

.settings-support-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.settings-support-dot--blue {
  background: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
}
.settings-support-dot--amber {
  background: #e6b422;
  box-shadow: 0 0 0 2px rgba(230, 180, 34, 0.28);
}

.settings-support-detail__h {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  margin: 8px 0 10px;
}
.settings-support-detail-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 14px;
  background: rgba(255, 255, 255, 0.03);
}
body.light .settings-support-detail-card {
  background: rgba(0, 0, 0, 0.03);
}
.settings-support-detail-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.settings-support-detail-time {
  color: var(--muted);
  font-size: 12px;
}
.settings-support-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 600;
}
.settings-support-badge.is-amber {
  background: rgba(230, 180, 34, 0.18);
  color: #e6b422;
}
.settings-support-badge.is-blue {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}
.settings-support-badge.is-green {
  background: rgba(22, 163, 74, 0.18);
  color: #6bcf7f;
}
.settings-support-detail-outcome {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}
.settings-support-detail-msg {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--muted);
}
.settings-support-detail-body {
  margin: 0;
}
.settings-pf-thread-link {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: inherit;
  line-height: inherit;
  color: var(--accent, #6ea8ff);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  text-align: inherit;
  word-break: break-word;
}
.settings-pf-thread-link:hover {
  opacity: 0.92;
}
.settings-support-tools-h {
  margin-top: 22px;
}

.settings-prose {
  margin-bottom: 16px;
}
.settings-card-placeholder {
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 20px;
}

.settings-account-profile {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  margin-bottom: 20px;
  background: rgba(255, 255, 255, 0.03);
}
body.light .settings-account-profile {
  background: rgba(0, 0, 0, 0.03);
}
.settings-account-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 420px;
}
.settings-account-form label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin-bottom: 6px;
}
.settings-account-form .text-input {
  width: 100%;
  box-sizing: border-box;
}
.settings-account-msg {
  font-size: 13px;
  margin: 0;
  min-height: 1.25em;
}
.settings-account-msg.is-err {
  color: #ff6b6b;
}
.settings-account-msg.is-ok {
  color: #6bcf7f;
}
.acp-inline-msg {
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}
.acp-inline-msg.is-err {
  color: #ff6b6b;
}
.acp-inline-msg.is-ok {
  color: #6bcf7f;
}

.settings-muted {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}
.settings-h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 20px 0 8px;
}
.settings-rule {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 18px 0;
}

.settings-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 2px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: transparent;
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
body.light .settings-row {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}
.settings-row.settings-row--static {
  cursor: default;
}
.settings-row.settings-row--compact {
  padding: 10px 2px;
}
.settings-row__ic {
  flex-shrink: 0;
  display: flex;
  width: 24px;
  justify-content: center;
}
.settings-row__svg {
  width: 20px;
  height: 20px;
}
.settings-row__txt {
  flex: 1;
  min-width: 0;
  font-size: 15px;
}
.settings-row__trail {
  color: var(--muted);
  font-size: 14px;
  margin-right: 2px;
  max-width: 42%;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.settings-row__chev {
  color: var(--muted);
  font-size: 20px;
  font-weight: 300;
  flex-shrink: 0;
}

.settings-check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid var(--line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  margin-right: 2px;
  flex-shrink: 0;
}

.settings-status-card {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  margin-bottom: 20px;
}
.settings-status-card__av {
  width: 48px;
  height: 48px;
}
.settings-status-un {
  font-weight: 700;
  font-size: 15px;
}
.settings-status-dn {
  color: var(--muted);
  font-size: 14px;
  margin-top: 2px;
}

.settings-radio-block {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
body.light .settings-radio-block {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}
.settings-radio-block__title {
  font-weight: 700;
  font-size: 15px;
}
.settings-radio-block__sub {
  font-size: 13px;
  margin-top: 4px;
}

.settings-radio {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
  position: relative;
  box-sizing: border-box;
}
body.light .settings-radio {
  border-color: rgba(0, 0, 0, 0.35);
}
.settings-radio.is-on {
  border-color: var(--text);
}
.settings-radio.is-on::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: var(--text);
}

.settings-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
}
.settings-toggle-row__label {
  flex: 1;
  font-size: 15px;
  line-height: 1.35;
}
.settings-toggle-row--modal {
  padding: 12px 0 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 8px;
}

.settings-pill-toggle {
  width: 50px;
  height: 30px;
  border-radius: 999px;
  border: 0;
  background: rgba(255, 255, 255, 0.22);
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  transition: background 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
body.light .settings-pill-toggle {
  background: rgba(0, 0, 0, 0.15);
}
.settings-pill-toggle__knob {
  position: absolute;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  top: 3px;
  left: 3px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  will-change: transform;
}
.settings-pill-toggle.is-on {
  background: rgba(255, 255, 255, 0.42);
}
body.light .settings-pill-toggle.is-on {
  background: rgba(0, 0, 0, 0.35);
}
.settings-pill-toggle.is-on .settings-pill-toggle__knob {
  transform: translateX(20px);
}

.settings-inline-back {
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  cursor: pointer;
  padding: 0 0 12px;
  margin-bottom: 4px;
  font-size: 15px;
}
@media (min-width: 781px) {
  .settings-inline-back {
    display: none;
  }
}
.settings-new-filter {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 14px 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: var(--text);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.settings-new-filter__plus {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
}

.modal-overlay--settings-detail {
  z-index: 85;
}

/* Lösch-Bestätigung: gleicher horizontaler Bezug wie andere Modale */
.modal-overlay--delete-post {
  align-items: center;
  justify-content: center;
  padding: 16px;
  padding-left: calc(16px + var(--modal-content-shift-x));
}
/* Über Profil-Medien-Overlay im #modal-layer (z. B. .profile-media-feed-mob z-index 120), sonst unsichtbar bis Schließen */
#modal-layer .modal-overlay--delete-post {
  z-index: 250;
}
.modal-overlay--blocked {
  z-index: 86;
}

/* Modal: Selbstdefinierten Filter erstellen (Unerwünschte Begriffe) */
.modal-overlay--hidden-word-filter {
  z-index: 92;
  align-items: center;
  justify-content: center;
}
.modal.modal--hidden-word-filter {
  width: min(420px, 94vw);
  max-height: min(88vh, 640px);
  overflow-y: auto;
  padding: 20px 18px 22px;
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  box-sizing: border-box;
}
body.light .modal.modal--hidden-word-filter {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
}
.settings-hwf-title {
  margin: 0 0 16px;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.settings-hwf-field {
  margin-bottom: 4px;
}
.settings-hwf-label {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 8px;
}
.settings-hwf-name-inp {
  width: 100%;
  box-sizing: border-box;
}
.settings-hwf-rule {
  height: 0;
  margin: 14px 0 10px;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
body.light .settings-hwf-rule {
  border-top-color: var(--line);
}
.settings-hwf-section-h {
  font-size: 15px;
  font-weight: 700;
  margin: 2px 0 6px;
  line-height: 1.35;
}
.settings-hwf-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 14px;
  padding: 14px 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  cursor: pointer;
  text-align: left;
  font-size: 15px;
  line-height: 1.35;
}
.settings-hwf-section-h + .settings-hwf-option {
  border-top: none;
  padding-top: 4px;
}
.settings-hwf-option + .settings-hwf-option {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
body.light .settings-hwf-option + .settings-hwf-option {
  border-top-color: var(--line);
}
.settings-hwf-option--multiline {
  align-items: flex-start;
}
.settings-hwf-option--multiline .settings-radio {
  margin-top: 2px;
}
.settings-hwf-opt-main {
  display: block;
  font-weight: 600;
}
.settings-hwf-opt-sub {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
  font-weight: 400;
  line-height: 1.35;
}
.settings-hwf-addwords-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 0;
  margin-top: 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: var(--text);
  font: inherit;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  text-align: left;
}
body.light .settings-hwf-addwords-row {
  border-top-color: var(--line);
}
.settings-hwf-addwords-plus {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}
.settings-hwf-words-panel {
  padding: 0 0 8px;
}
.settings-hwf-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.settings-hwf-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 6px 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 14px;
}
body.light .settings-hwf-chip {
  background: rgba(0, 0, 0, 0.06);
}
.settings-hwf-chip-x {
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 0 4px;
  border-radius: 4px;
}
.settings-hwf-chip-x:hover {
  color: var(--text);
}
.settings-hwf-add-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.settings-hwf-word-inp {
  flex: 1;
  min-width: 0;
}
.settings-hwf-done {
  width: 100%;
  margin-top: 16px;
  border-radius: 12px;
  padding: 14px 16px;
  background: #fff;
  color: #0a0a0a;
  border: 0;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  font-family: inherit;
}
body.light .settings-hwf-done {
  background: #0a0a0a;
  color: #fff;
}
.settings-filter-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
body.light .settings-filter-list {
  border-top-color: var(--line);
}
.settings-filter-list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 15px;
}
body.light .settings-filter-list__item {
  border-bottom-color: var(--line);
}
.settings-filter-list__name {
  font-weight: 600;
}
.settings-filter-list__meta {
  font-size: 13px;
}
.modal.modal--settings-detail-inner {
  position: relative;
  width: min(520px, 94vw);
  min-height: auto;
  padding: 12px 18px 20px;
  border-radius: 20px;
}
.modal.modal--settings-detail-inner.modal--account-danger {
  width: min(620px, 96vw);
  padding: 14px 20px 22px;
}
.modal-body--account-danger {
  max-height: min(72vh, 680px);
  overflow-y: auto;
}
.account-danger-top {
  margin-bottom: 14px;
}
.account-danger-ic {
  display: flex;
  justify-content: center;
  margin: 2px auto 12px;
  width: 50px;
  height: 50px;
  color: rgba(250, 250, 250, 0.88);
}
.account-danger-ic svg {
  width: 100%;
  height: 100%;
}
.account-danger-ic--warn {
  color: #f59e0b;
}
body.light .account-danger-ic {
  color: rgba(15, 17, 21, 0.78);
}
.account-danger-lead {
  margin: 0 0 10px;
  font-weight: 600;
  font-size: 15px;
}
.account-danger-list {
  margin: 0 0 12px 1.1em;
  padding: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted, rgba(255, 255, 255, 0.72));
}
.account-danger-list li {
  margin-bottom: 8px;
}
.account-danger-foot {
  margin: 0 0 12px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.modal--settings-hide-likes .settings-rmodal-h,
.modal--settings-offensive-replies .settings-rmodal-h {
  text-align: center;
}
.settings-rmodal-back {
  position: absolute;
  left: 10px;
  top: 10px;
  background: transparent;
  border: 0;
  color: var(--text);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 6px;
  border-radius: 50%;
  z-index: 1;
}
.settings-rmodal-back:hover {
  background: rgba(127, 127, 127, 0.12);
}
.settings-rmodal-h {
  margin: 0 36px 10px;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.settings-rmodal-p {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.45;
}
.settings-rmodal-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 14px 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: var(--text);
  font: inherit;
  cursor: pointer;
  text-align: left;
  font-size: 15px;
}
.settings-rmodal-done,
.modal--settings-detail-inner .post-btn {
  width: 100%;
  margin-top: 14px;
  border-radius: 12px;
  padding: 12px 16px;
  background: #fff;
  color: #0a0a0a;
  border: 0;
  font-weight: 700;
}
body.light .settings-rmodal-done,
body.light .modal--settings-detail-inner .post-btn {
  background: #0a0a0a;
  color: #fff;
}

.modal--blocked-users {
  width: min(440px, 92vw);
  max-height: 72vh;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  overflow: hidden;
}
.blocked-modal-head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}
.blocked-modal-title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}
.blocked-modal-spacer {
  width: 36px;
}
.blocked-modal-body {
  padding: 20px 18px 28px;
  overflow-y: auto;
}
.blocked-modal-empty {
  text-align: center;
  padding: 12px 8px;
}

.modal--restricted-users {
  width: min(480px, 94vw);
  max-height: 78vh;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  overflow: hidden;
}
.restricted-modal-head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}
.restricted-modal-title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}
.restricted-modal-spacer {
  width: 36px;
}
.restricted-modal-body {
  padding: 16px 18px 24px;
  overflow-y: auto;
}
.restricted-modal-lead {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
  text-align: center;
}
.restricted-modal-loading,
.restricted-modal-empty {
  text-align: center;
  padding: 12px 8px;
}
.restricted-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(127, 127, 127, 0.12);
}
.restricted-row:last-child {
  border-bottom: 0;
}
.restricted-row__av {
  flex-shrink: 0;
}
.restricted-row__mid {
  flex: 1;
  min-width: 0;
}
.restricted-row__line1 {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.restricted-row__un {
  font-weight: 700;
  font-size: 15px;
}
.restricted-row__dn {
  font-size: 14px;
  color: var(--muted);
  margin-top: 2px;
}
.restricted-row__btn {
  flex-shrink: 0;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.restricted-row__btn:hover {
  background: rgba(127, 127, 127, 0.08);
}

/* Name + Verifizierungs-Badge: Badge fest 1:1, Text darf ellipsen wo eine Zeile nötig ist */
.verified-inline-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.22em;
  max-width: 100%;
  min-width: 0;
  line-height: inherit;
}
.verified-inline-row > .name,
.verified-inline-row .name:first-child {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-user-row .verified-inline-row,
.search-page__posts .feed-item .verified-inline-row,
.feed-main .meta .verified-inline-row,
.search-history-row__line1.verified-inline-row,
.suggest-card__line1.verified-inline-row,
.chat-list-name-row__inner.verified-inline-row {
  flex-wrap: nowrap;
}
.suggest-card .verified-inline-row .suggest-card__uname,
.search-history-row__line1 .search-history-row__uname {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-head-center > .verified-inline-row {
  flex: 1;
  min-width: 0;
  justify-content: center;
  flex-wrap: nowrap;
}
.chat-head-center > .verified-inline-row .chat-title {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.verified-badge-threads {
  --vb-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--vb-size);
  width: var(--vb-size);
  height: var(--vb-size);
  min-width: var(--vb-size);
  max-width: var(--vb-size);
  min-height: var(--vb-size);
  max-height: var(--vb-size);
  line-height: 0;
  vertical-align: middle;
  box-sizing: border-box;
  overflow: visible;
  margin-inline: 0;
  aspect-ratio: 1;
}
.verified-badge-threads__svg {
  display: block;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  overflow: visible;
  /* Explizite Kanten — kein min-width/min-height 100% (verhindert Verzerrung in Flex) */
  object-fit: contain;
  object-position: center;
  shape-rendering: auto;
}
.verified-badge-threads--muted {
  color: rgba(255, 255, 255, 0.5);
}
body.light .verified-badge-threads--muted {
  color: rgba(0, 0, 0, 0.45);
}

.page-stack-card.page-stack-card--messages {
  position: relative;
  padding-top: 0;
}
.page-stack-card.page-stack-card--messages.page-stack-card--messages-requests {
  padding-top: 0;
}
.page-stack-card.page-stack-card--chat {
  position: relative;
  padding-top: 0;
}
.page-stack-card--chat .chat-page-scroll-column,
.page-stack-card--chat .chat-page-main-scroll,
.page-stack-card--chat .chat-page-main-scroll__inner {
  background: var(--surface);
}
.chat-page-scroll-column.chat-page-scroll-column--thread {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.chat-jump-down-banner-wrap {
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  display: flex;
  justify-content: center;
  z-index: 8;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.chat-jump-down-banner-wrap--visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.chat-jump-down-banner {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  background: rgba(20, 20, 22, 0.92);
  color: var(--text);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.35);
  max-width: calc(100% - 24px);
  white-space: nowrap;
}
body.light .chat-jump-down-banner {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.12);
}
.chat-jump-down-banner__ic {
  flex-shrink: 0;
  opacity: 0.9;
}
.chat-jump-down-banner__txt {
  overflow: hidden;
  text-overflow: ellipsis;
}
.desk-msg-thread-col {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
/* „Anfragen“: eigene Box, Abstand zu Kartenrand oben/rechts und zur Suche darunter */
.messages-inbox-toolbar__requests-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px 10px 14px;
}
.messages-inbox-toolbar__search-row {
  width: 100%;
  box-sizing: border-box;
  padding: 0 14px 12px 14px;
}
.messages-inbox-toolbar__search-row .messages-inbox-search-wrap {
  width: 100%;
  box-sizing: border-box;
}
.messages-requests-count-link {
  position: static;
  flex: 0 0 auto;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(127, 127, 127, 0.1);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--link);
  cursor: pointer;
  white-space: nowrap;
  align-self: center;
  box-sizing: border-box;
  line-height: 1.25;
}
body.light .messages-requests-count-link {
  background: rgba(0, 0, 0, 0.05);
}
.messages-requests-count-link:hover {
  text-decoration: none;
  opacity: 0.92;
  filter: brightness(1.08);
}
.page-stack-card--messages .messages-inbox-toolbar {
  padding: 0;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.messages-inbox-search-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(127, 127, 127, 0.06);
  box-sizing: border-box;
}
.messages-inbox-search-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  flex-shrink: 0;
}
.messages-inbox-search-ic svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
}
.messages-inbox-search {
  flex: 1;
  min-width: 0;
  width: auto;
  border: 0;
  background: transparent;
  padding: 2px 0;
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
  color: var(--text);
}
.messages-inbox-search:focus {
  outline: none;
}
/* Anfragen: gleiche Postfach-Karte, kein Overlay-Modal */
.messages-requests-inline {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-sizing: border-box;
}
.messages-requests-inline-head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: 8px 10px 10px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 4;
  background: var(--surface);
}
.messages-requests-inline-back {
  justify-self: start;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  font-size: 20px;
  line-height: 1;
}
.messages-requests-inline-title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}
.messages-requests-inline-spacer {
  width: 40px;
  height: 1px;
}
.messages-requests-inline-body {
  flex: 1;
  min-height: 0;
  padding: 0 0 8px;
}
html.mobile-shell .messages-requests-inline--no-subhead .messages-requests-inline-body {
  padding-top: 4px;
}
.messages-empty-state--inbox-inline {
  min-height: 200px;
  padding: 28px 18px 36px;
}
.messages-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 260px;
  padding: 40px 24px 48px;
  box-sizing: border-box;
}
.messages-empty-state--compact {
  min-height: 220px;
  padding: 32px 20px 40px;
}
.messages-empty-state__ic {
  color: var(--muted);
  opacity: 0.9;
  margin-bottom: 16px;
}
.messages-empty-state__ic--dm svg {
  width: 56px;
  height: 56px;
  display: block;
  fill: currentColor;
  stroke: none;
}
.messages-empty-state__title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
}
.messages-empty-state__sub {
  margin: 0;
  max-width: 280px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
}
.feed-main .meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
}
.feed-main .meta-top {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px 6px;
  min-width: 0;
  width: 100%;
}
.feed-main .meta-sub {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 18px;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.feed-main .meta-topic-wrap {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
/* Feed-Autor: Badge dichter am @-Namen, Name mit Ellipsis, Hover nur unterstreicht den Benutzernamen */
.feed-main .meta > .verified-inline-row.feed-meta-author-row {
  gap: 0.06em;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}
.feed-main .meta .verified-inline-row.feed-meta-author-row .name {
  margin-right: 0;
}
.feed-main .meta .verified-inline-row.feed-meta-author-row .feed-author-name {
  text-decoration: none;
}
.feed-main .meta .verified-inline-row.feed-meta-author-row .feed-author-name:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
html.mobile-shell .feed-main .meta .verified-inline-row.feed-meta-author-row .feed-author-name {
  -webkit-tap-highlight-color: transparent;
}
html.mobile-shell .feed-main .meta .verified-inline-row.feed-meta-author-row .feed-author-name:active,
html.mobile-shell .feed-main .meta .verified-inline-row.feed-meta-author-row .feed-author-name:focus,
html.mobile-shell .feed-main .meta .verified-inline-row.feed-meta-author-row .feed-author-name:focus-visible {
  text-decoration: none;
  outline: none;
}
.name--with-badge {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.chat-list-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  overflow: hidden;
}
.chat-list-name-row__inner.verified-inline-row {
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  gap: 5px;
  overflow: hidden;
}
.chat-list-name-row__tail {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.chat-list-row-time {
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
}
.page-stack-card--messages .chat-list-text {
  overflow: hidden;
  min-width: 0;
}
.page-stack-card--messages .feed-item.chat-list-row {
  overflow: visible;
}
.chat-list-name-row .name {
  font-weight: 600;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-list-dn {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 2px;
}
html.mobile-shell .chat-preview {
  font-size: 12px;
}
.chat-list-unread-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3b82f6;
  flex-shrink: 0;
}
.chat-list-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: stretch;
}
.chat-list-action-btn {
  padding: 6px 10px;
  border-radius: 8px;
  border: 0;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  background: rgba(99, 132, 255, 0.35);
  color: var(--text);
}
.chat-list-action-btn--ghost {
  background: transparent;
  border: 1px solid var(--line);
}
.chat-list-restricted-hint {
  padding: 4px 0;
  font-size: 12px;
  text-align: right;
  max-width: 88px;
}
.chat-head--thread {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 4px;
}
.chat-head--thread .chat-back {
  justify-self: start;
}
.chat-head-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
}
.chat-head--thread .chat-title {
  flex: 0 1 auto;
  text-align: center;
}
.chat-head-spacer {
  width: 36px;
}

@media (max-width: 780px) {
  main.content.content--settings,
  .content.content--settings {
    width: 100%;
    padding-left: 92px;
    padding-right: 8px;
    padding-top: 12px;
    padding-bottom: 20px;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 100vh;
    min-height: 100dvh;
  }
  .settings-page {
    width: 100%;
    max-width: none;
    height: auto;
    max-height: none;
    min-height: 0;
    flex: 1 1 auto;
    border-radius: 16px;
  }
  .settings-shell {
    flex-direction: column;
  }
  .settings-shell__nav {
    flex: none;
    max-width: none;
    min-width: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    flex-direction: row;
    flex-wrap: wrap;
    padding: 10px;
  }
  .settings-nav__item {
    flex: 1 1 46%;
    min-width: 140px;
  }
  .settings-nav__sub {
    display: none;
  }
}

.set-item { padding: 12px; border-radius: 10px; margin-bottom: 6px; cursor: pointer; }
.set-item.active, .set-item:hover { background: rgba(127,127,127,0.12); }

/* Entwürfe / Drafts (1:1 Karten-Ansicht) */
.drafts-page-header {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  padding: 12px 8px;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 11;
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  backdrop-filter: blur(8px);
}
.drafts-page-header__title {
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}
.drafts-list { min-height: 120px; }
.drafts-empty {
  padding: 36px 20px;
  text-align: center;
  color: var(--muted);
  font-size: 15px;
}
.draft-card {
  position: relative;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 10px;
  align-items: start;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}
.draft-card__avatar {
  width: 36px;
  height: 36px;
  margin-top: 2px;
}
.draft-card__main { min-width: 0; }
.draft-card__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.draft-card__title-left {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 6px;
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.35;
}
.draft-card__uname {
  font-weight: 700;
  color: var(--text);
}
.draft-card__chev { color: var(--muted); font-weight: 400; }
.draft-card__topic { color: var(--text); font-weight: 600; }
.draft-card__time-block {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  margin-left: auto;
  flex-shrink: 0;
}
.draft-card__dot { color: var(--muted); font-weight: 400; }
.draft-card__rel {
  color: var(--muted);
  font-weight: 400;
  white-space: nowrap;
}
.draft-card__location {
  font-size: 13px;
  color: var(--muted);
  margin: 2px 0 0;
  line-height: 1.35;
  cursor: pointer;
}
.drafts-page-header__back {
  width: 40px;
  height: 40px;
  justify-self: start;
}
.drafts-page-header__spacer {
  width: 40px;
  height: 40px;
  justify-self: end;
}
.draft-card__text {
  margin: 8px 0 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text);
  cursor: pointer;
  font-size: 15px;
}
.draft-card__placeholder { color: var(--muted); font-style: italic; }
.draft-card__gallery {
  display: grid;
  gap: 8px;
  width: 100%;
}
.draft-card__gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--line);
  vertical-align: middle;
}
/* Drei Bilder: groß links, zwei schmal rechts (Threads-ähnlich) */
.draft-card__gallery--hero3 {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  grid-template-rows: 1fr 1fr;
  gap: 6px;
  min-height: 168px;
  max-height: 280px;
}
.draft-card__gallery--hero3 .draft-card__gallery-hero {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100%;
  height: 100%;
  min-height: 140px;
  aspect-ratio: unset;
  object-fit: cover;
}
.draft-card__gallery--hero3 .draft-card__gallery-side:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: unset;
  object-fit: cover;
}
.draft-card__gallery--hero3 .draft-card__gallery-side:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: unset;
  object-fit: cover;
}
.draft-card__gallery--scroll {
  display: flex;
  flex-direction: row;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
  -webkit-overflow-scrolling: touch;
}
.draft-card__gallery--scroll img {
  flex: 0 0 calc(33.333% - 6px);
  min-width: 108px;
  max-height: 200px;
}
.menu.draft-options-menu {
  width: 200px;
  min-height: 0;
  padding: 8px;
}
.menu.in-draft-card {
  position: absolute;
  right: 10px;
  top: 44px;
  z-index: 20;
}

/* Entwürfe im Compose-Modal (Zettel-Icon) */
.compose-overlay--drafts {
  z-index: 95;
  align-items: center;
  justify-content: center;
  padding: 12px;
  padding-left: calc(12px + var(--modal-content-shift-x));
  background: var(--modal-scrim);
}
/* Referenz: Entwürfe 620×658 px */
.modal.compose-modal.compose-modal--drafts {
  width: 620px;
  max-width: calc(100vw - 24px);
  height: min(658px, 92vh);
  max-height: 92vh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--surface);
  color: var(--text);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: none;
}
body.light .modal.compose-modal.compose-modal--drafts {
  background: var(--surface);
  color: var(--text);
  border-color: var(--line);
}
.compose-drafts-head {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  padding: 10px 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}
body.light .compose-drafts-head {
  border-bottom-color: var(--line);
}
.compose-drafts-head__back {
  justify-self: start;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
  font-size: 20px;
  cursor: pointer;
  display: grid;
  place-items: center;
  -webkit-tap-highlight-color: transparent;
}
body.light .compose-drafts-head__back {
  color: var(--text);
}
.compose-drafts-head__title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  grid-column: 2;
}
.compose-drafts-head__spacer {
  width: 44px;
  height: 44px;
  justify-self: end;
}
.compose-drafts-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.compose-drafts-list .draft-card {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-left: 14px;
  padding-right: 14px;
}
body.light .compose-drafts-list .draft-card {
  border-bottom-color: var(--line);
}
.compose-drafts-list .draft-card:last-child {
  border-bottom: none;
}
.compose-drafts-empty {
  padding: 40px 20px;
}

/* Geplante Beiträge (⋯-Menü, wie Entwürfe) */
.compose-overlay--scheduled {
  z-index: 95;
  align-items: center;
  justify-content: center;
  padding: 12px;
  padding-left: calc(12px + var(--modal-content-shift-x));
  background: var(--modal-scrim);
}
.modal.compose-modal.compose-modal--scheduled {
  width: 620px;
  max-width: calc(100vw - 24px);
  height: min(658px, 92vh);
  max-height: 92vh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  background: var(--surface);
  color: var(--text);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: none;
}
body.light .modal.compose-modal.compose-modal--scheduled {
  background: var(--surface);
  color: var(--text);
  border-color: var(--line);
}
.compose-scheduled-scroll {
  padding-bottom: 16px;
}
.compose-scheduled-plan-btn {
  margin: 12px 14px 8px;
  width: calc(100% - 28px);
}
.scheduled-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
  position: relative;
}
.scheduled-card__cover {
  width: 88px;
  height: 88px;
  border-radius: 12px;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.07);
}
.scheduled-card--focus {
  box-shadow: inset 0 0 0 1px rgba(128, 168, 255, 0.44);
  border-radius: 12px;
}
.scheduled-card__time {
  font-weight: 700;
  font-size: 15px;
}
.scheduled-card__row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.scheduled-card__body {
  flex: 1;
  min-width: 0;
}
.scheduled-card__preview {
  font-size: 17px;
  line-height: 1.32;
  font-weight: 500;
  margin: 0;
  word-break: break-word;
}
.scheduled-card__meta {
  margin-top: 6px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}
.scheduled-card__thread-badge {
  margin-left: 8px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
}
.scheduled-card .scheduled-card__menu.draft-options-menu {
  position: absolute;
  right: 6px;
  top: 6px;
  z-index: 30;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: var(--surface);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}
body.light .scheduled-card .scheduled-card__menu.draft-options-menu {
  border-color: var(--line);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}
html:not(.mobile-shell) .compose-scheduled-list--page:not(.compose-scheduled-list--page-empty) {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 14px 20px;
  box-sizing: border-box;
}
html:not(.mobile-shell) .compose-scheduled-list--page .scheduled-card {
  padding: 4px 0;
  border-radius: 14px;
}
html:not(.mobile-shell) .page-stack-card--scheduled-desk {
  border-radius: 26px;
}
.scheduled-card__cover--placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, rgba(127, 127, 127, 0.2), rgba(127, 127, 127, 0.08));
  color: rgba(255, 255, 255, 0.82);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
body.light .scheduled-card__cover--placeholder {
  color: rgba(0, 0, 0, 0.66);
  background: linear-gradient(160deg, rgba(0, 0, 0, 0.09), rgba(0, 0, 0, 0.03));
}

/* Geplanter Content — Vollbreite-Karten unter Mobile (App-nah) */
html.mobile-shell .page-stack-card--scheduled-mob {
  border-radius: 0;
  border-left: 0;
  border-right: 0;
  box-shadow: none;
}
html.mobile-shell .compose-scheduled-page-body {
  padding: 0 !important;
}
html.mobile-shell .compose-scheduled-list--page {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px 0 max(20px, env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
}
html.mobile-shell .compose-scheduled-list--page .scheduled-card {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0;
  overflow: visible;
  background: transparent;
  box-sizing: border-box;
}
html.mobile-shell .compose-scheduled-list--page .scheduled-card__cover {
  width: 84px;
  height: 84px;
  border-radius: 12px;
}
html.mobile-shell .compose-scheduled-list--page .scheduled-card__main {
  padding: 0;
  min-width: 0;
}
html.mobile-shell .compose-scheduled-list--page .scheduled-card__row {
  align-items: center;
}
html.mobile-shell .compose-scheduled-list--page .scheduled-card__more,
html.mobile-shell .compose-scheduled-list--page .scheduled-card__more.iconbtn {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  min-height: 40px;
}
html.mobile-shell .compose-scheduled-list--page .scheduled-card__preview {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
html.mobile-shell .compose-scheduled-list--page .scheduled-card__meta {
  margin-top: 5px;
  font-size: 13px;
}
html.mobile-shell .compose-scheduled-list--page .scheduled-card:last-child {
  border-bottom-color: transparent;
}
html.mobile-shell .page-stack-title--scheduled-content .page-stack-title__center {
  font-weight: 700;
  font-size: 17px;
}
/* Geplanter Content: Zurück links auf einer Zeile mit Titel (wie Desktop-Grid) */
html.mobile-shell .page-stack-title--scheduled-content-mob {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  width: 100%;
  padding-inline: 6px;
  box-sizing: border-box;
  min-height: var(--page-shell-title-height);
}
html.mobile-shell .page-stack-title--scheduled-content-mob .app-backbtn {
  justify-self: start;
}
html.mobile-shell .page-stack-title--scheduled-content-mob .page-stack-title__center {
  justify-self: center;
  text-align: center;
  grid-column: 2;
}
html.mobile-shell .page-stack-title--scheduled-content-mob .page-stack-title__side {
  grid-column: 3;
}

/* Gespeichert: Zurück zum Vollbild-Menü */
html.mobile-shell .saved-page-header--with-mob-menu-back {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  padding: 0 6px;
}
html.mobile-shell .saved-page-header--with-mob-menu-back .saved-page-header__edge {
  display: none;
}
html.mobile-shell .saved-page-header--with-mob-menu-back .saved-page-header__center {
  flex: 1 1 auto;
  min-width: 0;
}
html.mobile-shell .saved-page-header__menu-back {
  flex-shrink: 0;
}

/* Mobile „⋯“-Menüs: Threads-ähnliche Karten, Text links / Icon rechts */
html.mobile-shell .mobile-bottom-sheet--thread-style-menu {
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .mobile-bottom-sheet__title--thread-menu,
html.mobile-shell .profile-overflow-sheet__title--thread-menu {
  font-size: 13px;
  font-weight: 600;
  color: rgba(243, 245, 247, 0.55);
  text-align: center;
  padding: 4px 12px 8px;
}
html.mobile-shell body.light .mobile-bottom-sheet__title--thread-menu,
html.mobile-shell body.light .profile-overflow-sheet__title--thread-menu {
  color: rgba(10, 10, 10, 0.55);
}
html.mobile-shell .post-menu--thread-style-mob,
html.mobile-shell .post-menu--thread-style-mob.repost-menu {
  padding: 6px 10px 10px !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: transparent !important;
}
html.mobile-shell .post-menu--thread-style-mob .menu-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 50px;
  padding: 12px 14px;
  margin: 0;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: none;
  width: 100%;
  box-sizing: border-box;
  font-size: 15px;
  text-align: left;
}
html.mobile-shell body.light .post-menu--thread-style-mob .menu-row {
  background: rgba(0, 0, 0, 0.04);
}
html.mobile-shell .post-menu--thread-style-mob .menu-row .menu-ic,
html.mobile-shell .post-menu--thread-style-mob .menu-row .post-menu-ic {
  margin-left: auto;
  flex-shrink: 0;
  opacity: 0.92;
}
html.mobile-shell .post-menu--thread-style-mob .menu-row.danger,
html.mobile-shell .post-menu--thread-style-mob .menu-row.danger .post-menu-ic {
  color: #ff4b59;
}
html.mobile-shell .post-menu--thread-style-mob .menu-divider {
  display: none;
}
.compose-scheduled-empty-state {
  margin: auto;
  max-width: 520px;
}
.compose-scheduled-page-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.compose-scheduled-list--page {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.compose-scheduled-list--page-empty {
  justify-content: center;
  align-items: center;
}
.compose-scheduled-list--page .compose-scheduled-empty-state {
  margin: auto;
  text-align: center;
}
html:not(.mobile-shell) .page-stack-title.page-stack-title--scheduled-content-desk {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 0;
  padding-inline: 10px;
  padding-block: 0;
  min-height: var(--page-shell-title-height);
  box-sizing: border-box;
}
html:not(.mobile-shell) .page-stack-title--scheduled-content-desk .app-backbtn {
  justify-self: start;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
}
html:not(.mobile-shell) .page-stack-title--scheduled-content-desk .page-stack-title__center {
  text-align: center;
  font-weight: 700;
  font-size: 17px;
  color: var(--text);
}
html:not(.mobile-shell) .page-stack-title--scheduled-content-desk .page-stack-title__side {
  width: 40px;
}
html:not(.mobile-shell) .page-stack-head-fixed:has(.page-stack-title--scheduled-content-desk) {
  background: var(--bg) !important;
}
html:not(.mobile-shell) .page-stack-card.page-stack-card--scheduled-content {
  overflow: hidden;
  border-radius: 26px;
}
html:not(.mobile-shell) .page-stack-card--scheduled-desk .page-stack-body-flow.compose-scheduled-page-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
html:not(.mobile-shell) .page-stack-card--scheduled-desk .compose-scheduled-list--page-empty {
  flex: 1 1 auto;
  min-height: min(52vh, 520px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
html:not(.mobile-shell) .page-stack-card--scheduled-desk .compose-scheduled-empty-state {
  margin-left: auto;
  margin-right: auto;
}
html:not(.mobile-shell) .page-stack-root--scheduled-content .page-stack-route-bleed--single-native .page-stack-main-scroll__inner {
  padding-top: 0;
}
html:not(.mobile-shell) .page-stack-root--scheduled-content .page-stack-route-bleed--single-native {
  background: var(--bg);
  box-sizing: border-box;
}
html:not(.mobile-shell) .page-stack-root--scheduled-content .page-stack-head-fixed {
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--bg) !important;
}
.compose-scheduled-picker-shade {
  position: absolute;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0, 0, 0, 0.55);
  border-radius: inherit;
}
body.light .compose-scheduled-picker-shade {
  background: rgba(0, 0, 0, 0.35);
}
.compose-modal--schedule-picker-open {
  position: relative;
}
.compose-modal--schedule-picker-open .compose-scheduled-picker-shade {
  position: absolute;
  border-radius: inherit;
}
.compose-scheduled-picker {
  width: 100%;
  max-width: 360px;
  padding: 20px;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
}
body.light .compose-scheduled-picker {
  background: var(--surface);
  border-color: var(--line);
}
.compose-scheduled-picker__title {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 700;
}
.compose-scheduled-picker__label {
  display: block;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 6px;
}
.compose-scheduled-picker__dt {
  width: 100%;
  margin-bottom: 10px;
}
.compose-scheduled-picker__dt--select {
  appearance: none;
  -webkit-appearance: none;
}
.compose-scheduled-picker__dt--hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.compose-scheduled-picker__manual {
  width: 100%;
  margin-bottom: 16px;
}
.compose-scheduled-picker__time {
  width: 100%;
  margin-bottom: 16px;
}
.compose-scheduled-picker__hint {
  margin: -4px 0 14px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
}
.compose-scheduled-picker__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.compose-scheduled-picker__actions--with-remove {
  justify-content: space-between;
  align-items: center;
}
.compose-scheduled-picker.compose-scheduled-picker--stacked {
  max-width: 360px;
  width: calc(100vw - 32px);
  margin: 0 auto;
}
.compose-scheduled-picker__label--wheel {
  margin-bottom: 4px;
}
.compose-scheduled-picker__desktop-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 8px;
}
.compose-scheduled-picker__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.compose-scheduled-picker__field-lab {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.04em;
}
.compose-scheduled-picker__date-input {
  color-scheme: dark;
}
body.light .compose-scheduled-picker__date-input {
  color-scheme: light;
}
.compose-scheduled-picker__time-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.compose-scheduled-wheel__select--desktop {
  width: 100%;
  min-height: 44px;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 15px;
}
.compose-schedule-wheel-rows {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 4px;
}
.compose-schedule-wheel-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.compose-schedule-wheel__box {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.compose-schedule-wheel__box-lab {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--muted);
  text-align: center;
}
.compose-scheduled-picker__done-btn {
  padding: 10px 24px;
  border-radius: 22px;
  border: none;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  background: #f5f5f5;
  color: #0a0a0a;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
  font-family: inherit;
}
.compose-scheduled-picker__done-btn:hover {
  filter: brightness(1.05);
}
body.light .compose-scheduled-picker__done-btn {
  background: var(--text);
  color: var(--bg);
}
.compose-scheduled-picker__remove {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 2px;
  border: 0;
  background: transparent;
  color: #f23b3b;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}
.compose-scheduled-picker__remove:hover {
  opacity: 0.9;
}
.compose-scheduled-picker__remove-ic {
  display: inline-flex;
  width: 1em;
  height: 1em;
  align-items: center;
  justify-content: center;
}
.compose-scheduled-picker__remove-ic .post-menu-ic {
  width: 1em;
  height: 1em;
}
.compose-scheduled-wheel {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}
.compose-scheduled-wheel__col {
  min-width: 0;
}
.compose-scheduled-wheel__head {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  color: var(--muted);
  text-align: center;
}
.compose-scheduled-wheel__select {
  width: 100%;
  height: 136px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font: inherit;
  text-align: center;
  padding: 4px;
  outline: none;
}
body.light .compose-scheduled-wheel__select {
  border-color: var(--line);
  background: #f7f7f8;
}
html.mobile-shell .compose-scheduled-picker {
  max-width: 100%;
  width: calc(100% - 8px);
  padding: 16px 12px 12px;
}
html.mobile-shell .compose-scheduled-picker__dt,
html.mobile-shell .compose-scheduled-picker__manual,
html.mobile-shell .compose-scheduled-picker__time {
  min-height: 46px;
  font-size: 16px;
}
html.mobile-shell .compose-scheduled-picker__actions {
  margin-top: 2px;
}

/* Mobil: „Beitrag planen“ als Full-Width-Bottom-Sheet mit iOS-ähnlichem 3-Spalten-Rad */
html.mobile-shell .compose-schedule-sheet.mobile-bottom-sheet {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden;
  padding: 0 0 calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  max-height: min(88vh, 100dvh);
  box-sizing: border-box;
}
.compose-schedule-sheet__head {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) auto minmax(72px, 1fr);
  align-items: center;
  gap: 6px;
  padding: 4px 12px 2px;
  box-sizing: border-box;
}
.compose-schedule-sheet__head-spacer {
  width: 100%;
  min-height: 1px;
  pointer-events: none;
}
.compose-schedule-sheet__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  grid-column: 2;
  min-width: 0;
  max-width: 56vw;
}
.compose-schedule-sheet__done-top {
  grid-column: 3;
  justify-self: end;
  align-self: center;
  padding: 10px 20px;
  border-radius: 22px;
  border: none;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
  background: #f5f5f5;
  color: #0a0a0a;
}
.compose-schedule-sheet__done-top:hover {
  filter: brightness(1.05);
}
body.light .compose-schedule-sheet__done-top {
  background: var(--text);
  color: var(--bg);
}
.compose-schedule-sheet__hint {
  margin: 0 18px 10px;
  text-align: center;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.compose-schedule-sheet__empty {
  margin: 16px 18px 24px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
}
.compose-schedule-sheet__remove-wrap {
  padding: 8px 16px 0;
  box-sizing: border-box;
}
.compose-scheduled-picker__remove--sheet {
  width: 100%;
  justify-content: center;
  padding: 12px 8px !important;
}
.compose-schedule-ios-picker {
  position: relative;
  margin: 4px 0 12px;
  padding: 0 8px;
  box-sizing: border-box;
}
.compose-schedule-ios-picker__cols {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 6px;
  max-width: 100%;
  margin: 0 auto;
}
.compose-schedule-ios-picker__col {
  position: relative;
  min-width: 0;
  flex: 1 1 0;
}
.compose-schedule-ios-picker__col--date {
  flex: 2.1 1 0;
}
.compose-schedule-ios-picker__col--narrow {
  flex: 0.85 1 0;
  max-width: 88px;
}
/* Desktop „Beitrag planen“: kompakteres 3-Spalten-Rad (Datum + Uhrzeit) */
.compose-schedule-ios-picker--desk {
  margin: 6px 0 4px;
  padding: 0 2px;
}
.compose-schedule-ios-picker--desk .compose-schedule-ios-wheel__viewport {
  height: 108px;
  touch-action: none;
}
.compose-schedule-ios-picker--desk .compose-schedule-ios-picker__shade {
  height: 40px;
  margin: 0 1px;
}
.compose-schedule-desk-wheel__hint {
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 1.35;
  text-align: center;
  color: var(--muted);
}
.compose-schedule-ios-picker__desk-labels {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 0 2px 4px;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--muted);
}
.compose-schedule-ios-picker__desk-labels span:nth-child(1) {
  flex: 2.1 1 0;
  min-width: 0;
  text-align: center;
}
.compose-schedule-ios-picker__desk-labels span:nth-child(2),
.compose-schedule-ios-picker__desk-labels span:nth-child(3) {
  flex: 0.85 1 0;
  max-width: 88px;
  min-width: 0;
  text-align: center;
}
.compose-schedule-ios-picker__shade {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 44px;
  margin: 0 2px;
  border-radius: 10px;
  background: rgba(127, 127, 127, 0.16);
  pointer-events: none;
  z-index: 0;
}
.compose-schedule-ios-wheel__viewport {
  position: relative;
  z-index: 1;
  height: 132px;
  overflow-y: auto;
  overflow-x: hidden;
  touch-action: pan-y;
  scroll-snap-type: y mandatory;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  scrollbar-width: none;
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    #000 18%,
    #000 82%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    #000 18%,
    #000 82%,
    transparent 100%
  );
}
.compose-schedule-ios-wheel__viewport::-webkit-scrollbar {
  display: none;
}
.compose-schedule-ios-opt {
  scroll-snap-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  font-size: 15px;
  font-weight: 500;
  color: rgba(245, 245, 245, 0.38);
  padding: 0 6px;
  line-height: 1.15;
}
body.light .compose-schedule-ios-opt {
  color: rgba(10, 10, 10, 0.38);
}
.compose-schedule-ios-opt--spacer {
  color: transparent !important;
  pointer-events: none;
}
.compose-schedule-ios-opt--sel {
  color: var(--text);
  font-weight: 600;
}
.compose-crop-modal__nav-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 6px 4px;
  gap: 6px;
}
.compose-crop-modal__nav-edge {
  display: flex;
  align-items: center;
  min-width: 0;
}
.compose-crop-modal__nav-edge--start {
  justify-content: flex-start;
}
.compose-crop-modal__nav-edge--end {
  justify-content: flex-end;
}
.compose-crop-modal__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  color: #f2f2f2;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
.compose-crop-modal__nav-btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.14);
}
.compose-crop-modal__nav-btn:disabled {
  opacity: 0.28;
  cursor: default;
}
body.light .compose-crop-modal__nav-btn {
  background: rgba(0, 0, 0, 0.05);
  color: var(--text);
  box-shadow: inset 0 0 0 1px var(--line);
}
.compose-crop-modal__nav-count {
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  opacity: 0.88;
  padding: 0 4px;
  white-space: nowrap;
}
.compose-crop-nav__ic {
  display: block;
  flex-shrink: 0;
}
.compose-crop-modal__actions--wide {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 12px 14px max(12px, env(safe-area-inset-bottom, 0px));
}
.compose-crop-modal__foot-btn {
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 22px;
  border: none;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}
.compose-crop-modal__foot-btn--cancel {
  background: transparent;
  color: #f23b3b;
  box-shadow: inset 0 0 0 1.5px rgba(242, 59, 59, 0.45);
}
.compose-crop-modal__foot-btn--cancel:hover {
  background: rgba(242, 59, 59, 0.08);
}
.compose-crop-modal__foot-btn--apply {
  background: #f5f5f5;
  color: #0a0a0a;
}
.compose-crop-modal__foot-btn--apply:hover {
  filter: brightness(1.05);
}
body.light .compose-crop-modal__foot-btn--apply {
  background: var(--text);
  color: var(--bg);
}
body.light .compose-crop-modal__foot-btn--cancel {
  color: #c62828;
  box-shadow: inset 0 0 0 1.5px rgba(198, 40, 40, 0.4);
}

.post-btn--ghost {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: inherit !important;
}
body.light .post-btn--ghost {
  border-color: var(--line) !important;
}

.hidden { display: none !important; }

/* Mehrfachbilder im Feed */
.post-media-lb {
  margin: 8px 0;
}
/* <picture>-Wrapper darf Box-Layout nicht verändern (Optik 1:1) */
.post-media-lb--single picture,
.post-carousel-slide-strip picture,
.reply-modal__quoted-media picture {
  display: contents;
}
.post-media-lb--single picture img,
.post-carousel-slide-strip picture img {
  background-color: #000;
}
.post-single-img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 12px;
  border: 0;
  margin: 8px 0;
  display: block;
  cursor: grab;
}
.post-media-lb--single {
  width: min(var(--post-single-w, 322px), 100%);
  max-width: 100%;
  height: var(--post-single-h, 430px);
  margin: 8px 0;
  border-radius: 12px;
  overflow: hidden;
  border: 0;
  box-sizing: border-box;
  background: transparent;
}
.post-media-lb--single .post-single-img {
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  object-fit: cover;
  border: 0;
  border-radius: 0;
}
.post-media-lb .post-single-img {
  margin: 0;
}

/* Vollbild-Bildviewer (Lightbox) — nur vergrößern, Seitenverhältnis unverändert (object-fit: contain)
   z-index über Profil-Medien-Overlay (.profile-media-feed-mob z-index 120), sonst unsichtbar */
.image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 130;
  background: #000;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 56px 56px;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  /* Volle Viewport-Höhe inkl. mobiler Browser-Leisten (dvh) */
  min-height: 100vh;
}
@supports (height: 100dvh) {
  .image-lightbox {
    min-height: 100dvh;
  }
}
.image-lightbox__stage {
  position: relative;
  z-index: 0;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  width: 100%;
  background: #000;
}
/* Mehrere Bilder: horizontaler Strip, kant an kant (wie Threads Vollbild) */
.image-lightbox__stage--strip {
  padding: 0;
  overflow: hidden;
}
.image-lightbox__strip-wrap {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: stretch;
  box-sizing: border-box;
}
.image-lightbox__strip {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  /* Grid statt Flex: vermeidet falsche %-Breiten bei horizontalem Scroll (keine sichtbaren Lücken zwischen Slides). */
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  box-sizing: border-box;
}
.image-lightbox__strip::-webkit-scrollbar {
  display: none;
}
.image-lightbox__slide {
  width: 100%;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
.image-lightbox__img {
  /* Relativ zur Stage: so groß wie möglich ohne Stauchen (natürliches Seitenverhältnis) */
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  background-color: #000;
  background: #000;
  vertical-align: middle;
  user-select: none;
  -webkit-user-drag: none;
  box-sizing: border-box;
}
.image-lightbox__close {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 132;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(30, 30, 30, 0.65);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}
.image-lightbox__close:hover {
  background: rgba(50, 50, 50, 0.85);
}
.image-lightbox__counter {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 132;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  background: rgba(0, 0, 0, 0.62);
  opacity: 1;
  transition: opacity 0.22s ease;
  pointer-events: none;
}
.image-lightbox__counter.is-hidden {
  opacity: 0;
}
.image-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 132;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(25, 25, 25, 0.45);
  color: rgba(255, 255, 255, 0.92);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}
.image-lightbox__nav:hover {
  background: rgba(45, 45, 45, 0.75);
  color: #fff;
}
.image-lightbox__prev {
  left: 10px;
}
.image-lightbox__next {
  right: 10px;
}
.image-lightbox__actions {
  width: min(360px, calc(100vw - 24px));
  margin: 10px auto max(6px, env(safe-area-inset-bottom, 0px));
  border-radius: 999px;
  border: none;
  background: rgba(22, 22, 22, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
  padding: 6px 10px;
  box-sizing: border-box;
}
.image-lightbox__action-btn {
  flex: 1 1 0;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: none;
  background: transparent;
  color: #f3f5f7;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  min-height: 34px;
  border-radius: 999px;
  padding: 0 4px;
  -webkit-tap-highlight-color: transparent;
}
.image-lightbox__action-btn svg {
  width: 18px;
  height: 18px;
}
.image-lightbox__action-btn--liked {
  color: #ff4d67;
}
.image-lightbox__action-btn--has-comments {
  color: #0a76e5;
}
.image-lightbox__like-label {
  min-width: 0;
  max-width: min(200px, 38vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}
.image-lightbox__action-btn:active {
  background: rgba(255, 255, 255, 0.1);
}
/* Mobil: wenig Rand — Bild nutzt fast die gesamte Fläche (weiterhin contain, kein Stretch) */
@media (max-width: 980px) {
  .image-lightbox {
    padding: max(4px, env(safe-area-inset-top, 0px)) max(4px, env(safe-area-inset-right, 0px)) max(4px, env(safe-area-inset-bottom, 0px))
      max(4px, env(safe-area-inset-left, 0px));
  }
  .image-lightbox__close {
    top: max(8px, calc(env(safe-area-inset-top, 0px) + 4px));
    left: max(8px, calc(env(safe-area-inset-left, 0px) + 4px));
  }
  .image-lightbox__counter {
    top: max(10px, calc(env(safe-area-inset-top, 0px) + 6px));
    right: max(10px, calc(env(safe-area-inset-right, 0px) + 6px));
  }
  .image-lightbox__prev {
    left: max(4px, env(safe-area-inset-left, 0px));
  }
  .image-lightbox__next {
    right: max(4px, env(safe-area-inset-right, 0px));
  }
  .image-lightbox .modal-inline-ui-msg {
    top: max(44px, calc(env(safe-area-inset-top, 0px) + 36px));
  }
  .image-lightbox__actions {
    width: min(420px, calc(100vw - 12px));
    margin-bottom: max(6px, env(safe-area-inset-bottom, 0px));
  }
  .image-lightbox.image-lightbox--profile-mob {
    padding-left: max(0px, env(safe-area-inset-left, 0px));
    padding-right: max(0px, env(safe-area-inset-right, 0px));
  }
}
body.image-lightbox-open,
body.profile-edit-modal-open {
  overflow: hidden;
}
/* Mobil: horizontalen „Rubberband“/Overflow bei geöffneter Lightbox abschwächen (schwarzer Streifen über Tab-Bar) */
html.mobile-shell.image-lightbox-open {
  overflow-x: hidden;
  width: 100%;
}
.image-lightbox.image-lightbox--multi {
  isolation: isolate;
}
/* Mehrfachbilder: Karussell */
.post-media-carousel {
  margin: 8px 0;
  position: relative;
  user-select: none;
  -webkit-user-select: none;
}
.post-carousel-viewport {
  position: relative;
  width: 100%;
  max-height: 520px;
  border-radius: 12px;
  border: 0;
  overflow: hidden;
  background: transparent;
}
.post-carousel-track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  transition: transform 0.38s cubic-bezier(0.25, 0.8, 0.25, 1);
  will-change: transform;
  touch-action: pan-y;
  cursor: grab;
}
.post-carousel-track:active {
  cursor: grabbing;
}
.post-carousel-slide {
  flex: 0 0 100%;
  min-width: 0;
  max-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
}
body.light .post-carousel-slide {
  background: #e8e9ec;
}
.post-carousel-slide img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  display: block;
  vertical-align: middle;
  cursor: zoom-in;
}
.post-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  color: var(--text);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background 0.15s ease, transform 0.15s ease;
}
.post-carousel-btn:hover {
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  transform: translateY(-50%) scale(1.05);
}
.post-carousel-btn:active {
  transform: translateY(-50%) scale(0.96);
}
.post-carousel-prev {
  left: 8px;
}
.post-carousel-next {
  right: 8px;
}
/* Klick auf linke/rechte Bildhälfte wie Pfeile */
.post-carousel-hit {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 28%;
  z-index: 2;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  background: transparent;
  opacity: 0;
}
.post-carousel-hit-prev {
  left: 0;
}
.post-carousel-hit-next {
  right: 0;
}
.post-carousel-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 10px 0 4px;
  flex-wrap: wrap;
}
.post-carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  padding: 0;
  background: var(--line);
  cursor: pointer;
  opacity: 0.65;
  transition: transform 0.2s ease, opacity 0.2s ease, background 0.2s ease;
}
.post-carousel-dot:hover {
  opacity: 1;
  transform: scale(1.15);
}
.post-carousel-dot.active {
  opacity: 1;
  background: var(--text);
  transform: scale(1.2);
}

/* Mehrfachbilder: horizontale Leiste (Threads-ähnlich, Peek des nächsten Bildes) */
.post-media-strip {
  margin: 8px 0;
  position: relative;
  width: 100%;
  min-width: 0;
  user-select: none;
  -webkit-user-select: none;
}
.post-carousel-strip-scroll {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: none;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  touch-action: pan-x;
  padding-bottom: 2px;
}
.post-carousel-strip-track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  width: max-content;
  min-height: 0;
  box-sizing: border-box;
}
.post-carousel-strip-track--spring {
  will-change: transform;
}
.post-carousel-strip-scroll--dragging {
  scroll-snap-type: none;
  touch-action: none;
  cursor: grabbing;
}
.post-carousel-strip-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.post-carousel-strip-scroll:active {
  cursor: grabbing;
}
.post-carousel-slide-strip {
  flex: 0 0 var(--feed-tile-w, 210px);
  width: var(--feed-tile-w, 210px);
  min-width: var(--feed-tile-w, 210px);
  max-width: var(--feed-tile-w, 210px);
  height: 280px;
  border-radius: 12px;
  overflow: hidden;
  background: transparent;
  border: 0;
  box-sizing: border-box;
}
body.light .post-carousel-slide-strip {
  background: transparent;
}
.post-carousel-slide-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  vertical-align: middle;
  cursor: grab;
}
.post-carousel-slide-strip--video {
  background: rgba(0, 0, 0, 0.28);
}
.post-feed-video {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: inherit;
}
.post-feed-video .post-feed-video__el {
  width: 100%;
  height: 100%;
  max-height: 280px;
  object-fit: cover;
  display: block;
  vertical-align: middle;
  background: #000;
}
.post-feed-video .post-feed-video__el.post-feed-video__el--giflike {
  background: transparent;
}
.post-media-lb--single.post-media-lb--video .post-feed-video .post-feed-video__el {
  max-height: min(70vh, 520px);
}
.post-carousel-strip-scroll:active .post-carousel-slide-strip img {
  cursor: grabbing;
}
.post-media-lb .post-single-img {
  cursor: grab;
}
.post-media-lb:active .post-single-img {
  cursor: grabbing;
}

/* Beitragsbilder: Spoiler (Blur + Badge, Klick zum Aufdecken) */
.post-spoiler-host {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  overflow: hidden;
}
.post-media-lb--single .post-spoiler-host {
  border-radius: 12px;
}
.post-spoiler-host:not(.post-spoiler-host--revealed) img {
  filter: blur(28px);
  transform: scale(1.06);
  transition: filter 0.5s ease, transform 0.5s ease;
}
.post-spoiler-host--revealed img {
  filter: blur(0);
  transform: scale(1);
  transition: filter 0.55s ease, transform 0.55s ease;
}
.post-spoiler-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.52);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  pointer-events: none;
  z-index: 2;
  opacity: 1;
  transition: opacity 0.35s ease;
}
.post-spoiler-host--revealed .post-spoiler-badge {
  opacity: 0;
  pointer-events: none;
}

/* Chats */
.chat-page {
  display: flex;
  flex-direction: column;
  width: min(var(--page-stack-width), 100%);
  max-width: var(--page-stack-width);
  margin-left: auto;
  margin-right: auto;
  min-height: calc(100vh - 24px);
  height: auto;
  max-height: none;
  padding-bottom: 15px;
  box-sizing: border-box;
}

.chat-page .page-stack-legal-footer {
  margin-top: auto;
  padding-top: 12px;
}
.chat-empty {
  padding: 36px 20px;
  color: var(--muted);
  text-align: center;
  font-size: 15px;
}
.chat-list-row .chat-preview {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  color: var(--muted);
}
.chat-list-row--unread .chat-preview {
  color: var(--text);
  font-weight: 500;
}
.chat-list-row--read .chat-preview {
  color: var(--muted);
}
.chat-preview--typing {
  color: rgba(255, 255, 255, 0.78);
  font-style: italic;
}
.chat-preview--typing-unread {
  color: #cfd9ff;
  font-weight: 600;
}
body.light .chat-preview--typing {
  color: rgba(16, 18, 24, 0.68);
}
body.light .chat-preview--typing-unread {
  color: #2c3c83;
}

.chat-link {
  color: var(--accent, #0095f6);
  text-decoration: none;
}
.chat-link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.chat-link-card {
  display: grid;
  grid-template-columns: 154px 1fr;
  gap: 10px;
  padding: 0;
  border: 1px solid var(--line);
  background: var(--surface);
  color: inherit;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  margin-top: 10px;
}
.chat-link-card__media {
  width: 154px;
  height: 154px;
  background: rgba(127, 127, 127, 0.12);
  overflow: hidden;
}
.chat-link-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.chat-link-card__img--ph {
  width: 100%;
  height: 100%;
}
.chat-link-card__body {
  padding: 12px 12px 10px 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}
.chat-link-card__title {
  font-weight: 700;
  font-size: 14px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-link-card__sub {
  font-size: 12px;
  line-height: 1.3;
  color: var(--muted);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.chat-link-card__href {
  font-size: 12px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-link-card--loading {
  border-style: dashed;
  opacity: 0.7;
}

/* Instagram-ähnliche Vorschau: geteilter Beitrag (Hauptbild + Autor + erster Satz) */
.chat-link-card.chat-link-card--rich {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: min(260px, 72vw);
  height: auto !important;
  grid-template-columns: none;
  gap: 0;
  padding: 0;
  border-radius: 14px;
  overflow: hidden;
}
.chat-link-card--rich-post .chat-link-card__post-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  min-width: 0;
}
.chat-link-card__post-head-av {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.chat-link-card__post-head-av--ph {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.2);
  flex-shrink: 0;
}
.chat-link-card__post-head-meta {
  min-width: 0;
}
.chat-link-card__post-head-un {
  font-weight: 700;
  font-size: 14px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-link-card__post-hero {
  width: 100%;
  aspect-ratio: 1;
  background: rgba(127, 127, 127, 0.12);
  overflow: hidden;
}
.chat-link-card__post-hero--empty {
  min-height: 120px;
  aspect-ratio: auto;
}
.chat-link-card__post-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.chat-link-card__post-footer {
  padding: 10px 12px 12px;
  font-size: 13px;
  line-height: 1.35;
  text-align: left;
  min-width: 0;
}
.chat-link-card__post-footer-un {
  font-weight: 700;
  color: var(--text);
}
.chat-link-card__post-footer-txt {
  font-weight: 400;
  color: var(--text);
  word-break: break-word;
}

/* Profil teilen: Kopf + Medien-Grid (max. 6, 3 pro Reihe) */
.chat-link-card--rich-profile .chat-link-card__prof-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  min-width: 0;
}
.chat-link-card__prof-head-av {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.chat-link-card__prof-head-av--ph {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.2);
  flex-shrink: 0;
}
.chat-link-card__prof-head-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.chat-link-card__prof-un {
  font-weight: 700;
  font-size: 14px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-link-card__prof-dn {
  font-size: 13px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-link-card__prof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px;
  width: 100%;
  box-sizing: border-box;
}
.chat-link-card__prof-cell {
  aspect-ratio: 1;
  overflow: hidden;
  background: rgba(127, 127, 127, 0.12);
}
.chat-link-card__prof-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.chat-link-card__cta-wrap {
  padding: 0 12px 12px;
}
.chat-link-card__cta-btn {
  width: 100%;
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.14);
  color: var(--text);
}
body.light .chat-link-card__cta-btn {
  background: rgba(0, 0, 0, 0.08);
  color: #121212;
}
.chat-link-card--unavailable {
  display: block;
  width: 100%;
  max-width: min(300px, 78vw);
  border-radius: 24px;
  padding: 14px 16px;
  margin-top: 8px;
  background: rgba(44, 44, 46, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.chat-link-card__unavail-title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}
.chat-link-card__unavail-text {
  margin-top: 4px;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.25;
}

.chat-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: var(--page-shell-title-height);
  padding: 0 8px;
  box-sizing: border-box;
  flex-shrink: 0;
}
.chat-head--profile-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.chat-head--profile-row.chat-head--ig.chat-head--thread {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.center-title.chat-head.chat-head--profile-row {
  display: grid;
  justify-content: stretch;
  justify-items: stretch;
  text-align: start;
  padding: 0 8px;
  border-bottom: 1px solid var(--line);
  font-weight: inherit;
  box-sizing: border-box;
}
.chat-head-lead-actions {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.chat-head-tail-actions {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.chat-head-flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.chat-head-flag:hover,
.chat-head-flag:focus-visible {
  color: var(--text);
  background: rgba(127, 127, 127, 0.12);
}
.chat-head-flag .chat-head-flag-svg,
.chat-head-flag svg {
  width: 22px;
  height: 22px;
}
.desk-msg-panel__head-actions .desk-msg-head-btn svg.chat-head-flag-svg {
  width: 20px;
  height: 20px;
}
.chat-head-profile-hit {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  border: none;
  background: none;
  padding: 4px 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
}
.chat-head-profile-av {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.chat-head-profile-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 2px;
}
.chat-head-line1 {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  max-width: 100%;
}
.chat-head-sub {
  font-size: 13px;
  color: var(--muted);
  margin-top: 2px;
}
.chat-head .chat-back {
  flex-shrink: 0;
}
.chat-title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-thread {
  flex: 1;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px 14px 80px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.chat-bubble-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 85%;
  position: relative;
}
.chat-bubble-row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 4px;
  max-width: 100%;
}
.chat-bubble-overflow {
  flex: 0 0 auto;
  align-self: center;
  padding: 2px 6px;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--muted);
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 600;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  opacity: 0.75;
}
.chat-bubble-overflow:hover,
.chat-bubble-overflow:focus-visible {
  color: var(--text);
  opacity: 1;
}
html.mobile-shell .chat-bubble-overflow {
  opacity: 0.9;
}
.chat-bubble-wrap__reply {
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 2;
  width: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.2);
  color: var(--text);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.12s ease;
}
.chat-bubble-wrap:hover .chat-bubble-wrap__reply,
.chat-bubble-wrap:focus-within .chat-bubble-wrap__reply {
  opacity: 1;
}
html.mobile-shell .chat-bubble-wrap__reply {
  opacity: 0.55;
}
.chat-bubble__reply-quote {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 8px;
  padding: 6px 8px;
  border-radius: 10px;
  background: rgba(127, 127, 127, 0.12);
  font-size: 12px;
  line-height: 1.35;
  color: var(--muted);
  max-width: 100%;
}
.chat-bubble__reply-quote--mine {
  border-left: 2px solid var(--accent, #0095f6);
}
.chat-bubble__reply-quote:not(.chat-bubble__reply-quote--mine) {
  border-left: 2px solid rgba(255, 255, 255, 0.35);
}
.chat-bubble__reply-txt {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.chat-bubble__heart {
  position: absolute;
  right: 6px;
  bottom: 4px;
  font-size: 22px;
  line-height: 1;
  pointer-events: none;
  color: #e41e3a;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}
.chat-bubble-wrap--liked .chat-bubble {
  padding-bottom: 28px;
}
.chat-typing-row {
  display: flex;
  justify-content: flex-start;
  padding: 2px 12px 6px;
}
.chat-typing-indicator {
  display: inline-block;
  padding: 0 2px;
  font-size: 28px;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.82);
  letter-spacing: 1.8px;
  user-select: none;
}
body.light .chat-typing-indicator {
  color: rgba(15, 15, 15, 0.66);
}
.chat-reply-pinned {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 10px;
  margin: 0 0 6px;
  border-radius: 12px;
  background: rgba(127, 127, 127, 0.14);
  border: 1px solid var(--line);
}
.chat-reply-pinned__x {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.chat-reply-pinned__main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}
.chat-reply-pinned__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--muted);
}
.chat-reply-pinned__snippet {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.chat-reply-pinned__one {
  flex: 1 1 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  color: var(--text);
}
.chat-reply-pinned__hint {
  font-size: 12px;
  color: var(--accent, #0095f6);
  font-weight: 600;
}
.chat-reply-pinned__full {
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  background: var(--surface);
  border: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.4;
  color: var(--text);
  max-height: 140px;
  overflow-y: auto;
}
.desk-msg-compose-wrap .chat-reply-pinned {
  margin: 0 12px 6px;
}
.chat-bubble-wrap.mine {
  align-self: flex-end;
  align-items: flex-end;
}
.chat-bubble {
  position: relative;
  padding: 10px 14px;
  border-radius: 16px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.4;
  word-break: break-word;
}
.chat-bubble-wrap.mine .chat-bubble {
  background: rgba(99, 132, 255, 0.22);
  border-color: rgba(99, 132, 255, 0.35);
}
.chat-time {
  font-size: 11px;
  color: var(--muted);
  margin-top: 4px;
  padding: 0 4px;
}
.chat-compose {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 14px 16px;
  background: linear-gradient(to top, var(--bg) 70%, transparent);
  border-top: 1px solid var(--line);
}
.chat-compose .chat-input {
  flex: 1;
  margin: 0;
}
body.light .chat-bubble-wrap.mine .chat-bubble {
  background: rgba(59, 99, 235, 0.12);
  border-color: rgba(59, 99, 235, 0.25);
}

/* Instagram-ähnliche Chat-Bubbles: eigen dunkler als View, fremd etwas heller */
.chat-bubble-wrap--other {
  align-items: flex-start;
}
.chat-bubble-wrap--mine {
  align-self: flex-end;
  align-items: flex-end;
}
.chat-thread--ig-view {
  background: var(--chat-thread-view-bg, var(--surface));
  min-height: 180px;
}
.chat-bubble-wrap--other .chat-bubble {
  background: var(--chat-bubble-other-bg, #2c2c2e);
  border-color: var(--line);
  color: var(--text);
}
.chat-bubble-wrap--mine .chat-bubble {
  background: var(--chat-bubble-mine-bg, #1e2330);
  border-color: #1e2330;
  color: var(--text);
}
body.light .chat-bubble-wrap--other .chat-bubble {
  background: var(--chat-bubble-other-bg-light, #fff);
  border-color: var(--line);
}
body.light .chat-bubble-wrap--mine .chat-bubble {
  background: var(--chat-bubble-mine-bg-light, #dedede);
  border-color: rgba(0, 0, 0, 0.08);
}
.post-action-btn--reposted:not(.post-action-btn--has-reposts) {
  color: inherit !important;
}
.post-action-btn--reposted:not(.post-action-btn--has-reposts) svg {
  color: inherit !important;
  fill: none;
}
.actions--post .post-action-btn--has-reposts.post-action-btn--reposted,
.actions--post .post-action-btn--has-reposts.post-action-btn--reposted .post-action-ic,
.actions--post .post-action-btn--has-reposts.post-action-btn--reposted .post-action-count {
  color: #27b04b !important;
}
.comments-sheet-comment__username--btn {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.comments-sheet-comment__avatar-btn {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 999px;
  line-height: 0;
  cursor: pointer;
}
.chat-bubble__img {
  display: block;
  max-width: min(260px, 72vw);
  border-radius: 12px;
  margin-top: 6px;
}
.chat-date-sep {
  align-self: center;
  margin: 10px 0;
  font-size: 12px;
  color: var(--muted);
}
.chat-date-sep span {
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.12);
}
.chat-thread-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px 16px 8px;
  gap: 8px;
}
.chat-thread-intro__av {
  width: 96px;
  height: 96px;
  border-radius: 999px;
  object-fit: cover;
}
.chat-thread-intro__name {
  font-weight: 700;
  font-size: 17px;
}
.chat-thread-intro__sub {
  color: var(--muted);
  font-size: 14px;
}
.chat-thread-intro__names {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  max-width: min(100%, 320px);
}
.chat-thread-intro__dn-line {
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
}
.chat-thread-intro__dn1 {
  font-weight: 700;
  font-size: 17px;
}
.chat-thread-intro__dn2 {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.25;
}
.chat-thread-intro__mutual {
  font-size: 13px;
  line-height: 1.35;
  color: var(--muted);
  max-width: min(100%, 300px);
}
.chat-thread-intro__handshake {
  margin-top: 4px;
}
.chat-thread-intro__handshake-ic {
  font-size: 40px;
  line-height: 1;
  display: inline-block;
  opacity: 0.92;
}
.chat-thread-intro__begin {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.35;
  color: var(--muted);
  max-width: 280px;
  text-align: center;
}

.comment-reply-limited-banner {
  text-align: center;
  padding: 10px 14px 12px;
}
.comment-reply-limited-banner__title {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(243, 245, 247, 0.55);
  text-align: center;
}
body.light .comment-reply-limited-banner__title {
  color: rgba(10, 10, 10, 0.55);
}
.comment-reply-limited-banner__hint {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
  text-align: center;
}

.profile-header-block__display-name--mob-oneline {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
  font-size: 17px;
}

.search-page__suggest-mob-strip {
  padding: 0 16px 8px;
  border-bottom: 1px solid var(--line);
}
.search-page__suggest-mob-strip--desktop {
  border-bottom: 0;
}
html:not(.mobile-shell) .page-stack-body-flow {
  scrollbar-gutter: stable both-edges;
}
.search-page__suggest-mob-title {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--muted);
}
.search-page__suggest-mob-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.search-page__suggest-user-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 0;
}
.search-page__suggest-user-row:last-child {
  border-bottom: none;
}
.search-page__suggest-user-mid {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  text-align: left;
  color: inherit;
  cursor: pointer;
  min-width: 0;
}
.search-page__suggest-av {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
}
.search-page__suggest-un-row {
  justify-content: flex-start;
}
.search-page__suggest-un {
  font-weight: 600;
  font-size: 15px;
}
.search-page__suggest-follow.post-btn,
button.search-page__suggest-follow {
  flex-shrink: 0;
  min-height: 34px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 700;
  background: #fff;
  color: #111;
  cursor: pointer;
}
body.light .search-page__suggest-follow.post-btn,
body.light button.search-page__suggest-follow {
  background: #111;
  color: #fff;
}

.compose-topic-mob-overlay-host {
  display: contents;
}
.compose-topic-mob-overlay-host .compose-topic-mob-overlay {
  pointer-events: auto;
}
.compose-topic-mob-sheet__body {
  max-height: min(62vh, 480px);
  padding: 0 0 12px;
}
.chat-thread-pillar {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 8px 12px 4px;
  box-sizing: border-box;
}
.chat-thread-pillar__hit {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  max-width: 100%;
  border: none;
  background: none;
  padding: 8px 12px;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.chat-thread-pillar__av {
  width: 72px;
  height: 72px;
  border-radius: 999px;
  object-fit: cover;
}
.chat-thread-pillar__name {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
}
.chat-thread-pillar__names {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  max-width: min(100%, 300px);
}
.chat-thread-pillar__dn-line {
  justify-content: center;
  flex-wrap: wrap;
}
.chat-thread-pillar__dn1 {
  font-weight: 700;
  font-size: 16px;
}
.chat-thread-pillar__dn2 {
  font-weight: 600;
  font-size: 15px;
  line-height: 1.25;
}
.chat-thread-pillar__sub {
  color: var(--muted);
  font-size: 14px;
}
.chat-thread-pillar__mutual {
  font-size: 12px;
  line-height: 1.35;
  color: var(--muted);
  max-width: 280px;
}
.chat-head--ig.chat-head--thread {
  grid-template-columns: 40px 1fr 48px;
}
.chat-head--ig .chat-head-center--stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 0;
}
.chat-head-select-row {
  display: flex;
  gap: 8px;
  margin-top: 6px;
  flex-wrap: wrap;
  justify-content: center;
}
.chat-head-ghost-btn {
  border: none;
  background: rgba(127, 127, 127, 0.12);
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
}
.chat-head-ghost-btn:disabled {
  opacity: 0.45;
  cursor: default;
}
.chat-head-ghost-btn--primary {
  background: rgba(0, 149, 246, 0.2);
  color: #fff;
}
body.light .chat-head-ghost-btn--primary {
  color: #0a0a0a;
}
.chat-thread-report .post-menu-ic {
  width: 22px;
  height: 22px;
}
.chat-bubble-wrap--selected .chat-bubble {
  outline: 2px solid #0095f6;
  outline-offset: 2px;
}
.chat-compose-outer {
  position: sticky;
  bottom: 0;
  padding: 8px 12px 14px;
  background: var(--surface);
  border-top: 1px solid var(--line);
}
.chat-compose-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
}
.chat-compose-bar__field {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}
.chat-compose-bar__lead-tools {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  z-index: 2;
}
.chat-compose-bar__emoji {
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
  font-family: inherit;
  border-radius: 999px;
}
.chat-compose-bar__emoji--svg {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 0;
  line-height: 0;
}
.chat-compose-bar__emoji--svg .chat-compose-tool-svg {
  width: 22px;
  height: 22px;
}
.chat-compose-tool-svg {
  display: block;
  flex-shrink: 0;
  shape-rendering: geometricPrecision;
}
.chat-compose-bar__emoji:hover,
.chat-compose-bar__emoji:focus-visible {
  background: rgba(127, 127, 127, 0.12);
  color: var(--text);
}
.chat-compose-bar__input {
  flex: 1;
  min-height: 40px;
  max-height: calc(1.35em * 6 + 20px);
  resize: none;
  border-radius: 22px;
  padding: 10px 14px 10px 92px;
  line-height: 1.35;
  margin: 0;
  field-sizing: content;
  min-width: 0;
  width: 100%;
}
@supports not (field-sizing: content) {
  .chat-compose-bar__input {
    min-height: 44px;
  }
}
.chat-compose-bar__img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  cursor: pointer;
  color: var(--muted);
  border-radius: 999px;
}
.chat-compose-bar__img .chat-compose-tool-svg {
  width: 22px;
  height: 22px;
}
.chat-compose-bar__img:hover {
  background: rgba(127, 127, 127, 0.12);
  color: var(--text);
}
.desk-msg-gallery-svg {
  width: 22px;
  height: 22px;
}
.chat-send-fab {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 999px;
  border: none;
  background: #fff;
  color: #000;
  display: none;
  place-items: center;
  cursor: pointer;
}
.chat-send-fab svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
}
body.light .chat-send-fab svg {
  stroke: currentColor;
}
body.light .chat-send-fab {
  background: #181818;
  color: #fff;
}
.chat-compose-bar.chat-compose-bar--active .chat-send-fab {
  display: grid;
}
.chat-compose-bar.chat-compose-bar--active .chat-compose-bar__lead-tools {
  display: none;
}
.chat-compose-bar.chat-compose-bar--active .chat-compose-bar__input {
  padding-left: 14px;
}
.desk-msg-row--unread .desk-msg-row__prev {
  color: var(--text);
  font-weight: 500;
}
.desk-msg-row--read .desk-msg-row__prev {
  color: var(--muted);
}
.desk-msg-row__prev.chat-preview--typing {
  color: rgba(255, 255, 255, 0.78);
}
.desk-msg-row__prev.chat-preview--typing.chat-preview--typing-unread {
  color: #cfd9ff;
}
body.light .desk-msg-row__prev.chat-preview--typing {
  color: rgba(16, 18, 24, 0.68);
}
body.light .desk-msg-row__prev.chat-preview--typing.chat-preview--typing-unread {
  color: #2c3c83;
}
.desk-msg-row .chat-list-unread-dot {
  margin-left: 8px;
}
.chat-list-row--unread .chat-list-row-time {
  color: var(--text);
}
.chat-list-row--read .chat-list-row-time {
  color: var(--muted);
}
.desk-msg-panel .chat-send-fab--desk {
  color: inherit;
}
.desk-msg-panel .chat-send-fab--desk svg {
  stroke: currentColor;
  fill: none;
}
.chat-pending-img {
  margin-top: 8px;
  text-align: center;
}
.chat-pending-img img {
  max-height: 72px;
  border-radius: 8px;
}
.chat-emoji-pop {
  position: absolute;
  bottom: 100%;
  left: 8px;
  margin-bottom: 6px;
  width: min(320px, 92vw);
  max-height: 280px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
  z-index: 30;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.chat-emoji-pop--desk {
  left: 12px;
}
.chat-emoji-pop__head {
  padding: 10px 12px 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.chat-emoji-pop__grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 2px;
  padding: 8px;
  overflow-y: auto;
  max-height: 260px;
}
.chat-emoji-cell {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1.2;
  cursor: pointer;
  border-radius: 8px;
  padding: 4px;
}
.chat-emoji-cell:hover {
  background: rgba(127, 127, 127, 0.15);
}
.desk-msg-compose-wrap {
  position: relative;
  border-top: 1px solid var(--line);
  padding: 8px 10px 10px;
  background: var(--bg);
}
.desk-msg-panel .desk-msg-compose-wrap {
  background: var(--surface);
}
.desk-msg-panel .chat-compose-bar--desk {
  align-items: center;
  background: transparent;
}
.desk-msg-panel .chat-compose-bar--desk .chat-compose-bar__input {
  background: color-mix(in srgb, var(--text) 7%, var(--surface));
  border: 1px solid var(--line);
}
.desk-msg-panel .chat-compose-bar--desk .chat-compose-bar__img {
  background: transparent;
  color: var(--text);
}
.desk-msg-select-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  flex-shrink: 0;
}
.desk-msg-select-bar__btn {
  border: none;
  background: rgba(127, 127, 127, 0.14);
  color: var(--text);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 8px;
  cursor: pointer;
}
.desk-msg-select-bar__btn--primary {
  background: rgba(0, 149, 246, 0.25);
  color: var(--text);
}
.desk-msg-select-bar__btn:disabled {
  opacity: 0.45;
  cursor: default;
}
.desk-msg-head-profile-hit {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
  border: none;
  background: none;
  padding: 4px 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
}
.desk-msg-head-textstack {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 2px;
}
.desk-msg-head-line1 {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
}
.desk-msg-head-sub {
  font-size: 13px;
  color: var(--muted);
}
.desk-msg-head-av--thread {
  width: 40px;
  height: 40px;
}
.desk-msg-panel__head--chat-thread {
  flex-wrap: nowrap;
  align-items: center;
}
.desk-msg-panel__head--chat-thread .desk-msg-panel__head-actions {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

/* Desktop-Messenger: Trigger unten rechts (wie Panel) */
#desk-messenger-host {
  position: fixed;
  z-index: 450;
  pointer-events: none;
}
#desk-messenger-host > * {
  pointer-events: auto;
}
.desk-messenger-desk {
  position: relative;
}
.desk-msg-trigger {
  position: fixed;
  right: 20px;
  left: auto;
  bottom: 24px;
  z-index: 451;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
  max-width: calc(100vw - 48px);
}
.desk-msg-trigger__chev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--text);
}
.desk-msg-trigger__chev-svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
}
.desk-msg-trigger__ic svg {
  width: 22px;
  height: 22px;
  display: block;
  color: inherit;
}
.desk-msg-trigger__ic svg path {
  fill: currentColor;
  stroke: none;
}
.desk-msg-trigger__stack {
  display: flex;
  align-items: center;
  margin-left: 4px;
}
.desk-msg-trigger__stack-inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.desk-msg-trigger__av {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  overflow: hidden;
  border: 2px solid var(--surface);
  margin-left: -10px;
  flex-shrink: 0;
  background: var(--line);
}
.desk-msg-trigger__av img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.desk-msg-panel {
  position: fixed;
  right: 20px;
  bottom: 24px;
  width: min(388px, calc(100vw - 32px));
  height: min(520px, calc(100vh - 100px));
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.desk-msg-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 10px 12px 14px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.desk-msg-panel__head--thread {
  padding-left: 8px;
}
.desk-msg-panel__title {
  font-weight: 700;
  font-size: 16px;
}
.desk-msg-head-btn {
  width: 36px;
  height: 36px;
}
.desk-msg-head-btn.desk-msg-head-btn--back.app-backbtn {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.desk-msg-ic {
  width: 20px;
  height: 20px;
}
.desk-msg-panel__list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 4px 0 56px;
}
.desk-msg-row {
  display: flex;
  width: 100%;
  gap: 10px;
  padding: 10px 14px;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  align-items: center;
}
.desk-msg-row:hover {
  background: rgba(127, 127, 127, 0.08);
}
.desk-msg-row__av {
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.desk-msg-row__mid {
  min-width: 0;
  flex: 1;
}
.desk-msg-row__line1 {
  font-weight: 600;
  font-size: 14px;
}
.desk-msg-row__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.desk-msg-row__prev {
  font-size: 13px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 2px;
}
.desk-msg-compose-fab {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: none;
  background: #fff;
  color: #0a0a0d;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}
body.light .desk-msg-compose-fab {
  background: #0f1115;
  color: #fff;
}
.desk-msg-panel .desk-msg-compose-fab .post-menu-ic {
  width: 22px;
  height: 22px;
}
.desk-msg-panel__list {
  position: relative;
}
.desk-msg-thread-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--surface);
}
.desk-msg-head-av {
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}
.desk-msg-head-titles {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  font-size: 14px;
}
.desk-msg-head-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.desk-msg-compose-top {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0 12px;
  overflow: hidden;
}
.desk-msg-compose-to {
  padding: 10px 0 6px;
  border-bottom: 1px solid var(--line);
}
.desk-msg-compose-to-lab {
  font-weight: 600;
  margin-right: 8px;
}
.desk-msg-compose-to-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}
.desk-msg-compose-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(0, 149, 246, 0.2);
  color: var(--text);
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
}
.desk-msg-compose-tag-x {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0 2px;
  color: inherit;
}
.desk-msg-compose-search {
  flex: 1;
  min-width: 120px;
  border: none;
  background: transparent;
  margin: 0;
}
.desk-msg-compose-sub {
  font-weight: 700;
  font-size: 13px;
  margin: 12px 0 8px;
}
.desk-msg-compose-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.desk-msg-sug-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 10px 4px;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.desk-msg-sug-row:hover {
  background: rgba(127, 127, 127, 0.06);
}
.desk-msg-sug-row__av {
  border-radius: 999px;
  object-fit: cover;
}
.desk-msg-sug-row__text {
  flex: 1;
  min-width: 0;
}
.desk-msg-sug-row__dn {
  font-weight: 600;
  font-size: 14px;
}
.desk-msg-sug-row__un {
  font-size: 13px;
  color: var(--muted);
}
.desk-msg-sug-row__radio {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 2px solid var(--muted);
  flex-shrink: 0;
}
.desk-msg-compose-chatbtn {
  margin: 10px 12px 14px;
  width: calc(100% - 24px);
  border-radius: 12px;
  padding: 12px;
  font-weight: 700;
  background: #0095f6;
  color: #fff;
  border: none;
  cursor: pointer;
  font-family: inherit;
}
.desk-msg-compose-chatbtn:disabled {
  opacity: 0.4;
  cursor: default;
}
@media (max-width: 1099px) {
  #desk-messenger-host {
    display: none !important;
  }
}

@media (max-width: 980px) {
  .sidebar { left: 8px; }
  .content { width: calc(100vw - 100px); margin-left: 92px; border-radius: 0; margin-top: 0; }
  /* Hauptbereich rückt bereits per .content nach rechts – kein doppelter Sidebar-Abstand */
  .content--desk,
  .content--page-stack {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* ——— Profil: „Vervollständige dein Profil“ + Inline-Compose ——— */
.profile-inline-compose {
  border-bottom: 1px solid var(--line);
}

.profile-onboarding {
  padding: 16px 14px 20px;
  border-bottom: 1px solid var(--line);
}

.profile-onboarding__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.profile-onboarding__title {
  font-weight: 700;
  font-size: 15px;
}

.profile-onboarding__rem {
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}

.profile-onboarding__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  overflow-x: visible;
  padding-bottom: 0;
}

.profile-onboarding__row.profile-onboarding__row--horiz {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  padding-bottom: 4px;
  scrollbar-width: none;
}
.profile-onboarding__row.profile-onboarding__row--horiz::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.profile-onboarding__row--horiz .profile-onboard-card {
  flex: 0 0 min(260px, 82vw);
  max-width: min(260px, 82vw);
  scroll-snap-align: start;
  box-sizing: border-box;
}

@media (min-width: 521px) {
  .profile-onboarding__row.profile-onboarding__row--horiz {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow-x: visible;
    scroll-snap-type: none;
    padding-bottom: 0;
  }
  .profile-onboarding__row--horiz .profile-onboard-card {
    flex: none;
    max-width: none;
    scroll-snap-align: none;
  }
}

@media (max-width: 520px) {
  .profile-onboarding__row:not(.profile-onboarding__row--horiz) {
    grid-template-columns: 1fr;
  }
}

.profile-onboard-card {
  position: relative;
  flex: none;
  min-width: 0;
  max-width: none;
  width: 100%;
  padding: 16px 12px 14px;
  border-radius: 16px;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
body.light .profile-onboard-card {
  background: #f2f2f2;
  border-color: rgba(0, 0, 0, 0.08);
}

.profile-onboard-card__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 10px;
  color: var(--muted);
}

.profile-onboard-ic {
  width: 48px;
  height: 48px;
  display: block;
}

.profile-onboard-card__title {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
  margin-bottom: 8px;
}

.profile-onboard-card__desc {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.35;
  flex: 1;
  margin-bottom: 12px;
}

.profile-onboard-card__btn {
  width: 100%;
  padding: 9px 12px;
  border: none;
  border-radius: 999px;
  background: #f1f2f4;
  color: #0a0b0d;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
}

body.light .profile-onboard-card__btn {
  background: #0f1115;
  color: #fff;
}

/* ——— Profil bearbeiten (618×710) + Unter-Modals ——— */
.modal-overlay--profile-edit {
  z-index: 86;
}

.modal-overlay--profile-sub {
  z-index: 90;
}

.modal-overlay--follow-sug {
  z-index: 94;
}

.modal.modal--profile-edit {
  width: 618px;
  max-width: calc(100vw - 24px);
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: 26px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.65);
}
/* Haupt-„Profil bearbeiten“: Höhe am Inhalt, ohne Scrollleiste */
.modal.modal--profile-edit.modal--profile-edit-main {
  height: auto;
  max-height: min(752px, 94vh);
}
.modal.modal--profile-edit.modal--profile-edit-main .profile-edit-scroll {
  flex: 0 0 auto;
  overflow: visible;
  max-height: none;
  padding: 0 20px 2px;
}
.modal.modal--profile-edit.modal--profile-edit-main .profile-edit-row {
  padding: 11px 0;
}
.modal.modal--profile-edit.modal--profile-edit-main .profile-edit-row--name-hero {
  padding-top: 14px;
  padding-bottom: 10px;
}
.modal.modal--profile-edit.modal--profile-edit-main .profile-edit-privacy-note {
  margin-top: 2px;
  font-size: 11.5px;
  line-height: 1.4;
}
.modal.modal--profile-edit.modal--profile-edit-main .profile-edit-footer {
  padding: 10px 20px 16px;
}
.modal.modal--profile-edit.modal--profile-edit-main .profile-edit-done-wide {
  padding: 12px 16px;
}

body.light .modal.modal--profile-edit {
  background: var(--surface);
  border-color: var(--line);
}

.profile-edit-topbar {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  padding: 10px 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

body.light .profile-edit-topbar {
  border-bottom-color: var(--line);
}

.profile-edit-iconback {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 12px;
  background: transparent;
  color: var(--text);
  font-size: 20px;
  cursor: pointer;
  justify-self: start;
}

.profile-edit-centertitle {
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}

.profile-edit-topbar-spacer {
  width: 40px;
  height: 40px;
  justify-self: end;
}

.profile-edit-topbar--sub {
  grid-template-columns: 48px 1fr auto;
}

.profile-edit-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0 20px 12px;
}

.profile-edit-scroll--sub {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

.profile-edit-scroll--sub .profile-sub-body {
  flex: 1;
  min-height: 0;
}

.profile-edit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  font: inherit;
  color: inherit;
  background: transparent;
  border-left: none;
  border-right: none;
  border-top: none;
  cursor: default;
}

body.light .profile-edit-row {
  border-bottom-color: var(--line);
}

.profile-edit-row--tap {
  cursor: pointer;
}

.profile-edit-row--name {
  align-items: flex-start;
  padding-top: 18px;
}

.profile-edit-row--username {
  align-items: center;
  cursor: pointer;
}
.profile-edit-row--name-hero {
  align-items: center;
}
.profile-edit-name-tap {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
.profile-edit-name-tap .profile-edit-label {
  margin-bottom: 4px;
}
.profile-edit-name-tap .profile-edit-ro {
  display: block;
  font-size: 16px;
  font-weight: 400;
  color: var(--text);
}
.profile-edit-row--username .profile-edit-ro {
  font-weight: 400;
}

.profile-edit-avatar-btn {
  border: none;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  flex-shrink: 0;
  background: transparent;
  line-height: 0;
}

.profile-edit-avatar-btn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--text) 55%, transparent);
  outline-offset: 2px;
}

.profile-edit-avatar-btn .profile-edit-row-avatar {
  display: block;
}

.profile-edit-name-block {
  flex: 1;
  min-width: 0;
}

.profile-edit-label {
  display: block;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 6px;
}

.profile-edit-input-plain {
  width: 100%;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: 16px;
  padding: 0;
  outline: none;
  font-family: inherit;
}

.profile-edit-row-avatar {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
}

.profile-edit-ro {
  font-size: 16px;
  color: var(--text);
}

.profile-edit-row-val {
  flex: 1;
  text-align: right;
  font-size: 15px;
}

.profile-edit-row-val--muted {
  color: var(--muted);
}

.profile-edit-chev {
  color: var(--muted);
  font-size: 18px;
  flex-shrink: 0;
}

.profile-edit-row--links .profile-edit-label {
  flex-shrink: 0;
  margin-bottom: 0;
  align-self: center;
}

.profile-edit-input-inline {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: 15px;
  text-align: right;
  min-width: 0;
  outline: none;
  font-family: inherit;
}

.profile-edit-row--switchrow {
  cursor: default;
}

.profile-edit-row--switchrow .profile-edit-label {
  margin-bottom: 0;
}

.profile-edit-row--privacy {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.profile-edit-privacy-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.profile-edit-privacy-top .profile-edit-label {
  margin-bottom: 0;
}

.profile-edit-privacy-link {
  border: none;
  background: none;
  color: var(--muted);
  font-size: 15px;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}

.profile-edit-privacy-note {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.profile-edit-footer {
  flex-shrink: 0;
  padding: 12px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body.light .profile-edit-footer {
  border-top-color: var(--line);
}

.profile-edit-done-wide {
  width: 100%;
  padding: 14px 16px;
  border: none;
  border-radius: 14px;
  background: #fff;
  color: #0a0b0d;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  font-family: inherit;
}

body.light .profile-edit-done-wide {
  background: #0f1115;
  color: #fff;
}

/* Profil-Unter-Modals (Threads-Screenshots): feste Maße */
.modal.modal--profile-edit.modal--profile-sub {
  width: min(620px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  height: auto;
  min-height: 0;
  max-height: 92vh;
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #121212;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.65);
  display: flex;
  flex-direction: column;
}

body.light .modal.modal--profile-edit.modal--profile-sub {
  background: var(--surface);
  border-color: var(--line);
}

.modal.modal--profile-edit.modal--profile-sub--name {
  width: min(620px, calc(100vw - 24px));
  height: min(268px, 92vh);
  max-height: min(268px, 92vh);
}
.modal.modal--profile-edit.modal--profile-sub--username {
  width: min(620px, calc(100vw - 24px));
  height: min(246px, 92vh);
  max-height: min(246px, 92vh);
}
.modal.modal--profile-edit.modal--profile-sub--username .profile-edit-scroll--sub {
  overflow: hidden;
}
.modal.modal--profile-edit.modal--profile-sub--bio {
  width: min(620px, calc(100vw - 24px));
  height: min(246px, 92vh);
  max-height: min(246px, 92vh);
}
.modal.modal--profile-edit.modal--profile-sub--avatar {
  width: min(620px, calc(100vw - 24px));
  height: min(420px, 92vh);
  max-height: min(420px, 92vh);
}
.modal.modal--profile-edit.modal--profile-sub--avatar .profile-edit-scroll--sub {
  overflow: hidden;
}

.modal.modal--profile-edit.modal--profile-sub--interests {
  width: min(618px, calc(100vw - 24px));
  height: min(420px, 92vh);
  max-height: min(420px, 92vh);
}

.modal.modal--profile-edit.modal--profile-sub--podcast {
  width: min(620px, calc(100vw - 24px));
  height: min(240px, 92vh);
  max-height: min(240px, 92vh);
}

.modal.modal--profile-edit.modal--profile-sub--links,
.modal.modal--profile-edit.modal--profile-sub--instagram {
  width: min(620px, calc(100vw - 24px));
  height: min(300px, 92vh);
  max-height: min(300px, 92vh);
}

.modal.modal--profile-edit.modal--profile-sub .profile-edit-topbar--sub {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  padding: 8px 10px 10px;
}

.profile-sub-head {
  display: grid;
  grid-template-columns: 52px 1fr 72px;
  align-items: center;
  padding: 10px 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

body.light .profile-sub-head {
  border-bottom-color: var(--line);
}

.profile-sub-title {
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}

.profile-sub-fertig {
  justify-self: end;
  border: none;
  background: none;
  color: #f3f5f7;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  font-family: inherit;
  padding: 6px 8px;
  -webkit-tap-highlight-color: transparent;
}

.profile-sub-fertig--muted {
  color: #525252;
  cursor: pointer;
}
.profile-sub-fertig--blocked {
  color: #8b8b8b;
  cursor: not-allowed;
}

body.light .profile-sub-fertig {
  color: var(--text);
}

body.light .profile-sub-fertig--muted {
  color: var(--muted);
}

.profile-sub-body {
  flex: 1;
  padding: 8px 20px 12px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.profile-sub-body--bio {
  padding-top: 6px;
}
.profile-sub-body--username-field .profile-bio-textarea--username-edit {
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  min-height: 34px;
  max-height: 40px;
  padding-top: 5px;
  padding-bottom: 5px;
  line-height: 1.45;
  font-size: 16px;
}
.profile-username-edit-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-height: 0;
}
.profile-username-edit-row__textarea {
  flex: 1;
  min-width: 0;
}
.profile-username-check {
  flex-shrink: 0;
  width: 26px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.profile-username-check__disc {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 1.5px solid rgba(160, 160, 160, 0.55);
  color: rgba(180, 180, 180, 0.95);
  background: rgba(80, 80, 80, 0.2);
}
.profile-username-check--baseline .profile-username-check__disc {
  border-color: rgba(150, 150, 150, 0.55);
  color: rgba(170, 170, 170, 0.95);
}
.profile-username-check--pending .profile-username-check__disc--empty {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px dashed rgba(140, 140, 140, 0.45);
  background: transparent;
}
.profile-username-check--ok .profile-username-check__disc {
  border-color: rgba(46, 160, 90, 0.95);
  color: rgba(72, 200, 120, 1);
  background: rgba(46, 160, 90, 0.12);
}
.profile-username-check--bad .profile-username-check__disc {
  border-color: rgba(200, 72, 72, 0.95);
  color: rgba(255, 120, 120, 1);
  background: rgba(200, 72, 72, 0.12);
}
body.light .profile-username-check__disc {
  border-color: rgba(120, 120, 120, 0.45);
  color: var(--muted);
  background: rgba(0, 0, 0, 0.04);
}
body.light .profile-username-check--ok .profile-username-check__disc {
  border-color: rgba(34, 140, 80, 0.85);
  color: rgba(28, 130, 75, 1);
  background: rgba(34, 140, 80, 0.1);
}
body.light .profile-username-check--bad .profile-username-check__disc {
  border-color: rgba(190, 60, 60, 0.85);
  color: rgba(190, 50, 50, 1);
  background: rgba(190, 60, 60, 0.08);
}
.profile-sub-body--avatar-crop {
  padding-top: 8px;
}
.profile-avatar-crop-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-height: 0;
  padding: 8px 0 4px;
}
html.mobile-shell .modal.modal--profile-edit.modal--profile-sub--avatar .profile-edit-scroll--sub {
  padding-top: 6px;
}
html.mobile-shell .modal.modal--profile-edit.modal--profile-sub--avatar .profile-sub-body--avatar-crop {
  justify-content: flex-start;
  padding-top: 4px;
}
html.mobile-shell .modal.modal--profile-edit.modal--profile-sub--avatar .profile-avatar-crop-wrap {
  flex: 0 0 auto;
  padding-top: 0;
  margin-top: 0;
  gap: 10px;
}
html.mobile-shell .modal.modal--profile-edit.modal--profile-sub--avatar .profile-sub-hint--bio-foot {
  margin-top: 4px;
  padding-bottom: 2px;
  font-size: 12px;
  line-height: 1.3;
}
.profile-avatar-crop-viewport {
  width: 300px;
  height: 300px;
  max-width: min(300px, 86vw);
  max-height: min(300px, 86vw);
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.profile-avatar-crop-fab--on-viewport {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 4;
}
.profile-avatar-crop-viewport--preview {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.18);
}
.profile-avatar-crop__preview-only {
  width: 88%;
  height: 88%;
  max-width: 260px;
  max-height: 260px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.profile-avatar-crop__panlayer {
  position: absolute;
  inset: 0;
  touch-action: none;
  cursor: grab;
}
.profile-avatar-crop__panlayer:active {
  cursor: grabbing;
}
.profile-avatar-crop__img {
  position: absolute;
  top: 0;
  left: 0;
  max-width: none;
  max-height: none;
  user-select: none;
  -webkit-user-drag: none;
  transform-origin: 0 0;
}
.profile-avatar-crop-zoom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.profile-avatar-crop-fab {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  padding: 0;
  margin: 0;
  background: rgba(255, 255, 255, 0.95);
  color: #111;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
body.light .profile-avatar-crop-fab {
  background: #fff;
  color: #111;
}
.profile-avatar-crop-fab__plus {
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  margin-top: -2px;
}
.profile-sub-body--field-page {
  padding: 14px 20px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.profile-edit-sub-field-input {
  width: 100%;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  padding: 6px 2px 10px;
  margin: 0;
  background: transparent;
  color: var(--text);
  font-size: 17px;
  line-height: 1.35;
  font-family: inherit;
  outline: none;
}
.profile-edit-sub-label {
  margin: 6px 0 4px;
  font-size: 13px;
  color: var(--muted);
}
.profile-sub-counter {
  margin: 2px 0 6px;
  font-size: 12px;
  color: var(--muted);
  text-align: right;
}
.profile-sub-counter--bio {
  margin-top: 4px;
}
.profile-sub-counter--bad {
  color: var(--danger, #ff4b59);
  font-weight: 700;
}
body.light .profile-edit-sub-field-input {
  color: var(--text);
}
.profile-sub-hint--field-foot {
  margin-top: auto;
  padding: 16px 0 6px;
  font-size: 13px;
  line-height: 1.45;
  color: #737373;
  text-align: left;
}
.profile-edit-username-ro {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 10px 2px 12px;
  margin: 0 0 4px;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
  color: #f3f5f7;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0.01em;
}
body.light .profile-edit-username-ro {
  border-bottom-color: rgba(0, 0, 0, 0.12);
  color: var(--text);
}

.profile-sub-hint--username-foot {
  margin-top: auto;
  padding: 14px 0 8px;
  font-size: 13px;
  line-height: 1.45;
  color: #737373;
  text-align: left;
}
body.light .profile-sub-hint--field-foot,
body.light .profile-sub-hint--username-foot {
  color: var(--muted);
}

.profile-sub-hint--username-avail {
  margin: 0 0 10px;
  padding: 0;
  font-size: 13px;
  line-height: 1.4;
}
.profile-sub-hint--username-avail.profile-sub-hint--avail-ok {
  color: #3ecf8e;
}
.profile-sub-hint--username-avail.profile-sub-hint--avail-bad {
  color: var(--danger, #ff4b59);
  font-weight: 600;
}
body.light .profile-sub-hint--username-avail.profile-sub-hint--avail-ok {
  color: #0d9668;
}

.profile-edit-verified-alert {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(89, 89, 194, 0.12);
  border: 1px solid rgba(89, 89, 194, 0.28);
}
.profile-edit-verified-alert__txt {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--text);
}
body.light .profile-edit-verified-alert {
  background: rgba(89, 89, 194, 0.08);
  border-color: rgba(89, 89, 194, 0.22);
}

.account-status-removed-card__cover-hit {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: inherit;
  overflow: hidden;
  line-height: 0;
}
.account-status-removed-card__cover-hit .scheduled-card__cover,
.account-status-removed-card__cover-wrap .scheduled-card__cover {
  width: 100%;
  display: block;
}
.account-status-removed-card__cover-hit:focus-visible {
  outline: 2px solid var(--link);
  outline-offset: 2px;
}

.removed-preview-moderation-banner {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 75, 89, 0.12);
  border: 1px solid rgba(255, 75, 89, 0.28);
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.removed-preview-meta {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}
.removed-preview-meta__k {
  color: var(--text);
  font-weight: 600;
  margin-right: 4px;
}
.removed-preview-post-wrap .feed-item--moderated-preview {
  border-radius: 12px;
  overflow: hidden;
}
.feed-item--moderated-preview .feed-avatar--readonly {
  cursor: default;
  pointer-events: none;
}
.feed-item--moderated-preview .feed-main {
  cursor: default;
}

.profile-bio-textarea {
  width: 100%;
  flex: 1;
  min-height: 48px;
  border: none;
  border-radius: 0;
  padding: 6px 2px 8px;
  margin: 0;
  background: transparent;
  color: #f3f5f7;
  font-size: 16px;
  line-height: 1.45;
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", emoji;
  resize: none;
  box-sizing: border-box;
  outline: none;
}

.profile-bio-textarea::placeholder {
  color: #737373;
  opacity: 1;
}

body.light .profile-bio-textarea {
  color: var(--text);
}

body.light .profile-bio-textarea::placeholder {
  color: var(--muted);
}

.profile-sub-hint--bio-foot {
  margin-top: auto;
  padding-top: 6px;
  padding-bottom: 2px;
  font-size: 12px;
  color: #737373;
  text-align: center;
}

body.light .profile-sub-hint--bio-foot {
  color: var(--muted);
}

.profile-interests-input {
  width: 100%;
  box-sizing: border-box;
  margin: 4px 0 6px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: #1a1a1a;
  color: #f3f5f7;
  font-size: 16px;
  font-family: inherit;
  outline: none;
}

.profile-interests-input::placeholder {
  color: #8a8a8a;
  opacity: 1;
}

body.light .profile-interests-input {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--text);
}

body.light .profile-interests-input::placeholder {
  color: var(--muted);
}

.profile-sub-hint--interests-foot {
  margin-top: auto;
  text-align: center;
  font-size: 12px;
  color: #737373;
  padding-top: 4px;
}

body.light .profile-sub-hint--interests-foot {
  color: var(--muted);
}

.profile-sub-body--interests-rich {
  max-height: min(340px, 70vh);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.profile-interest-suggest-loading {
  font-size: 13px;
  color: #737373;
  padding: 6px 4px 0;
}
body.light .profile-interest-suggest-loading {
  color: var(--muted);
}
.profile-interest-suggest-list {
  margin: 8px 0 10px;
  max-height: 220px;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: #1a1a1a;
}
body.light .profile-interest-suggest-list {
  border-color: var(--line);
  background: var(--surface-2);
}
.profile-interest-suggest-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  text-align: left;
  padding: 12px 14px;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: transparent;
  color: #f3f5f7;
  font-family: inherit;
  cursor: pointer;
}
.profile-interest-suggest-row:last-child {
  border-bottom: none;
}
.profile-interest-suggest-row__title {
  font-weight: 700;
  font-size: 16px;
}
.profile-interest-suggest-row__meta {
  font-size: 13px;
  color: #8a8a8a;
}
body.light .profile-interest-suggest-row {
  color: var(--text);
  border-bottom-color: var(--line);
}
body.light .profile-interest-suggest-row__meta {
  color: var(--muted);
}
.profile-interest-tag-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.profile-interest-tag-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: #1a1a1a;
}
body.light .profile-interest-tag-row {
  border-color: var(--line);
  background: var(--surface-2);
}
.profile-interest-tag-row__label {
  font-weight: 700;
  font-size: 16px;
  color: #f3f5f7;
}
body.light .profile-interest-tag-row__label {
  color: var(--text);
}
.profile-interest-tag-row__minus {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  color: #f3f5f7;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
body.light .profile-interest-tag-row__minus {
  border-color: var(--line);
  color: var(--text);
}

.profile-edit-done-wide--loading {
  cursor: wait;
}
.profile-edit-save-spinner {
  display: inline-block;
  width: 22px;
  height: 22px;
  border: 2px solid rgba(10, 11, 13, 0.22);
  border-top-color: #0a0b0d;
  border-radius: 50%;
  animation: profile-edit-save-spin 0.7s linear infinite;
  vertical-align: middle;
}
body.light .profile-edit-save-spinner {
  border-color: rgba(255, 255, 255, 0.28);
  border-top-color: #fff;
}
@keyframes profile-edit-save-spin {
  to {
    transform: rotate(360deg);
  }
}

.profile-sub-hint {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.35;
}

.profile-sub-hint--center {
  text-align: center;
  margin-top: auto;
  padding-top: 8px;
}

.profile-podcast-intro {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}

.profile-podcast-url {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 8px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: #1a1a1a;
  color: #f3f5f7;
  font-size: 16px;
  font-family: inherit;
  outline: none;
}

.profile-podcast-url::placeholder {
  color: #8a8a8a;
  opacity: 1;
}

body.light .profile-podcast-url {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--text);
}

body.light .profile-podcast-url::placeholder {
  color: var(--muted);
}

.profile-sub-body--podcast {
  padding-bottom: 8px;
  padding-top: 6px;
}

.modal.modal--profile-edit.modal--profile-sub .profile-podcast-intro {
  font-size: 13px;
  color: #a3a3a3;
  margin: 0 0 8px;
  line-height: 1.35;
}

.modal.modal--profile-edit.modal--profile-sub .profile-sub-hint--center {
  font-size: 12px;
  color: #737373;
  margin-top: auto;
  text-align: center;
  padding-top: 4px;
}

body.light .modal.modal--profile-edit.modal--profile-sub .profile-podcast-intro {
  color: var(--muted);
}

body.light .modal.modal--profile-edit.modal--profile-sub .profile-sub-hint--center {
  color: var(--muted);
}

/* Vorschläge zum Folgen 620×520 */
.modal.modal--follow-suggestions {
  width: 620px;
  max-width: calc(100vw - 24px);
  height: 520px;
  max-height: min(520px, 92vh);
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.light .modal.modal--follow-suggestions {
  background: var(--surface);
  border-color: var(--line);
}

.follow-sug-head {
  display: grid;
  grid-template-columns: 64px 1fr 64px;
  align-items: center;
  padding: 12px 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

body.light .follow-sug-head {
  border-bottom-color: var(--line);
}

.follow-sug-spacer {
  width: 40px;
}

.follow-sug-title {
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}

.follow-sug-done {
  justify-self: end;
  border: none;
  background: none;
  color: var(--text);
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  font-family: inherit;
  padding: 6px 8px;
}

.follow-sug-grid {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 14px 16px 20px;
  align-content: start;
}

@media (max-width: 520px) {
  .follow-sug-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.suggest-card--modal-grid {
  flex: none !important;
  min-width: 0 !important;
  max-width: none !important;
  width: 100%;
  box-sizing: border-box;
}

.follow-sug-empty--grid {
  grid-column: 1 / -1;
  text-align: center;
  padding: 28px 16px;
  color: var(--muted);
  font-size: 14px;
}

.follow-sug-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.follow-sug-item {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.light .follow-sug-item {
  border-bottom-color: var(--line);
}

.follow-sug-item__av {
  width: 44px;
  height: 44px;
}

.follow-sug-item__uname {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  font-weight: 700;
  font-size: 15px;
  max-width: 100%;
  min-width: 0;
}

.follow-sug-item__dn {
  font-size: 13px;
  color: var(--muted);
}

.follow-sug-item__fc {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}

.follow-sug-item__btn {
  padding: 8px 18px;
  border-radius: 999px;
  border: none;
  background: #f1f2f4;
  color: #0a0b0d;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
}

body.light .follow-sug-item__btn {
  background: #0f1115;
  color: #fff;
}

.follow-sug-empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
}

/* ——— Suche (Threads-nah) ——— */
.page-stack-title.page-stack-title--search {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  min-height: var(--page-shell-title-height);
  padding-inline: 10px;
  padding-block: 0;
  gap: 0;
  box-sizing: border-box;
}
.page-stack-title--search .page-stack-title__side {
  width: 40px;
}
.page-stack-title--search .page-stack-title__center {
  text-align: center;
  font-weight: 700;
  font-size: 17px;
}
.page-stack-title--search .page-stack-title__dots {
  justify-self: end;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1;
  color: var(--fg);
}
.search-page-header-menu.menu {
  position: absolute;
  right: 8px;
  top: 48px;
  z-index: 40;
  min-width: 220px;
}
.page-stack-card--search {
  overflow: visible;
  position: relative;
  z-index: 1;
}

.page-stack-card--search .page-stack-scroll {
  padding-top: 0;
}

.search-page-card__toolbar-wrap {
  flex-shrink: 0;
  position: relative;
  z-index: 24;
  overflow: visible;
  border-bottom: 1px solid var(--line);
}

.search-page__pad--toolbar {
  padding-top: 12px;
  padding-bottom: 12px;
}

.search-page__pad {
  padding: 12px 14px 20px;
}

/* Leerer Suchbereich: Hinweis vertikal zentrieren */
.page-stack-card--search .page-stack-body-flow {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.search-page__pad--body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.search-page__posts.search-page__posts--idle {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(320px, 45vh);
  padding: 24px 12px;
  box-sizing: border-box;
}

.search-page__posts--idle .page-empty-state--search-idle {
  margin: 0 auto;
}

.search-page__posts--idle .page-empty-state--search-idle .page-empty-state__icon svg {
  width: 48px;
  height: 48px;
}
.desk-search-pane {
  padding: 0;
}
.search-page__shell {
  position: relative;
}
.search-page__bar-wrap {
  position: relative;
}
.search-page__privacy-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  padding: 2px 2px 0;
}
.search-page__privacy-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.search-page__privacy-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}
.search-page__privacy-sub {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.25;
  margin-top: 2px;
}
.search-page__privacy-toggle.settings-pill-toggle {
  flex-shrink: 0;
}
.search-page__bar {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 8px 10px 8px 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--bg) 80%, #1e1f24);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
body.light .search-page__bar {
  background: #f2f3f5;
  border-color: color-mix(in srgb, var(--line) 80%, #cdd0d5);
}
.search-page__lupe {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: var(--fg);
  opacity: 0.92;
}
.search-page__lupe .compose-gif-search__svg {
  width: 20px;
  height: 20px;
}
.search-page__field-inner {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.search-page__input {
  flex: 1 1 120px;
  min-width: 80px;
  border: none;
  background: transparent;
  color: var(--fg);
  font-size: 16px;
  outline: none;
  font-family: inherit;
}
.search-page__input::placeholder {
  color: var(--muted);
}
.search-page__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 6px 8px 6px 10px;
  border-radius: 10px;
  border: none;
  background: rgba(255, 255, 255, 0.1);
  color: var(--fg);
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
}
body.light .search-page__chip {
  background: rgba(0, 0, 0, 0.06);
}
.search-page__chip-label {
  white-space: nowrap;
}
.search-page__chip-date {
  font-weight: 700;
}
.search-page__chip-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-left: 2px;
  border-radius: 999px;
  font-size: 15px;
  line-height: 1;
  color: var(--muted);
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}
.search-page__chip-x:hover {
  color: var(--fg);
  background: rgba(255, 255, 255, 0.08);
}
.search-page__chip--von {
  cursor: default;
  padding: 4px 6px 4px 10px;
  gap: 6px;
  align-items: center;
  max-width: min(100%, 220px);
}
.search-page__chip-von {
  flex-shrink: 0;
  font-weight: 700;
  font-size: 14px;
  color: var(--fg);
}
.search-page__chip-profile-input {
  flex: 1 1 72px;
  min-width: 56px;
  max-width: 140px;
  border: none;
  background: transparent;
  color: var(--fg);
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  outline: none;
  padding: 4px 0;
}
.search-page__chip-profile-input::placeholder {
  color: var(--muted);
  font-weight: 500;
}
.search-page__chip--von .search-page__chip-x {
  flex-shrink: 0;
}
.search-page__profile-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 48;
  max-height: min(320px, 52vh);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 14px;
  padding: 6px 0;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 14px 44px rgba(0, 0, 0, 0.5);
}
body.light .search-page__profile-suggest {
  border-color: var(--line);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.12);
}
.search-page__profile-suggest-row {
  cursor: pointer;
  padding: 10px 12px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.search-page__profile-suggest-row:last-child {
  border-bottom: none;
}
.search-page__profile-suggest-row:hover {
  background: rgba(255, 255, 255, 0.05);
}
body.light .search-page__profile-suggest-row:hover {
  background: rgba(0, 0, 0, 0.04);
}
.search-page__filter-tap {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  color: var(--fg);
}
.search-page__filter-tap .compose-ic--sliders {
  width: 22px;
  height: 22px;
}
.search-page__filter-menu.menu {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 260520;
  min-width: 260px;
  max-height: none;
  overflow: visible;
  border-radius: 14px;
  padding: 6px 0;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

/* Desktop-Suche: Spalte wächst mit den Ergebnissen; Seite scrollt */
.desk-col__scroll:has(.desk-search-pane--split) {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: visible;
  padding: 0;
}
.desk-col__scroll:has(.desk-search-pane--split) > .desk-search-pane {
  flex: 0 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.desk-search-pane--split {
  flex: 0 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: visible;
}
.desk-search-pane__top {
  flex-shrink: 0;
  position: relative;
  z-index: 6;
}
.desk-search-pane__scroll {
  flex: 0 0 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}
.search-page__menu-ic {
  display: flex;
  align-items: center;
  color: var(--muted);
}
.search-page__menu-ic .compose-ic {
  width: 20px;
  height: 20px;
}
.search-page__menu-ic--user svg {
  width: 20px;
  height: 20px;
  color: var(--muted);
  fill: currentColor;
}
.search-page__sub {
  margin-top: 14px;
  margin-bottom: 6px;
  padding-left: 2px;
  font-size: 14px;
  color: var(--muted);
  font-weight: 500;
}
.search-page__suggest {
  margin-top: 4px;
}
.search-page__posts {
  margin-top: 8px;
}
.search-page__empty {
  padding: 20px 8px;
  text-align: center;
  font-size: 14px;
}
.search-page__empty--muted {
  color: var(--muted);
}
/* ——— Threads-ähnliche Skeleton-Loader (minimal pulsierend) ——— */
@keyframes skeleton-pulse {
  0%,
  100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.78;
  }
}
.skeleton-block {
  background: #262626;
  border-radius: 6px;
}
.skeleton-block--pulse {
  animation: skeleton-pulse 1.45s ease-in-out infinite;
}
body.light .skeleton-block {
  background: #e0e0e0;
}
body.light .skeleton-block--pulse {
  animation: skeleton-pulse 1.45s ease-in-out infinite;
}
.settings-session-row--skeleton .settings-session-row__main {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.skeleton-block--sess-badge {
  height: 17px;
  width: 118px;
  border-radius: 999px;
}
.skeleton-block--sess-title {
  height: 14px;
  width: 72%;
  max-width: 220px;
}
.skeleton-block--sess-geo {
  height: 12px;
  width: 46%;
  max-width: 160px;
}
.skeleton-block--sess-trash {
  width: 34px;
  height: 34px;
  border-radius: 10px;
}

.skeleton-feed-item {
  display: grid;
  grid-template-columns: 42px 1fr 28px;
  gap: 10px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
body.light .skeleton-feed-item {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}
.skeleton-feed-item__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.skeleton-feed-item__col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 2px;
}
.skeleton-feed-item__line {
  height: 11px;
  border-radius: 5px;
  max-width: 100%;
}
.skeleton-feed-item__line--short {
  width: 32%;
}
.skeleton-feed-item__line--long {
  width: 92%;
}
.skeleton-feed-item__line--mid {
  width: 68%;
}
.skeleton-feed-item__actions {
  display: flex;
  gap: 18px;
  margin-top: 4px;
}
.skeleton-feed-item__dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
}
.skeleton-feed-item__kebab {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  margin-top: 2px;
}

.skeleton-search-user {
  display: grid;
  grid-template-columns: 44px 1fr 72px;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
body.light .skeleton-search-user {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}
.skeleton-search-user__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
.skeleton-search-user__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.skeleton-search-user__line {
  height: 12px;
  border-radius: 6px;
}
.skeleton-search-user__line--a {
  width: 45%;
}
.skeleton-search-user__line--b {
  width: 70%;
}
.skeleton-search-user__btn {
  height: 32px;
  border-radius: 10px;
}
.search-page__skeleton-list {
  padding: 4px 0 16px;
}

.skeleton-activity-row {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
body.light .skeleton-activity-row {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}
.skeleton-activity-row__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.skeleton-activity-row__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.skeleton-activity-row__line {
  height: 10px;
  border-radius: 5px;
}
.skeleton-activity-row__line--long {
  width: 58%;
}
.skeleton-activity-row__line--short {
  width: 32%;
}

.skeleton-chat-row {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
body.light .skeleton-chat-row {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}
.skeleton-chat-row__avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
}
.skeleton-chat-row__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.skeleton-chat-row__line {
  height: 11px;
  border-radius: 5px;
}
.skeleton-chat-row__line--name {
  width: 38%;
}
.skeleton-chat-row__line--preview {
  width: 85%;
}

.notifications-empty {
  padding: 24px;
  color: var(--muted);
  text-align: center;
  font-size: 14px;
}
.skeleton-page-block {
  padding: 0 4px 8px;
}

.list-load-indicator {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 14px 0 16px;
}
.list-load-indicator--skeleton {
  display: block;
  padding: 0 0 12px;
}
.list-load-indicator--skeleton .skeleton-feed-item {
  padding: 12px 0;
}
.list-load-indicator--skeleton .skeleton-feed-item:last-child {
  border-bottom: none;
}
.list-load-indicator__dots {
  position: relative;
  width: 18px;
  height: 18px;
  animation: list-load-rotate 0.9s linear infinite;
}
.list-load-indicator__dots span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  margin: -2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  transform: rotate(calc(var(--d) * 45deg)) translateY(-8px);
  opacity: calc((var(--d) + 2) / 12);
}
body.light .list-load-indicator__dots span {
  background: rgba(0, 0, 0, 0.62);
}
.list-load-indicator--search {
  padding-top: 10px;
}
@keyframes list-load-rotate {
  to {
    transform: rotate(360deg);
  }
}
.search-cal {
  position: absolute;
  left: 12px;
  top: calc(100% + 8px);
  z-index: 55;
  width: min(320px, calc(100vw - 48px));
  padding: 14px 14px 16px;
  border-radius: 16px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}
body.light .search-cal {
  border-color: var(--line);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.12);
}
.search-cal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.search-cal__title {
  font-weight: 700;
  font-size: 16px;
}
.search-cal__nav {
  display: flex;
  gap: 4px;
}
.search-cal__arrow {
  width: 36px;
  height: 36px;
  font-size: 20px;
  border-radius: 10px;
}
.search-cal__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 8px;
  text-align: center;
  font-size: 12px;
  color: var(--muted);
}
.search-cal__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px 4px;
}
.search-cal__cell {
  height: 38px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--fg);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}
.search-cal__cell--muted {
  color: var(--muted);
  opacity: 0.45;
  cursor: default;
}
.search-cal__cell--sel {
  background: #fff;
  color: #0a0b0d;
  font-weight: 700;
}
body.light .search-cal__cell--sel {
  background: #0a0b0d;
  color: #fff;
}
.search-cal__cell:not(:disabled):not(.search-cal__cell--muted):hover {
  background: rgba(255, 255, 255, 0.08);
}
.search-profile-sheet {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
}
body.light .search-profile-sheet {
  background: rgba(0, 0, 0, 0.35);
}
.search-profile-sheet__card {
  width: 100%;
  max-width: 420px;
  max-height: 70vh;
  border-radius: 18px 18px 12px 12px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.search-profile-sheet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.search-profile-sheet__title {
  font-weight: 700;
  font-size: 17px;
}
.search-profile-sheet__input {
  margin: 12px 16px;
}
.search-profile-sheet__list {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: 48vh;
}
.search-profile-picker__row {
  cursor: pointer;
}
.search-profile-picker__row:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* ——— Antwort-Modal: immer viewport-zentriert (wie Threads); Inhalt scrollt innen ——— */
.reply-modal-overlay {
  background: var(--modal-scrim) !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding: 24px 16px;
  padding-left: calc(16px + var(--modal-content-shift-x)) !important;
  box-sizing: border-box;
  min-height: 100%;
}
.modal.reply-modal {
  position: relative;
  width: 620px;
  max-width: calc(100vw - 32px);
  min-height: min(560px, 78vh);
  max-height: min(900px, calc(100vh - 32px));
  max-height: min(900px, calc(100dvh - 32px));
  height: auto;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
  background: var(--surface);
  color: var(--text);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
  font-family: Inter, Segoe UI, system-ui, sans-serif;
}
body.light .modal.reply-modal {
  background: var(--surface);
  color: var(--text);
  border-color: var(--line);
  box-shadow: none;
}
.reply-modal__head-wrap {
  position: relative;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.light .reply-modal__head-wrap {
  border-bottom-color: var(--line);
}
.reply-modal__head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 12px 10px 12px 14px;
}
.reply-modal__head .reply-modal__cancel {
  grid-column: 1;
  justify-self: start;
}
.reply-modal__head .reply-modal__title {
  grid-column: 2;
}
.reply-modal__head .reply-modal__head-actions,
.reply-modal__head .compose-modal__head-actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 2px;
}
.reply-modal__cancel {
  grid-column: 1;
  justify-self: start;
  margin: 0;
  padding: 6px 4px;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
}
.reply-modal__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.reply-modal__more {
  grid-column: 3;
  justify-self: end;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 0;
  background: transparent;
  color: inherit;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.reply-modal__more:hover {
  background: rgba(255, 255, 255, 0.08);
}
body.light .reply-modal__more:hover {
  background: rgba(0, 0, 0, 0.06);
}
.reply-modal__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 14px 16px 12px;
  -webkit-overflow-scrolling: touch;
}
.reply-modal__loading {
  color: #8e8e8e;
  font-size: 14px;
  padding: 12px 4px;
}
.reply-modal__loading--only {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.reply-modal__thread {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 12px;
}
.reply-modal__gutter {
  width: 40px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reply-modal__gutter-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: #222;
}
.reply-modal__gutter-line {
  flex: 1;
  width: 2px;
  min-height: 28px;
  margin: 6px 0;
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.14);
}
body.light .reply-modal__gutter-line {
  background: rgba(0, 0, 0, 0.12);
}
.reply-modal__stack {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.reply-modal__quoted-meta {
  font-size: 15px;
  line-height: 1.25;
  margin-bottom: 6px;
}
.reply-modal__quoted-name {
  font-weight: 700;
  color: #fff;
}
body.light .reply-modal__quoted-name {
  color: var(--text);
}
.reply-modal__quoted-sep,
.reply-modal__quoted-time {
  color: #8e8e8e;
  font-weight: 400;
}
.reply-modal__quoted-body {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.45;
  color: #f0f0f0;
}
body.light .reply-modal__quoted-body {
  color: var(--text);
}
.reply-modal__quoted-body--plain {
  white-space: pre-wrap;
  word-break: break-word;
}
.reply-modal__quoted-media {
  margin-top: 8px;
  border-radius: 12px;
  overflow: hidden;
  max-width: 100%;
}
.reply-modal__quoted-media .post-media-carousel,
.reply-modal__quoted-media .post-media-lb {
  max-width: 100%;
}
.reply-modal__quoted-media .post-carousel-viewport {
  max-height: 220px;
}
.reply-modal__quoted-media .post-single-img {
  max-height: 220px;
  width: 100%;
  object-fit: cover;
  border-radius: 12px;
}
.reply-modal__user-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 6px;
  margin-bottom: 6px;
  font-size: 15px;
}
.reply-modal__me-name {
  font-weight: 600;
  color: #fff;
}
body.light .reply-modal__me-name {
  color: var(--text);
}
.reply-modal__chev {
  color: #8e8e8e;
  font-size: 13px;
}
.reply-modal__topic-fake {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 15px;
  color: #8e8e8e;
  cursor: pointer;
}
.reply-modal__textarea-stack {
  position: relative;
  width: 100%;
  min-height: 88px;
}
.reply-modal__textarea-mirror {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  min-height: 88px;
  max-height: 280px;
  overflow: hidden;
  padding: 4px 0;
  margin: 0;
  box-sizing: border-box;
  font-size: 17px;
  line-height: 1.45;
  font-family: inherit;
  white-space: pre-wrap;
  word-wrap: break-word;
  color: #fff;
  pointer-events: none;
}
body.light .reply-modal__textarea-mirror {
  color: var(--text);
}
.reply-modal__textarea.reply-modal__textarea--highlight {
  position: relative;
  z-index: 1;
  color: transparent !important;
  caret-color: #fff;
  -webkit-text-fill-color: transparent;
}
body.light .reply-modal__textarea.reply-modal__textarea--highlight {
  caret-color: var(--text);
}
.reply-modal__textarea.reply-modal__textarea--highlight::placeholder {
  -webkit-text-fill-color: #6b6b6b;
}
body.light .reply-modal__textarea.reply-modal__textarea--highlight::placeholder {
  -webkit-text-fill-color: var(--muted);
}
.reply-modal__textarea {
  width: 100%;
  min-height: 88px;
  margin: 0;
  padding: 4px 0;
  border: none;
  outline: none;
  background: transparent;
  color: #fff;
  font-size: 17px;
  line-height: 1.45;
  resize: vertical;
  font-family: inherit;
}
.reply-modal__textarea:focus {
  border: none;
  outline: none;
  box-shadow: none;
}
.reply-modal__textarea::placeholder {
  color: #6b6b6b;
}
body.light .reply-modal__textarea {
  color: var(--text);
}
.reply-modal__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin-top: 6px;
  padding-top: 4px;
}
.reply-modal__toolbar .reply-modal__tool:last-child {
  margin-left: auto;
}
.reply-modal__tool {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: #6b6b6b;
  display: grid;
  place-items: center;
  cursor: default;
  opacity: 0.55;
}
.reply-modal__tool .compose-ic {
  width: 22px;
  height: 22px;
}
.reply-modal__thread-add {
  width: 100%;
  margin-top: 4px;
  padding: 10px 0 4px;
  border: none;
  background: none;
  text-align: left;
  font-size: 15px;
  color: #6b6b6b;
  cursor: not-allowed;
  opacity: 0.65;
}
.reply-modal__foot {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}
body.light .reply-modal__foot {
  border-top-color: var(--line);
}
.reply-modal__foot--textonly {
  justify-content: flex-end;
}
.reply-modal__head-spacer {
  visibility: hidden;
  pointer-events: none;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.reply-modal__user-row--textonly {
  justify-content: flex-start;
}
.reply-modal__opt-wrap {
  position: relative;
}
.reply-modal__opt-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: inherit;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
}
.reply-modal__opt-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .reply-modal__opt-btn:hover {
  background: rgba(0, 0, 0, 0.05);
}
.reply-modal__opt-ic {
  display: grid;
  place-items: center;
  opacity: 0.85;
}
.reply-modal__opt-ic .compose-ic--sliders {
  width: 20px;
  height: 20px;
}
.reply-modal__post {
  padding: 9px 22px;
  border-radius: 22px;
  border: none;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  background: #ffffff;
  color: #0a0a0a;
  flex-shrink: 0;
}
.reply-modal__post:hover:not(:disabled) {
  filter: brightness(1.05);
}
.reply-modal__post--disabled,
.reply-modal__post:disabled {
  background: #2c2c2c;
  color: #6b6b6b;
  cursor: default;
  filter: none;
}
button.reply-modal__post.reply-modal__post--disabled {
  cursor: pointer;
}
.reply-modal__thread-op-line {
  font-size: 13px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.52);
  margin: 0 0 6px;
  text-align: left;
  width: 100%;
}
body.light .reply-modal__thread-op-line {
  color: rgba(0, 0, 0, 0.5);
}
.reply-modal__parent-comment-body {
  font-weight: 600;
}
body.light .reply-modal__post:not(:disabled) {
  background: var(--text);
  color: var(--bg);
}
body.light .reply-modal__post--disabled,
body.light .reply-modal__post:disabled {
  background: var(--surface-2);
  color: var(--muted);
}
.reply-modal__popover {
  position: absolute;
  z-index: 20;
  min-width: 220px;
  padding: 6px 0;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}
body.light .reply-modal__popover {
  background: var(--surface);
  border-color: var(--line);
}
.reply-modal__popover--head {
  position: absolute;
  top: calc(100% + 4px);
  right: 10px;
}
.reply-modal__popover--opts {
  left: 0;
  bottom: calc(100% + 8px);
}

/* ——— Feed: Profil-Hover-Karte (Threads-nah) ——— */
.profile-hover-layer-root {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 10040;
}
.profile-hover-layer-root .profile-hover-card {
  pointer-events: auto;
}
.feed-item .avatar.profile-hover-trigger {
  cursor: pointer;
}
.profile-hover-card {
  font-family: Inter, Segoe UI, Arial, sans-serif;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.65), 0 0 1px rgba(255, 255, 255, 0.06);
  color: var(--text);
  overflow: hidden;
  box-sizing: border-box;
}
body.light .profile-hover-card {
  background: #f6f7f8;
  border-color: var(--line);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
  color: #0f1115;
}
.profile-hover-card__inner {
  padding: 18px 18px 16px;
}
.profile-hover-card__top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.profile-hover-card__text {
  flex: 1;
  min-width: 0;
}
.profile-hover-card__row1 {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.profile-hover-card__dn {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.25;
}
body.light .profile-hover-card__dn {
  color: #0f1115;
}
.profile-hover-card__badge {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.profile-hover-card__un {
  margin-top: 2px;
  font-size: 14px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.3;
}
body.light .profile-hover-card__un {
  color: #636973;
}
.profile-hover-card__bio {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.35;
  color: var(--text);
  white-space: pre-wrap;
  word-break: break-word;
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", emoji;
}
body.light .profile-hover-card__bio {
  color: #3d4149;
}
.profile-hover-card .profile-meta-line--compact {
  margin-top: 10px;
}
.profile-hover-card__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: #222;
}
body.light .profile-hover-card__avatar {
  background: #e4e6ea;
}
.profile-hover-card__btn {
  width: 100%;
  margin: 0;
  padding: 12px 16px;
  border: none;
  border-radius: 999px;
  background: #ffffff;
  color: #000000;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.1s ease;
}
.profile-hover-card__btn:hover {
  opacity: 0.92;
}
.profile-hover-card__btn:active {
  transform: scale(0.99);
}
body.light .profile-hover-card__btn {
  background: #0f1115;
  color: #ffffff;
}
.profile-hover-card__btn--outline {
  background: transparent;
  color: var(--text);
  border: 1px solid rgba(255, 255, 255, 0.35);
}
body.light .profile-hover-card__btn--outline {
  color: #0f1115;
  border-color: rgba(0, 0, 0, 0.2);
}
.profile-hover-card__btn--muted {
  opacity: 0.55;
  cursor: default;
}
.profile-hover-card__skeleton {
  padding: 24px 8px;
  text-align: center;
  font-size: 14px;
  color: var(--muted);
}
.profile-hover-card__err {
  margin: 0;
  padding: 16px 8px;
  text-align: center;
  font-size: 14px;
  color: #a8a8a8;
}
body.light .profile-hover-card__err {
  color: #636973;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Profil: Follower / Gefolgt-Zeile */
.profile-header-block {
  padding: 16px;
}
/* Threads: links Name/Bio/Interessen (minmax 0 = Text läuft nicht unter den Avatar), rechts Avatar + Archiv */
.profile-header-block__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 16px;
  align-items: start;
}
.profile-header-block__top--desk-unified {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}
.profile-header-block__text {
  min-width: 0;
}
.profile-header-block--desk-unified .profile-header-block__text {
  min-height: 150px;
}
.profile-header-block--desk-unified .profile-header-block__avatar {
  width: 150px;
  height: 150px;
}
.profile-header-block__name {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  display: block;
  min-width: 0;
}
/* Name + Verified: direkt nebeneinander (kein flex-grow auf dem Namen), Badge fest quadratisch */
.profile-header-block__name .verified-inline-row {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  vertical-align: middle;
  max-width: 100%;
  min-width: 0;
  gap: 0.12em;
}
.profile-header-block__display-name {
  flex: 0 1 auto;
  min-width: 0;
  overflow: visible;
  white-space: normal;
}
.profile-header-block__display-name:not(:has(.dn-split)) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-header-block__name .verified-badge-threads {
  flex: none;
  align-self: center;
  flex-shrink: 0;
  /* Etwas größer als in der Suche (19px per JS), minimal nach unten zum Namen */
  transform: translateY(1px);
}
.profile-header-block__name .verified-badge-threads__svg {
  flex-shrink: 0;
  width: var(--vb-size);
  height: var(--vb-size);
  min-width: var(--vb-size);
  min-height: var(--vb-size);
  max-width: var(--vb-size);
  max-height: var(--vb-size);
}
.profile-header-block__handle {
  color: var(--muted);
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.3;
}
/* Bio direkt unter @handle (Threads: zuerst Textblock, darunter Follower-Zeile + Icons). */
.profile-header-block__handle + .profile-header-block__bio {
  margin-top: 8px;
}
.profile-header-block__bio {
  margin-top: 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--text);
  white-space: pre-wrap;
  word-wrap: break-word;
  /* Farb-Emojis / Smileys zuverlässig darstellen */
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", emoji;
}
.profile-desk-stats-inline {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 8px;
}
.profile-header-block--desk-unified .profile-desk-stats-inline + .profile-header-block__bio {
  margin-top: 10px;
}
.profile-desk-stats-inline__item {
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  margin: 0;
  min-width: 0;
  white-space: nowrap;
}
.profile-desk-stats-inline__num {
  font-weight: 700;
}
.profile-desk-stats-inline__lbl {
  color: var(--text);
}
.profile-header-block__site-tools-row {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.profile-header-block--desk-unified .profile-meta-website {
  color: var(--link);
}
.profile-header-block--desk-unified .profile-meta-website:hover {
  text-decoration: underline;
}
.profile-header-block__site-tools {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-height: 32px;
}
.profile-header-block__interests-wrap {
  margin-top: 10px;
}
.profile-header-block--desk-unified .profile-header-block__interests {
  margin-top: 0;
  overflow-x: hidden;
  justify-content: flex-start;
}
.profile-meta-website--placeholder {
  display: inline-block;
  min-height: 20px;
}
.profile-header-block__stats-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 0;
  width: 100%;
  box-sizing: border-box;
}
.profile-header-block__top + .profile-header-block__stats-row {
  margin-top: 10px;
}
.profile-header-block__stats-row .profile-meta-line {
  flex: 1;
  min-width: 0;
  margin-top: 0;
  align-items: center;
}
.profile-header-block__stats-row--with-tools {
  align-items: center;
}
/* Glocke / ⋯: kein Kreis-Rahmen (Threads-nah: nur Icon) */
button.profile-header-tool {
  width: 36px;
  height: 36px;
  min-width: 36px;
  padding: 0;
  border-radius: 0;
  border: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--text);
  -webkit-tap-highlight-color: transparent;
}
button.profile-header-tool:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light button.profile-header-tool {
  border: none;
}
.profile-header-tool .compose-ic {
  width: 20px;
  height: 20px;
}
/* .iconbtn svg { fill:none } würde ⋯-Punkte (fill currentColor) unsichtbar machen */
button.profile-header-tool svg circle[fill="currentColor"] {
  fill: currentColor !important;
  stroke: none;
}
.profile-header-block__inline-tools {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
/* Archiv nur eigenes Profil: unter Avatar, gleicher Kreis wie IG/Glocke/⋯ */
.profile-header-block__archive-circle {
  width: 36px;
  height: 36px;
  min-width: 36px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.profile-header-block__archive-circle:hover {
  background: rgba(255, 255, 255, 0.06);
}
.profile-header-block__archive-circle .post-menu-ic {
  width: 20px;
  height: 20px;
}
body.light .profile-header-block__archive-circle {
  border-color: rgba(0, 0, 0, 0.18);
}
.profile-header-ic {
  width: 20px;
  height: 20px;
  display: block;
}
.profile-header-tool.profile-header-tool--notify-on {
  color: #0095f6;
  border: none;
}
body.light .profile-header-tool.profile-header-tool--notify-on {
  border: none;
}
/* Profil-⋯-Menü: Vollbild-Scrim; Position per JS am Trigger (Fallback: oben rechts) */
.profile-menu-overlay--anchoring .profile-header-overflow-menu {
  visibility: hidden;
}
.profile-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: transparent;
}
.profile-menu-overlay .profile-header-overflow-menu.post-menu {
  position: fixed;
  top: max(52px, calc(env(safe-area-inset-top, 0px) + 44px));
  right: max(12px, env(safe-area-inset-right, 0px));
  left: auto;
  margin: 0;
}
@media (min-width: 900px) {
  .profile-menu-overlay .profile-header-overflow-menu.post-menu {
    top: 72px;
    right: calc((100vw - min(1220px, 100vw)) / 2 + 12px);
  }
}
/* „Infos zu diesem Profil“ */
.profile-about-overlay.modal-overlay,
.profile-notify-overlay.modal-overlay {
  z-index: 100;
}
.modal.profile-about-modal {
  width: min(520px, calc(100vw - 32px));
  min-height: 0;
  max-height: min(90vh, 640px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  padding: 0;
}
.profile-about-modal__title {
  margin: 0;
  padding: 20px 20px 12px;
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  text-align: center;
}
.profile-about-modal__body {
  padding: 0 20px 22px;
  overflow-y: auto;
}
.profile-about-modal__hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 4px 8px 18px;
}
.profile-about-modal__hero-avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.profile-about-modal__hero-dn {
  margin-top: 14px;
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.profile-about-modal__hero-handle {
  margin-top: 6px;
  font-size: 15px;
  font-weight: 600;
  color: var(--accent, #0095f6);
}
.profile-about-modal__hero-intro {
  margin: 14px 0 0;
  max-width: 340px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--text);
}
.profile-about-modal__name-block {
  padding-bottom: 0;
}
.profile-about-modal__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  padding: 14px 0 12px;
}
.profile-about-modal__row--name {
  align-items: stretch;
}
.profile-about-modal__row--name > .profile-about-modal__ic-wrap {
  align-self: center;
}
.profile-about-modal__name-row-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 14px;
}
.profile-about-modal__name-text-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
}
.profile-about-modal__name-one-line {
  font-size: 15px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--text);
  word-break: break-word;
}
.profile-about-modal__uname-inline {
  font-weight: 400;
  color: var(--muted);
}
.profile-about-modal__avatar-col {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.profile-about-modal__avatar--name-block {
  height: 100%;
  max-height: 100%;
  width: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.profile-about-modal__name-one-line .verified-badge-threads {
  display: inline-flex;
  vertical-align: middle;
}
.profile-about-modal__ic-wrap {
  flex: 0 0 auto;
  width: 40px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}
.profile-about-modal__ic-wrap .profile-about-ic {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  color: var(--muted);
}
.profile-about-modal__ic-wrap--verified-badge {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-about-modal__ic-wrap .verified-badge-threads {
  display: block;
  flex-shrink: 0;
}
.profile-about-modal__row--ver-hp {
  align-items: center;
}
.profile-about-modal__row--ver-hp .profile-about-modal__ic-wrap--verified-badge,
.profile-about-modal__row--ver-hp .profile-about-modal__ver-hp-main {
  align-self: center;
}
.profile-about-modal__ver-hp-main {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  min-height: 30px;
}
.profile-about-modal__ver-hp-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
  margin: 0;
}
.profile-about-modal__row-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
}
.profile-about-modal__label {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.25;
}
.profile-about-modal__value-inline {
  font-size: 15px;
  line-height: 1.45;
  color: var(--text);
  word-break: break-word;
}
.profile-about-ic {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--muted);
}
.profile-about-modal__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.profile-about-modal__rule {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 0;
}
button.profile-about-modal__row--nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 14px 0 12px;
  border: none;
  background: transparent;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
button.profile-about-modal__row--nav:focus-visible {
  outline: 2px solid var(--accent, #0095f6);
  outline-offset: 2px;
}
.profile-about-modal__row-main--nav-only {
  flex: 1;
  min-width: 0;
}
.profile-about-modal__row--nav .profile-about-modal__label {
  margin: 0;
}
.profile-about-modal__nav-trail {
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}
.profile-about-modal__nav-count {
  font-size: 15px;
  font-weight: 400;
  color: var(--muted);
}
.profile-about-modal__chev {
  display: flex;
  align-items: center;
  color: var(--muted);
  opacity: 0.9;
}
.profile-about-modal__chev-svg {
  display: block;
}
.profile-about-modal__value-inline--muted {
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
}
.profile-about-former-detail {
  padding: 6px 4px 8px;
  text-align: left;
}
.profile-about-former-detail__intro {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.profile-about-former-detail__sentence {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text);
}
.profile-about-former-detail__uname {
  font-weight: 700;
}
.profile-about-modal__title-row {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 8px;
  padding: 12px 12px 10px;
  border-bottom: 1px solid var(--line);
}
.profile-about-modal__title-row-back {
  justify-self: start;
  font-size: 1.45rem !important;
  min-width: 40px;
  min-height: 40px;
}
.profile-about-modal__title--row {
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  text-align: center;
}
.modal.profile-about-modal--sub {
  padding: 0;
}
.modal.profile-about-modal--sub .profile-about-modal__body {
  padding-top: 16px;
}
/* Benachrichtigungen (Glocke) */
.modal.profile-notify-modal {
  width: min(340px, calc(100vw - 32px));
  min-height: 0;
  border-radius: 16px;
  padding: 0;
}
.profile-notify-modal__body {
  padding: 22px 20px 16px;
}
.profile-notify-modal__text {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.45;
  text-align: center;
  color: var(--text);
}
.profile-notify-modal__actions {
  display: flex;
  flex-direction: row;
  width: 100%;
  border-top: 1px solid var(--line);
  margin: 16px -20px -16px;
  box-sizing: content-box;
}
.profile-notify-modal--sheet {
  width: 100%;
  max-width: none;
  border-radius: 16px 16px 0 0;
  padding: 0;
  overflow: hidden;
}
.profile-notify-modal__body--sheet {
  padding: 12px 20px max(20px, env(safe-area-inset-bottom, 0px));
}
.profile-notify-overlay--mobile.mobile-bottom-sheet-overlay {
  z-index: 260521;
}
.profile-notify-modal__btn {
  flex: 1;
  margin: 0;
  min-height: 48px;
  border-radius: 0;
  border: 0;
  background: transparent;
  font-size: 16px;
  color: var(--text);
  cursor: pointer;
}
.profile-notify-modal__btn--primary {
  font-weight: 700;
}
.profile-notify-modal__btn--secondary {
  font-weight: 400;
  color: var(--muted);
  border-right: 1px solid var(--line);
}
.profile-notify-modal__btn:hover {
  background: rgba(127, 127, 127, 0.1);
}
/* Follower-Zeile auf Profilkarte: +2px gegenüber Standard-Zeile */
.profile-header-block .profile-meta-line:not(.profile-meta-line--compact) {
  font-size: 15px;
}
/* Follower-Zeile: gut lesbar auf #181818 */
.profile-meta-line {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.profile-meta-line--compact {
  margin-top: 10px;
  font-size: 14px;
}
.profile-meta-tap {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
.profile-meta-tap:hover {
  opacity: 0.92;
}
.profile-meta-tap--followers.profile-meta-tap--with-pile {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  max-width: 100%;
  min-width: 0;
}
.profile-meta-follower-label {
  flex-shrink: 0;
  white-space: nowrap;
}
/* 3 überlappende Follower-Avatare (Threads-nah) */
.profile-follower-pile {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  flex-shrink: 0;
  margin-right: 10px;
}
.profile-follower-pile__img,
.profile-follower-pile__placeholder {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--surface);
  box-sizing: border-box;
  flex-shrink: 0;
}
.profile-follower-pile__img {
  object-fit: cover;
  margin-left: -9px;
  position: relative;
  z-index: 1;
}
.profile-follower-pile__img:nth-child(2),
.profile-follower-pile__placeholder:nth-child(2) {
  z-index: 2;
}
.profile-follower-pile__img:nth-child(3),
.profile-follower-pile__placeholder:nth-child(3) {
  z-index: 3;
}
.profile-follower-pile__img:first-child,
.profile-follower-pile__placeholder:first-child {
  margin-left: 0;
}
.profile-follower-pile__placeholder {
  display: inline-block;
  margin-left: -9px;
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.08);
}
.profile-follower-pile__placeholder:first-child {
  margin-left: 0;
}
body.light .profile-follower-pile__placeholder {
  background: rgba(0, 0, 0, 0.06);
}
/* Drei überlappende Herz-Icons (analog Follower-Pile), eine Zeile mit „xx Likes“ */
.profile-likes-pile {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  flex-shrink: 0;
  margin-right: 10px;
}
.profile-likes-pile__ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--surface);
  box-sizing: border-box;
  flex-shrink: 0;
  margin-left: -9px;
  position: relative;
  z-index: 1;
  background: var(--surface);
  line-height: 0;
  color: var(--text);
  opacity: 0.92;
}
.profile-likes-pile__ic:nth-child(2) {
  z-index: 2;
}
.profile-likes-pile__ic:nth-child(3) {
  z-index: 3;
}
.profile-likes-pile__ic:first-child {
  margin-left: 0;
}
.profile-likes-pile__ic svg {
  width: 13px;
  height: 13px;
  display: block;
}
.profile-meta-after-followers {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  margin-left: 5px;
}
.profile-meta-like-first {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.profile-meta-likes--with-pile {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.profile-meta-num {
  font-weight: 600;
}
.profile-meta-sep {
  font-weight: 400;
  color: inherit;
  user-select: none;
}
.profile-meta-likes {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.profile-meta-likes-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  color: var(--text);
  opacity: 0.92;
}
.profile-meta-likes-ic svg {
  width: 14px;
  height: 14px;
  display: block;
}
.profile-meta-line--website {
  margin-top: 4px;
  width: 100%;
}
.profile-meta-website {
  color: var(--link);
  text-decoration: none;
  font-weight: inherit;
  word-break: break-all;
}
.profile-meta-website:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.light .profile-meta-website {
  color: var(--link);
}
.profile-header-block__social {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  padding-top: 2px;
}
.profile-ig-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--text);
  border-radius: 0;
  border: none;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.profile-ig-link:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .profile-ig-link {
  border: none;
}
.profile-ig-svg {
  width: 22px;
  height: 22px;
}
.profile-stats {
  display: flex;
  gap: 20px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.profile-stats__btn {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
.profile-stats__btn:hover .profile-stats__num {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.profile-stats__num {
  font-size: 15px;
  font-weight: 700;
  color: var(--text, #f5f5f5);
}
.profile-stats__lbl {
  font-size: 13px;
  color: var(--muted);
  font-weight: 400;
}
.profile-header-block__avatar {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
.profile-header-block__avatar-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.profile-header-block__tool-btn {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: transparent;
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
body.light .profile-header-block__tool-btn {
  border-color: rgba(0, 0, 0, 0.18);
}
.profile-header-block__tool-btn-inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-header-block__tool-btn-inner .post-menu-ic {
  width: 20px;
  height: 20px;
}
.page-stack-title--profile-archive {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  padding: 0 44px;
  box-sizing: border-box;
  position: relative;
}
.profile-page-head__title {
  font-weight: 600;
  font-size: 17px;
  text-align: center;
  flex: 1;
}
.profile-page-head__back,
.page-stack-title--profile-archive .app-backbtn.page-stack-title__search-back,
.page-stack-title--profile-archive .app-backbtn.page-stack-title__search-back-desk {
  position: absolute !important;
  left: 6px;
  top: 50% !important;
  transform: translateY(-50%);
}
.profile-page-head__spacer {
  position: absolute !important;
  right: 6px;
  top: 50% !important;
  transform: translateY(-50%);
  visibility: hidden;
  pointer-events: none;
}
.profile-desk-archive-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 4px 12px;
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  margin-bottom: 8px;
}
.profile-desk-archive-bar__title {
  font-weight: 600;
  font-size: 15px;
}
.page-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 24px 32px;
  min-height: 220px;
  box-sizing: border-box;
  color: var(--muted);
}
.page-empty-state__icon {
  margin-bottom: 16px;
  color: var(--muted);
  opacity: 0.85;
}
.page-empty-state__svg {
  width: 48px;
  height: 48px;
  display: block;
}
.page-empty-state__title {
  font-size: 17px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
}
.page-empty-state__text {
  font-size: 14px;
  line-height: 1.45;
  max-width: 280px;
}
.page-empty-state--compact {
  min-height: 160px;
  padding: 28px 20px 24px;
}
.page-empty-state--compact .page-empty-state__svg {
  width: 44px;
  height: 44px;
}
.page-empty-state--in-card {
  flex: 1 1 auto;
  width: 100%;
  min-height: min(52vh, 380px);
  justify-content: center;
  align-self: stretch;
}
.page-empty-state--profile-private .page-empty-state__title {
  max-width: 320px;
  line-height: 1.35;
  font-weight: 500;
}
main.content.content--page-stack .page-stack-body-flow > .page-empty-state--in-card:first-child {
  margin-top: auto;
  margin-bottom: auto;
}
.thread-comments-block .thread-comments-empty-state {
  min-height: 140px;
  padding: 20px 16px 28px;
}
.search-page__empty-wrap {
  padding: 24px 12px 32px;
}
.search-page__empty-state {
  min-height: 180px;
}
.desk-feed-main-flow > .home-feed-empty-state {
  flex: 1 1 auto;
  min-height: min(45vh, 320px);
}
.compose-drafts-list .compose-drafts-empty-state {
  min-height: 220px;
}
.desk-pane-empty-state {
  min-height: 200px;
  padding: 32px 16px;
}
.saved-feed--empty {
  min-height: min(48vh, 360px);
}
.saved-feed--skeleton,
.likes-feed--skeleton {
  flex: 1 1 auto;
  min-height: min(48vh, 360px);
}
.likes-saved-grid-wrap {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px 24px;
}
.likes-saved-grid-wrap--skeleton {
  flex: 1 1 auto;
  min-height: min(48vh, 360px);
  display: flex;
  align-items: stretch;
}
.likes-saved-grid-wrap--empty {
  flex: 1 1 auto;
  min-height: min(48vh, 360px);
  display: flex;
  flex-direction: column;
}
.likes-saved-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}
@media (max-width: 520px) {
  .likes-saved-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.likes-saved-grid__cell {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  background: #121316;
  color: var(--fg, #f3f5f7);
  text-align: left;
  box-sizing: border-box;
}
body.light .likes-saved-grid__cell {
  background: #eef0f3;
  color: #0a0a0a;
}
.likes-saved-grid__cell:focus-visible {
  outline: 2px solid rgba(99, 155, 255, 0.65);
  outline-offset: 2px;
}
.likes-saved-grid__cell--media .likes-saved-grid__media-frame,
.likes-saved-grid__cell--video .likes-saved-grid__media-frame {
  display: block;
  width: 100%;
  max-height: 220px;
}
.likes-saved-grid__cell--media img,
.likes-saved-grid__cell--video .likes-saved-grid__media-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.likes-saved-grid__media-frame--empty {
  background: linear-gradient(135deg, #1a1c22, #0f1014);
}
body.light .likes-saved-grid__media-frame--empty {
  background: linear-gradient(135deg, #e4e7ec, #cfd4db);
}
.likes-saved-grid__cell--video .likes-saved-grid__play-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.likes-saved-grid__play-ic {
  width: 36px;
  height: 36px;
  opacity: 0.92;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.55));
}
.likes-saved-grid__cell--text {
  aspect-ratio: 1;
  padding: 10px 12px;
}
.likes-saved-grid__text-inner {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.35;
  color: inherit;
  opacity: 0.92;
}
.likes-saved-grid__cell--meta {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
}
.likes-saved-grid__meta-label {
  font-weight: 650;
  font-size: 14px;
}
.likes-saved-grid__type-ic {
  width: 36px;
  height: 36px;
  opacity: 0.85;
}
.likes-saved-grid__cell--skel {
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
  cursor: default;
}
.likes-saved-grid__skel-inner {
  width: 100%;
  height: 100%;
  min-height: 120px;
}
.likes-saved-grid__media-frame--skel {
  display: block;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
}
body.light .likes-saved-grid__media-frame--skel {
  background: rgba(0, 0, 0, 0.06);
}
.likes-saved-grid__skel-shade {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 72px;
}
.likes-saved-grid__more-wrap {
  display: flex;
  justify-content: center;
  padding: 18px 12px 8px;
}
.likes-saved-grid__more-btn {
  min-width: 160px;
}
.likes-saved-grid__cell--select {
  outline: 2px solid rgba(99, 155, 255, 0.35);
  outline-offset: 1px;
}
.likes-saved-grid__select-ring {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  z-index: 3;
  pointer-events: none;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.15);
}
.likes-saved-grid__select-ring.is-on {
  background: #3b82f6;
  border-color: #fff;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.95), 0 1px 4px rgba(0, 0, 0, 0.25);
}
body.light .likes-saved-grid__select-ring {
  border-color: rgba(0, 0, 0, 0.55);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.65);
}
body.light .likes-saved-grid__select-ring.is-on {
  background: #2563eb;
  border-color: #fff;
}
.saved-feed.saved-feed--select-mode .likes-saved-grid-wrap {
  padding-bottom: max(88px, calc(72px + env(safe-area-inset-bottom, 0px)));
}
.saved-page-select-bar {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: stretch;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 12px 16px max(14px, env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  border-top: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  background: rgba(127, 127, 127, 0.06);
}
.saved-page-select-bar--mob {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: none;
  margin: 0;
  z-index: 80;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  box-shadow: 0 -6px 28px rgba(0, 0, 0, 0.35);
}
body.light .saved-page-select-bar {
  background: rgba(0, 0, 0, 0.03);
  border-top-color: var(--line, rgba(0, 0, 0, 0.08));
}
@media (min-width: 721px) {
  .saved-page-select-bar:not(.saved-page-select-bar--mob) {
    position: sticky;
    bottom: 0;
    z-index: 5;
  }
}
.saved-page-select-bar__btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 44px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
}
.saved-page-select-bar__btn--delete {
  background: #dc2626;
  color: #fff;
  border-color: #b91c1c;
}
.saved-page-select-bar__btn--delete:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.saved-page-select-bar__btn--cancel {
  background: #fff;
  color: #0f172a;
}
body:not(.light) .saved-page-select-bar__btn--cancel {
  background: rgba(255, 255, 255, 0.94);
  color: #0f172a;
}
body.light .saved-page-select-bar__btn--cancel {
  background: #f8fafc;
  color: #0f172a;
  border-color: rgba(0, 0, 0, 0.12);
}
html:not(.mobile-shell) .compose-overlay.compose-overlay--options-menu-open .compose-modal__scroll {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html:not(.mobile-shell) .compose-overlay.compose-overlay--options-menu-open .compose-modal__scroll::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none;
}
.new-device-modal__actions {
  display: flex;
  flex-direction: row;
  gap: 10px;
  width: 100%;
  margin-top: 16px;
  box-sizing: border-box;
  align-items: stretch;
}
.new-device-modal__btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 44px;
}
.new-device-group-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: min(52vh, 360px);
  overflow-y: auto;
  margin: 0 0 12px;
  -webkit-overflow-scrolling: touch;
}
.new-device-group-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1));
  background: var(--bg-secondary, rgba(255, 255, 255, 0.04));
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
.new-device-group-row__when {
  font-size: 12px;
  color: var(--muted);
  flex: 0 0 auto;
  min-width: 72px;
}
.new-device-group-row__dev {
  flex: 1 1 auto;
  font-size: 14px;
  line-height: 1.35;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.new-device-group-row__chev {
  flex: 0 0 auto;
  opacity: 0.65;
}
.new-device-group-close-btn {
  width: 100%;
  margin-top: 4px;
}
main.content.content--page-stack .page-stack-body-flow .likes-feed {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.likes-feed--empty {
  flex: 1 1 auto;
  min-height: min(48vh, 360px);
  display: flex;
  flex-direction: column;
}
.saved-feed--empty .saved-feed-empty-state {
  margin: auto 0;
}
main.content.content--page-stack .page-stack-body-flow .saved-feed {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.chat-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  padding: 16px;
  box-sizing: border-box;
}
.chat-empty .page-empty-state {
  min-height: 0;
  padding: 16px 12px;
}
.notifications-empty-state {
  min-height: min(48vh, 360px);
}
.modal--delete-post {
  width: min(400px, calc(100vw - 32px));
  border-radius: 16px;
  overflow: hidden;
}
.modal-body--delete-post {
  padding: 24px 20px 20px;
}
.delete-post-modal__title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  color: var(--text);
}
.delete-post-modal__text {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.45;
  color: var(--muted);
  text-align: center;
}
.delete-post-modal__actions {
  display: flex;
  gap: 10px;
}
.delete-post-modal__btn {
  flex: 1;
  min-height: 48px;
  border-radius: 12px;
}
.delete-post-modal__btn--secondary {
  border: 1px solid var(--line, rgba(255, 255, 255, 0.15));
  background: transparent;
}
.delete-post-modal__btn--danger {
  background: var(--danger, #ff4b59);
  color: #fff;
  border: none;
  font-weight: 600;
}
.profile-header-block__actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.profile-header-block__action {
  flex: 1;
  min-width: 0;
}
/* Threads: Profil-Aktionen 34px hoch */
.profile-header-block__action-btn {
  box-sizing: border-box;
  min-height: 34px;
  height: 34px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 10px;
}
.profile-header-block__action-btn svg,
.profile-header-block__action-btn .icon-dm-svg {
  width: 18px;
  height: 18px;
  display: block;
  flex-shrink: 0;
}
.profile-header-block__actions .profile-header-block__action-btn[onclick*="openProfileEdit"] {
  background: #fff;
  color: #0f1115;
  border: 1px solid transparent;
}
body.light .profile-header-block__actions .profile-header-block__action-btn[onclick*="openProfileEdit"] {
  background: #0f1115;
  color: #fff;
  border-color: #0f1115;
}

/* Interessen-Chips (unter Bio, über Follower-Zeile) */
.profile-header-block__interests {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  padding: 2px 0 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.profile-header-block__interests::-webkit-scrollbar {
  display: none;
}
.profile-header-block__handle + .profile-header-block__interests {
  margin-top: 8px;
}
.profile-header-block__bio + .profile-header-block__interests {
  margin-top: 10px;
}
.profile-interest-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  height: 32px;
  padding: 0 12px 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  box-sizing: border-box;
}
body.light .profile-interest-chip {
  border-color: rgba(0, 0, 0, 0.14);
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.62);
}
.profile-interest-chip__text {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.profile-interest-ic {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.95;
}
.profile-interest-chip--more {
  flex: 0 0 auto;
  background: rgba(255, 255, 255, 0.1);
  color: var(--muted);
  padding: 0 12px;
}
body.light .profile-interest-chip--more {
  background: rgba(0, 0, 0, 0.06);
  color: var(--muted);
}

/* Podcast-Karte unter den Buttons */
.profile-podcast-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  transition: background 0.15s ease;
}
.profile-podcast-card:hover {
  background: rgba(127, 127, 127, 0.08);
}
.profile-podcast-card__cover {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  contain: paint;
}
.profile-podcast-card__cover--image {
  background: rgba(0, 0, 0, 0.35);
  padding: 0;
}
.profile-podcast-card__cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  backface-visibility: hidden;
  will-change: transform, opacity;
}
.profile-podcast-card__cover--spotify {
  background: #1db954;
  color: #fff;
}
.profile-podcast-card__cover--spotify .profile-podcast-card__spotify-logo {
  width: 28px;
  height: 28px;
}
.profile-podcast-card__cover--apple {
  background: linear-gradient(145deg, #a855f7, #6366f1);
  color: #fff;
}
.profile-podcast-card__cover--generic {
  background: rgba(127, 127, 127, 0.2);
  color: var(--muted);
}
.profile-podcast-card__cover-glyph {
  font-size: 20px;
  opacity: 0.85;
}
.profile-podcast-card__body {
  flex: 1;
  min-width: 0;
}
.profile-podcast-card__title {
  font-weight: 600;
  font-size: 15px;
  line-height: 1.25;
  color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.profile-podcast-card__author {
  font-size: 13px;
  color: var(--muted);
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-podcast-card__platform {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.profile-podcast-card__platform .profile-podcast-card__spotify-logo {
  width: 16px;
  height: 16px;
  color: #1db954;
  flex-shrink: 0;
}
.profile-podcast-card__platform-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--muted);
  opacity: 0.7;
}

/* Profil: 40px | zentrierter Titel | Aktionen ganz rechts.
   Wichtig: .page-stack-root .center-title.page-stack-title ist display:flex — höhere Spezifität als
   .page-stack-title.profile-page-title — sonst kollabiert die Zeile zu einer zentrierten Flex-Gruppe. */
.page-stack-root .center-title.page-stack-title.profile-page-title--other:not(.profile-page-title--self-mobile) {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  justify-content: initial;
  gap: 0;
  width: 100%;
  box-sizing: border-box;
  padding-inline: 10px;
  padding-block: 0;
  min-height: var(--page-shell-title-height);
}
.page-stack-title.profile-page-title--other .page-stack-title__side {
  width: 40px;
  min-width: 40px;
}
.profile-page-title--other:not(.profile-page-title--self-mobile) .profile-page-head__center {
  grid-column: 2;
  justify-self: center;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  font-size: 17px;
  text-align: center;
}
.profile-page-title--other:not(.profile-page-title--self-mobile) .profile-page-head__center.verified-inline-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.profile-page-title--other:not(.profile-page-title--self-mobile) .profile-page-head__right {
  grid-column: 3;
  justify-self: end;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-width: 0;
  flex-shrink: 0;
}
.profile-page-title--other .profile-page-head__menu {
  grid-column: 3;
  justify-self: end;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  padding: 0;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.profile-page-title--other .profile-page-head__menu svg circle[fill="currentColor"] {
  fill: currentColor !important;
  stroke: none;
}
.page-stack-root .center-title.page-stack-title.profile-page-title--other:not(.profile-page-title--self-mobile) .app-backbtn.page-stack-title__search-back-desk {
  grid-column: 1;
  width: 34px;
  height: 34px;
  min-width: 34px;
  border: none;
  background: transparent;
  border-radius: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
}
html:not(.mobile-shell) .thread-view-head__back,
html:not(.mobile-shell) .page-stack-title--chat-desk__back,
html:not(.mobile-shell)
  .page-stack-root
  .center-title.page-stack-title.profile-page-title--other:not(.profile-page-title--self-mobile)
  .app-backbtn.page-stack-title__search-back-desk {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  aspect-ratio: 1 / 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}
html:not(.mobile-shell) .thread-view-head__back:hover,
html:not(.mobile-shell) .page-stack-title--chat-desk__back:hover,
html:not(.mobile-shell)
  .page-stack-root
  .center-title.page-stack-title.profile-page-title--other:not(.profile-page-title--self-mobile)
  .app-backbtn.page-stack-title__search-back-desk:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Entfolgen-Bestätigung 280×206 (Threads-nah) */
.unfollow-modal-overlay {
  z-index: 110;
  align-items: center;
  justify-content: center;
  padding: 16px;
  padding-left: calc(16px + var(--modal-content-shift-x));
  background: rgba(0, 0, 0, 0.65);
}
.unfollow-modal {
  width: 280px;
  height: 206px;
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
  background: var(--surface);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--text);
}
body.light .unfollow-modal {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.1);
  color: #0f0f0f;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
}
.unfollow-modal__top {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 20px 10px;
  min-height: 0;
}
.unfollow-modal__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.unfollow-modal__text {
  margin: 14px 0 0;
  padding: 0 8px;
  font-size: 15px;
  line-height: 1.35;
  text-align: center;
  font-weight: 400;
}
.unfollow-modal__actions {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  height: 54px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
body.light .unfollow-modal__actions {
  border-top-color: rgba(0, 0, 0, 0.1);
}
.unfollow-modal__btn {
  width: auto;
  height: 54px;
  flex: 1 1 0;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  color: #f5f5f5;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.unfollow-modal__btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .unfollow-modal__btn {
  color: #0f0f0f;
}
body.light .unfollow-modal__btn:hover {
  background: rgba(0, 0, 0, 0.04);
}
.unfollow-modal__btn + .unfollow-modal__btn {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}
body.light .unfollow-modal__btn + .unfollow-modal__btn {
  border-left-color: rgba(0, 0, 0, 0.1);
}
.unfollow-modal__btn--danger {
  color: #f4212e;
}
.unfollow-modal__btn--danger:hover {
  background: rgba(244, 33, 46, 0.08);
}
body.light .unfollow-modal__btn--danger {
  color: #d61f2a;
}

/* Follower/Gefolgt-Modal (520×885, Threads-nah) */
.ff-modal-overlay {
  z-index: 10060;
  align-items: center;
  justify-content: center;
  padding: 16px;
  padding-left: calc(16px + var(--modal-content-shift-x));
}
/* Profil: „x weitere“-Liste — Kopf auch auf Desktop (Basis: .ff-modal__head-mobile { display:none }) */
.ff-modal.ff-modal--followed-mutual {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.ff-modal.ff-modal--followed-mutual .ff-modal__head-mobile {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 10px;
  border-bottom: 1px solid var(--line);
}
.ff-modal.ff-modal--followed-mutual .ff-modal__scroll--mobile {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.ff-modal {
  width: 520px;
  height: 885px;
  max-width: calc(100vw - 24px);
  max-height: min(885px, calc(100vh - 32px));
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  color: var(--text);
  overflow: hidden;
  box-sizing: border-box;
}
.ff-modal__head-mobile {
  display: none;
}
body.light .ff-modal {
  background: var(--surface);
  color: var(--text);
  border-color: var(--line);
}
.ff-modal__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
body.light .ff-modal__tabs {
  border-bottom-color: var(--line);
}
.ff-modal__tab {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 14px 8px 16px;
  margin: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: rgba(255, 255, 255, 0.45);
  -webkit-tap-highlight-color: transparent;
}
body.light .ff-modal__tab {
  color: var(--muted);
}
.ff-modal__tab--active {
  color: var(--text);
  font-weight: 600;
}
body.light .ff-modal__tab--active {
  color: var(--text);
  font-weight: 700;
}
.ff-modal__tab--active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--text);
  border-radius: 2px 2px 0 0;
}
body.light .ff-modal__tab--active::after {
  background: var(--text);
}
.ff-modal__tab-label {
  font-size: 15px;
}
.ff-modal__tab-count {
  font-size: 14px;
  font-weight: 500;
  opacity: 0.95;
}
.ff-modal__tab:not(.ff-modal__tab--active) .ff-modal__tab-count {
  opacity: 0.85;
}
.ff-modal__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.ff-modal__scroll--mobile {
  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
}
.ff-modal__list {
  padding: 0;
}
.ff-modal__list--notif-actors {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.ff-modal__head-bar--notif-actors {
  flex-shrink: 0;
  padding: 14px 16px 12px;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
body.light .ff-modal__head-bar--notif-actors {
  border-bottom-color: var(--line);
}
.ff-modal--notif-actors {
  max-height: min(885px, calc(100vh - 32px));
}
.chat-seen-receipt-row {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  padding: 0 6px 12px;
  box-sizing: border-box;
}
.chat-seen-receipt {
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.38);
  line-height: 1.2;
}
body.light .chat-seen-receipt {
  color: rgba(0, 0, 0, 0.42);
}
.notif-actors-overlay--mobile {
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  padding-left: calc(0px + var(--modal-content-shift-x));
}
.notif-actors-sheet {
  width: 100%;
  max-width: 100vw;
  max-height: min(78vh, 620px);
  border-radius: 16px 16px 0 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-bottom: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.45);
  color: var(--text);
}
.notif-actors-sheet__head {
  flex-shrink: 0;
  padding: 10px 16px 12px;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.notif-actors-sheet__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
}
.notif-actors-sheet__handle {
  width: 40px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.2);
  margin: 8px auto 0;
}
body.light .notif-actors-sheet__handle {
  background: rgba(0, 0, 0, 0.15);
}

/* Benachrichtigungen: Tabs + Desktop-Zurück + Kommentar-Liste */
.notifications-tabs {
  display: flex;
  gap: 8px;
  padding: 8px 14px 4px;
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  flex-shrink: 0;
}
.notifications-tabs__btn {
  flex: 1;
  max-width: 220px;
  padding: 9px 12px;
  border-radius: 10px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  background: transparent;
  color: var(--muted, #888);
  font: inherit;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
}
.notifications-tabs__btn.is-active {
  color: var(--text, #fff);
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
}
body.light .notifications-tabs__btn.is-active {
  background: rgba(0, 0, 0, 0.05);
}
.activity-notif-section__more {
  padding: 0 12px 12px;
  box-sizing: border-box;
}
.activity-notif-section__more .activity-more-btn--section {
  width: 100%;
  max-width: 100%;
  padding: 8px 12px 10px;
}
.activity-notif-section__more-btn {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  background: transparent;
  color: var(--text, #fff);
  font: inherit;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
}
.page-stack-title--notifications-desk {
  display: grid !important;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  justify-content: stretch !important;
  width: 100%;
  gap: 6px;
}
.page-stack-title__center--notifications-desk {
  text-align: center;
  font-weight: 600;
  font-size: 17px;
  cursor: pointer;
  min-width: 0;
}
.notifications-head-desktop__back {
  justify-self: start;
}
html:not(.mobile-shell) .page-stack-title--search {
  display: grid !important;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  justify-content: stretch !important;
  width: 100%;
}
html:not(.mobile-shell) .page-stack-title--search .page-stack-title__search-back-desk {
  justify-self: start;
}
html:not(.mobile-shell) .page-stack-title--search.profile-page-title--other {
  display: grid !important;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  justify-content: stretch !important;
  width: 100%;
}
html:not(.mobile-shell) .page-stack-title--search.profile-page-title--other .profile-page-head__center {
  justify-self: center;
  text-align: center;
  min-width: 0;
}
html:not(.mobile-shell) .page-stack-title--search .page-stack-title__center {
  justify-self: center;
  text-align: center;
}
.desk-col-head--activities-row {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 6px;
  width: 100%;
}
.desk-col-head__back--activities {
  justify-self: start;
  width: 36px;
  height: 36px;
  padding: 0;
}
.desk-col-head--activities-row .desk-col-head__activity-title {
  justify-self: center;
  min-width: 0;
  text-align: center;
}
.notif-comments-modal--desk {
  width: min(480px, 94vw);
  max-height: min(640px, 88vh);
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 14px;
  background: var(--surface, #121216);
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1));
  box-sizing: border-box;
  overflow: hidden;
}
.notif-comments-modal__desk-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  flex-shrink: 0;
}
.notif-comments-modal__desk-title {
  font-size: 16px;
  font-weight: 700;
}
.notif-comments-modal__desk-scroll {
  flex: 1 1 auto;
  min-height: 0;
  max-height: min(520px, 72vh);
  overflow-y: auto;
  padding: 8px 0;
}
.notif-comments-modal__row-main {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  padding: 10px 14px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  border-radius: 10px;
  box-sizing: border-box;
}
.notif-comments-modal__row-main:hover {
  background: rgba(255, 255, 255, 0.06);
}
.notif-comments-modal__sn {
  font-size: 13px;
  color: var(--muted, #999);
  margin-top: 4px;
  line-height: 1.35;
}
.notif-comments-modal__dn {
  font-size: 13px;
  color: var(--muted, #9a9a9a);
}
.notif-comments-modal__name {
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  font-size: 15px;
}
.notif-comments-modal__chev {
  align-self: center;
  color: var(--muted);
  font-size: 18px;
  padding: 0 4px;
}
.notif-comments-modal__skel {
  padding: 8px 12px;
}
.notif-comments-modal--mobile {
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--surface, #101014);
  border-radius: 0;
}
.notif-comments-modal--mobile .notif-comments-modal__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.notif-comments-modal__head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 8px 8px;
  padding-top: max(10px, env(safe-area-inset-top, 0px));
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.notif-comments-modal__title {
  flex: 1;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}
.notif-comments-overlay--mobile {
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
}

.ff-modal__loading,
.ff-modal__empty {
  padding: 32px 20px;
  text-align: center;
  color: rgba(255, 255, 255, 0.45);
  font-size: 15px;
}
body.light .ff-modal__loading,
body.light .ff-modal__empty {
  color: var(--muted);
}
/* Follower-Modal: Leer-Zustand mit Icon + Name (zentriert) */
.ff-modal__empty--rich {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 280px;
  padding: 40px 28px 48px;
  box-sizing: border-box;
}
.ff-modal__empty-ic {
  color: rgba(255, 255, 255, 0.28);
  margin-bottom: 20px;
  flex-shrink: 0;
}
body.light .ff-modal__empty-ic {
  color: rgba(0, 0, 0, 0.22);
}
.ff-modal__empty-name {
  font-size: 17px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.25;
}
.ff-modal__empty-handle {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.45);
}
body.light .ff-modal__empty-handle {
  color: var(--muted);
}
.ff-modal__empty-msg {
  margin: 20px 0 0;
  max-width: 300px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.5);
}
body.light .ff-modal__empty-msg {
  color: var(--muted);
}
.ff-modal-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
body.light .ff-modal-row {
  border-bottom-color: var(--line);
}
.ff-modal-row__main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
.ff-modal-row__main:hover .ff-modal-row__username {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ff-modal-row__avatar {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.ff-modal-row__text {
  min-width: 0;
}
.ff-modal-row__line1 {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.ff-modal-row__username {
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ff-modal-row__badge {
  flex-shrink: 0;
  display: inline-flex;
}
.ff-modal-row__display {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}
body.light .ff-modal-row__display {
  color: var(--muted);
}
.ff-modal-row__action {
  flex-shrink: 0;
}
.ff-modal-row__btn-spacer {
  display: inline-block;
  min-width: 100px;
  height: 32px;
}
.ff-modal-row__btn {
  margin: 0;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.ff-modal-row__btn--solid {
  border: none;
  background: #ffffff;
  color: #0a0a0a;
}
.ff-modal-row__btn--solid:hover {
  filter: brightness(1.05);
}
body.light .ff-modal-row__btn--solid {
  background: var(--text);
  color: var(--bg);
}
.ff-modal-row__btn--outline {
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: transparent;
  color: #f5f5f5;
}
.ff-modal-row__btn--outline:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .ff-modal-row__btn--outline {
  border-color: var(--line);
  color: var(--text);
}
.ff-modal-row__btn--muted {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.4);
  cursor: default;
  font-weight: 500;
}
body.light .ff-modal-row__btn--muted {
  color: var(--muted);
}
.ff-modal__more-wrap {
  padding: 14px 16px 20px;
  text-align: center;
}
.ff-modal__more {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.ff-modal__more:hover:not(:disabled) {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ff-modal__more:disabled {
  opacity: 0.5;
  cursor: default;
}
body.light .ff-modal__more {
  color: var(--muted);
}
body.light .ff-modal__more:hover:not(:disabled) {
  color: var(--text);
}

/* ——— „Problem melden“ (Threads 1:1: Titel über der Box, Blur-Scrim, dunkles Feld, Ghost-Senden) ——— */
.problem-feedback-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  background: var(--modal-scrim);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  backdrop-filter: blur(18px) saturate(1.15);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(52px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom));
  padding-left: calc(20px + var(--modal-content-shift-x));
  box-sizing: border-box;
}
.problem-feedback-overlay__close {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  top: max(14px, env(safe-area-inset-top));
  z-index: 121;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(30, 30, 30, 0.65);
  color: #f3f5f7;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  -webkit-tap-highlight-color: transparent;
}
.problem-feedback-overlay__close:hover {
  background: rgba(48, 48, 48, 0.85);
}
body.light .problem-feedback-overlay__close {
  border-color: rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
}
body.light .problem-feedback-overlay__close:hover {
  background: #fff;
}
.problem-feedback-overlay__center {
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.problem-feedback-modal__title {
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  margin: 0;
  padding: 0 8px;
  color: #f3f5f7;
  letter-spacing: -0.025em;
  line-height: 1.25;
  font-family: Inter, Segoe UI, system-ui, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
}
body.light .problem-feedback-modal__title {
  color: var(--text);
}
/* Eine Box: etwas dunkler als App-Oberfläche (Threads) */
.problem-feedback-modal__shell {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  overflow: hidden;
  background: #0c0c0c;
  box-sizing: border-box;
}
body.light .problem-feedback-modal__shell {
  background: #f3f4f6;
  border-color: rgba(0, 0, 0, 0.1);
}
.problem-feedback-modal__textarea {
  display: block;
  width: 100%;
  border: none;
  background: transparent;
  color: #f3f5f7;
  font-family: Inter, Segoe UI, system-ui, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  padding: 16px 16px 12px;
  min-height: 168px;
  resize: vertical;
  outline: none;
  box-sizing: border-box;
}
.problem-feedback-modal__textarea::placeholder {
  color: #737373;
  opacity: 1;
}
body.light .problem-feedback-modal__textarea {
  color: var(--text);
}
body.light .problem-feedback-modal__textarea::placeholder {
  color: #8e8e93;
}
.problem-feedback-modal__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  gap: 12px;
  background: #0c0c0c;
}
body.light .problem-feedback-modal__toolbar {
  border-top-color: rgba(0, 0, 0, 0.08);
  background: #f3f4f6;
}
.problem-feedback-modal__attach {
  border: none;
  background: transparent;
  color: #f3f5f7;
  cursor: pointer;
  padding: 8px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.95;
  -webkit-tap-highlight-color: transparent;
}
.problem-feedback-modal__attach:hover {
  background: rgba(255, 255, 255, 0.06);
}
body.light .problem-feedback-modal__attach {
  color: var(--text);
}
body.light .problem-feedback-modal__attach:hover {
  background: rgba(0, 0, 0, 0.05);
}
.problem-feedback-clip-svg {
  display: block;
}
/* Ghost-Button „Senden“ wie Threads */
.problem-feedback-modal__send {
  margin: 0;
  padding: 9px 22px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.2;
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: transparent;
  color: #f3f5f7;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.problem-feedback-modal__send:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.06);
}
body.light .problem-feedback-modal__send {
  border-color: rgba(0, 0, 0, 0.22);
  color: var(--text);
}
body.light .problem-feedback-modal__send:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.problem-feedback-modal__send:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.problem-feedback-photo-row {
  margin-top: 4px;
  font-size: 13px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 8px;
}
.problem-feedback-photo-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.problem-feedback-photo-clear {
  border: none;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 8px;
  opacity: 0.7;
}
.problem-feedback-photo-clear:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.06);
}

/* ——— Themen-Seite (/topic/…) ——— */
.page-stack-title.page-stack-title--topic {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  min-height: var(--page-shell-title-height);
  padding-inline: 10px;
  box-sizing: border-box;
}
.topic-page-head__title {
  text-align: center;
  font-weight: 700;
  font-size: 17px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.topic-page-head__back {
  justify-self: start;
  width: 40px;
  height: 40px;
}
.topic-page-head__menu {
  justify-self: end;
  width: 40px;
  height: 40px;
}
.page-stack-card--topic .topic-page-tabs-wrap {
  flex-shrink: 0;
  border-bottom: 1px solid var(--line);
}
.topic-page-tabs {
  padding: 0 12px;
}
button.meta-topic-pill,
.meta-topic-pill {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
  max-width: 46%;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.meta-topic-pill:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.meta-topic-sep {
  color: var(--muted);
  font-weight: 500;
}

/* Interessen-Chips als <button>: gleiche Optik wie .profile-interest-chip */
button.profile-interest-chip {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  font-family: inherit;
  cursor: pointer;
}
.profile-interest-chip:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--text) 35%, transparent);
  outline-offset: 2px;
}

/* Profil: Website-Link — eine Zeile, Ellipsis, kollidiert nicht mit Icons */
.profile-meta-line .profile-meta-website {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: normal;
}

/* Profil-Tools / Instagram: kein Hover-Hintergrund */
button.profile-header-tool:hover {
  background: transparent !important;
}
.profile-ig-link:hover {
  background: transparent !important;
  text-decoration: none !important;
}
.profile-meta-website:hover {
  text-decoration: none !important;
}

/* ——— Insights / Wochenrückblick ——— */
.page-stack-title.page-stack-title--insights {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  width: 100%;
  min-height: var(--page-shell-title-height);
  padding-inline: 10px;
  box-sizing: border-box;
}
.insights-title-cell {
  grid-column: 2;
  justify-self: center;
  text-align: center;
  min-width: 0;
  max-width: min(420px, 72vw);
}
.insights-title-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.insights-title-text {
  font-weight: 700;
  font-size: 17px;
}
.insights-head-chev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background: transparent;
  color: var(--fg);
  cursor: pointer;
}
body.light .insights-head-chev {
  border-color: rgba(0, 0, 0, 0.2);
}
.insights-range-sub {
  margin-top: 2px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.3;
}
.insights-date-anchor {
  position: relative;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}
.insights-date-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  z-index: 80;
  padding: 6px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
  box-sizing: border-box;
}
body.light .insights-date-popover {
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.12);
}
.insights-date-popover__btn {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.insights-date-popover__btn:hover {
  background: color-mix(in srgb, var(--text) 8%, transparent);
}
.insights-date-popover__btn.is-active {
  color: var(--accent, #0095f6);
}
.page-stack-title--insights .page-stack-title__side {
  width: 40px;
  min-width: 40px;
}

.insights-page-inner {
  padding: 14px 14px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-sizing: border-box;
  flex: 1 1 auto;
  min-height: 0;
}
.insights-page-inner--desk {
  padding: 12px 10px 16px;
}

.insights-weekly-card {
  width: 100%;
  text-align: left;
  border: none;
  border-radius: 16px;
  padding: 16px 18px;
  background: color-mix(in srgb, var(--surface) 92%, #1a1b20);
  cursor: pointer;
  font: inherit;
  color: inherit;
  box-sizing: border-box;
  transition: background-color 0.15s ease, transform 0.12s ease;
}
body.light .insights-weekly-card {
  background: color-mix(in srgb, var(--surface-2) 88%, #fff);
}
.insights-weekly-card:hover {
  background: color-mix(in srgb, var(--surface) 88%, #25262c);
}

/* Etwas dunkler als Standard-Kachel = klar als Tap/CTA erkennbar */
/* Etwas dunkler als Standard-Kachel (#141414) */
.insights-weekly-card.insights-weekly-card--cta {
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

body.light .insights-weekly-card.insights-weekly-card--cta {
  background: #f2f2f2;
  border-color: rgba(0, 0, 0, 0.1);
}

.insights-weekly-card.insights-weekly-card--cta:hover {
  background: #121212;
  filter: brightness(1.06);
}

body.light .insights-weekly-card.insights-weekly-card--cta:hover {
  background: #e8e8e8;
  filter: none;
}

.insights-weekly-card__title {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 6px;
}
.insights-weekly-card__sub {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.4;
}

.insights-wait-wrap {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: min(280px, 42vh);
  padding: 8px 0 16px;
  box-sizing: border-box;
}

.insights-wait-block {
  text-align: center;
  padding: 28px 16px 24px;
  max-width: 340px;
}
.insights-wait-block__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: 16px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 85%, transparent);
  color: var(--muted);
}
.insights-wait-block__icon-wrap .page-empty-state__svg {
  width: 36px;
  height: 36px;
}
.insights-wait-block__title {
  font-weight: 700;
  font-size: 17px;
  margin-bottom: 8px;
}
.insights-wait-block__body {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.45;
  max-width: 300px;
  margin: 0 auto;
}

.insights-weekly-page {
  padding: 12px 14px 24px;
  box-sizing: border-box;
}
.insights-weekly-hero {
  text-align: center;
  margin-bottom: 20px;
}
.insights-weekly-hero__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  margin-bottom: 10px;
}
.insights-weekly-hero__title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 8px;
}
.insights-weekly-hero__sub {
  margin: 0;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.45;
  padding: 0 8px;
}

.insights-metric-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}
.insights-metric-card {
  border-radius: 14px;
  padding: 14px 16px;
  background: color-mix(in srgb, var(--surface) 90%, #1e1f24);
  box-sizing: border-box;
}
body.light .insights-metric-card {
  background: var(--surface-2);
}
.insights-metric-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: 8px;
}
.insights-metric-card__head svg {
  flex-shrink: 0;
  opacity: 0.9;
}
.insights-metric-card__big {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.insights-stat-delta {
  margin-top: 8px;
  font-size: 13px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.insights-stat-delta__arr {
  font-size: 12px;
  opacity: 0.85;
}

.insights-tip-section__h {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px 2px;
}
.insights-tip-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 90%, #1e1f24);
  box-sizing: border-box;
}
body.light .insights-tip-card {
  background: var(--surface-2);
}
.insights-tip-card__bulb {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  display: grid;
  place-items: center;
  font-size: 20px;
}
.insights-tip-card__title {
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 6px;
}
.insights-tip-card__body {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.45;
  margin-bottom: 10px;
}
.insights-tip-card__link {
  border: none;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #4dabf7;
  cursor: pointer;
}
.insights-tip-card__link:hover {
  text-decoration: underline;
}

/* Feed: Pull-Refresh (Home-Icon erneut) — rotierender Loader unter Compose */
.home-feed-pull-refresh-loader {
  padding: 10px 0 6px;
  min-height: 40px;
}

.location-picker-geo-hint {
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
  padding: 0 0 8px;
  margin: 0;
}
.location-picker-geo-hint--pending {
  color: var(--link, #6eb6ff);
}
.location-picker-nearby-lead {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin: 0 0 6px;
  padding: 0 2px;
}

.list-load-indicator--dots-only {
  padding: 16px 0 20px;
}

/* Profil: gesperrtes Fremdkonto (profileLoadError) */
.profile-load-error-banner {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255, 59, 48, 0.12);
  border: 1px solid rgba(255, 59, 48, 0.28);
}
.profile-load-error-banner__text {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: #ff6b6b;
}
body.light .profile-load-error-banner {
  background: rgba(220, 53, 69, 0.08);
  border-color: rgba(220, 53, 69, 0.22);
}
body.light .profile-load-error-banner__text {
  color: #c92a2a;
}
.profile-header-block__avatar--muted {
  opacity: 0.55;
  filter: grayscale(0.35);
}
.profile-load-error-muted {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
  text-align: center;
}
/* Profil nicht verfügbar: kein riesiger flex-Leerraum unter dem Hinweis */
.page-stack-card--load-error .page-stack-body-flow {
  flex: 0 1 auto !important;
  min-height: 0 !important;
}
.profile-load-error-empty.page-empty-state--in-card {
  flex: 0 1 auto !important;
  min-height: 0 !important;
  padding: 16px 20px 28px !important;
}
.profile-load-error-empty .page-empty-state__text {
  color: var(--muted);
  margin-top: 0;
}
.profile-header-block--load-error .profile-header-block__actions {
  margin-top: 10px;
}
.desk-profile-pane-load-error {
  padding: 12px 8px 24px;
}
.desk-profile-pane-load-error .profile-load-error-empty.page-empty-state--in-card {
  min-height: 0 !important;
}

/* Vollbild Kontosperre */
.sanction-screen {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 28px 20px 48px;
  background: var(--surface);
  color: rgba(255, 255, 255, 0.92);
  position: relative;
  box-sizing: border-box;
}
body.light .sanction-screen {
  background: var(--surface);
  color: #111;
}
.sanction-screen__inner {
  width: 100%;
  max-width: 440px;
}
.sanction-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 18px;
}
.sanction-hero__av {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.12);
  margin-bottom: 12px;
}
.sanction-hero__av--placeholder {
  background: rgba(255, 255, 255, 0.08);
}
body.light .sanction-hero__av {
  border-color: rgba(0, 0, 0, 0.1);
}
body.light .sanction-hero__av--placeholder {
  background: rgba(0, 0, 0, 0.06);
}
.sanction-hero__line {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 600;
  text-align: center;
  color: rgba(255, 255, 255, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
body.light .sanction-hero__line {
  color: rgba(0, 0, 0, 0.88);
}
.sanction-hero__line1 {
  margin: 0;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
  text-align: center;
  color: rgba(255, 255, 255, 0.92);
  max-width: 100%;
}
body.light .sanction-hero__line1 {
  color: rgba(0, 0, 0, 0.9);
}
.sanction-hero__username {
  margin: 8px 0 0;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  color: rgba(255, 255, 255, 0.52);
  letter-spacing: 0.01em;
}
body.light .sanction-hero__username {
  color: rgba(0, 0, 0, 0.48);
}
.sanction-status-header__username {
  margin: 8px 0 0;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.52);
  max-width: 100%;
  word-break: break-word;
}
body.light .sanction-status-header__username {
  color: rgba(0, 0, 0, 0.48);
}
.sanction-brand {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 20px;
  text-align: center;
}
body.light .sanction-brand {
  color: rgba(0, 0, 0, 0.45);
}
.sanction-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 10px;
  text-align: center;
}
.sanction-title--hero {
  font-size: 22px;
}
.sanction-lead {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
  margin: 0 0 12px;
  text-align: center;
}
body.light .sanction-lead {
  color: rgba(0, 0, 0, 0.72);
}
.sanction-meta {
  font-size: 14px;
  text-align: center;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 18px;
}
body.light .sanction-meta {
  color: rgba(0, 0, 0, 0.55);
}
.sanction-muted {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  margin: 0;
}
body.light .sanction-muted {
  color: rgba(0, 0, 0, 0.5);
}
.sanction-reason-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 16px;
}
body.light .sanction-reason-card {
  background: #fff;
  border-color: var(--line, #e5e5e5);
}
.sanction-reason-card__icon {
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.85);
  margin-top: 2px;
}
body.light .sanction-reason-card__icon {
  color: #333;
}
.sanction-reason-card__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.88);
}
body.light .sanction-reason-card__text {
  color: #222;
}
.sanction-info-box {
  margin-bottom: 16px;
}
.sanction-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sanction-info-list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.75);
}
body.light .sanction-info-list li {
  color: rgba(0, 0, 0, 0.72);
}
.sanction-info-list__ic {
  flex-shrink: 0;
  margin-top: 2px;
  opacity: 0.65;
}
.sanction-deadline {
  font-size: 13px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
  margin: 0 0 22px;
}
body.light .sanction-deadline {
  color: rgba(0, 0, 0, 0.55);
}
.sanction-legal-hold {
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(77, 171, 247, 0.12);
  border: 1px solid rgba(77, 171, 247, 0.28);
  margin-bottom: 14px;
}
.sanction-legal-hold p {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.82);
}
body.light .sanction-legal-hold p {
  color: #1c3d5a;
}
.sanction-final-card {
  padding: 8px 0 16px;
}
.sanction-appeal-sent {
  padding: 8px 0 8px;
}
.sanction-wizard {
  margin-top: 20px;
  padding: 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.sanction-wizard--modal {
  margin-top: 0;
}
body.light .sanction-wizard {
  background: #fff;
  border-color: var(--line, #e5e5e5);
}
.sanction-wizard__title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 8px;
}
.sanction-wizard__hint {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 12px;
  line-height: 1.4;
}
body.light .sanction-wizard__hint {
  color: rgba(0, 0, 0, 0.5);
}
.sanction-input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 15px;
  margin-bottom: 10px;
}
body.light .sanction-input {
  background: #fff;
  color: #111;
  border-color: var(--line, #ddd);
}
.sanction-input--code {
  letter-spacing: 0.35em;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.sanction-code-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.sanction-code-digit {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  padding: 12px 4px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
}
body.light .sanction-code-digit {
  background: #fff;
  color: #111;
  border-color: var(--line, #ddd);
}
.sanction-code-digit:focus {
  outline: 2px solid color-mix(in srgb, #fff 65%, transparent);
  outline-offset: 0;
}
body.light .sanction-code-digit:focus {
  outline-color: color-mix(in srgb, #111 65%, transparent);
}
.sanction-link-btn {
  display: inline-flex;
  border: none;
  background: transparent;
  color: #9ac8ff;
  padding: 0;
  margin: 0 0 12px;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.sanction-link-btn:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}
body.light .sanction-link-btn {
  color: #1459c7;
}
.sanction-wizard__hint-exp {
  display: inline-block;
  margin-left: 4px;
}
.modal.modal--sanction-appeal {
  width: min(460px, calc(100vw - 32px));
  max-width: 460px;
  padding: 0;
}
.modal-overlay--sanction-appeal {
  z-index: 260520;
}
.sanction-wizard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 8px;
}
.sanction-wizard-error {
  color: #ff8787;
  font-size: 13px;
  margin: 0 0 8px;
}
body.light .sanction-wizard-error {
  color: #c92a2a;
}
.sanction-btn {
  border: none;
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.sanction-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.sanction-btn--white {
  background: #fff;
  color: #0a0a0a;
}
body.light .sanction-btn--white {
  background: #111;
  color: #fff;
}
.sanction-btn--ghost {
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
body.light .sanction-btn--ghost {
  color: #333;
  border-color: rgba(0, 0, 0, 0.18);
}
.sanction-btn--block {
  width: 100%;
  margin-top: 12px;
  text-align: center;
}
.sanction-busy {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.sanction-busy__inner {
  padding: 20px;
}

/* Sperrseite: Einspruch eingereicht / endgültig abgelehnt */
.sanction-status-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 6px;
}
.sanction-status-header__av {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.12);
  margin-bottom: 14px;
}
.sanction-status-header__av--placeholder {
  background: rgba(255, 255, 255, 0.08);
}
body.light .sanction-status-header__av {
  border-color: rgba(0, 0, 0, 0.1);
}
body.light .sanction-status-header__av--placeholder {
  background: rgba(0, 0, 0, 0.06);
}
.sanction-status-header__line1 {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
body.light .sanction-status-header__line1 {
  color: rgba(0, 0, 0, 0.9);
}
.sanction-status-header__meta {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.58);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.sanction-status-header__meta--sub {
  font-weight: 400;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
body.light .sanction-status-header__meta {
  color: rgba(0, 0, 0, 0.55);
}
.sanction-screen--status-stack .sanction-screen__inner--status-stack {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.sanction-screen__fill {
  flex: 1 1 auto;
  min-height: 0;
}
.sanction-screen--status-stack .sanction-status-footer {
  margin-top: auto;
  flex-shrink: 0;
  padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
}
.sanction-status-body {
  width: 100%;
  margin-top: 4px;
}
.sanction-status-h2 {
  margin: 18px 0 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  color: rgba(255, 255, 255, 0.95);
}
body.light .sanction-status-h2 {
  color: #111;
}
.sanction-status-submitted {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  color: rgba(255, 255, 255, 0.72);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
body.light .sanction-status-submitted {
  color: rgba(0, 0, 0, 0.68);
}
.sanction-status-rows {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.sanction-status-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
  text-align: left;
}
.sanction-status-row__ic {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.82);
  margin-top: 2px;
}
body.light .sanction-status-row__ic {
  color: rgba(0, 0, 0, 0.78);
}
.sanction-status-row__svg {
  display: block;
}
.sanction-status-row__txt {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82);
}
body.light .sanction-status-row__txt {
  color: rgba(0, 0, 0, 0.82);
}
.sanction-status-footer {
  margin-top: 28px;
  display: flex;
  justify-content: center;
  width: 100%;
}
.sanction-status-footer .sanction-btn--block {
  max-width: 320px;
}

/* Kontostatus: Gesamtampel (wie ACP) */
.settings-konto-tl {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  margin: 0 0 14px;
  box-sizing: border-box;
}
body.light .settings-konto-tl {
  background: rgba(0, 0, 0, 0.03);
}
.settings-konto-tl__dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  flex-shrink: 0;
}
.settings-konto-tl--green .settings-konto-tl__dot {
  background: #34c759;
  box-shadow: 0 0 0 3px rgba(52, 199, 89, 0.25);
}
.settings-konto-tl--yellow .settings-konto-tl__dot {
  background: #ffcc00;
  box-shadow: 0 0 0 3px rgba(255, 204, 0, 0.28);
}
.settings-konto-tl--red .settings-konto-tl__dot {
  background: #ff453a;
  box-shadow: 0 0 0 3px rgba(255, 69, 58, 0.28);
}
.settings-konto-tl__txt {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  flex: 1;
  text-align: left;
}
/* Kontostatus: Säulen (Einstellungen) */
.acct-pillar-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 4px 0 18px;
}
.acct-pillar-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
body.light .acct-pillar-row {
  background: rgba(0, 0, 0, 0.03);
}
/* Ampel-Farbe pro Säule (Einstellungen) */
.acct-pillar-tl__dot {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  flex-shrink: 0;
}
.acct-pillar-tl__dot--green {
  background: #34c759;
  box-shadow: 0 0 0 2px rgba(52, 199, 89, 0.28);
}
.acct-pillar-tl__dot--yellow {
  background: #ffcc00;
  box-shadow: 0 0 0 2px rgba(255, 204, 0, 0.3);
}
.acct-pillar-tl__dot--red {
  background: #ff453a;
  box-shadow: 0 0 0 2px rgba(255, 69, 58, 0.3);
}
.acct-pillar-row__ic {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  flex-shrink: 0;
}
.acct-pillar-row--ok .acct-pillar-row__ic {
  background: rgba(52, 199, 89, 0.2);
  color: #34c759;
}
.acct-pillar-row--bad .acct-pillar-row__ic {
  background: rgba(255, 69, 58, 0.2);
  color: #ff453a;
}
.acct-pillar-row--caution .acct-pillar-row__ic {
  background: rgba(245, 166, 35, 0.22);
  color: #f5a623;
}
.acct-pillar-row--neutral .acct-pillar-row__ic {
  display: none;
}
.acct-pillar-row--neutral .acct-pillar-row__txt {
  padding-left: 2px;
}
.acct-pillar-row__txt {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}
.acct-pillar-row__chev {
  opacity: 0.45;
  font-size: 18px;
  font-weight: 300;
}

.settings-account-pillar-section {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--muted, rgba(255, 255, 255, 0.55));
}
body.light .settings-account-pillar-section {
  color: rgba(0, 0, 0, 0.5);
}

.acct-restriction-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
  margin: 0 0 12px;
  padding: 14px 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
body.light .acct-restriction-card {
  background: rgba(0, 0, 0, 0.03);
}
.acct-restriction-card__h {
  font-size: 15px;
  font-weight: 700;
}
.acct-restriction-card__line {
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted, rgba(255, 255, 255, 0.72));
}
.acct-restriction-card__meta {
  font-size: 12px;
  color: var(--muted, rgba(255, 255, 255, 0.5));
}

/* ——— Auth (Login / Registrierung) ——— */
.auth-shell {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--bg, #0a0a0a);
  color: var(--fg, #fafafa);
}
body.light .auth-shell {
  background: #f6f6f7;
  color: #0a0a0a;
}
.auth-shell__center {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px 32px;
  box-sizing: border-box;
}
.auth-shell__main {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  position: relative;
}
.auth-shell--register {
  background: var(--bg, #0a0a0a);
}
.auth-shell__center--register {
  align-items: flex-start;
  padding-top: clamp(32px, 8vh, 72px);
  padding-bottom: 100px;
}
.auth-register-page {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  text-align: center;
}
.auth-register-page__steps {
  margin: 0 0 18px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted, rgba(255, 255, 255, 0.5));
}
body.light .auth-register-page__steps {
  color: rgba(0, 0, 0, 0.45);
}
.auth-register-page__headline {
  margin: 0 0 12px;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(1.55rem, 4.2vw, 2.05rem);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -0.02em;
}
.auth-register-page__tagline {
  margin: 0 0 28px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted, rgba(255, 255, 255, 0.58));
}
body.light .auth-register-page__tagline {
  color: rgba(0, 0, 0, 0.52);
}
.auth-register-page__form {
  max-width: 380px;
  margin: 0 auto;
  text-align: left;
}
.auth-reg-fields {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: stretch;
}
.auth-reg-field-block {
  width: 100%;
}
.auth-reg-status-slot {
  display: flex;
  justify-content: center;
  width: 100%;
  min-height: 0;
}
.auth-reg-status-slot:empty {
  display: none;
}
.auth-reg-line-input {
  width: 100%;
  box-sizing: border-box;
  border: none;
  border-bottom: 2px solid var(--line, rgba(255, 255, 255, 0.28));
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 1.2rem;
  padding: 12px 0 14px;
  outline: none;
}
body.light .auth-reg-line-input {
  border-bottom-color: rgba(0, 0, 0, 0.22);
}
.auth-reg-line-input::placeholder {
  color: var(--muted, rgba(255, 255, 255, 0.38));
  opacity: 1;
}
body.light .auth-reg-line-input::placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.auth-reg-line-input:focus {
  border-bottom-color: rgba(94, 163, 255, 0.85);
}
.auth-reg-line-input--valid {
  border-bottom-color: rgba(52, 199, 89, 0.72);
}
.auth-reg-line-input--invalid {
  border-bottom-color: rgba(255, 107, 107, 0.88);
}
.auth-reg-line-input--pending {
  border-bottom-color: rgba(255, 255, 255, 0.22);
}
body.light .auth-reg-line-input--pending {
  border-bottom-color: rgba(0, 0, 0, 0.18);
}
.auth-reg-line-msg {
  margin-top: 12px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.auth-reg-line-msg--pending {
  color: var(--muted, rgba(255, 255, 255, 0.65));
}
.auth-reg-line-msg--err {
  color: #ff8a80;
}
body.light .auth-reg-line-msg--err {
  color: #c62828;
}
.auth-reg-un-pill {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(52, 199, 89, 0.14), rgba(45, 212, 191, 0.08));
  border: 1px solid rgba(52, 199, 89, 0.42);
  box-shadow: 0 8px 24px rgba(52, 199, 89, 0.12);
  color: #8ef5c0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
body.light .auth-reg-un-pill--ok {
  color: #047857;
  background: linear-gradient(145deg, rgba(52, 199, 89, 0.18), rgba(45, 212, 191, 0.1));
  box-shadow: 0 6px 18px rgba(52, 199, 89, 0.14);
}
.auth-reg-un-pill__ring {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(52, 199, 89, 0.22);
  color: #34d399;
  flex-shrink: 0;
}
.auth-reg-birth-row {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.auth-reg-line-input--dm {
  width: 3.2rem;
  text-align: center;
  font-size: 1.15rem;
  padding-left: 4px;
  padding-right: 4px;
}
.auth-reg-line-input--year {
  width: 4.6rem;
  text-align: center;
  font-size: 1.15rem;
}
.auth-reg-birth-sep {
  opacity: 0.45;
  font-size: 1.35rem;
  line-height: 1;
  padding-bottom: 14px;
  user-select: none;
}
.auth-reg-field-hint {
  margin: 0;
  font-size: 13px;
  color: var(--muted, rgba(255, 255, 255, 0.55));
  text-align: center;
  line-height: 1.4;
}
body.light .auth-reg-field-hint {
  color: rgba(0, 0, 0, 0.5);
}
.auth-reg-paste-hint {
  margin: -6px 0 0;
  font-size: 12px;
  color: var(--muted, rgba(255, 255, 255, 0.45));
  text-align: center;
  line-height: 1.35;
}
.auth-reg-line-pass {
  position: relative;
  width: 100%;
}
.auth-reg-line-input--pass {
  padding-right: 48px;
}
.auth-reg-line-pass__eye {
  position: absolute;
  right: 0;
  bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted, rgba(255, 255, 255, 0.55));
  cursor: pointer;
}
.auth-reg-line-pass__eye:hover {
  color: var(--fg, #fff);
}
body.light .auth-reg-line-pass__eye {
  color: rgba(0, 0, 0, 0.45);
}
.auth-reg-next-btn {
  width: 100%;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  display: block !important;
  border-radius: 999px;
  box-shadow: none !important;
}
.auth-reg-ghost {
  text-align: center;
  align-self: center;
}
.auth-reg-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 0;
}
.auth-reg-code-row {
  display: flex;
  gap: 8px;
  margin: 4px 0 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.auth-card {
  width: 100%;
  max-width: 420px;
  padding: 28px 24px 24px;
  border-radius: 20px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  background: var(--surface, rgba(255, 255, 255, 0.04));
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}
body.light .auth-card {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}
.auth-card__head {
  text-align: center;
  margin-bottom: 10px;
}
.auth-card__steps {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted, rgba(255, 255, 255, 0.48));
  text-align: center;
}
body.light .auth-card__steps {
  color: rgba(0, 0, 0, 0.45);
}
.auth-card__title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.auth-card__tagline {
  margin: 8px 0 0;
  font-size: 14px;
  color: var(--muted, rgba(255, 255, 255, 0.55));
}
body.light .auth-card__tagline {
  color: rgba(0, 0, 0, 0.5);
}
.auth-card--wizard .auth-card__title {
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.auth-card__form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.auth-form-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.auth-btn-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-top: 2px;
}
.auth-btn-stack .post-btn {
  width: 100%;
  box-sizing: border-box;
}
.auth-btn-ghost-wide {
  min-height: 48px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
}
.auth-btn-stack--login-secondary {
  margin-top: 4px;
}
.auth-code-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 4px 0 8px;
}
.auth-code-cell {
  width: 44px;
  height: 48px;
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.18));
  background: rgba(0, 0, 0, 0.22);
  color: inherit;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  padding: 0;
  outline: none;
}
body.light .auth-code-cell {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.12);
}
.auth-code-cell:focus {
  border-color: rgba(94, 163, 255, 0.75);
  box-shadow: 0 0 0 2px rgba(94, 163, 255, 0.2);
}
.auth-code-cell::placeholder {
  color: var(--muted, rgba(255, 255, 255, 0.35));
  font-size: 18px;
  font-weight: 700;
}
body.light .auth-code-cell::placeholder {
  color: rgba(0, 0, 0, 0.28);
}
.auth-totp-trust {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--muted, rgba(255, 255, 255, 0.65));
  margin: 0;
}
body.light .auth-totp-trust {
  color: rgba(0, 0, 0, 0.55);
}
.auth-totp-trust input {
  margin-top: 3px;
  flex-shrink: 0;
}
.auth-reg-uname-slot {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
}
.auth-reg-uname-slot:empty {
  min-height: 48px;
}
.auth-uname-taken-wrap {
  margin-top: 8px;
}
.auth-uname-taken-line {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  color: var(--muted, rgba(255, 255, 255, 0.78));
}
body.light .auth-uname-taken-line {
  color: rgba(0, 0, 0, 0.62);
}
.auth-uname-suggest-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.auth-uname-suggest-btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.16));
  background: rgba(255, 255, 255, 0.05);
  color: inherit;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
}
body.light .auth-uname-suggest-btn {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.1);
}
.auth-uname-suggest-btn:active {
  opacity: 0.9;
}
.auth-reg-birth-row--boxed {
  justify-content: center;
  align-items: flex-end;
  gap: 6px;
  margin-bottom: 4px;
}
.auth-input.auth-bd-part {
  width: 3.25rem;
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
}
.auth-input.auth-bd-year {
  width: 4.75rem;
  text-align: center;
}
.auth-wizard {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.auth-wizard__hint {
  margin: 0;
  font-size: 13px;
  color: var(--muted, rgba(255, 255, 255, 0.65));
}
body.light .auth-wizard__hint {
  color: rgba(0, 0, 0, 0.55);
}
.auth-wizard__mask {
  margin: 0 0 4px;
  font-size: 14px;
  color: var(--muted, rgba(255, 255, 255, 0.72));
  word-break: break-all;
}
body.light .auth-wizard__mask {
  color: rgba(0, 0, 0, 0.6);
}
.auth-wizard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.post-btn.auth-wizard-btn {
  width: 100%;
  margin-top: 4px;
  border-radius: 999px;
  padding: 14px 22px;
  font-weight: 700;
  font-size: 15px;
  box-shadow: none;
}
.auth-login-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.auth-login-form__credentials {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.auth-login-form .auth-field--login-user,
.auth-login-form .auth-field--login-pass {
  margin: 0;
}
.auth-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
}
.auth-field--password {
  position: relative;
}
.auth-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted, rgba(255, 255, 255, 0.65));
}
body.light .auth-label {
  color: rgba(0, 0, 0, 0.55);
}
.auth-input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.14));
  background: rgba(0, 0, 0, 0.2);
  color: inherit;
  font-size: 15px;
  outline: none;
}
body.light .auth-input {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.12);
}
.auth-input:focus {
  border-color: rgba(94, 163, 255, 0.65);
  box-shadow: 0 0 0 3px rgba(94, 163, 255, 0.15);
}
.auth-input.auth-input--valid {
  border-color: rgba(52, 199, 89, 0.7);
}
.auth-input.auth-input--invalid {
  border-color: rgba(255, 107, 107, 0.85);
}
body.light .auth-input.auth-input--invalid {
  border-color: rgba(198, 40, 40, 0.75);
}
.auth-input.auth-input--pending {
  border-color: rgba(255, 255, 255, 0.22);
}
body.light .auth-input.auth-input--pending {
  border-color: rgba(0, 0, 0, 0.18);
}
.twofa-qr-mount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 180px;
  margin: 0 auto;
}
.auth-username-status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.35;
}
.auth-username-status__ic {
  flex-shrink: 0;
}
.auth-username-status--ok {
  background: rgba(52, 199, 89, 0.12);
  color: #34c759;
}
.auth-username-status--err {
  background: rgba(255, 69, 58, 0.12);
  color: #ff6b6b;
}
body.light .auth-username-status--err {
  color: #c62828;
}
.auth-username-status--pending {
  background: rgba(255, 255, 255, 0.06);
  color: var(--muted, rgba(255, 255, 255, 0.72));
}
body.light .auth-username-status--pending {
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.55);
}
.auth-username-status__spinner {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-top-color: rgba(255, 255, 255, 0.75);
  border-radius: 50%;
  animation: auth-un-spin 0.7s linear infinite;
}
body.light .auth-username-status__spinner {
  border-color: rgba(0, 0, 0, 0.12);
  border-top-color: rgba(0, 0, 0, 0.45);
}
@keyframes auth-un-spin {
  to {
    transform: rotate(360deg);
  }
}
.auth-shell .post-btn.auth-btn-solid {
  background: #fff !important;
  color: #0a0a0a !important;
  border-color: #fff !important;
}
.auth-shell .post-btn.auth-btn-solid:hover {
  background: #e8e8e8 !important;
  border-color: #e8e8e8 !important;
}
body.light .auth-shell .post-btn.auth-btn-solid {
  background: #0a0a0a !important;
  color: #fff !important;
  border-color: #0a0a0a !important;
}
body.light .auth-shell .post-btn.auth-btn-solid:hover {
  background: #2a2a2a !important;
  border-color: #2a2a2a !important;
}
.auth-input--select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 13px) calc(50% - 3px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 36px;
}
.auth-input-wrap {
  position: relative;
  width: 100%;
  display: block;
}
.auth-input-wrap .auth-input {
  padding-right: 48px;
}
.auth-login-error {
  margin: 2px 0 6px;
  font-size: 13px;
  line-height: 1.45;
  color: #ff6b6b;
  text-align: center;
}
body.light .auth-login-error {
  color: #c62828;
}
.auth-input-wrap .auth-field__eyebtn {
  position: absolute;
  right: 6px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted, rgba(255, 255, 255, 0.55));
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.auth-input-wrap .auth-field__eyebtn:hover {
  color: var(--fg, #fff);
  background: rgba(255, 255, 255, 0.06);
}
body.light .auth-input-wrap .auth-field__eyebtn:hover {
  background: rgba(0, 0, 0, 0.05);
}
.auth-field__eye {
  display: block;
}

/* Passwort-Augen in Einstellungs-Modals (#modal-layer): eigene Fläche, klarer Kontrast (nicht .iconbtn — vermeidet Grid/Seitenleisten-Kollisionen) */
.auth-field__eyebtn.settings-pwd-eye {
  width: 44px;
  height: 40px;
  min-width: 44px;
  min-height: 40px;
  flex-shrink: 0;
  box-sizing: border-box;
  margin-bottom: 0;
  align-self: flex-end;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.14));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--text, #f3f5f7);
}
body.light .auth-field__eyebtn.settings-pwd-eye {
  background: rgba(0, 0, 0, 0.04);
  color: var(--text, #0f1115);
}
.auth-field__eyebtn.settings-pwd-eye:hover {
  color: var(--text, #f3f5f7);
  background: rgba(255, 255, 255, 0.1);
}
body.light .auth-field__eyebtn.settings-pwd-eye:hover {
  color: var(--text, #0f1115);
  background: rgba(0, 0, 0, 0.07);
}
.auth-field__eyebtn.settings-pwd-eye svg,
.auth-field__eyebtn.settings-pwd-eye .auth-field__eye {
  display: block;
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  flex-shrink: 0;
  pointer-events: none;
}

.settings-pwd-input-wrap {
  margin-bottom: 10px;
}
.auth-input-wrap.settings-pwd-input-wrap .text-input {
  padding-right: 48px;
}
.auth-input-wrap .auth-field__eyebtn.settings-pwd-eye.settings-pwd-eye--infield {
  position: absolute;
  right: 2px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 42px;
  height: 36px;
  min-width: 42px;
  min-height: 36px;
  margin: 0;
  align-self: auto;
  flex-shrink: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--muted, rgba(255, 255, 255, 0.55));
}
.auth-input-wrap .auth-field__eyebtn.settings-pwd-eye--infield:hover {
  color: var(--text, #f3f5f7);
  background: rgba(255, 255, 255, 0.06);
}
body.light .auth-input-wrap .auth-field__eyebtn.settings-pwd-eye--infield:hover {
  background: rgba(0, 0, 0, 0.06);
}
body:not(.light) .modal .post-btn.settings-account-pwd-submit {
  background: #fff !important;
  color: #0a0a0d !important;
}
body.light .modal .post-btn.settings-account-pwd-submit {
  background: #0f1115 !important;
  color: #fff !important;
}

.auth-remember-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  margin-top: 4px;
  user-select: none;
}
.auth-slider-toggle {
  width: 46px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.2));
  background: rgba(255, 255, 255, 0.1);
  position: relative;
  cursor: pointer;
  padding: 0;
}
body.light .auth-slider-toggle {
  background: rgba(0, 0, 0, 0.08);
}
.auth-slider-toggle__knob {
  position: absolute;
  left: 3px;
  top: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.18s ease;
}
body.light .auth-slider-toggle__knob {
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.auth-slider-toggle.is-on {
  background: #5ea3ff;
  border-color: #5ea3ff;
}
.auth-slider-toggle.is-on .auth-slider-toggle__knob {
  transform: translateX(18px);
}
.auth-submit {
  margin-top: 4px;
  width: 100%;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 700;
}
.auth-link {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #5ea3ff;
  font-size: 14px;
  cursor: pointer;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 4px 0;
  font-size: 12px;
  color: var(--muted, rgba(255, 255, 255, 0.45));
}
.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line, rgba(255, 255, 255, 0.12));
}
.auth-google {
  width: 100%;
}
.auth-register-cta {
  margin-top: 0;
}
.auth-hint {
  margin: -4px 0 0;
  font-size: 12px;
  line-height: 1.35;
}
.auth-hint--ok {
  color: #34c759;
}
.auth-hint--err {
  color: #ff453a;
}
.auth-hint--muted {
  color: var(--muted, rgba(255, 255, 255, 0.55));
}
body.light .auth-hint--muted {
  color: rgba(0, 0, 0, 0.5);
}
.auth-input--select option,
.settings-themed-select option {
  background: #141414;
  color: #f0f0f0;
}
body.light .auth-input--select option,
body.light .settings-themed-select option {
  background: #fff;
  color: #111;
}
select.text-input.settings-themed-select {
  margin: 0 0 8px;
  background-color: rgba(0, 0, 0, 0.22);
  cursor: pointer;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 14px) calc(50% - 2px), calc(100% - 9px) calc(50% - 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 32px;
}
body.light select.text-input.settings-themed-select {
  background-color: #fff;
}
.auth-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.14));
  background: rgba(0, 0, 0, 0.15);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
body.light .auth-check {
  background: rgba(0, 0, 0, 0.03);
}
.auth-check__box {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 2px solid var(--line, rgba(255, 255, 255, 0.35));
  flex-shrink: 0;
  margin-top: 1px;
  position: relative;
}
.auth-check.is-on .auth-check__box {
  background: #5ea3ff;
  border-color: #5ea3ff;
}
.auth-check.is-on .auth-check__box::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.auth-check__txt {
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted, rgba(255, 255, 255, 0.85));
}
body.light .auth-check__txt {
  color: rgba(0, 0, 0, 0.75);
}
.auth-inline-link {
  color: #5ea3ff;
  text-decoration: underline;
  cursor: pointer;
}
.auth-footer {
  padding: 16px 16px max(24px, env(safe-area-inset-bottom, 0px));
  font-size: 12px;
  color: var(--muted, rgba(255, 255, 255, 0.45));
}
body.light .auth-footer {
  color: rgba(0, 0, 0, 0.45);
}
.auth-footer__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 20px;
  text-align: center;
}
.auth-footer__copy {
  margin: 0;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  line-height: 1.5;
}
.auth-footer__langlink {
  margin: 0 0 0 6px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}
.auth-footer__langlink:hover {
  color: var(--fg, #fff);
}
body.light .auth-footer__langlink:hover {
  color: #0a0a0a;
}
.auth-footer__lang {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.auth-lang-modal {
  position: fixed;
  inset: 0;
  z-index: 260700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}
.auth-lang-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  cursor: pointer;
}
body.light .auth-lang-modal__backdrop {
  background: rgba(0, 0, 0, 0.4);
}
.auth-lang-modal__card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 300px;
  padding: 22px 20px 18px;
  border-radius: 16px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.14));
  background: var(--bg-elevated, #1c1c1e);
  color: var(--fg, #fff);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
}
body.light .auth-lang-modal__card {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}
.auth-lang-modal__title {
  font-weight: 700;
  font-size: 16px;
  margin: 0 0 14px;
  text-align: center;
}
.auth-lang-modal__opt {
  display: block;
  width: 100%;
  margin: 0 0 8px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.16));
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
}
body.light .auth-lang-modal__opt {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.1);
}
.auth-lang-modal__opt.is-active {
  border-color: rgba(94, 163, 255, 0.85);
  background: rgba(94, 163, 255, 0.14);
}
.auth-lang-modal__closebtn {
  width: 100%;
  margin-top: 6px;
}
.auth-closure-modal {
  position: fixed;
  inset: 0;
  z-index: 260800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}
.auth-closure-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  cursor: default;
}
body.light .auth-closure-modal__backdrop {
  background: rgba(0, 0, 0, 0.45);
}
.auth-closure-modal__card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 380px;
  padding: 22px 20px 18px;
  border-radius: 16px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.14));
  background: var(--bg-elevated, #1c1c1e);
  color: var(--fg, #fff);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
}
body.light .auth-closure-modal__card {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}
.auth-closure-modal__title {
  font-weight: 700;
  font-size: 17px;
  margin: 0 0 12px;
  text-align: center;
  line-height: 1.25;
}
.auth-closure-modal__text {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted, rgba(255, 255, 255, 0.78));
  text-align: center;
}
.auth-closure-modal__text--muted {
  font-size: 13px;
  margin-bottom: 14px;
}
body.light .auth-closure-modal__text {
  color: rgba(0, 0, 0, 0.68);
}
.auth-closure-modal__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}
.auth-footer__dot {
  opacity: 0.45;
  user-select: none;
}
.auth-lang-btn {
  margin: 0;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
  color: var(--muted, rgba(255, 255, 255, 0.75));
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.auth-lang-btn:hover {
  color: var(--fg, #fff);
  background: rgba(255, 255, 255, 0.1);
}
.auth-lang-btn.is-active {
  color: #0a0a0a;
  background: #fff;
  border-color: #fff;
}
body.light .auth-lang-btn {
  border-color: rgba(0, 0, 0, 0.14);
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.55);
}
body.light .auth-lang-btn:hover {
  color: #0a0a0a;
  background: rgba(0, 0, 0, 0.07);
}
body.light .auth-lang-btn.is-active {
  color: #fff;
  background: #0a0a0a;
  border-color: #0a0a0a;
}
.auth-qr {
  width: 176px;
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.auth-qr--floating {
  position: fixed;
  right: max(16px, env(safe-area-inset-right, 0px));
  left: auto;
  bottom: max(20px, env(safe-area-inset-bottom, 0px));
  z-index: 120;
  margin: 0;
  pointer-events: none;
}
.auth-qr--floating .auth-qr__hit,
.auth-qr--floating .auth-qr__cap,
.auth-qr--floating .auth-qr__state {
  pointer-events: auto;
}
.auth-qr__hit {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  border-radius: 24px;
  transition: transform 0.22s ease;
}
.auth-qr__hit:hover {
  transform: scale(1.06);
}
.auth-qr__hit:focus-visible {
  outline: 2px solid #5ea3ff;
  outline-offset: 3px;
}
.auth-qr__shell {
  width: 176px;
  height: 176px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #2a2a2a;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45), 0 0 24px rgba(255, 255, 255, 0.06);
}
.auth-qr__shell--modal {
  flex-shrink: 0;
}
body.light .auth-qr__shell {
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18), 0 0 20px rgba(0, 0, 0, 0.06);
}
.auth-qr__draw {
  width: 144px;
  height: 144px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 14px;
}
.auth-qr__draw svg {
  display: block;
  width: 144px !important;
  height: 144px !important;
  max-width: 144px !important;
  max-height: 144px !important;
  flex-shrink: 0;
}
.auth-qr__draw img {
  display: block;
  width: 144px;
  height: 144px;
  object-fit: contain;
}
.auth-qr__draw--loading {
  background: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.04),
    rgba(255, 255, 255, 0.04) 6px,
    rgba(255, 255, 255, 0.09) 6px,
    rgba(255, 255, 255, 0.09) 12px
  );
  animation: auth-qr-pulse 1s ease-in-out infinite;
}
@keyframes auth-qr-pulse {
  50% {
    opacity: 0.72;
  }
}
.auth-qr__cap {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  color: rgba(255, 255, 255, 0.88);
  max-width: 200px;
}
body.light .auth-qr__cap {
  color: rgba(0, 0, 0, 0.78);
}
.auth-qr-modal {
  position: fixed;
  inset: 0;
  z-index: 260600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}
.auth-qr-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  cursor: pointer;
}
.auth-qr-modal__close {
  position: absolute;
  top: max(16px, env(safe-area-inset-top, 0px));
  left: max(16px, env(safe-area-inset-left, 0px));
  z-index: 2;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(30, 30, 30, 0.95);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.light .auth-qr-modal__close {
  background: rgba(255, 255, 255, 0.95);
  color: #0a0a0a;
  border-color: rgba(0, 0, 0, 0.12);
}
.auth-qr-modal__card {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 100%;
}
.auth-qr-modal__cap--top {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.92);
}
.auth-qr-modal__shell {
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  box-shadow: none;
  width: auto;
  height: auto;
}
.auth-qr-modal__shell-scale {
  transform: scale(1.58);
  transform-origin: center center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.auth-qr-modal__cap {
  margin: 14px 0 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.82);
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}
body.light .auth-qr-modal__cap {
  color: rgba(255, 255, 255, 0.95);
}
@media (max-width: 520px) {
  .auth-qr--floating {
    right: 12px;
    bottom: 12px;
  }
  .auth-qr-modal__shell-scale {
    transform: scale(1.32);
  }
}
@media (max-width: 900px) {
  html.auth-guest-active {
    height: 100%;
    overflow: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  html.auth-guest-active body {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: manipulation;
  }
  html.auth-guest-active #app {
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    box-sizing: border-box;
    background: transparent;
  }
  /* Vollfläche wie Desktop-auth-card, ohne sichtbaren Rahmen; QR nur Desktop */
  html.auth-guest-active .auth-shell {
    background: var(--surface, rgba(255, 255, 255, 0.04));
    touch-action: manipulation;
  }
  body.light html.auth-guest-active .auth-shell {
    background: #fff;
  }
  html.auth-guest-active aside.auth-qr,
  html.auth-guest-active .auth-qr--floating,
  html.auth-guest-active .auth-qr-modal {
    display: none !important;
  }
  .auth-shell {
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
    padding-top: env(safe-area-inset-top, 0px);
    box-sizing: border-box;
  }
  .auth-shell__main {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }
  .auth-shell__center {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 12px 20px 10px;
    align-items: center;
    justify-content: center;
  }
  .auth-card {
    flex: 0 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    max-width: 420px;
    width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    padding: 8px 0 0;
    margin: 0 auto;
  }
  .auth-card__head {
    flex-shrink: 0;
  }
  .auth-card__form {
    flex: 0 1 auto;
    min-height: 0;
    overflow: hidden;
    gap: 10px;
    width: 100%;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  html.auth-guest-active .auth-shell .auth-input,
  html.auth-guest-active .auth-shell .auth-code-cell {
    font-size: 16px;
  }
  .auth-form-stack {
    flex: 0 1 auto;
    min-height: 0;
    overflow: hidden;
    gap: 10px;
    width: 100%;
    align-items: stretch;
  }
  .auth-footer {
    flex-shrink: 0;
    padding-top: 8px;
    padding-bottom: max(20px, calc(12px + env(safe-area-inset-bottom, 0px)));
    background: transparent;
  }
}
.auth-qr__state {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted, rgba(255, 255, 255, 0.72));
  text-align: center;
  max-width: 200px;
}
body.light .auth-qr__state {
  color: rgba(0, 0, 0, 0.58);
}
.activity-notif-row {
  display: grid;
  margin: 8px 10px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(127, 127, 127, 0.07);
}
.activity-notif-row__av {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  object-fit: cover;
}
.activity-notif-row[role="link"] {
  cursor: pointer;
}
.activity-notif-row__msg {
  cursor: inherit;
}
body.light .activity-notif-row {
  background: rgba(0, 0, 0, 0.04);
}
.report-result-modal-overlay {
  z-index: 260300;
}
.report-result-modal {
  width: min(520px, calc(100vw - 24px));
  min-height: 640px;
  max-height: 92vh;
  overflow: hidden;
}
.report-result-modal__head {
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  align-items: center;
}
.report-result-modal__head strong {
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}
.report-result-modal__body {
  display: flex;
  flex-direction: column;
  min-height: calc(640px - 58px);
  overflow-y: auto;
  overflow-x: hidden;
}
.report-result-modal__centered {
  text-align: center;
  padding: 0 8px 4px;
  flex-shrink: 0;
}
.report-result-modal__centered .report-result-modal__h,
.report-result-modal__centered .report-result-modal__p {
  text-align: center;
}
.report-result-modal__p--when {
  margin-top: 4px !important;
}
.report-result-modal__centered .report-result-link {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 100%;
  max-width: 100%;
}
.report-result-modal__tools-wrap {
  text-align: left;
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px solid var(--line);
  flex: 1;
  min-height: 0;
}
.report-result-modal__top-ic {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2px 0 8px;
  color: var(--muted, #8a8d95);
}
.report-result-modal__h {
  margin: 6px 0 8px;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.report-result-modal__p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.45;
}
.report-result-modal--reporter-headline .report-result-modal__centered .report-result-modal__h {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin: 10px 0 12px;
}
.report-result-modal--reporter-headline .report-result-modal__tools-wrap {
  margin-top: 12px;
}
.report-result-link {
  border: none;
  background: none;
  color: var(--accent, #4f7cff);
  font: inherit;
  font-weight: 600;
  padding: 0;
  margin: 0 0 26px;
  font-size: 14px;
  cursor: pointer;
}
.report-result-inline-note {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(89, 188, 116, 0.14);
  border: 1px solid rgba(89, 188, 116, 0.38);
  font-size: 14px;
}
.report-result-tools__h {
  margin: 12px 0 6px;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
}
.report-result-tool-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  border: none;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
  padding: 12px 0;
  cursor: pointer;
}
.report-result-tool-row--multiline {
  align-items: flex-start;
}
.report-result-tool-row--multiline .report-result-tool-row__left {
  align-items: flex-start;
}
.report-result-tool-row__left {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.report-result-tool-row__text-stack {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  text-align: left;
}
.report-result-tool-row__text-stack--single {
  justify-content: center;
  gap: 0;
}
.report-result-tool-row__title {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.3;
}
.report-result-tool-row__sub {
  font-size: 12px;
  line-height: 1.35;
  max-width: 42ch;
}
.report-result-tool-row__state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--muted, #8a8d95);
}
.report-result-tool-row__state.is-done {
  color: #32c36a;
}
.report-result-tool-row__state.is-done-filled {
  color: #32c36a;
}
.report-result-check-filled {
  display: block;
}
.report-result-modal__ok {
  margin-top: 18px;
  min-width: 120px;
  align-self: flex-end;
}
@media (max-width: 900px) {
  .report-result-modal-overlay {
    padding: 0;
    align-items: stretch;
  }
  .report-result-modal {
    width: 100vw;
    max-width: none;
    min-height: 100dvh;
    border-radius: 0;
    border: none;
  }
  .report-result-modal .modal-head {
    justify-content: space-between;
    padding: 14px 14px;
  }
  .report-result-modal__h {
    font-size: 17px;
  }
  .report-result-modal--reporter-headline .report-result-modal__centered .report-result-modal__h {
    font-size: 20px;
    font-weight: 700;
  }
  .report-result-modal__head strong {
    font-size: 17px;
  }
}
.admin-sensitive-label-modal__centered {
  text-align: center;
  max-width: 520px;
  margin: 0 auto;
}
.admin-sensitive-label-modal__top-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px 0 12px;
  color: var(--muted);
}
.admin-sensitive-label-modal__top-svg {
  opacity: 0.92;
}
.admin-sensitive-label-modal__p {
  text-align: left;
  margin: 0 0 12px;
  line-height: 1.5;
}
.admin-sensitive-label-modal__ok {
  width: 100%;
  max-width: 360px;
  margin: 20px auto 8px;
  box-sizing: border-box;
  padding: 12px 18px;
  border-radius: 12px;
  font-weight: 700;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #fff !important;
}
.admin-sensitive-label-modal__ok:hover {
  background: #e8e8e8 !important;
  border-color: #e8e8e8 !important;
}
body.light .admin-sensitive-label-modal__ok {
  border-color: rgba(0, 0, 0, 0.12) !important;
}
body.light .admin-sensitive-label-modal__ok:hover {
  background: #f3f3f3 !important;
}
html.mobile-shell .modal-overlay.admin-sensitive-label-modal-overlay {
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  background: var(--bg, #000);
}
html.mobile-shell .modal-overlay.admin-sensitive-label-modal-overlay .modal.admin-sensitive-label-modal {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  height: 100dvh !important;
  border-radius: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-left: none;
  border-right: none;
}
.profile-media-grid__sens-stack {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.profile-media-grid__tile--video .profile-media-grid__sens-stack {
  flex: 1;
  min-height: 120px;
}
.profile-media-grid__sens-veil {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.76);
  color: rgba(255, 255, 255, 0.92);
  text-align: center;
  cursor: pointer;
  border: none;
}
body.light .profile-media-grid__sens-veil {
  background: rgba(20, 20, 20, 0.78);
}
.profile-media-grid__sens-veil-txt {
  font-size: 12px;
  font-weight: 650;
  line-height: 1.3;
  max-width: 100%;
}
.profile-media-grid__sens-veil-ic {
  display: flex;
  opacity: 0.95;
}
.profile-media-grid__sens-stack--revealed .profile-media-grid__sens-veil {
  display: none;
}
.action-feedback-modal {
  width: min(430px, calc(100vw - 24px));
}
.action-feedback-modal__body {
  text-align: center;
}
.action-feedback-modal__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4px 0 10px;
}
.action-feedback-modal__text {
  margin: 0 0 14px;
  font-size: 15px;
}

/* Onboarding nach Registrierung */
.modal--onboarding {
  width: min(480px, 94vw);
  max-height: min(640px, 92vh);
  overflow: auto;
  padding: 22px 20px 20px;
  border-radius: 18px;
}
.onboarding-title {
  margin: 0 0 8px;
  font-size: 1.25rem;
}
.onboarding-lead {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.45;
}
.onboarding-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px 20px;
  align-items: start;
  margin-bottom: 18px;
}
@media (max-width: 520px) {
  .onboarding-grid {
    grid-template-columns: 1fr;
  }
  .onboarding-avatar-wrap {
    justify-self: center;
  }
}
.onboarding-left {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.onboarding-names {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.onboarding-un {
  font-weight: 700;
  font-size: 15px;
}
.onboarding-dn {
  font-size: 14px;
  color: var(--muted, rgba(255, 255, 255, 0.65));
}
.onboarding-pick {
  width: 100%;
}
.onboarding-bio-row {
  display: grid;
  grid-template-columns: 1fr auto 20px;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.14));
  background: rgba(0, 0, 0, 0.12);
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}
body.light .onboarding-bio-row {
  background: rgba(0, 0, 0, 0.04);
}
.onboarding-bio-row__l {
  font-weight: 600;
  font-size: 14px;
}
.onboarding-bio-row__v {
  font-size: 13px;
  color: var(--muted, rgba(255, 255, 255, 0.65));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.onboarding-bio-row__c {
  opacity: 0.45;
  text-align: right;
}
.onboarding-avatar-wrap {
  display: flex;
  justify-content: center;
}
.onboarding-avatar {
  width: 120px;
  height: 120px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid var(--line, rgba(255, 255, 255, 0.15));
}
.onboarding-finish {
  width: 100%;
  margin-top: 4px;
  font-weight: 700;
  border-radius: 12px;
  padding: 12px 16px;
}
.onboarding-finish--dark {
  background: #fff !important;
  color: #0a0a0a !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.modal--onboarding-bio {
  width: min(440px, 94vw);
  max-height: 90vh;
}

/* Kontenübersicht Kacheln */
.settings-acct-overview {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}
.settings-acct-tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  position: relative;
  width: 100%;
  padding: 14px 36px 14px 14px;
  border-radius: 14px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
body.light .settings-acct-tile {
  background: rgba(0, 0, 0, 0.03);
}
.settings-acct-tile__k {
  font-weight: 600;
  font-size: 14px;
}
.settings-acct-tile__v {
  width: 100%;
  font-size: 13px;
  color: var(--muted, rgba(255, 255, 255, 0.72));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.settings-acct-tile__v--muted {
  color: var(--muted, rgba(255, 255, 255, 0.5));
}
.settings-acct-tile__chev {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.4;
  font-size: 18px;
}
.settings-acct-tile.settings-acct-tile--danger {
  border-color: rgba(220, 68, 68, 0.45);
  background: rgba(185, 28, 28, 0.14);
}
body.light .settings-acct-tile.settings-acct-tile--danger {
  border-color: rgba(185, 28, 28, 0.3);
  background: rgba(220, 38, 38, 0.09);
}
.settings-acct-tile.settings-acct-tile--danger .settings-acct-tile__k {
  color: #f87171;
}
body.light .settings-acct-tile.settings-acct-tile--danger .settings-acct-tile__k {
  color: #b91c1c;
}
.settings-acct-tile.settings-acct-tile--danger:focus-visible {
  outline: 2px solid rgba(248, 113, 113, 0.65);
  outline-offset: 2px;
}
.settings-acct-sec-block--closure {
  margin-top: 16px;
}
.settings-acct-sec-block {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--line, rgba(255, 255, 255, 0.1));
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.settings-acct-sec-lead {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}
.settings-toggle-row--static {
  opacity: 1;
}
.settings-email-lock {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted, rgba(255, 255, 255, 0.55));
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.2));
}
body.light .settings-email-lock {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.12);
}

/* ACP: Kontosperrung + 2FA Kacheln */
.acp-sanction-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-start;
  margin-top: 12px;
}
.acp-sanction-layout__main {
  flex: 1 1 280px;
  min-width: 0;
}
.acp-sanction-layout__actions {
  flex: 1 1 200px;
  max-width: 100%;
}
.acp-action-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}
@media (min-width: 960px) {
  .acp-sanction-layout {
    display: grid;
    grid-template-columns: minmax(260px, min(400px, 40%)) 1fr;
    gap: 20px;
    align-items: start;
  }
  .acp-sanction-layout__main {
    flex: unset;
  }
  .acp-sanction-layout__actions {
    flex: unset;
    max-width: none;
    min-width: 0;
  }
}
.acp-action-tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 12px 12px;
  min-height: 72px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.acp-action-tile:hover {
  background: rgba(255, 255, 255, 0.08);
}
.acp-action-tile__h {
  font-size: 13px;
  font-weight: 700;
}
.acp-action-tile__p {
  font-size: 11px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.55);
  margin: 0;
}
.acp-s2f-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

/* ACP: Moderation, Textareas, Feedback-Vorschau */
.acp-textarea {
  width: 100%;
  min-height: 88px;
  resize: vertical;
  margin: 8px 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.35);
  color: inherit;
  font: inherit;
  line-height: 1.45;
  box-sizing: border-box;
}
.acp-moderation-filters {
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  margin-top: 8px;
}
.acp-moderation-scope,
.acp-moderation-hint {
  margin: 0 0 10px;
  font-size: 13px;
}
.acp-moderation-table-wrap {
  margin-top: 16px;
}
.acp-subh {
  font-size: 15px;
  font-weight: 700;
  margin: 20px 0 10px;
}
.acp-feedback-thumb-wrap {
  display: inline-block;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.acp-feedback-thumb {
  display: block;
  max-width: 120px;
  max-height: 120px;
  width: auto;
  height: auto;
  vertical-align: middle;
}

/* App: Nur-Lesen-Impersonation + Aktivitäts-Icons */
.impersonation-readonly-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  margin: 0 0 12px;
  border-radius: 12px;
  background: rgba(255, 180, 60, 0.12);
  border: 1px solid rgba(255, 180, 60, 0.35);
  color: var(--text, #f3f5f7);
  font-size: 13px;
  line-height: 1.4;
}
.impersonation-readonly-banner__ic {
  flex-shrink: 0;
  font-size: 18px;
  line-height: 1;
}
.impersonation-readonly-banner__text {
  flex: 1;
  min-width: 0;
}
.impersonation-readonly-banner__btn {
  flex-shrink: 0;
  white-space: nowrap;
}
.activity-notif-row {
  display: grid;
}
.activity-notif-row__ic {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 2px;
}
.activity-notif-ic {
  flex-shrink: 0;
  color: var(--muted, #8a8d95);
}
.activity-notif-ic--warn {
  color: #e85a5a;
}
.activity-notif-ic--muted {
  opacity: 0.65;
}
.activity-notif-verified-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.activity-notif-name-link {
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-weight: 600;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}
.activity-notif-more-link {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 600;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}
.activity-notif-more-link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.activity-notif-row__sub {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--muted);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.page-stack-root--notifications .page-stack-body-flow {
  scrollbar-width: none;
}
.page-stack-root--notifications .page-stack-body-flow::-webkit-scrollbar {
  width: 0;
  height: 0;
}
html.mobile-shell .page-stack-root--notifications .page-stack-card {
  display: flex;
  flex-direction: column;
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
  max-height: none;
}
html.mobile-shell .page-stack-root--notifications .page-stack-body-flow {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  touch-action: pan-y;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
html.mobile-shell .page-stack-root--notifications .page-stack-route-bleed--single-native {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  touch-action: pan-y;
  overflow: hidden;
}
html.mobile-shell .page-stack-root--notifications .page-stack-main-scroll {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  touch-action: pan-y;
  overflow: hidden;
}
html.mobile-shell .page-stack-root--notifications .page-stack-main-scroll__inner {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
html.mobile-shell .page-stack-root--notifications .page-stack-body-flow--notifications {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: auto;
}

/* Benachrichtigungen: vollflächige Liste (IG-nah: schwarz, feine Trennlinie, Sektionen) */
.page-stack-root--notifications {
  --notif-surface: var(--bg, #0a0a0a);
  --notif-row-line: var(--line, rgba(255, 255, 255, 0.1));
  --notif-section-fg: var(--muted, rgba(255, 255, 255, 0.5));
}
body.light .page-stack-root--notifications {
  --notif-row-line: var(--line, rgba(0, 0, 0, 0.1));
  --notif-section-fg: var(--muted, rgba(0, 0, 0, 0.45));
}
html.mobile-shell .page-stack-root--notifications {
  --notif-surface: #000000;
}
html.mobile-shell body.light .page-stack-root--notifications {
  --notif-surface: #ffffff;
}
html.mobile-shell .page-stack-root--notifications .page-stack-card,
html.mobile-shell .page-stack-root--notifications .page-stack-body-flow--notifications {
  background: var(--notif-surface) !important;
}
.activity-notif-feed {
  min-height: 100%;
  box-sizing: border-box;
  padding-bottom: env(safe-area-inset-bottom, 0);
}
.activity-notif-feed .activity-notif-row {
  margin: 0 !important;
  padding: 12px 16px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-bottom: 1px solid var(--notif-row-line);
  column-gap: 12px;
  row-gap: 4px;
}
.desk-col__scroll .activity-notif-feed .activity-notif-row {
  margin: 0 !important;
  padding: 10px 14px !important;
}
body.light .activity-notif-feed .activity-notif-row {
  background: transparent !important;
}
.activity-notif-section {
  margin: 0;
  padding: 0;
}
.activity-notif-section + .activity-notif-section {
  margin-top: 2px;
}
.activity-notif-section__title {
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  color: var(--notif-section-fg, var(--muted));
  padding: 12px 16px 4px;
  letter-spacing: 0.01em;
}
.desk-col__scroll .activity-notif-section__title {
  padding: 10px 14px 4px;
}
html.mobile-shell .page-stack-root--notifications .activity-notif-section__title {
  padding: 8px 16px 4px;
}
html.mobile-shell .page-stack-root--notifications .activity-notif-section:first-of-type .activity-notif-section__title {
  padding-top: 4px;
}
body.light .page-stack-root--notifications .activity-notif-section__title {
  color: var(--notif-section-fg);
}
.activity-notif-feed .activity-notif-row__thumb-wrap {
  align-self: flex-start;
  margin-top: 1px;
}
.activity-notif-feed .activity-notif-row__msg {
  color: var(--text, #f2f2f2);
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.01em;
}
.activity-notif-feed .activity-notif-row__date {
  color: var(--muted, #a3a3a3);
  font-size: 12px;
  font-weight: 400;
  margin-left: 4px;
}

.chat-request-folder-bar--compose {
  display: flex;
  gap: 8px;
}
.chat-request-folder-bar--compose .chat-request-folder-bar__btn {
  flex: 1;
}
.activity-notif-name-link:hover {
  text-decoration: underline;
}
body.light .impersonation-readonly-banner {
  background: rgba(200, 120, 0, 0.12);
  border-color: rgba(200, 120, 0, 0.35);
  color: rgba(0, 0, 0, 0.88);
}

/* Aktivitäten: Follower-Anfragen-Zeile + Thumbnails */
.activity-fr-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  padding: 12px 14px;
  margin: 0 0 4px;
  border: none;
  border-radius: 12px;
  background: rgba(127, 127, 127, 0.08);
  color: var(--text);
  cursor: pointer;
  box-sizing: border-box;
}
.activity-fr-summary:hover {
  background: rgba(127, 127, 127, 0.12);
}
.activity-fr-summary__avatars {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  padding-left: 8px;
}
.activity-fr-summary__av {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--bg, #0a0a0a);
  margin-left: -10px;
}
.activity-fr-summary__mid {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.activity-fr-summary__title {
  font-weight: 700;
  font-size: 15px;
}
.activity-fr-summary__sub {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.35;
}
.activity-fr-summary__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent, #0095f6);
  flex-shrink: 0;
}
.activity-fr-summary__chev {
  opacity: 0.45;
  font-size: 18px;
  flex-shrink: 0;
}
.activity-notif-row__msg {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--text);
}
.activity-notif-row__date {
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
}
.activity-notif-row__thumb-wrap {
  align-self: center;
}
.activity-notif-row__thumb {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  object-fit: cover;
  display: block;
}
.notifications-load-more-wrap {
  display: flex;
  justify-content: center;
  padding: 16px 12px 8px;
}
.notifications-load-more {
  min-width: 160px;
}

/* Follower-Anfragen Modal */
.activity-fr-modal-overlay {
  z-index: 240000;
  align-items: flex-end;
}
@media (min-width: 520px) {
  .activity-fr-modal-overlay {
    align-items: center;
  }
}
.activity-fr-modal {
  width: 100%;
  max-width: 520px;
  max-height: min(88vh, 640px);
  display: flex;
  flex-direction: column;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
}
@media (min-width: 520px) {
  .activity-fr-modal {
    border-radius: 16px;
  }
}
.activity-fr-modal__head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: 10px 6px;
  border-bottom: 1px solid var(--line);
}
.activity-fr-modal__title {
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
}
.activity-fr-modal__body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: min(70vh, 520px);
  padding: 8px 12px 16px;
}
.activity-fr-modal-row__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
}
@media (min-width: 400px) {
  .activity-fr-modal-row__actions {
    flex-direction: row;
    align-items: center;
  }
}

.activity-notif-row__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}
.activity-notif-pill-btn {
  border: none;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  background: var(--activity-pill-bg, #fff);
  color: var(--activity-pill-fg, #0a0a0a);
}
.activity-notif-pill-btn--secondary {
  background: var(--activity-pill-sec-bg, rgba(127, 127, 127, 0.22));
  color: var(--activity-pill-sec-fg, var(--text));
}
body.light .activity-notif-pill-btn {
  --activity-pill-bg: #111;
  --activity-pill-fg: #fafafa;
}
body.light .activity-notif-pill-btn--secondary {
  --activity-pill-sec-bg: rgba(0, 0, 0, 0.08);
  --activity-pill-sec-fg: #111;
}

.activity-fr-modal__search-wrap {
  padding: 8px 12px 4px;
  border-bottom: 1px solid var(--line);
}
.activity-fr-modal__search {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(127, 127, 127, 0.12);
  color: var(--muted);
}
.activity-fr-modal__search-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 15px;
  outline: none;
}
.activity-fr-modal-row {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(127, 127, 127, 0.12);
}
.activity-fr-modal-row--manage {
  grid-template-columns: 48px 1fr 36px;
}
.activity-fr-modal-row__av {
  border-radius: 50%;
  object-fit: cover;
}
.activity-fr-modal-row__mid {
  min-width: 0;
}
.activity-fr-modal-row__name {
  font-weight: 700;
  font-size: 15px;
  color: var(--text);
  line-height: 1.25;
}
.activity-fr-modal-row__handle {
  font-size: 13px;
  color: var(--muted);
  margin-top: 2px;
}
.activity-fr-modal__head--manage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: center;
  padding: 10px 6px;
  gap: 4px;
}
.activity-fr-modal__txt-btn {
  border: none;
  background: none;
  color: var(--text);
  font-size: 14px;
  padding: 6px 4px;
  cursor: pointer;
  text-align: center;
}
.activity-fr-modal__txt-btn--accent {
  color: #3b82f6;
  font-weight: 600;
}
body.light .activity-fr-modal__txt-btn--accent {
  color: #2563eb;
}
.activity-fr-modal__title--trunc {
  font-weight: 700;
  text-align: center;
  font-size: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.activity-fr-modal__sel {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid var(--muted);
  background: transparent;
  padding: 0;
  cursor: pointer;
  justify-self: end;
}
.activity-fr-modal__sel.is-on {
  background: #fff;
  border-color: #fff;
  box-shadow: inset 0 0 0 2px #0a0a0a;
}
body.light .activity-fr-modal__sel.is-on {
  background: #111;
  border-color: #111;
  box-shadow: inset 0 0 0 2px #fff;
}
.activity-fr-modal__footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid var(--line);
  background: var(--bg);
}
.activity-fr-modal__foot-btn {
  border: none;
  border-radius: 12px;
  padding: 12px 10px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
}
.activity-fr-modal__foot-btn:disabled {
  opacity: 0.45;
  cursor: default;
}
.activity-fr-modal__foot-btn--muted {
  background: rgba(127, 127, 127, 0.25);
  color: var(--text);
}
.activity-fr-modal__foot-btn--accent {
  background: #3b82f6;
  color: #fff;
}
.activity-fr-modal__empty {
  margin: 0;
  padding: 24px 12px;
  color: var(--muted);
  text-align: center;
  font-size: 14px;
}
.activity-fr-modal__body--scroll {
  padding-top: 4px;
}

/* Melde-Assistent: Gründe als Karten */
.report-wiz-body:not(.report-wiz-body--allow-scroll) {
  overflow: hidden;
}
.report-wiz-body--allow-scroll {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: min(72vh, 620px);
}
.report-flow-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  text-align: left;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(127, 127, 127, 0.06);
  color: var(--text);
  font-size: 14px;
  line-height: 1.4;
  cursor: pointer;
  box-sizing: border-box;
}
.report-flow-card:hover {
  background: rgba(127, 127, 127, 0.1);
  border-color: rgba(127, 127, 127, 0.25);
}
.report-flow-card__txt {
  flex: 1;
  min-width: 0;
}
.report-flow-card__chev {
  flex-shrink: 0;
  opacity: 0.45;
  font-size: 18px;
}
.report-flow-card--user {
  gap: 10px;
}
.report-flow-card__av {
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.report-flow-card__utext {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}
.report-flow-card__un {
  font-weight: 600;
}
.report-flow-card__dn {
  font-size: 12px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.report-flow-list--search {
  gap: 8px;
}

/* Erzwungene Passwortänderung: Intro wie „compromised“ */
.force-pwd-modal-box {
  width: min(440px, 94vw);
  max-width: 94vw;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.35);
}
.force-pwd-modal-body {
  padding: 22px 20px 24px;
}
.force-pwd-compromised__art {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
  color: var(--muted);
}
.force-pwd-compromised__h {
  margin: 0 0 12px;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.force-pwd-compromised__p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
}
.force-pwd-compromised__p--muted {
  color: var(--muted);
  font-size: 13px;
}
.force-pwd-compromised__link {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: var(--accent, #0095f6);
  cursor: pointer;
  text-decoration: underline;
}
.force-pwd-compromised__cta {
  width: 100%;
  margin-top: 8px;
  border-radius: 12px;
  min-height: 48px;
  font-weight: 600;
}
.force-pwd-form-step__h {
  margin: 0 0 10px;
  font-size: 1.1rem;
  font-weight: 700;
}
.force-pwd-form-step__lead {
  margin: 0 0 14px;
}
body.light .force-pwd-compromised__h,
body.light .force-pwd-form-step__h {
  color: rgba(0, 0, 0, 0.9);
}

/* Modal: Konto verifiziert (aus Aktivitäten) */
.verified-info-modal-overlay {
  background: rgba(0, 0, 0, 0.55);
}
.verified-info-modal {
  width: min(420px, 94vw);
  max-height: 92vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.verified-info-modal__head {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 6px 8px;
  border-bottom: 1px solid var(--line);
}
.verified-info-modal__body {
  padding: 8px 20px 22px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.verified-info-modal__center-badge {
  display: flex;
  justify-content: center;
  margin: 4px 0 14px;
}
.verified-info-modal__center-badge-inner {
  transform: scale(1.85);
  transform-origin: center center;
  line-height: 0;
}
.verified-info-modal__h2 {
  margin: 0 0 18px;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.verified-info-modal__rows {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.verified-info-modal__row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
}
.verified-info-modal__txt {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  text-align: left;
}
.verified-info-modal__ic {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  line-height: 0;
}
.verified-info-modal__svg-ic {
  opacity: 0.9;
}
.verified-info-modal__inline {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: inherit;
  color: var(--accent, #0095f6);
  cursor: pointer;
  text-decoration: underline;
}
.verified-info-modal__inline:hover {
  filter: brightness(1.08);
}

/* Inline „Hinweis“ in offenen Modals (kein zweites Popup) */
.modal-inline-ui-msg {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--hairline, rgba(0, 0, 0, 0.12));
  background: var(--surface-elevated, rgba(0, 0, 0, 0.04));
}
.modal-inline-ui-msg__text {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--text);
}
.modal-inline-ui-msg__actions {
  display: flex;
  justify-content: flex-end;
}
.image-lightbox .modal-inline-ui-msg {
  position: absolute;
  top: 48px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 103;
  max-width: min(420px, calc(100vw - 32px));
  margin: 0;
}

/* Einstellungen → Sicherheit: Sitzungsliste */
.settings-session-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.settings-session-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  margin-bottom: 10px;
  border: 1px solid var(--hairline, rgba(0, 0, 0, 0.1));
  box-sizing: border-box;
}
.settings-session-row--current {
  border-color: var(--accent, #0095f6);
  background: rgba(0, 149, 246, 0.1);
}
body:not(.light) .settings-session-row--current {
  background: rgba(0, 149, 246, 0.14);
}
.settings-session-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--accent, #0095f6);
  margin-bottom: 6px;
}
.settings-session-row__main {
  flex: 1;
  min-width: 0;
}
.settings-session-row__title {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}
.settings-session-row__ua {
  display: block;
  font-size: 12px;
  margin-top: 4px;
  line-height: 1.35;
  word-break: break-word;
}
.settings-session-row__geo {
  display: block;
  font-size: 13px;
  margin-top: 6px;
  line-height: 1.4;
  color: var(--muted);
}
.settings-session-row__geo--empty {
  opacity: 0.85;
}
.settings-session-row__when {
  display: block;
  font-size: 11px;
  margin-top: 4px;
}
.settings-session-trash-ic {
  display: block;
  width: 20px;
  height: 20px;
}
.settings-session-end-btn--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  margin-top: 0;
  padding: 0;
  border: 1px solid rgba(248, 113, 113, 0.35);
  border-radius: 12px;
  background: rgba(220, 38, 38, 0.14);
  color: #f87171;
  cursor: pointer;
  box-sizing: border-box;
}
.settings-session-end-btn--icon:hover {
  background: rgba(220, 38, 38, 0.22);
}
body.light .settings-session-end-btn--icon {
  border-color: rgba(220, 38, 38, 0.28);
  background: rgba(220, 38, 38, 0.08);
  color: #dc2626;
}
body.light .settings-session-end-btn--icon:hover {
  background: rgba(220, 38, 38, 0.14);
}
.settings-session-row__actions {
  flex-shrink: 0;
  align-self: flex-start;
}
.settings-session-end-btn {
  margin-top: 0;
}
.settings-session-row--modal {
  margin-bottom: 8px;
}
.settings-sessions-modal {
  max-width: 480px;
  width: calc(100vw - 32px);
  max-height: min(90vh, 640px);
  display: flex;
  flex-direction: column;
}
.settings-sessions-modal__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-bottom: 8px;
}
.settings-sessions-modal__list {
  display: flex;
  flex-direction: column;
}
.settings-sessions-modal__pager {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--hairline, rgba(0, 0, 0, 0.1));
  flex-wrap: wrap;
}
.settings-sessions-modal__pageinfo {
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  flex: 1;
  min-width: 120px;
}
.settings-sessions-modal__loadmore {
  width: 100%;
  margin-top: 12px;
}
.settings-sessions-modal__loading {
  margin-top: 10px;
  text-align: center;
}

/* -------------------------------------------------------------------------- */
/* Mobile & Tablet App-Shell (≤1024px) — Desktop unverändert ab 1025px          */
/* -------------------------------------------------------------------------- */

.mobile-tab-bar {
  display: none;
}
.mobile-home-top-bar {
  display: none;
}
.compose-modal__cancel-ic {
  display: none;
}
.compose-modal__post--head-mobile {
  display: none;
}
.messages-head-mobile {
  display: none;
}
.chat-head-req-inbox {
  display: none;
}
.profile-page-head__back--self-mobile,
.app-backbtn.profile-page-head__back--self-mobile,
.profile-page-head__menu--self-hamburger {
  display: none;
}
.profile-page-head__menu--self-desktop {
  display: flex;
}

/*
 * Während async Route-HTML: kein alten Inhalt kurz einblenden (History-Zurück / jede Navigation).
 * visibility + opacity + eigener Layer: WebKit-Compositing zeigt sonst noch „halbe“ Frames (~Glas-Effekt).
 */
html.mobile-shell main#main-content.main-content--route-swap-pending {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  isolation: isolate;
}

/* Mobil: persistenter View-Stack — Feed/Profil-DOM bleibt erhalten, nur Sichtbarkeit wechselt */
html.mobile-shell #main-content > .pwa-main-stack {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
  width: 100%;
  position: relative;
  height: 100%;
  box-sizing: border-box;
}
html.mobile-shell #main-content .pwa-persist-views,
html.mobile-shell #main-content .pwa-ephemeral-route {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 0;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
html.mobile-shell #main-content .pwa-persist-views[hidden],
html.mobile-shell #main-content .pwa-ephemeral-route[hidden] {
  display: none !important;
}
html.mobile-shell #main-content .pwa-route-view[hidden] {
  display: none !important;
}
html.mobile-shell #main-content .pwa-route-view {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 0;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

html.mobile-shell .mobile-tab-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  justify-items: stretch;
  gap: 0;
  padding: 4px 2px calc(6px + env(safe-area-inset-bottom, 0px));
  background: var(--surface, #181818);
  border-top: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  box-sizing: border-box;
}
html.mobile-shell .mobile-tab-bar.mobile-tab-bar--hidden {
  display: none !important;
}
html.mobile-shell .mobile-tab-bar__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 8px 2px;
  margin: 0;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: rgba(243, 245, 247, 0.55);
  cursor: pointer;
  font: inherit;
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
html.mobile-shell body.light .mobile-tab-bar__btn {
  color: rgba(15, 17, 21, 0.48);
}
html.mobile-shell .mobile-tab-bar__btn svg {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}
/* Tab-Bar nutzt dieselben SVGs wie die Sidebar — ohne diese Regeln bleiben Striche/Pfade schwarz */
html.mobile-shell .mobile-tab-bar__btn svg:not(.fill) {
  fill: none;
}
html.mobile-shell .mobile-tab-bar__btn svg:not(.fill) circle,
html.mobile-shell .mobile-tab-bar__btn svg:not(.fill) path {
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
html.mobile-shell .mobile-tab-bar__avatar-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(243, 245, 247, 0.2);
  box-sizing: border-box;
}
html.mobile-shell body.light .mobile-tab-bar__avatar-wrap {
  border-color: rgba(15, 17, 21, 0.12);
}
html.mobile-shell .mobile-tab-bar__avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
html.mobile-shell .mobile-tab-bar__btn.is-active .mobile-tab-bar__avatar-wrap {
  border-color: rgba(243, 245, 247, 0.85);
}
html.mobile-shell body.light .mobile-tab-bar__btn.is-active .mobile-tab-bar__avatar-wrap {
  border-color: rgba(15, 17, 21, 0.65);
}
html.mobile-shell .mobile-tab-bar__btn svg.fill path {
  fill: currentColor;
  stroke: none;
}
html.mobile-shell .mobile-tab-bar__btn.is-active {
  color: #fff;
}
html.mobile-shell body.light .mobile-tab-bar__btn.is-active {
  color: var(--text, #0f1115);
}
html.mobile-shell .mobile-tab-bar__plus-wrap svg {
  width: 28px;
  height: 28px;
}
html.mobile-shell .mobile-tab-bar__btn .dot {
  position: absolute;
  top: 4px;
  right: calc(50% - 16px);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff3b5c;
  box-shadow: 0 0 0 2px var(--surface, #181818);
}

html.mobile-shell body.mobile-tab-bar-visible main.content.content--desk,
html.mobile-shell body.mobile-tab-bar-visible main.content.content--page-stack,
html.mobile-shell body.mobile-tab-bar-visible main.content.content--settings {
  padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
}
/* Chat darf nie vom Tabbar-Padding profitieren */
html.mobile-shell body.mobile-tab-bar-visible main.content.content--page-stack:has(.page-stack-card--chat) {
  padding-bottom: 0 !important;
}
html.mobile-shell body.chat-mobile-kb-open main.content.content--page-stack {
  overflow: hidden !important;
}

html.mobile-shell .layout aside.sidebar {
  display: none !important;
}

html.mobile-shell #desk-messenger-host {
  display: none !important;
}

/* Volle Viewport-Breite: Desktop-Padding / 700px-Spalte entfernen, Hintergrund = Kartenfläche */
html.mobile-shell {
  --mobile-main-pad-l: max(0px, env(safe-area-inset-left, 0px));
  --mobile-main-pad-r: max(0px, env(safe-area-inset-right, 0px));
}
html.mobile-shell body {
  background: var(--surface, #181818);
}
html.mobile-shell body.light {
  background: var(--surface, #fff);
}
html.mobile-shell main.content.content--desk,
html.mobile-shell main.content.content--page-stack {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--mobile-main-pad-l) !important;
  padding-right: var(--mobile-main-pad-r) !important;
  align-items: stretch !important;
  box-sizing: border-box;
}
html.mobile-shell main.content.content--desk > .desk-split-root {
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
}

html.mobile-shell main.content.content--page-stack > .page-stack-root,
html.mobile-shell main.content.content--page-stack > .page-stack-root--narrow,
html.mobile-shell main.content.content--page-stack > .page-stack-root--single-native {
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  --_page-stack-pad-left: max(0px, env(safe-area-inset-left, 0px));
  --_page-stack-pad-right: max(0px, env(safe-area-inset-right, 0px));
}

html.mobile-shell .page-stack-root,
html.mobile-shell .page-stack-root--narrow {
  width: 100% !important;
  max-width: 100% !important;
}

html.mobile-shell main.content.content--page-stack .page-stack-head-fixed {
  max-width: 100% !important;
  width: 100% !important;
  align-self: stretch !important;
  background-color: var(--surface);
  isolation: isolate;
}
/* Mobil: Page-Stack-Köpfe & Nachrichten wie Karten-Surface, nicht --bg (#000) */
html.mobile-shell main.content.content--page-stack .page-stack-head-fixed:has(.profile-page-title--other),
html.mobile-shell main.content.content--page-stack .page-stack-head-fixed:has(.page-stack-title--search),
html.mobile-shell main.content.content--page-stack .page-stack-head-fixed:has(.messages-head-mobile) {
  background-color: var(--surface);
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.profile-page-title--other,
html.mobile-shell .page-stack-root .center-title.page-stack-title.page-stack-title--search {
  background-color: var(--surface);
}
html.mobile-shell .messages-head-mobile {
  background-color: var(--surface);
}
html.mobile-shell .messages-inbox-sticky-head,
html.mobile-shell .messages-requests-inline-head {
  background-color: var(--surface);
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.likes-page-head,
html.mobile-shell .page-stack-root .center-title.page-stack-title.page-stack-title--profile-archive,
html.mobile-shell .page-stack-root .center-title.page-stack-title.page-stack-title--topic,
html.mobile-shell .page-stack-root .center-title.page-stack-title.messages-head-desktop {
  background-color: var(--surface);
}
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed {
  align-items: stretch !important;
}
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed > .page-stack-card {
  max-width: 100% !important;
  width: 100% !important;
}
/* Chat auf Mobile: volle verfügbare Höhe statt globaler fixed card height */
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed > .page-stack-card.page-stack-card--chat,
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-main-scroll__inner > .page-stack-card.page-stack-card--chat {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
}
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-main-scroll__inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  align-items: stretch !important;
}
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-main-scroll__inner > .page-stack-card {
  width: 100% !important;
  max-width: 100% !important;
}
html.mobile-shell main.content.content--page-stack .chat-page--single-native {
  width: 100% !important;
  max-width: 100% !important;
}
html.mobile-shell main.content.content--page-stack .chat-page-scroll-column {
  width: 100% !important;
  max-width: 100% !important;
}
html.mobile-shell main.content.content--page-stack .chat-thread__native-inner {
  max-width: 100% !important;
}

/* Mobil Nachrichten: Inbox + Thread-Overlay (Slide von rechts) */
html.mobile-shell .messages-mob-dual-root.messages-mob-dual-root {
  position: relative;
  overflow: hidden;
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
}
html.mobile-shell .messages-mob-dual {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
}
html.mobile-shell .messages-mob-dual__inbox,
html.mobile-shell .messages-mob-dual__inbox-inner {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
}
html.mobile-shell .messages-mob-dual__thread-inner {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
}
html.mobile-shell .messages-mob-dual__thread {
  position: absolute;
  inset: 0;
  z-index: 5;
  background: var(--surface);
  transform: translate3d(100%, 0, 0);
  transition: transform 0.34s cubic-bezier(0.32, 0.72, 0, 1);
  will-change: transform;
  display: flex;
  flex-direction: column;
  min-height: 0;
  box-sizing: border-box;
  pointer-events: none;
  touch-action: pan-y;
  visibility: hidden;
  opacity: 0;
}
html.mobile-shell .messages-mob-dual__thread.is-open {
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
  touch-action: auto;
  visibility: visible;
  opacity: 1;
}
/* Gesamten Thread-Inhalt bis zum Slide-Ende verstecken — vermeidet Vorblitzen von Text/Bildern (iOS). */
html.mobile-shell .messages-mob-dual__thread:not(.is-open) .messages-mob-dual__thread-inner {
  visibility: hidden;
  pointer-events: none;
}
html.mobile-shell .messages-mob-dual__thread.is-open .messages-mob-dual__thread-inner {
  visibility: visible;
}
html.mobile-shell .messages-mob-dual__thread.messages-mob-dual__thread--drag {
  transition: none !important;
}
html.mobile-shell .messages-mob-dual__thread-empty {
  min-height: 100%;
  box-sizing: border-box;
}

html.mobile-shell main.content.content--desk .desk-home-single-stack .desk-feed-tabs-anchor {
  max-width: 100% !important;
  width: 100% !important;
}
html.mobile-shell main.content.content--desk .desk-home-single-stack .desk-home-main-scroll__inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  align-items: stretch !important;
}
html.mobile-shell main.content.content--desk .desk-home-single-stack .desk-feed-column-wrap--single-outer {
  width: 100% !important;
  max-width: 100% !important;
}
html.mobile-shell main.content.content--desk .desk-split-row--single-main-scroll .desk-home-single-stack .desk-feed-column-wrap--single-outer {
  width: 100% !important;
  max-width: 100% !important;
}
html.mobile-shell main.content.content--desk .desk-feed-card-row > .desk-col.desk-col--feed {
  max-width: 100% !important;
  width: 100% !important;
}
html.mobile-shell main.content.content--desk .desk-home-single-stack,
html.mobile-shell main.content.content--desk .desk-feed-column-wrap {
  width: 100%;
  max-width: 100%;
}

html.mobile-shell main.content.content--desk .desk-col.desk-col--feed.desk-col--feed-shell {
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
}

html.mobile-shell .page-stack-card,
html.mobile-shell .desk-col.desk-col--feed-shell .desk-col__scroll--feed {
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  width: 100% !important;
  max-width: 100% !important;
}
html.mobile-shell .page-stack-card {
  border-left: none !important;
  border-right: none !important;
}
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed--single-native .search-page-card__toolbar-wrap,
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed--single-native .messages-inbox-sticky-head,
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-card__profile-top,
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-card.page-stack-card--topic .topic-page-tabs-wrap,
html.mobile-shell main.content.content--page-stack .page-stack-route-bleed--single-native .page-stack-card--thread > .thread-view-head {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

html.mobile-shell .search-page__bar {
  min-width: 0;
}
html.mobile-shell .search-page__filter-tap {
  flex-shrink: 0;
}

html.mobile-shell .mobile-home-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px 8px;
  padding-top: max(10px, env(safe-area-inset-top, 0px));
  background: var(--surface, #0f0f12);
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  position: sticky;
  top: 0;
  z-index: 15;
}
html.mobile-shell .mobile-home-top-bar__title {
  flex: 1;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html.mobile-shell .mobile-home-top-bar__feed-title-tap {
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  cursor: pointer;
}
html.mobile-shell .mobile-home-top-bar__end {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
html.mobile-shell .mobile-home-top-bar__messages {
  position: relative;
}
html.mobile-shell .mobile-home-top-bar__msg-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #ff3b5c;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  box-sizing: border-box;
  pointer-events: none;
}
/* Home: Lade-Spinner nur zwischen Vorschläge-Zeile und Feed (Soft-Refresh) */
html.mobile-shell .home-feed-refresh-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px 8px;
  margin: 0;
  flex-shrink: 0;
  pointer-events: none;
  border-bottom: 1px solid var(--line, rgba(243, 245, 247, 0.06));
}
html.mobile-shell .home-feed-refresh-spinner.list-load-indicator--dots-only {
  padding-top: 8px;
  padding-bottom: 8px;
}
html.mobile-shell .home-feed-refresh-spinner .list-load-indicator__dots {
  transform: scale(0.85);
  transform-origin: center center;
}
html.mobile-shell .desk-feed-tabs-anchor .top-tabs.top-tabs--home {
  display: none !important;
}

html.mobile-shell .messages-head-desktop {
  display: none !important;
}
html.mobile-shell .messages-head-mobile {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 0 6px;
  box-sizing: border-box;
}
html.mobile-shell .messages-head-mobile__title {
  flex: 1;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
}
html.mobile-shell .messages-head-mobile__spacer {
  width: 40px;
  flex-shrink: 0;
}
html.mobile-shell .messages-head-mobile__req {
  position: relative;
  flex-shrink: 0;
  border: none;
  background: transparent;
  padding: 0;
  overflow: visible;
}
html.mobile-shell .messages-inbox-toolbar__search-row {
  padding-top: 12px;
}
html.mobile-shell .messages-inbox-toolbar__requests-row {
  display: none !important;
}
html.mobile-shell .messages-mobile-req-badge {
  position: absolute;
  bottom: -1px;
  right: -1px;
  top: auto;
  min-width: 13px;
  height: 13px;
  padding: 0 3px;
  border-radius: 7px;
  background: #ff3b5c;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

html.mobile-shell .chat-head-lead-actions {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
html.mobile-shell .chat-head-req-inbox {
  display: none;
}
html.mobile-shell .chat-head--ig {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 6px;
  flex-wrap: nowrap;
}
html.mobile-shell .chat-head--ig .chat-head-center {
  flex: 1;
  min-width: 0;
}

html.mobile-shell .chat-request-folder-bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--surface, #0f0f12);
}
html.mobile-shell .chat-request-folder-bar__btn {
  flex: 1;
  min-width: 0;
  padding: 10px 6px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font: inherit;
}
html.mobile-shell .chat-request-folder-bar__btn--danger {
  color: #ff4b59;
  border-color: rgba(255, 75, 89, 0.45);
}

html.mobile-shell .chat-list-actions--req3 {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
}
html.mobile-shell .chat-list-actions--req3 .chat-list-action-btn--danger-mid {
  color: #ff4b59 !important;
  font-weight: 700;
}

html.mobile-shell .profile-page-title--self-mobile {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: 100%;
}
html.mobile-shell .profile-page-title--self-mobile .profile-page-head__center {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  margin-right: auto;
}
html.mobile-shell .profile-page-title--self-mobile .profile-page-head__center--user {
  margin-left: 0;
}
html.mobile-shell .profile-page-title--self-mobile .profile-page-head__back--self-mobile,
html.mobile-shell .profile-page-title--self-mobile .app-backbtn.profile-page-head__back--self-mobile,
html.mobile-shell .profile-page-title--self-mobile .profile-page-head__menu--self-hamburger {
  display: flex;
}
html.mobile-shell .profile-page-title--self-mobile .profile-page-head__menu--self-desktop {
  display: none !important;
}

/* Bottom-Sheets & Modals von unten */
html.mobile-shell .modal-overlay {
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  padding-left: 0 !important;
}
html.mobile-shell .modal-overlay .modal {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 16px 16px 0 0 !important;
  margin: 0 !important;
  max-height: min(92vh, 100dvh) !important;
  min-height: 0;
  border: none !important;
  box-shadow: none !important;
}
html.mobile-shell .modal-overlay--profile-edit .modal.modal--profile-edit,
html.mobile-shell .modal-overlay--profile-sub .modal.modal--profile-edit {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 16px 16px 0 0 !important;
  border: none !important;
  box-shadow: none !important;
}
html.mobile-shell .compose-overlay .compose-modal,
html.mobile-shell .reply-modal-overlay .modal.reply-modal {
  border: none !important;
  box-shadow: none !important;
}
html.mobile-shell .compose-overlay {
  align-items: stretch;
}
html.mobile-shell .compose-overlay .compose-modal {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 100%;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  background: var(--surface) !important;
}
html.mobile-shell body.light .compose-overlay .compose-modal {
  background: var(--surface) !important;
}
html.mobile-shell .compose-modal__head {
  flex-shrink: 0;
}
html.mobile-shell .compose-modal__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
html.mobile-shell .compose-modal__foot {
  flex-shrink: 0;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px) + max(0px, calc(var(--app-kb-offset, 0px) - 28px)));
  align-items: center;
  gap: 10px;
}
html.mobile-shell .compose-modal__foot .compose-modal__opt-wrap {
  flex: 1 1 auto;
  min-width: 0;
}
html.mobile-shell .compose-modal__foot .compose-modal__opt-btn {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html.mobile-shell .compose-modal__name-badge-row--mob .compose-modal__username {
  font-size: 15px;
  line-height: 1.25;
}
html.mobile-shell .compose-modal__name-badge-row .verified-badge-threads {
  flex-shrink: 0;
}
/* Post-Modal: Name + Badge in einer Zeile (verified-inline-row gilt für .name, hier explizit Username) */
.compose-modal__user-row-inner .verified-inline-row .compose-modal__username {
  flex: 0 1 auto;
  max-width: min(46vw, 240px);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Collab mobil: Name + Partner in einer Zeile, Partner rechts daneben (ellipsis) */
html.mobile-shell .compose-modal--collab .compose-modal__user-row-inner {
  flex-wrap: nowrap;
  align-items: center;
  min-width: 0;
}
html.mobile-shell .compose-modal--collab .compose-modal__user-row-inner .verified-inline-row .compose-modal__username {
  max-width: min(40vw, 200px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 0 1 auto;
}
html.mobile-shell .compose-modal--collab .compose-modal__topic-slot--collab {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}
html.mobile-shell .compose-modal--collab .compose-collab-picked,
html.mobile-shell .compose-modal--collab .compose-collab-picked--inline {
  flex: 0 1 auto;
  min-width: 0;
  max-width: min(48vw, 220px);
}
.compose-modal__user-row-inner .verified-inline-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  min-width: 0;
  gap: 4px;
}
html.mobile-shell .compose-modal__cancel-txt {
  display: none;
}
html.mobile-shell .compose-modal__cancel-ic {
  display: inline !important;
  font-size: 1.35rem;
  line-height: 1;
}
html.mobile-shell .compose-modal__post--head-mobile {
  display: none !important;
}
html.mobile-shell .compose-modal__foot .compose-modal__post {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: auto;
  padding: 8px 14px;
  border-radius: 10px;
  border: none;
  background: #fff !important;
  color: #181818 !important;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  font: inherit;
}
html.mobile-shell body.light .compose-modal__foot .compose-modal__post {
  background: #181818 !important;
  color: #fff !important;
}
html.mobile-shell .compose-modal__foot .compose-modal__post.compose-modal__post--disabled {
  opacity: 0.45;
  pointer-events: none;
}

.mobile-bottom-sheet-overlay {
  position: fixed;
  inset: 0;
  z-index: 260410;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  align-items: flex-end;
  justify-content: center;
  padding: 0;
}
.comments-sheet-overlay.mobile-bottom-sheet-overlay {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.mobile-bottom-sheet {
  width: 100%;
  max-width: 100%;
  max-height: min(88vh, 100dvh);
  background: var(--surface, #0f0f12);
  border-radius: 16px 16px 0 0;
  border: 1px solid var(--line);
  border-bottom: none;
  padding: 0 0 calc(12px + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
html.mobile-shell .mobile-bottom-sheet-overlay--post-actions {
  padding: 0 !important;
}
html.mobile-shell .mobile-bottom-sheet--post-actions {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 16px 16px 0 0 !important;
  padding: 0 0 env(safe-area-inset-bottom, 0px) !important;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .mobile-bottom-sheet__title {
  padding-top: 10px;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .post-menu {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Beitrags-⋯-Menü: zweite Ebene „Antwortmöglichkeiten“ im selben Sheet (Kopf + Compose-Optionen-Optik) */
html.mobile-shell .mobile-bottom-sheet--post-actions .mobile-bottom-sheet__subhead {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  padding: 4px 8px 10px;
  gap: 4px;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .mobile-bottom-sheet__subhead-title {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  margin: 0;
  min-width: 0;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .mobile-bottom-sheet__subhead-back {
  width: 40px;
  min-width: 40px;
  height: 40px;
  justify-self: start;
  font-size: 1.35rem;
  line-height: 1;
  color: var(--text);
}
html.mobile-shell .mobile-bottom-sheet--post-actions .post-sheet-compose-options-wrap {
  padding: 0 6px calc(10px + env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet {
  padding: 0 4px 4px;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__block {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin: 0;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__block:first-of-type {
  border-top: none;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__block--mobile-hero {
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  overflow: hidden;
  background: #111216;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__row {
  padding: 11px 12px;
  font-size: 14px;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__row + .compose-options-popover__row {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__check {
  width: auto;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.92);
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__check--empty {
  visibility: visible;
  color: rgba(255, 255, 255, 0.42);
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__mobile-done-wrap {
  padding: 12px 2px 4px;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__mobile-done {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 22px;
  background: #f4f5f7;
  color: #111216;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}
html.mobile-shell body.light .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__block--mobile-hero {
  background: #fff;
  border-color: var(--line);
}
html.mobile-shell body.light .mobile-bottom-sheet--post-actions .compose-options-popover--embedded-post-sheet .compose-options-popover__row + .compose-options-popover__row {
  border-top-color: var(--line);
}

.mobile-bottom-sheet__handle {
  width: 40px;
  height: 5px;
  border-radius: 3px;
  background: rgba(127, 127, 127, 0.35);
  margin: 10px auto 8px;
}
.mobile-bottom-sheet__title {
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  padding: 0 16px 10px;
}
.mobile-bottom-sheet--follow-lists-blocked {
  width: 100%;
  max-width: 100%;
}
.mobile-bottom-sheet--follow-lists-blocked .mobile-bottom-sheet__body {
  padding: 0 16px 14px;
}
.mobile-bottom-sheet--post-share {
  width: 100%;
  max-width: 100%;
}
.post-share-sheet {
  padding: 0 14px 14px;
}
.post-share-sheet__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.post-share-sheet__hint {
  color: var(--muted);
  font-size: 13px;
}
.post-share-sheet__count {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.post-share-sheet__loading,
.post-share-sheet__empty {
  color: var(--muted);
  font-size: 14px;
  padding: 8px 2px 14px;
}
.post-share-sheet__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 10px;
  width: 100%;
}
.post-share-sheet__user {
  border: 0;
  background: transparent;
  color: var(--text);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0;
  min-width: 0;
  cursor: pointer;
}
.post-share-sheet__av-wrap {
  position: relative;
  display: inline-flex;
  width: 74px;
  height: 74px;
}
.post-share-sheet__av {
  width: 74px;
  height: 74px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid transparent;
}
.post-share-sheet__check {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  background: var(--accent, #0095f6);
  color: #fff;
  border: 2px solid var(--surface, #0f0f12);
}
.post-share-sheet__user.is-selected .post-share-sheet__av {
  border-color: var(--accent, #0095f6);
}
.post-share-sheet__name {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 4px;
  max-width: 100%;
  min-width: 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 600;
}
.post-share-sheet__name > span:first-child {
  display: inline-block;
  min-width: 0;
  max-width: calc(100% - 14px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.post-share-sheet__name .verified-badge-threads {
  flex: 0 0 auto;
}
.post-share-sheet__composer {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}
.post-share-sheet__input {
  width: 100%;
  box-sizing: border-box;
}
.post-share-sheet__send-btn {
  width: 100%;
  min-height: 42px;
  border-radius: 11px;
  border: 1px solid transparent;
  background: #fff;
  color: #101114;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.post-share-sheet__send-btn:disabled {
  opacity: 0.45;
  cursor: default;
}
body.light .post-share-sheet__send-btn {
  background: #101114;
  color: #fff;
}
.modal--post-share {
  width: min(560px, 94vw);
  min-height: 0;
}
html.mobile-shell .mobile-bottom-sheet--post-share {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 16px 16px 0 0 !important;
}
.mobile-bottom-sheet__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 18px;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 15px;
  text-align: left;
  cursor: pointer;
}
.mobile-bottom-sheet__row--active {
  color: var(--accent, #0095f6);
}
.mobile-bottom-sheet__row--accent {
  font-weight: 600;
  color: var(--accent, #0095f6);
}
.mobile-bottom-sheet__row--danger-text {
  color: #f04444;
}
.mobile-bottom-sheet__row--danger-text .post-menu-ic {
  color: #f04444;
}
body.light .mobile-bottom-sheet__row--danger-text {
  color: #d92d20;
}
body.light .mobile-bottom-sheet__row--danger-text .post-menu-ic {
  color: #d92d20;
}
.modal.chat-thread-menu-modal {
  width: min(360px, calc(100vw - 32px));
  max-width: 400px;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.chat-thread-menu-modal__body.modal-body {
  padding: 0;
  flex: 0 0 auto;
  min-width: 0;
  overflow: hidden;
  max-width: 100%;
}
/* .menu ist global position:fixed — im Modal relativ halten, sonst bricht das Layout aus */
.chat-thread-menu-modal .chat-thread-menu-desk.menu.post-menu {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  transform: none;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 4px 0 10px;
}
.chat-thread-menu-modal .chat-thread-menu-desk.menu {
  border: none;
  box-shadow: none;
  border-radius: 0;
  min-width: 0;
}
.chat-thread-menu-modal .chat-thread-menu-desk .menu-row {
  border-radius: 0;
  padding: 14px 16px;
  margin: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.chat-thread-menu-modal .chat-thread-menu-desk .menu-row:first-of-type {
  border-top: none;
}
.chat-thread-menu-overlay--desk {
  box-sizing: border-box;
}
.chat-thread-menu-overlay--desk .modal.chat-thread-menu-modal {
  margin: 0 auto;
}
.menu-row.danger .post-menu-ic {
  color: inherit;
  stroke: currentColor;
}

.mobile-fullscreen-menu {
  position: fixed;
  inset: 0;
  z-index: 260430;
  background: var(--bg, #000);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.mobile-fullscreen-menu__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 12px 10px;
  padding-top: max(12px, env(safe-area-inset-top, 0px));
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.mobile-fullscreen-menu__title {
  font-weight: 700;
  font-size: 1.05rem;
}
.mobile-fullscreen-menu__spacer {
  width: 40px;
}
.mobile-fullscreen-menu__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px 14px calc(20px + env(safe-area-inset-bottom, 0px));
}
.mobile-fullscreen-menu__section {
  margin-bottom: 18px;
}
.mobile-fullscreen-menu__caption {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--muted);
}
.mobile-fullscreen-menu__theme-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.mobile-fullscreen-menu__theme-btns .post-btn {
  flex: 1;
  min-width: 90px;
}
.mobile-fullscreen-menu__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 4px;
  border: none;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 16px;
  cursor: pointer;
  border-radius: 10px;
}
.mobile-fullscreen-menu__row--danger {
  color: var(--danger, #ff4b59);
}
.mobile-fullscreen-menu__rule {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 10px 0;
}

html.mobile-shell body.light .mobile-tab-bar {
  background: #fff;
  border-top-color: rgba(0, 0, 0, 0.08);
}
html.mobile-shell body.light .mobile-tab-bar__btn .dot {
  box-shadow: 0 0 0 2px #fff;
}
body.light .mobile-bottom-sheet {
  background: #fff;
}

/* ——— Mobile-Shell: IG-Referenz (Benachrichtigungen, Suche, Einstellungen, Menüs, Meldung) ——— */
.notifications-head-mobile {
  display: none;
}
html.mobile-shell .page-stack-root--notifications .notifications-head-desktop {
  display: none !important;
}
html.mobile-shell .page-stack-root--notifications .notifications-head-mobile {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 8px 8px 10px;
  padding-top: max(8px, env(safe-area-inset-top, 0px));
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  background: var(--surface, #0f0f12);
}
html.mobile-shell .notifications-head-mobile__back,
html.mobile-shell .notifications-head-mobile__dm {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
html.mobile-shell .notifications-head-mobile__userchip {
  flex: 1;
  min-width: 0;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 12px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--text, #fff);
  font: inherit;
  font-weight: 600;
  font-size: 15px;
  cursor: default;
}
html.mobile-shell .notifications-head-mobile__uname {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
html.mobile-shell .notifications-head-mobile__userchip .activity-filter-chevron-btn__svg {
  flex-shrink: 0;
  opacity: 0.85;
}
html.mobile-shell .notifications-head-mobile__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff3b5c;
  flex-shrink: 0;
}
html.mobile-shell .notifications-head-mobile__dm-spacer {
  width: 40px;
  flex-shrink: 0;
}

.search-page__toolbar-mob {
  display: block;
}
.search-page__mobile-cancel {
  display: none;
}
html.mobile-shell .search-page__toolbar-mob {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
}
html.mobile-shell .search-page__mobile-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 4px;
  border: none;
  background: transparent;
  color: var(--text, #fff);
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  cursor: pointer;
}
html.mobile-shell .search-page__toolbar-mob .search-page__bar-wrap {
  flex: 1;
  min-width: 0;
}

html.mobile-shell main.content.content--settings,
html.mobile-shell .content.content--settings {
  padding: 0 var(--mobile-main-pad-r) 0 var(--mobile-main-pad-l) !important;
  padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
html.mobile-shell .settings-page {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: var(--surface, #181818) !important;
}
/* Fixierter Seitenkopf wie Tab-Bar: bei Touch-Scroll an „starren“ Flächen sonst iOS-/PWA-Scroll auf äußeren Port */
html.mobile-shell main.content.content--settings .settings-page {
  padding-top: calc(max(6px, env(safe-area-inset-top, 0px)) + var(--page-shell-title-height) + 1px);
}
html.mobile-shell .settings-page:not([data-settings-tab="hub"]) {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  height: 100% !important;
}
html.mobile-shell .settings-page__head {
  padding-top: max(6px, env(safe-area-inset-top, 0px));
  background: var(--surface, #181818);
  border-bottom-color: var(--line, rgba(255, 255, 255, 0.08));
  flex-shrink: 0 !important;
  position: fixed !important;
  top: 0 !important;
  left: var(--mobile-main-pad-l) !important;
  right: var(--mobile-main-pad-r) !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  z-index: 55 !important;
}
html.mobile-shell body.light .settings-page__head {
  background: var(--surface, #fff);
}
html.mobile-shell .settings-shell {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  flex-direction: column;
  overflow: hidden !important;
  display: flex !important;
  background: var(--surface, #181818) !important;
}
html.mobile-shell body.light .settings-shell {
  background: var(--surface, #fff) !important;
}
html.mobile-shell .settings-shell__nav {
  flex: none;
  flex-shrink: 0;
  flex-direction: column;
  flex-wrap: nowrap;
  max-width: none;
  border-right: none !important;
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  padding: 6px 12px 14px;
}
html.mobile-shell .settings-nav__item {
  flex: none !important;
  width: 100%;
  min-width: 0;
}
html.mobile-shell .settings-nav__sub {
  display: block !important;
}
html.mobile-shell .settings-shell__main {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  background: var(--surface, #181818) !important;
  padding: 10px 14px calc(24px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}
html.mobile-shell body.light .settings-shell__main {
  background: var(--surface, #fff) !important;
}
html.mobile-shell .settings-page[data-settings-tab="hub"] .settings-shell__main {
  display: none !important;
}
html.mobile-shell .settings-page[data-settings-tab="hub"] .settings-shell__nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-bottom: none !important;
  padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
}
html.mobile-shell .settings-page:not([data-settings-tab="hub"]) .settings-shell__nav {
  display: none !important;
}
.settings-hub-main-placeholder {
  flex: 1;
  min-height: 48px;
}
.settings-pwa-logout-btn {
  width: 100%;
  margin-top: 10px;
}
.settings-pwa-client-version {
  text-align: center;
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.4;
}
.mobile-fullscreen-menu__pwa-version {
  margin: 0;
  padding: 10px 18px calc(14px + env(safe-area-inset-bottom, 0px));
  font-size: 12px;
  color: var(--muted, #8a8f98);
  text-align: center;
}
html.mobile-shell .mobile-bottom-sheet-overlay--draft-confirm {
  padding: 0 !important;
  z-index: 260780 !important;
}
html.mobile-shell .mobile-bottom-sheet--draft-confirm {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 16px 16px 0 0 !important;
}
.mobile-bottom-sheet__draft-msg {
  margin: 0;
  padding: 0 18px 12px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
  text-align: center;
}
html.mobile-shell .settings-page:not([data-settings-tab="hub"]) .settings-shell__main {
  border-top: none;
  padding-top: 4px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
html.mobile-shell .settings-shell__main > .settings-panel--scroll:not(.settings-panel--mobile-split) {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
html.mobile-shell .settings-page:not([data-settings-tab="hub"]) .settings-panel--scroll {
  padding-left: 0;
  padding-right: 0;
}

/* Hilfe mit mobile-split (z. B. Support-Anfragen, Problem-Meldungen): äußeres main scrollt nicht —
   sonst scrollt bei kurzer Liste die ganze Seite inkl. „Einstellungen“-Kopf mit.
   overflow-y muss ebenfalls !important sein, sonst gewinnt die generische settings-shell__main-Regel. */
html.mobile-shell .settings-shell__main:has(> .settings-panel--mobile-split) {
  overflow: hidden !important;
  overflow-y: hidden !important;
  overscroll-behavior: contain;
}
html.mobile-shell .settings-shell__main > .settings-panel--mobile-split {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* Problem-Inbox (Mobil): äußeres mob-scroll nicht selbst scrollen — nur der Thread-Bereich */
html.mobile-shell .settings-shell__main .settings-panel__mob-scroll:has(.settings-support-detail--pf-inbox) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
html.mobile-shell .settings-panel__mob-scroll .settings-support-detail--pf-inbox {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
  overscroll-behavior: none;
}
html.mobile-shell .settings-pf-thread-column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
html.mobile-shell .settings-pf-thread-scroll.settings-pf-inbox-thread {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
.settings-pf-thread-closed-foot {
  margin: 20px 8px 8px;
  text-align: center;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.42);
  font-weight: 500;
}
body.light .settings-pf-thread-closed-foot {
  color: rgba(0, 0, 0, 0.45);
}
.settings-pf-wait-card {
  margin-top: 12px;
  text-align: center;
}
.settings-pf-wait-card .settings-pf-wait-card__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted, #8a8f98);
}
body.light .settings-pf-wait-card .settings-pf-wait-card__text {
  color: var(--muted, #5c5f66);
}
.settings-pf-close-case-btn {
  background: #fff !important;
  color: #0a0a0a !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-weight: 600;
}
.settings-pf-close-case-btn:hover {
  filter: brightness(0.96);
}
body.light .settings-pf-close-case-btn {
  background: #111 !important;
  color: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
}
body.light .settings-pf-close-case-btn:hover {
  filter: brightness(1.08);
}
.settings-pf-thread-att {
  margin-top: 10px;
}
.settings-pf-thread-att__hit {
  display: inline-block;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 10px;
  overflow: hidden;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}
.settings-pf-thread-att__thumb {
  display: block;
  max-width: 100%;
  max-height: 160px;
  width: auto;
  height: auto;
  object-fit: contain;
  background: rgba(0, 0, 0, 0.2);
}

html.pf-reply-sheet-lock {
  overflow: hidden !important;
  touch-action: none;
}
html.pf-reply-sheet-lock body {
  overflow: hidden !important;
}

.settings-support-list__ic--pf-av {
  padding: 0;
  border-radius: 999px;
  overflow: hidden;
  border-color: var(--line, rgba(255, 255, 255, 0.12));
}
.settings-support-list__ic--pf-av img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.settings-pf-reply-inline .settings-pf-reply-open {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  cursor: pointer;
  min-height: 48px;
  line-height: 1.35;
  color: var(--muted, #8a8f98);
}
body.light .settings-pf-reply-inline .settings-pf-reply-open {
  color: var(--muted, #5c5f66);
}

.settings-pf-reply-sheet.mobile-bottom-sheet {
  width: 100%;
  max-width: none;
  border-radius: 16px 16px 0 0;
  max-height: min(92vh, 720px);
  padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
  display: flex;
  flex-direction: column;
  min-height: 0;
  box-sizing: border-box;
}
.settings-pf-reply-sheet-overlay.mobile-bottom-sheet-overlay {
  align-items: flex-end;
  padding: 0;
}
.settings-pf-reply-sheet__body-scroll {
  flex: 0 1 auto;
  max-height: min(42vh, 320px);
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.settings-pf-reply-sheet__ctx {
  padding: 0 16px 12px;
}
.settings-pf-reply-sheet__ctx-label {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.settings-pf-reply-sheet__ctx-card {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1));
  background: rgba(255, 255, 255, 0.04);
}
body.light .settings-pf-reply-sheet__ctx-card {
  background: rgba(0, 0, 0, 0.04);
  border-color: var(--line, rgba(0, 0, 0, 0.1));
}
.settings-pf-reply-sheet__ctx-av {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  flex-shrink: 0;
  object-fit: cover;
  background: rgba(0, 0, 0, 0.25);
}
.settings-pf-reply-sheet__ctx-av--ph {
  display: inline-block;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
}
.settings-pf-reply-sheet__ctx-main {
  flex: 1;
  min-width: 0;
}
.settings-pf-reply-sheet__ctx-meta {
  font-size: 12px;
  color: var(--muted, #8a8f98);
  margin-bottom: 6px;
}
body.light .settings-pf-reply-sheet__ctx-meta {
  color: var(--muted, #5c5f66);
}
.settings-pf-reply-sheet__ctx-body {
  font-size: 14px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}
.settings-pf-reply-sheet__ctx-att {
  margin-top: 8px;
}
.settings-pf-reply-sheet__ctx-att-hit {
  display: block;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  border-radius: 10px;
  overflow: hidden;
  max-width: 100%;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.settings-pf-reply-sheet__ctx-att-hit img {
  display: block;
  max-width: 100%;
  max-height: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.settings-pf-reply-sheet__lbl {
  display: block;
  margin: 4px 16px 6px;
  font-size: 12px;
  font-weight: 600;
}
.settings-pf-reply-sheet__ta {
  display: block;
  width: calc(100% - 32px);
  margin: 0 16px 12px;
  box-sizing: border-box;
  min-height: 100px;
  resize: vertical;
  flex-shrink: 0;
}
.settings-pf-reply-sheet__bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px 4px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.settings-pf-reply-sheet .mobile-bottom-sheet__title {
  flex-shrink: 0;
}
.settings-pf-sheet-send.post-btn {
  background: #fff !important;
  color: #0a0a0a !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-weight: 600;
}
.settings-pf-sheet-send.post-btn:hover {
  filter: brightness(0.96);
}
.settings-pf-sheet-send.post-btn:disabled {
  opacity: 0.45;
  filter: none;
}
body.light .settings-pf-sheet-send.post-btn {
  background: #111 !important;
  color: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
}
body.light .settings-pf-sheet-send.post-btn:hover {
  filter: brightness(1.06);
}

.settings-pf-access-banner {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(234, 179, 8, 0.35);
  background: rgba(234, 179, 8, 0.08);
  box-sizing: border-box;
}
body.light .settings-pf-access-banner {
  border-color: rgba(180, 130, 0, 0.45);
  background: rgba(250, 204, 21, 0.12);
}
.settings-pf-access-banner__intro {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
}
.settings-pf-access-banner__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.settings-pf-access-banner__btn {
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
}
.settings-pf-access-banner__btn--grant {
  background: #fff !important;
  color: #0a0a0a !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-weight: 600;
}
body.light .settings-pf-access-banner__btn--grant {
  background: #111 !important;
  color: #fff !important;
}
.settings-pf-access-banner__status {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--muted, #8a8f98);
}
.settings-pf-access-explain-sheet.mobile-bottom-sheet {
  width: 100%;
  max-width: none;
  border-radius: 16px 16px 0 0;
  max-height: min(92vh, 720px);
  padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
  display: flex;
  flex-direction: column;
  min-height: 0;
  box-sizing: border-box;
}
.settings-pf-access-explain__body {
  padding: 0 16px 8px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.settings-pf-access-explain__foot {
  display: flex;
  gap: 10px;
  padding: 12px 16px 4px;
  flex-shrink: 0;
  border-top: 1px solid var(--line, rgba(255, 255, 255, 0.08));
}

html.mobile-shell .activity-notif-feed .activity-notif-row {
  padding: 12px 16px !important;
  border-bottom-color: rgba(255, 255, 255, 0.09);
}
html.mobile-shell body.light .activity-notif-feed .activity-notif-row {
  border-bottom-color: var(--line, rgba(0, 0, 0, 0.1));
}
html.mobile-shell .activity-fr-summary {
  margin: 0 0 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  padding: 12px 16px !important;
}
html.mobile-shell body.light .activity-fr-summary {
  border-bottom-color: var(--line, rgba(0, 0, 0, 0.1));
}
body.light .activity-notif-section__title {
  color: var(--notif-section-fg, var(--text));
}
.activity-more-btn {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  border: none;
  background: transparent;
  color: var(--link, #e8e8e8);
  font: inherit;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 6px 16px 4px;
  cursor: pointer;
}
html.mobile-shell .page-stack-root--notifications .activity-more-btn {
  padding: 4px 16px max(4px, env(safe-area-inset-bottom, 0px));
}
.activity-more-btn__chev {
  display: block;
  color: var(--link, #e8e8e8);
  opacity: 0.9;
  margin: 0 auto 1px;
}
.activity-more-btn__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--link, #e8e8e8);
}
.desk-col__scroll .activity-notif-feed .activity-more-btn {
  padding: 8px 14px 12px;
}
body.light .activity-more-btn,
body.light .activity-more-btn__chev,
body.light .activity-more-btn__label {
  color: var(--link, #0064c2);
}

.compose-modal__topic-slot--collab {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  min-height: 36px;
}
.compose-modal__topic-slot--collab .compose-modal__topic-input {
  flex: 1 1 0;
  min-width: 96px;
  margin: 0;
}
.compose-collab-picked {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 0;
  flex: 0 1 auto;
  min-width: 0;
  max-width: min(52%, 280px);
  align-items: center;
}
.compose-collab-picked--inline {
  flex-wrap: nowrap;
  overflow: hidden;
}
.compose-collab-picked--sheet {
  flex-wrap: wrap;
  max-width: 100%;
  margin-bottom: 8px;
}
.compose-collab-picked--expanded {
  flex-wrap: wrap;
  max-width: min(100%, 360px);
}
.compose-collab-summary-btn {
  border: none;
  background: transparent;
  color: var(--link, #e8e8e8);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 4px 2px;
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.compose-collab-picked__collapse {
  border: none;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 0 4px 4px;
  cursor: pointer;
  flex-shrink: 0;
}
body.light .compose-collab-summary-btn {
  color: var(--link, #0064c2);
}
.compose-collab-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.14);
  flex-shrink: 0;
}
.compose-collab-chip__name {
  color: var(--link);
  font-weight: 600;
  font-size: 12px;
}
.compose-collab-chip__x {
  border: none;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.compose-collab-dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 30;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  max-height: 260px;
  overflow: auto;
}
.compose-collab-dropdown__hint {
  padding: 10px 12px;
  color: var(--muted);
  font-size: 13px;
}
.compose-collab-dropdown__row {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: inherit;
  font: inherit;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  text-align: left;
  cursor: pointer;
}
.compose-collab-dropdown__row:last-child {
  border-bottom: none;
}
.compose-collab-dropdown__row.is-selected {
  background: rgba(79, 124, 255, 0.14);
}
.compose-collab-dropdown__av {
  border-radius: 999px;
  object-fit: cover;
}
.compose-collab-dropdown__txt {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.compose-collab-dropdown__u {
  font-weight: 600;
}
.compose-collab-dropdown__d {
  font-size: 12px;
  color: var(--muted);
}
.compose-collab-dropdown__state {
  margin-left: auto;
  color: var(--link);
  font-weight: 700;
}
.compose-collab-sheet__head {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 10px;
  border-bottom: 1px solid var(--line);
}
.compose-collab-sheet__title {
  margin: 0;
  font-size: 16px;
  text-align: center;
}
.compose-collab-sheet__body {
  max-height: min(72vh, 620px);
  padding: 10px 12px 12px;
}
.compose-collab-sheet__search-wrap {
  margin-bottom: 8px;
}
.compose-collab-sheet__search {
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  background: var(--surface, #181818);
  color: var(--text, #f3f5f7);
  font: inherit;
  font-size: 16px;
}
html.mobile-shell body.light .compose-collab-sheet__search {
  background: #fff;
  color: #0f172a;
  border-color: var(--line, rgba(0, 0, 0, 0.12));
}
.compose-collab-sheet__search-wrap {
  width: 100%;
  max-width: 100%;
}
.compose-collab-sheet .compose-collab-sheet__body {
  max-height: min(78dvh, 680px);
}
html.mobile-shell .compose-collab-sheet-overlay {
  align-items: flex-end;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
html.mobile-shell .compose-collab-sheet-overlay .compose-collab-sheet.mobile-bottom-sheet {
  max-height: calc(100dvh - max(24px, var(--app-vv-top, 0px)) - max(0px, var(--app-kb-offset, 0px)));
  margin-bottom: max(0px, min(120px, calc(var(--app-kb-offset, 0px) * 0.92)));
  transition: margin-bottom 0.12s ease-out, max-height 0.12s ease-out;
}
.compose-collab-sheet__hint {
  padding: 12px 4px;
  color: var(--muted);
  font-size: 14px;
}
.compose-collab-sheet__row {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: inherit;
  font: inherit;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 2px;
  text-align: left;
}
.compose-collab-sheet__row.is-selected {
  background: rgba(79, 124, 255, 0.12);
}
.compose-collab-sheet__av {
  border-radius: 999px;
  object-fit: cover;
}
.compose-collab-sheet__txt {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.compose-collab-sheet__u {
  font-weight: 700;
}
.compose-collab-sheet__d {
  color: var(--muted);
  font-size: 13px;
}
.compose-collab-sheet__state {
  margin-left: auto;
  color: var(--link);
  font-weight: 700;
}
html.mobile-shell body.light .activity-fr-summary {
  background: transparent !important;
  border-bottom-color: var(--line);
}

html.mobile-shell .profile-menu-overlay {
  background: rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
html.mobile-shell .profile-menu-overlay .profile-header-overflow-menu.post-menu {
  top: auto !important;
  bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
  left: 12px !important;
  right: 12px !important;
  margin: 0 !important;
  max-height: min(78vh, 560px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
}

html.mobile-shell .menu.post-menu:not(.in-modal):not(.profile-header-overflow-menu),
html.mobile-shell .menu.repost-menu:not(.in-modal) {
  top: auto !important;
  bottom: max(0px, env(safe-area-inset-bottom, 0px) - 2px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  max-height: min(78vh, 560px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px 16px 0 0;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  margin: 0 !important;
  padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px)) !important;
}
html.mobile-shell .unfollow-modal-overlay {
  align-items: flex-end;
  justify-content: stretch;
  padding: 0;
}
html.mobile-shell .unfollow-modal {
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 16px 16px 0 0;
  border-left: none;
  border-right: none;
  border-bottom: none;
  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .mobile-bottom-sheet--menu-post {
  padding: 0 0 calc(10px + env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .mobile-bottom-sheet--menu-post .menu {
  background: transparent;
}
html.mobile-shell .mobile-bottom-sheet--menu-post .menu-row {
  padding-left: 16px;
  padding-right: 16px;
}
html.mobile-shell .mobile-bottom-sheet--post-actions .post-menu.in-modal {
  padding: 2px 8px calc(2px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Mobile: Settings-Detail als volle Bottom-Sheet-Breite */
html.mobile-shell .modal-overlay--settings-detail {
  align-items: flex-end !important;
  justify-content: stretch !important;
  padding: 0 !important;
}
html.mobile-shell .modal.modal--settings-detail-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  border-left: none !important;
  border-right: none !important;
}
html.mobile-shell body:not(.light) .modal.modal--settings-detail-inner .post-btn,
html.mobile-shell body:not(.light) .modal.modal--settings-detail-inner .settings-rmodal-done,
html.mobile-shell body:not(.light) .modal .post-btn.settings-account-pwd-submit {
  background: #fff !important;
  color: #0a0a0a !important;
}
html.mobile-shell body:not(.light) .modal-overlay--settings-detail .post-btn:not(.post-btn--ghost) {
  background: #fff !important;
  color: #0a0a0a !important;
}
html.mobile-shell body.light .modal.modal--settings-detail-inner .post-btn,
html.mobile-shell body.light .modal.modal--settings-detail-inner .settings-rmodal-done,
html.mobile-shell body.light .modal .post-btn.settings-account-pwd-submit {
  background: #111 !important;
  color: #fff !important;
}
html.mobile-shell body.light .modal-overlay--settings-detail .post-btn:not(.post-btn--ghost) {
  background: #111 !important;
  color: #fff !important;
}
/* Mobile: E-Mail/Telefon/Geburt+Geschlecht aus Settings als Bottom-Sheet */
html.mobile-shell .modal-overlay--settings-field-edit {
  align-items: flex-end !important;
  justify-content: stretch !important;
  padding: 0 !important;
}
html.mobile-shell .modal.modal--settings-field-edit {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  border-left: none !important;
  border-right: none !important;
}
html.mobile-shell body:not(.light) .modal.modal--settings-field-edit .settings-field-edit-save-btn {
  background: #fff !important;
  color: #0a0a0a !important;
}
html.mobile-shell body.light .modal.modal--settings-field-edit .settings-field-edit-save-btn {
  background: #111 !important;
  color: #fff !important;
}
/* Mobile: etwas Luft unter Primär-Button in Settings-Sheets */
html.mobile-shell .modal.modal--settings-field-edit .settings-field-edit-save-btn {
  margin-bottom: 20px !important;
}
html.mobile-shell .modal-overlay--settings-detail .modal-body > .post-btn:last-of-type:not(.post-btn--ghost),
html.mobile-shell .modal-overlay--settings-detail .modal-body .settings-account-pwd-submit {
  margin-bottom: 20px !important;
}

html.mobile-shell .modal-overlay.modal-overlay--report-wiz,
html.mobile-shell .modal-overlay.report-result-modal-overlay {
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  background: var(--bg, #000);
}
html.mobile-shell .modal-overlay.modal-overlay--report-wiz .modal.modal--report-wiz {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  border-radius: 0 !important;
  margin: 0 !important;
  border-left: none;
  border-right: none;
}
html.mobile-shell .modal-overlay.modal-overlay--report-wiz .report-wiz-body,
html.mobile-shell .modal-overlay.modal-overlay--report-wiz .report-wiz-body--allow-scroll {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
html.mobile-shell .modal-overlay.report-result-modal-overlay .modal.report-result-modal {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  height: 100dvh !important;
  border-radius: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-left: none;
  border-right: none;
}
html.mobile-shell .report-result-modal__body {
  flex: 1 1 auto;
  min-height: 0 !important;
}

/* Profil Mobil: ein gemeinsamer Scrollbereich (Header + Tabs + Feed) */
html.mobile-shell .page-stack-card.page-stack-card--profile-mob-merged {
  display: block;
  overflow: visible;
  min-height: 0;
}
html.mobile-shell .page-stack-body-flow--profile-mob-all {
  flex: 1 1 auto;
  min-height: 0;
  /* Tab-Inhalt ersetzen während weit gescrollt: Browser-Scroll-Anchoring sonst scrollTop kurz anpassen. */
  overflow-anchor: none;
}
html.mobile-shell .profile-mob-tab-surface[data-profile-mob-tab-surface="1"] {
  overflow-anchor: none;
}

/* Profil Mobil: Tab-Inhalt als 200%-Track schieben (ohne Opacity-Dimming) */
html.mobile-shell .profile-mob-tab-anim {
  overflow: hidden;
  min-height: 0;
  contain: layout;
}
html.mobile-shell .profile-mob-tab-anim__track {
  display: flex;
  flex-direction: row;
  width: 200%;
  flex-shrink: 0;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
html.mobile-shell .profile-mob-tab-anim__pane {
  min-width: 0;
  box-sizing: border-box;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
html.mobile-shell .profile-mob-tab-anim__pane--slide-col {
  flex: 0 0 50%;
  width: 50%;
  max-width: 50%;
}
@media (prefers-reduced-motion: reduce) {
  html.mobile-shell .profile-mob-tab-anim__track {
    transition: none !important;
    transform: none !important;
  }
}

/* Eigenes Profil — Instagram-ähnliche Mobil-Zeile */
html.mobile-shell .profile-header-block--mob-ig {
  padding: 4px 14px 12px;
  box-sizing: border-box;
}
html.mobile-shell .profile-header-block--mob-unified {
  padding: 6px 14px 12px;
  box-sizing: border-box;
}
/* Podcast-Cover beim Tab-Patch nicht mitrepainten (Fremdprofile). */
html.mobile-shell .profile-header-block--mob-unified .profile-podcast-card {
  isolation: isolate;
  transform: translateZ(0);
}
html.mobile-shell .profile-header-block--mob-unified .profile-header-block__top {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 12px;
  align-items: center;
}
html.mobile-shell .profile-header-block--mob-unified .profile-header-block__avatar-col {
  align-items: flex-start;
}
/* Vollbreiten-Zeile unter Avatar+Stats — Anzeigename nicht mehr auf 84px-Spalte begrenzt */
html.mobile-shell .profile-header-block__mob-dn {
  width: 100%;
  min-width: 0;
  margin-top: 6px;
  padding-bottom: 2px;
}
html.mobile-shell .profile-header-block__name--mob-wide {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  min-width: 0;
}
html.mobile-shell .profile-header-block__name--mob-wide .profile-header-block__display-name--mob-oneline {
  display: block;
}
html.mobile-shell .profile-header-block__avatar-name {
  margin-top: 4px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
  text-align: left;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html.mobile-shell .profile-header-block__name--mobile-hidden {
  display: none;
}
html.mobile-shell .profile-mob-site-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
}
html.mobile-shell .profile-mob-site-row__ig {
  flex-shrink: 0;
}
html.mobile-shell .profile-mob-ig__uname {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 10px;
}
html.mobile-shell .profile-mob-ig__mid {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
html.mobile-shell .profile-mob-ig__stats {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 14px;
  padding-right: 4px;
}
html.mobile-shell .profile-mob-ig__stat {
  flex: 0 0 auto;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
html.mobile-shell .profile-mob-ig__stat .profile-mob-ig__num,
html.mobile-shell .profile-mob-ig__stat .profile-mob-ig__lbl {
  text-align: right;
}
html.mobile-shell .profile-page-head__center--user {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
}
html.mobile-shell .profile-page-head__center-name {
  min-width: 0;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html.mobile-shell .profile-page-head__right {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
html.mobile-shell .profile-page-head__menu--notify-on {
  color: var(--accent, #0095f6);
}

/* Mobile Interests in einer Zeile (max 4 sichtbar + +N) */
html.mobile-shell .profile-header-block__interests {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  width: 100%;
  overflow: hidden;
}
html.mobile-shell .profile-interest-chip {
  min-width: 0;
  flex: 1 1 0;
  width: auto;
  max-width: none;
  padding: 6px 8px;
}
html.mobile-shell .profile-interest-chip--more {
  flex: 0 0 auto;
}
html.mobile-shell .profile-interest-chip__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html.mobile-shell .profile-interests-sheet__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 10px 12px calc(14px + env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .profile-mob-stats-tri {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  align-self: center;
  transform: translateY(-10px);
}
html.mobile-shell .profile-mob-stat-tile {
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 0;
  min-width: 0;
  text-align: center;
}
html.mobile-shell .profile-mob-stat-tile__num {
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.2;
}
html.mobile-shell .profile-mob-stat-tile__lbl {
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.2;
  white-space: nowrap;
}

/* Mobile Menüs als gruppierte Boxen */
html.mobile-shell .profile-overflow-sheet .menu.post-menu {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0 8px 10px;
}
html.mobile-shell .profile-overflow-sheet .menu-row {
  background: color-mix(in srgb, var(--surface) 92%, #2b3138);
  border-radius: 0;
  margin: 0;
  border-top: 1px solid var(--line);
}
html.mobile-shell .profile-overflow-sheet .menu-row:first-of-type,
html.mobile-shell .profile-overflow-sheet .menu-divider + .menu-row {
  border-top: none;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}
html.mobile-shell .profile-overflow-sheet .menu-row:last-of-type {
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
}
html.mobile-shell .profile-overflow-sheet .menu-divider {
  height: 10px;
  border: none;
  margin: 8px 0;
}
html.mobile-shell .ff-modal-overlay.ff-modal-overlay--mobile {
  padding: 0;
  align-items: flex-end;
  justify-content: stretch;
  width: 100%;
  max-width: 100%;
}
html.mobile-shell .ff-modal-overlay.ff-modal-overlay--mobile.ff-modal-overlay--mobile-full {
  align-items: stretch;
}
html.mobile-shell .ff-modal.ff-modal--mobile {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: min(88vh, 100dvh);
  border-radius: 16px 16px 0 0;
  border: 1px solid var(--line);
  border-bottom: none;
  box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.35);
}
html.mobile-shell .ff-modal.ff-modal--mobile-bottom-sheet {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
html.mobile-shell .ff-modal.ff-modal--mobile.ff-modal--mobile-fullscreen {
  height: 100dvh;
  max-height: 100dvh;
  border-radius: 0;
  border: none;
  box-shadow: none;
}
html.mobile-shell .ff-modal__sheet-handle {
  flex-shrink: 0;
}
html.mobile-shell .ff-modal__head-mobile {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 8px;
  min-height: var(--page-shell-title-height);
  padding: 0 8px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
html.mobile-shell .ff-modal__head-title-mobile {
  margin: 0;
  text-align: center;
  font-size: 1.02rem;
  font-weight: 700;
}
html.mobile-shell .ff-modal__tabs--mobile {
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--surface);
}
html.mobile-shell .ff-modal.ff-modal--mobile-fullscreen .ff-modal__scroll--mobile {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.ff-modal-row.ff-modal-row--more-summary {
  border-bottom: none;
  opacity: 0.9;
}
.ff-modal-row.ff-modal-row--more-summary .ff-modal-row__main {
  cursor: default;
}

.profile-followed-by {
  margin-top: 10px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.35;
}
.profile-followed-by--row {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  min-width: 0;
}
.profile-followed-by__line {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text);
}
.profile-followed-by__plain {
  color: var(--muted);
  font-weight: 400;
}
.profile-followed-by__name,
.profile-followed-by__more {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: var(--text);
  font-weight: 700;
  cursor: pointer;
  display: inline;
  vertical-align: baseline;
}
.profile-followed-by__more {
  color: #3b82f6;
  font-weight: 600;
}
body.light .profile-followed-by__more {
  color: #2563eb;
}
/* Überlappende Avatare (kompakter als Follower-Zähler-Pile) */
.profile-followed-by-pile {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  flex-shrink: 0;
}
.profile-followed-by-pile__img {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--surface);
  box-sizing: border-box;
  object-fit: cover;
  flex-shrink: 0;
  margin-left: -7px;
  position: relative;
  z-index: 1;
}
.profile-followed-by-pile__img:nth-child(2) {
  z-index: 2;
}
.profile-followed-by-pile__img:nth-child(3) {
  z-index: 3;
}
.profile-followed-by-pile__img:first-child {
  margin-left: 0;
}

html.mobile-shell .page-stack-body-flow--notifications {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}
.post-reply-settings-sheet__head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}
.post-reply-settings-sheet__close {
  width: 36px;
  height: 36px;
  font-size: 22px;
}
.post-reply-settings-sheet__title {
  text-align: center;
  font-size: 15px;
  font-weight: 700;
}
.post-reply-settings-sheet__sp {
  width: 36px;
  height: 36px;
}
html.mobile-shell .profile-mob-ig__stat--static {
  cursor: default;
}
html.mobile-shell .profile-mob-ig__num {
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.2;
}
html.mobile-shell .profile-mob-ig__lbl {
  font-size: 0.72rem;
  color: var(--muted);
  line-height: 1.2;
}
html.mobile-shell .profile-mob-ig__avatar-col {
  flex-shrink: 0;
}
html.mobile-shell .profile-mob-ig__avatar-col .profile-header-block__avatar {
  width: 84px;
  height: 84px;
}
html.mobile-shell .profile-mob-ig__dn {
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 0.95rem;
}
html.mobile-shell .profile-mob-ig__bio {
  font-size: 0.92rem;
  line-height: 1.45;
  margin-bottom: 10px;
}
html.mobile-shell .profile-mob-ig__interests-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
html.mobile-shell .profile-mob-ig__interests-wrap .profile-header-block__interests {
  margin: 0;
}
html.mobile-shell .profile-mob-ig__website {
  margin-bottom: 8px;
  font-size: 0.9rem;
}
html.mobile-shell .profile-mob-ig__actions {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-top: 4px;
  margin-bottom: 8px;
}
html.mobile-shell .profile-mob-ig__btn {
  flex: 1;
  min-height: 44px;
  border-radius: 10px;
}
html.mobile-shell .profile-mob-ig__btn--sec {
  background: color-mix(in srgb, var(--surface) 88%, var(--muted));
  color: var(--text);
}
html.mobile-shell body.light .profile-mob-ig__btn--sec {
  background: rgba(0, 0, 0, 0.06);
}

html.mobile-shell .page-stack-root .center-title.page-stack-title.likes-page-head.likes-page-head--mob {
  display: grid !important;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  width: 100%;
  padding: 0 4px;
  box-sizing: border-box;
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.likes-page-head.likes-page-head--mob .likes-page-head__back.page-stack-title__search-back {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  grid-column: 1;
  justify-self: start;
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.likes-page-head.likes-page-head--mob .likes-page-head__title.page-stack-title__center {
  grid-column: 2;
  justify-self: center;
  text-align: center;
  width: auto;
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.likes-page-head.likes-page-head--mob .likes-page-head__spacer {
  grid-column: 3;
  justify-self: end;
}
html.mobile-shell .likes-page-head__title {
  text-align: center;
  font-weight: 700;
  font-size: 1.05rem;
}
html.mobile-shell .likes-page-head__spacer {
  width: 44px;
}
html.mobile-shell .messages-head-mobile__back,
html.mobile-shell .likes-page-head__back,
html.mobile-shell .notifications-head-mobile__back,
html.mobile-shell .profile-page-head__back,
html.mobile-shell .profile-page-title--other.page-stack-title--search .app-backbtn.page-stack-title__search-back,
html.mobile-shell .chat-back,
html.mobile-shell .thread-view-head__back {
  font-size: 1rem !important;
  min-width: 44px !important;
  min-height: 44px !important;
}
html.mobile-shell .app-backbtn {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 4px;
  min-width: auto !important;
  padding: 0 6px !important;
  white-space: nowrap;
}
html.mobile-shell .app-backbtn__icon {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
}
html.mobile-shell .app-backbtn__text {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
html.mobile-shell .profile-page-head__back,
html.mobile-shell .profile-page-title--other.page-stack-title--search .app-backbtn.page-stack-title__search-back,
html.mobile-shell .thread-view-head__back,
html.mobile-shell .notifications-head-mobile__back {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  width: auto !important;
  padding: 0 6px !important;
}
html.mobile-shell .profile-page-head__back .app-backbtn__text,
html.mobile-shell .profile-page-title--other.page-stack-title--search .app-backbtn .app-backbtn__text,
html.mobile-shell .thread-view-head__back .app-backbtn__text,
html.mobile-shell .notifications-head-mobile__back .app-backbtn__text {
  display: inline;
}
html.mobile-shell .page-stack-title--search {
  position: relative;
}
html.mobile-shell .page-stack-title--search .page-stack-title__center {
  text-align: center;
  width: 100%;
}
html.mobile-shell .page-stack-title__search-back {
  position: absolute !important;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
html.mobile-shell .profile-media-feed-mob__back.app-backbtn,
html.mobile-shell .app-backbtn--search {
  width: auto !important;
  height: 36px !important;
  border-radius: 10px !important;
}
html.mobile-shell .saved-page-header__menu-back {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  flex-wrap: nowrap;
  white-space: nowrap;
}
html.mobile-shell .saved-page-header__menu-back .app-backbtn__icon,
html.mobile-shell .saved-page-header__menu-back .app-backbtn__text {
  display: inline-block;
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.page-stack-title--scheduled-content.page-stack-title--scheduled-content-mob {
  display: grid !important;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  width: 100%;
  min-height: var(--page-shell-title-height);
  padding-inline: 6px;
  box-sizing: border-box;
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.page-stack-title--scheduled-content.page-stack-title--scheduled-content-mob .app-backbtn {
  grid-column: 1;
  justify-self: start;
  position: static !important;
  transform: none !important;
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.page-stack-title--scheduled-content.page-stack-title--scheduled-content-mob .page-stack-title__center {
  grid-column: 2;
  justify-self: center;
  text-align: center;
}
html.mobile-shell .page-stack-root .center-title.page-stack-title.page-stack-title--scheduled-content.page-stack-title--scheduled-content-mob .page-stack-title__side {
  grid-column: 3;
}
html.mobile-shell .feed-main .meta .verified-inline-row.feed-meta-author-row .feed-author-name:hover {
  text-decoration: none;
}

/* ——— Mobile: kein horizontales Scrollen (außer Medien-Karussell), kein Zoom durch kleine Inputs ——— */
html.mobile-shell {
  overflow-x: clip;
  max-width: 100vw;
}
html.mobile-shell body {
  overflow-x: clip;
  max-width: 100vw;
  touch-action: manipulation;
}
html.mobile-shell #app {
  overflow-x: clip;
  max-width: 100vw;
}
html.mobile-shell .post-carousel-viewport,
html.mobile-shell .post-carousel-strip-scroll,
html.mobile-shell .post-media-carousel {
  touch-action: pan-x pan-y;
  overflow-x: auto;
}
/* Mobile Feed: Multi-Bild-Strip beidseitig bis zum Screen-Rand nutzbar. */
html.mobile-shell .feed-item .feed-main .post-media-strip:not(.post-media-strip--profile-mob) {
  --feed-carousel-bleed: 52px;
  width: calc(100% + (var(--feed-carousel-bleed) * 2));
  margin-left: calc(var(--feed-carousel-bleed) * -1);
  margin-right: calc(var(--feed-carousel-bleed) * -1);
}
html.mobile-shell .feed-item .feed-main .post-media-strip:not(.post-media-strip--profile-mob) .post-carousel-strip-track::before,
html.mobile-shell .feed-item .feed-main .post-media-strip:not(.post-media-strip--profile-mob) .post-carousel-strip-track::after {
  content: "";
  flex: 0 0 var(--feed-carousel-bleed);
}
html.mobile-shell .feed-item .feed-main .post-media-strip:not(.post-media-strip--profile-mob) .post-carousel-slide-strip {
  scroll-margin-inline-start: var(--feed-carousel-bleed);
}
/* Desktop Feed: gleicher Karussell-Bleed wie Mobil — Strip nutzt die volle Kartenbreite (bis an Avatar-/Menü-Rand). */
html:not(.mobile-shell) .feed-item .feed-main .post-media-strip:not(.post-media-strip--profile-mob) {
  --feed-carousel-bleed: 52px;
  width: calc(100% + (var(--feed-carousel-bleed) * 2));
  margin-left: calc(var(--feed-carousel-bleed) * -1);
  margin-right: calc(var(--feed-carousel-bleed) * -1);
}
html:not(.mobile-shell) .feed-item .feed-main .post-media-strip:not(.post-media-strip--profile-mob) .post-carousel-strip-track::before,
html:not(.mobile-shell) .feed-item .feed-main .post-media-strip:not(.post-media-strip--profile-mob) .post-carousel-strip-track::after {
  content: "";
  flex: 0 0 var(--feed-carousel-bleed);
}
html:not(.mobile-shell) .feed-item .feed-main .post-media-strip:not(.post-media-strip--profile-mob) .post-carousel-slide-strip {
  scroll-margin-inline-start: var(--feed-carousel-bleed);
}
/* Profil-Medien-Overlay: wie oben pan-x pan-y (kein Override auf nur pan-x) */
html.mobile-shell .profile-media-feed-mob .post-carousel-strip-scroll--profile-mob {
  touch-action: pan-x pan-y;
}

html.mobile-shell input.text-input,
html.mobile-shell textarea.text-input,
html.mobile-shell select.text-input,
html.mobile-shell .compose-modal__topic-input,
html.mobile-shell .compose-modal__textarea,
html.mobile-shell .compose-modal__textarea-mirror,
html.mobile-shell .reply-modal__textarea,
html.mobile-shell .reply-modal__textarea-mirror,
html.mobile-shell .search-page__input,
html.mobile-shell .messages-inbox-search,
html.mobile-shell [contenteditable="true"] {
  font-size: 16px !important;
  letter-spacing: 0 !important;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0, "clig" 0, "kern" 0;
  -webkit-font-smoothing: antialiased;
}

/* Vollbild-Menü: Surface statt reines Schwarz */
html.mobile-shell .mobile-fullscreen-menu {
  background: #181818;
}
html.mobile-shell body.light .mobile-fullscreen-menu {
  background: var(--surface, #fff);
}
html.mobile-shell .mobile-fullscreen-menu__back-btn {
  font-size: 1.45rem !important;
  min-width: 44px !important;
  min-height: 44px !important;
}

/* Mobile App-Feeling: kein Text markieren außerhalb von Eingabefeldern */
html.mobile-shell *:not(input):not(textarea):not([contenteditable="true"]) {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* Feed-Builder: „Fertig“ höher über Safe-Area */
html.mobile-shell .feed-builder-actions {
  padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .post-btn.feed-builder-done {
  min-height: 46px;
  margin-bottom: 4px;
}

/* Antwort-Modal: wie Compose Vollbild */
html.mobile-shell .reply-modal-overlay.compose-overlay {
  align-items: stretch;
}
html.mobile-shell .reply-modal-overlay.compose-overlay .compose-modal--reply {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 100%;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  background: var(--surface) !important;
}
html.mobile-shell body.light .reply-modal-overlay.compose-overlay .compose-modal--reply {
  background: var(--surface) !important;
}
html.mobile-shell .reply-modal-overlay.compose-overlay .compose-modal--reply .compose-modal__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
html.mobile-shell .reply-modal-overlay.compose-overlay .compose-modal--reply .compose-modal__foot {
  flex-shrink: 0;
}
html.mobile-shell .reply-modal-overlay.compose-overlay .compose-modal--reply .compose-modal__reply-quote-column {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
html.mobile-shell .reply-modal-overlay.compose-overlay .compose-modal--reply .compose-modal__thread-stack--reply-chain .reply-modal__quoted-meta {
  margin-bottom: 2px;
}
html.mobile-shell .reply-modal-overlay.compose-overlay .compose-modal--reply .compose-modal__thread-stack--reply-chain .reply-modal__quoted-body {
  margin-bottom: 0 !important;
}
html.mobile-shell .reply-modal-overlay.compose-overlay .compose-modal--reply .compose-modal__reply-compose-column {
  padding-top: 4px;
}

/* Beitragsaktivität: Vollbild Mobil */
html.mobile-shell .post-activity-overlay {
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  background: rgba(0, 0, 0, 0.55);
}
html.mobile-shell .post-activity-modal {
  width: 100%;
  max-width: none;
  min-height: 100dvh;
  height: 100dvh;
  max-height: 100dvh;
  border-radius: 0;
  border: none;
  display: flex;
  flex-direction: column;
  box-shadow: none;
}
html.mobile-shell .post-activity-modal__head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  padding: max(8px, env(safe-area-inset-top, 0px)) 6px 12px;
  border-bottom: 1px solid var(--line);
  position: relative;
}
html.mobile-shell .post-activity-modal__title {
  text-align: center;
  grid-column: 2;
}
html.mobile-shell .post-activity-modal__back-mob {
  grid-column: 1;
  justify-self: start;
}
html.mobile-shell .post-activity-modal__close {
  position: static;
  transform: none;
  grid-column: 3;
  justify-self: end;
}
html.mobile-shell .post-activity-modal__body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.post-activity-modal__back-mob {
  display: none;
}
html.mobile-shell .post-activity-modal__back-mob {
  display: inline-flex;
}

/* Sperre / erzwungenes Passwort: randlose Vollfläche */
html.mobile-shell .modal-overlay--mobile-auth-blocker {
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  background: var(--surface, #0f0f12) !important;
}
html.mobile-shell .modal--mobile-auth-blocker {
  width: 100% !important;
  max-width: none !important;
  min-height: 100dvh !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
}
html.mobile-shell .modal--mobile-auth-blocker .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
html.mobile-shell .force-pwd-overlay.modal-overlay--mobile-auth-blocker {
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 !important;
  background: rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
html.mobile-shell .force-pwd-overlay .modal.force-pwd-modal-box {
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 0 !important;
  max-height: min(88vh, 100dvh) !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 16px 16px 0 0 !important;
  box-shadow: none !important;
  background: var(--surface, #0f0f12) !important;
  overflow: hidden !important;
}
html.mobile-shell .force-pwd-modal-body {
  max-height: min(88vh, 100dvh) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding: 14px 16px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
}

html.mobile-shell .sanction-screen {
  min-height: 100dvh;
  padding: max(20px, env(safe-area-inset-top, 0px)) 16px calc(28px + env(safe-area-inset-bottom, 0px));
  align-items: stretch;
}
html.mobile-shell .sanction-screen__inner {
  max-width: none;
  flex: 1;
}
html.mobile-shell .sanction-screen--status-stack .sanction-status-header {
  margin-top: 40px;
}
html.mobile-shell .sanction-screen--status-stack .sanction-status-body {
  margin-top: 40px;
}
html.mobile-shell .sanction-screen--status-stack .sanction-status-footer {
  padding-bottom: max(16px, calc(12px + env(safe-area-inset-bottom, 0px)));
}
html.mobile-shell .mobile-bottom-sheet-overlay--sanction-appeal {
  z-index: 260520;
  padding: 0 !important;
}
html.mobile-shell .mobile-bottom-sheet--sanction-appeal {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 16px 16px 0 0 !important;
  padding: 0 0 env(safe-area-inset-bottom, 0px) !important;
}
html.mobile-shell .sanction-wizard--mobile {
  border: none;
  border-radius: 0;
  background: transparent;
  padding: 8px 16px 14px;
}

/* Kurz-Hinweise (showUiMessage): zentriert, Glas-Optik — nicht unten am Rand */
html.mobile-shell .modal-overlay--ui-hint-ios {
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(0, 0, 0, 0.35) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
html.mobile-shell body.light .modal-overlay--ui-hint-ios {
  background: rgba(0, 0, 0, 0.2) !important;
}
html.mobile-shell .ui-hint-ios-card {
  width: 100%;
  max-width: 300px;
  padding: 20px 18px 16px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface, #1c1c1e) 78%, transparent);
  border: 1px solid color-mix(in srgb, var(--line, #fff) 12%, transparent);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(20px) saturate(1.2);
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  text-align: center;
  box-sizing: border-box;
}
html.mobile-shell body.light .ui-hint-ios-card {
  background: color-mix(in srgb, #fff 82%, transparent);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.12);
}
html.mobile-shell .ui-hint-ios-card__msg {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.45;
  color: var(--text);
}
html.mobile-shell .ui-hint-ios-card--warn {
  text-align: left;
}
html.mobile-shell .ui-hint-ios-card__msg-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 16px;
  text-align: left;
}
html.mobile-shell .ui-hint-ios-card__msg-row .ui-hint-ios-card__msg {
  margin: 0;
  flex: 1;
  min-width: 0;
  text-align: left;
}
html.mobile-shell .ui-hint-ios-card__msg-row .ui-msg-warn-tri {
  flex-shrink: 0;
  margin-top: 1px;
  color: #ffb020;
}
html.mobile-shell .ui-hint-ios-card__btn {
  width: 100%;
  padding: 12px 16px;
  border: none;
  border-radius: 12px;
  background: #fff;
  color: #0a0a0a;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  font: inherit;
}
html.mobile-shell body.light .ui-hint-ios-card__btn {
  background: #0f1115;
  color: #fff;
}
.action-feedback-modal__ok {
  background: #fff !important;
  border-color: #fff !important;
  color: #0a0a0a !important;
}
body.light .action-feedback-modal__ok {
  background: #0f1115 !important;
  border-color: #0f1115 !important;
  color: #fff !important;
}

/* Einstellungen: Sprache oben (Mobil sichtbar); Duplikat unter „Weitere“ ausblenden */
.settings-mob-lang-row {
  display: none;
}
html.mobile-shell .settings-mob-lang-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface, #111) 96%, var(--muted));
  border: 1px solid var(--line);
}
html.mobile-shell .settings-mob-lang-row__btns {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
html.mobile-shell .settings-mob-lang-row .post-btn--sm.is-active {
  outline: 2px solid var(--accent, #0095f6);
}
html.mobile-shell .settings-more-lang-row {
  display: none !important;
}

html.mobile-shell .settings-inline-back--hidden-words-mob {
  display: none !important;
}

html.mobile-shell .mobile-bottom-sheet__row {
  justify-content: space-between;
}
html.mobile-shell .mobile-bottom-sheet__check {
  font-weight: 700;
  color: var(--accent, #0095f6);
}

/* Profil-⋯: Bottom-Sheet mit Griff (kein --anchoring / kein JS-Positionieren) */
html.mobile-shell .profile-menu-overlay--mobile-sheet {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  width: 100vw;
  max-width: 100vw;
  box-sizing: border-box;
}
html.mobile-shell .mobile-bottom-sheet--profile-overflow-menu {
  width: 100vw !important;
  max-width: 100vw !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 16px 16px 0 0 !important;
}
html.mobile-shell .mobile-bottom-sheet__thread-actions-menu .menu-row {
  padding-left: 18px;
  padding-right: 18px;
}
html.mobile-shell .mobile-bottom-sheet--scheduled-post-menu {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  border-left: none !important;
  border-right: none !important;
}
html.mobile-shell .mobile-bottom-sheet-overlay--follow-lists-hint {
  width: 100vw;
  max-width: 100vw;
  box-sizing: border-box;
}
html.mobile-shell .profile-overflow-sheet {
  width: 100%;
  max-width: 100%;
  max-height: min(88vh, 100dvh);
  background: var(--surface, #0f0f12);
  border-radius: 16px 16px 0 0;
  border: 1px solid var(--line);
  border-bottom: none;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
html.mobile-shell .profile-overflow-sheet__handle {
  width: 40px;
  height: 5px;
  border-radius: 3px;
  background: rgba(127, 127, 127, 0.35);
  margin: 10px auto 6px;
  flex-shrink: 0;
}
html.mobile-shell .profile-overflow-sheet__title {
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  padding: 0 16px 8px;
  flex-shrink: 0;
}
html.mobile-shell .profile-menu-overlay--mobile-sheet .profile-header-overflow-menu.profile-header-overflow-menu--mobile-sheet {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-height: min(72vh, 520px);
  margin: 0 !important;
  border-radius: 0;
  border: none;
  box-shadow: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Compose „Optionen“: eigenes Bottom-Sheet über dem Vollbild-Compose (siehe #modal-layer-Regel oben) */
html.mobile-shell .mobile-bottom-sheet-overlay--compose-options {
  z-index: 260760;
  align-items: flex-end;
}
html.mobile-shell .mobile-bottom-sheet--compose-options {
  background: #17181d;
  border-color: rgba(255, 255, 255, 0.06);
  padding: 0 14px calc(14px + env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__block {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin: 0;
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__block:first-of-type {
  border-top: none;
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__caption {
  padding: 8px 14px 4px;
  margin: 0;
  font-size: 12px;
}
html.mobile-shell .mobile-bottom-sheet--compose-options .mobile-bottom-sheet__title {
  text-align: left;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.72);
  padding: 2px 4px 6px;
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__block--mobile-hero {
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  overflow: hidden;
  background: #111216;
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__row {
  padding: 11px 12px;
  font-size: 14px;
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__row + .compose-options-popover__row {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__check {
  width: auto;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.92);
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__check--empty {
  visibility: visible;
  color: rgba(255, 255, 255, 0.42);
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__mobile-done-wrap {
  padding: 10px 2px 0;
}
html.mobile-shell .mobile-bottom-sheet--compose-options .compose-options-popover__mobile-done {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 22px;
  background: #f4f5f7;
  color: #111216;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}
html.mobile-shell .mobile-bottom-sheet--compose-options {
  max-height: min(92dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 24px)) !important;
}
@supports not (height: 100dvh) {
  html.mobile-shell .mobile-bottom-sheet--compose-options {
    max-height: min(92vh, calc(100vh - env(safe-area-inset-top, 0px) - 24px)) !important;
  }
}
html.mobile-shell body.light .mobile-bottom-sheet--compose-options {
  background: var(--surface);
}
html.mobile-shell body.light .mobile-bottom-sheet--compose-options .compose-options-popover__block--mobile-hero {
  background: #fff;
  border-color: var(--line);
}
html.mobile-shell body.light .mobile-bottom-sheet--compose-options .compose-options-popover__row + .compose-options-popover__row {
  border-top-color: var(--line);
}

/* Einheitliche volle Breite für mobile Bottom-Sheets */
html.mobile-shell .profile-overflow-sheet,
html.mobile-shell .mobile-bottom-sheet {
  width: 100%;
  max-width: 100%;
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-radius: 16px 16px 0 0;
}
html.mobile-shell .profile-menu-overlay.profile-menu-overlay--mobile-sheet {
  padding: 0;
  align-items: flex-end;
}

/* Chat: Auswahlmodus nutzt Compose-Bereich */
.chat-compose-select-strip {
  display: flex;
  gap: 10px;
  width: 100%;
}
.chat-compose-select-btn {
  flex: 1;
  min-height: 42px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font: inherit;
  font-weight: 600;
  border-radius: 10px;
}
.chat-compose-select-btn--danger {
  color: var(--danger);
  border-color: color-mix(in srgb, var(--danger) 45%, var(--line));
}
.chat-compose-select-btn:disabled {
  opacity: 0.45;
}

/* Mobile Compose am unteren Rand */
html.mobile-shell .chat-compose-outer {
  padding-bottom: 0 !important;
  margin-bottom: 0;
}

/* Mobile Tab-Bar Plus-Button */
html.mobile-shell .mobile-tab-bar__plus-wrap {
  background: color-mix(in srgb, var(--surface, #181818) 84%, #fff 16%);
  border-radius: 8px;
  min-width: 42px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
html.mobile-shell .mobile-tab-bar__plus-wrap svg {
  stroke: color-mix(in srgb, var(--text, #f3f5f7) 64%, transparent);
}
html.mobile-shell body.light .mobile-tab-bar__plus-wrap {
  background: color-mix(in srgb, var(--surface, #fff) 90%, #000 10%);
}
html.mobile-shell body.light .mobile-tab-bar__plus-wrap svg {
  stroke: color-mix(in srgb, var(--text, #0f1115) 68%, transparent);
}

/* Mobile Chat: Name + Badge direkt nebeneinander */
html.mobile-shell .chat-list-name-row__inner {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
html.mobile-shell .chat-list-name-row__inner .name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html.mobile-shell .chat-list-name-row__inner .verified-badge-threads,
html.mobile-shell .chat-list-name-row__inner .verified-badge-threads__svg {
  flex-shrink: 0;
}

/* Mobile Chat: Viewport-gebunden (iOS Keyboard) */
html.mobile-shell .page-stack-card.page-stack-card--chat {
  display: flex !important;
  flex-direction: column !important;
}
html.mobile-shell .page-stack-card.page-stack-card--chat > .chat-page {
  flex: 1 1 auto;
  min-height: 0 !important;
}
html.mobile-shell .chat-page.chat-page--single-native {
  min-height: 0 !important;
  height: calc(var(--app-vh, 100dvh) - var(--page-shell-title-height));
  padding-bottom: 0 !important;
  display: flex;
  flex-direction: column;
}
html.mobile-shell .chat-page-head-fixed {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--surface);
}
/* iOS Safari Keyboard-Fallback: Header bleibt sichtbar, auch wenn Safari den Viewport hochschiebt */
html.mobile-shell body.chat-mobile-kb-open .chat-page-head-fixed {
  position: fixed !important;
  top: calc(env(safe-area-inset-top, 0px) + var(--app-vv-top, 0px));
  left: 0;
  right: 0;
  width: 100%;
  z-index: 80;
  background: var(--surface);
}
html.mobile-shell body.chat-mobile-kb-open .chat-page-main-scroll {
  margin-top: var(--page-shell-title-height);
}
html.mobile-shell .chat-page-main-scroll {
  min-height: 0;
  flex: 1 1 auto;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}
html.mobile-shell .chat-page-main-scroll__inner,
html.mobile-shell .chat-page-scroll-column {
  flex: 1 1 auto;
  min-height: 0 !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
html.mobile-shell .chat-thread.chat-thread--native-outer {
  flex: 1 1 auto;
  min-height: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
html.mobile-shell .chat-compose-outer {
  position: relative !important;
  flex-shrink: 0;
  padding-bottom: 0 !important;
  bottom: 0;
}
/* Tastatur zu: kleine Safe-Area-Luft, damit Input/Fab nicht abgeschnitten wird */
html.mobile-shell body.chat-mobile-route:not(.chat-mobile-kb-open) .chat-compose-outer {
  padding-bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
}
html.mobile-shell .chat-compose-bar {
  gap: 10px;
}
html.mobile-shell .chat-compose-bar__field {
  width: 100%;
}
html.mobile-shell .chat-compose-bar__lead-tools {
  left: 9px;
}
html.mobile-shell .chat-compose-bar__emoji,
html.mobile-shell .chat-compose-bar__img {
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
}
html.mobile-shell .chat-compose-bar__input {
  width: 100%;
  padding-left: 74px;
}
html.mobile-shell .chat-compose-bar.chat-compose-bar--active .chat-compose-bar__input {
  padding-left: 14px;
}

/* Senden-Icon klar sichtbar je Theme */
html.mobile-shell .chat-send-fab {
  width: 34px;
  height: 34px;
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}
html.mobile-shell body.light .chat-send-fab {
  background: #181818 !important;
  border-color: #181818 !important;
  color: #fff !important;
}
html.mobile-shell .chat-send-fab svg {
  width: 16px;
  height: 16px;
  stroke: currentColor !important;
  fill: none;
}

/* Profil-About auf Mobile als Bottom-Sheet */
html.mobile-shell .profile-about-sheet {
  width: 100%;
  max-width: 100%;
  border-radius: 16px 16px 0 0;
  border-left: none;
  border-right: none;
  border-bottom: none;
  min-height: 0;
}
html.mobile-shell .profile-about-sheet__head {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
}
html.mobile-shell .profile-about-sheet__back {
  font-size: 1.45rem !important;
  min-width: 44px !important;
  min-height: 44px !important;
}
html.mobile-shell .profile-about-modal__title--sheet {
  margin: 0;
  text-align: center;
}
html.mobile-shell .profile-about-modal__body--sheet {
  max-height: min(72dvh, 72vh);
  overflow-y: auto;
}

/* Problem melden: Vollbild Mobil, Kopfzeile ✕ | Titel | Senden */
.problem-feedback-mob-head {
  display: none;
}
.problem-feedback-overlay__close--desk {
  display: grid;
}
.problem-feedback-modal__title--desk-only {
  display: block;
}
.problem-feedback-modal__send--desk-only {
  display: inline-flex;
}
html.mobile-shell .problem-feedback-overlay {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0;
  z-index: 260660;
}
html.mobile-shell .problem-feedback-mob-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-shrink: 0;
  padding: max(10px, env(safe-area-inset-top, 0px)) 12px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: color-mix(in srgb, var(--surface, #0c0c0c) 92%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
html.mobile-shell body.light .problem-feedback-mob-head {
  border-bottom-color: var(--line);
  background: color-mix(in srgb, var(--surface, #fff) 94%, transparent);
}
html.mobile-shell .problem-feedback-mob-head__btn {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(30, 30, 30, 0.5);
  color: #f3f5f7;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
html.mobile-shell body.light .problem-feedback-mob-head__btn {
  border-color: rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.85);
  color: var(--text);
}
html.mobile-shell .problem-feedback-mob-head__title {
  margin: 0;
  flex: 1;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
  padding: 0 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html.mobile-shell .problem-feedback-mob-head__send {
  flex-shrink: 0;
  min-width: 0;
  padding: 10px 14px;
  border: none;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent, #0095f6) 88%, #000);
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}
html.mobile-shell .problem-feedback-mob-head__send:disabled {
  opacity: 0.45;
  cursor: default;
}
html.mobile-shell .problem-feedback-overlay__close--desk {
  display: none !important;
}
html.mobile-shell .problem-feedback-overlay__center {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 12px 14px max(16px, env(safe-area-inset-bottom, 0px));
  max-width: none;
  width: 100%;
  box-sizing: border-box;
}
html.mobile-shell .problem-feedback-modal__title--desk-only {
  display: none !important;
}
html.mobile-shell .problem-feedback-modal__shell {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: 14px;
}
html.mobile-shell .problem-feedback-modal__textarea {
  flex: 1 1 auto;
  min-height: 200px;
  resize: none;
}
html.mobile-shell .problem-feedback-modal__send--desk-only {
  display: none !important;
}

/* Block/Mute-Feedback: gleiche Glas-Karte wie showUiMessage */
html.mobile-shell .ui-hint-ios-card--action-feedback {
  max-width: 320px;
}
html.mobile-shell .ui-hint-ios-card__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 10px;
  color: var(--accent, #0095f6);
}
html.mobile-shell .ui-hint-ios-card__icon-wrap svg {
  width: 48px;
  height: 48px;
}
html.mobile-shell .ui-hint-ios-card__title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
}
html.mobile-shell .ui-hint-ios-card__msg--sub {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
}
html.mobile-shell .action-feedback-modal-overlay--mob .ui-hint-ios-card__msg--sub {
  color: color-mix(in srgb, var(--text) 78%, var(--muted));
}

/* ——— Desktop: globale Hinweise oben rechts (Toast, ✕) ——— */
html.mobile-shell .desk-ui-toast-host {
  display: none !important;
}
html:not(.mobile-shell) .desk-ui-toast-host {
  position: fixed;
  top: max(16px, env(safe-area-inset-top, 0px));
  right: max(20px, env(safe-area-inset-right, 0px));
  left: auto;
  width: auto;
  max-width: min(380px, calc(100vw - var(--sidebar-reserved-width) - 40px));
  z-index: 260520;
  pointer-events: none;
  box-sizing: border-box;
}
html:not(.mobile-shell) .desk-ui-toast-host .desk-ui-toast {
  pointer-events: auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 12px 12px 16px;
  border-radius: 14px;
  background: var(--surface, #181818);
  border: 1px solid var(--line);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}
body.light html:not(.mobile-shell) .desk-ui-toast-host .desk-ui-toast {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}
html:not(.mobile-shell) .desk-ui-toast__msg {
  margin: 0;
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--text);
  padding-top: 2px;
}
html:not(.mobile-shell) .desk-ui-toast__msg-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
html:not(.mobile-shell) .desk-ui-toast__msg-row .desk-ui-toast__msg {
  flex: 1;
  min-width: 0;
  padding-top: 2px;
}
html:not(.mobile-shell) .desk-ui-toast__msg-row .ui-msg-warn-tri {
  flex-shrink: 0;
  margin-top: 1px;
  color: #ffb020;
}
html:not(.mobile-shell) .desk-ui-toast__x {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  margin: -4px -4px 0 0;
  border-radius: 10px;
}

/* ——— Desktop: Chat-Panel Kopf — Maximieren + ✕ nebeneinander ——— */
.desk-msg-panel__head-actions {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  flex-shrink: 0;
}
.desk-msg-panel__head > .desk-msg-panel__title {
  flex: 1;
  min-width: 0;
}
.desk-msg-panel__head--thread {
  flex-wrap: nowrap;
}
.desk-msg-panel__head--thread .desk-msg-panel__title {
  flex: 0 1 auto;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}

/* ——— Desktop-Dock: Chevron, Papierflugzeug, Avatare, „Nachrichten“ ——— */
.desk-msg-trigger__chev {
  order: 0;
}
.desk-msg-trigger__ic {
  order: 1;
}
.desk-msg-trigger__stack {
  order: 2;
}
.desk-msg-trigger__lab {
  order: 3;
}

/* ——— Mobil: „Infos zu diesem Profil“ ohne hellen Außenrand ——— */
html.mobile-shell .profile-about-overlay.modal-overlay {
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  background: var(--surface, #181818);
}
html.mobile-shell body.light .profile-about-overlay.modal-overlay {
  background: var(--surface, #fff);
}
html.mobile-shell .modal.profile-about-modal {
  border: none;
  box-shadow: none;
  border-radius: 0;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  min-height: 100%;
  margin: 0;
}

/* ——— Mobil: Compose-Emoji unten, volle Breite ——— */
html.mobile-shell .compose-modal .compose-emoji-popover {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  transform: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
  max-height: min(52vh, 420px);
  border-radius: 16px 16px 0 0;
  z-index: 260710;
  padding: 8px 12px calc(12px + env(safe-area-inset-bottom, 0px));
  border-left: none;
  border-right: none;
  border-bottom: none;
}
html.mobile-shell .compose-modal .compose-emoji-popover__title {
  text-align: center;
  margin-bottom: 8px;
}

/* ——— Mobil: Textanhang wie Vollbild-Compose (ohne extra Kasten-Rand) ——— */
html.mobile-shell .textattach-overlay {
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  background: var(--bg);
}
html.mobile-shell .textattach-sheet {
  width: 100%;
  max-width: 100%;
  height: 100dvh;
  min-height: 100dvh;
  max-height: 100dvh;
  border-radius: 0;
  border: none;
  box-shadow: none;
}
html.mobile-shell .textattach-body {
  padding-bottom: 0;
}
html.mobile-shell .textattach-head {
  padding: 12px 10px 12px 14px;
  padding-top: max(12px, env(safe-area-inset-top, 0px));
  border-bottom: 1px solid var(--line);
}

/* ——— Mobil: Ort-Auswahl wie Vollbild-Compose ——— */
html.mobile-shell .compose-overlay--location-picker .modal.modal-location {
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 100%;
  max-height: 100%;
  border-radius: 0;
  border: none;
  display: flex;
  flex-direction: column;
  box-shadow: none;
}
html.mobile-shell .compose-overlay--location-picker .modal-location .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/*
 * Desktop — Mehrspalt-Desk & 1:1-Chat: feste Spaltenhöhen, innere Scroller; ohne desk-main-doc-scroll.
 * Einspaltiger Document-Flow: main#main-content.desk-main-doc-scroll (folgender Block).
 */
html:not(.mobile-shell)
  main.content.content--page-stack:not(.desk-main-doc-scroll)
  .page-stack-route-bleed--single-native
  .page-stack-main-scroll:has(.page-stack-card--chat) {
  overflow: hidden;
}
html:not(.mobile-shell) main.content.content--page-stack .page-stack-card--chat .chat-page--single-native {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  max-height: none;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-feed-column-wrap.desk-feed-column-wrap--desk-outer-scroll {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-pane-column-wrap.desk-pane-column-wrap--desk-outer-scroll {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-feed-column-wrap.desk-feed-column-wrap--desk-outer-scroll .desk-feed-tabs-anchor {
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--bg);
  padding-bottom: 4px;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-pane-column-wrap.desk-pane-column-wrap--desk-outer-scroll > .desk-col-head {
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--bg);
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-split-row--equal {
  align-items: stretch;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-split-row:not(.desk-split-row--equal) {
  align-items: flex-start;
}
html:not(.mobile-shell) .desk-split-row--equal > .desk-feed-column-wrap,
html:not(.mobile-shell) .desk-split-row--equal > .desk-pane-column-wrap {
  min-height: 0;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-feed-card-row {
  flex: 1 1 0%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-feed-card-row > .desk-col.desk-col--feed {
  flex: 1 1 0%;
  min-height: var(--page-stack-card-height);
  height: auto;
  max-height: 100%;
  overflow: hidden;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-col__scroll--feed.desk-col__scroll {
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-pane-column-wrap .desk-col.desk-col--pane {
  flex: 1 1 0%;
  min-height: var(--page-stack-card-height);
  max-height: 100%;
  overflow: hidden;
}
html:not(.mobile-shell) main.content.content--desk:not(.desk-main-doc-scroll) .desk-pane-column-wrap .desk-col__scroll {
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}

@media (min-width: 981px) {
  /*
   * Document-Scroll: overflow-x darf nicht „hidden“ sein — sonst bricht position:sticky für Titel, Tabs und Pseudo-Ecken
   * (Chrome: hidden auf einer Achse erzeugt Scrollport-/Sticky-Einschränkungen).
   */
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll {
    align-items: stretch;
    max-width: 100%;
    overflow-x: visible;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll > .desk-split-root {
    flex: 0 0 auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    height: auto;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-split-row--single-main-scroll {
    flex: 0 0 auto;
    /* Mindesthöhe = sichtbarer Shell-Bereich, damit .desk-split-add-wrap (top:50%) wie bei Threads neben der Karte mittig sitzt */
    min-height: calc(100dvh - 12px);
    max-height: none;
    overflow: visible;
    align-items: flex-start;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll > .page-stack-root,
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll > .page-stack-root.page-stack-root--single-native {
    overflow: visible;
    min-height: 0;
    max-height: none;
    height: auto;
    flex: 0 0 auto;
    /* Gegen .page-stack-root { gap: 10px } (Desktop): sonst extra Abstand Shell-Titel ↔ Karte */
    gap: 0 !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-head-fixed {
    position: sticky;
    top: 0;
    z-index: 30;
    background: var(--bg);
    align-self: center;
    isolation: isolate;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll:has(.page-stack-head-fixed) {
    --desk-chrome-under-title: var(--page-shell-title-height);
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll:not(:has(.page-stack-head-fixed)) {
    --desk-chrome-under-title: 0px;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-route-bleed--single-native {
    flex: 0 0 auto;
    min-height: 0;
    height: auto;
    max-height: none;
    overflow: visible;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-main-scroll {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-main-scroll__inner {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  /*
   * Doc-Scroll: Karte behält immer border-radius — keine Umschaltung beim Scrollen (sonst springen die Ecken optisch).
   * Die oberen Rundungen verschwinden natürlich unter dem Sticky-Header, sobald der Inhalt nach oben wegscrollt.
   */
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-main-scroll__inner > .page-stack-card:not(.page-stack-card--chat) {
    flex: 0 0 auto !important;
    min-height: var(--page-stack-card-height) !important;
    height: auto !important;
    max-height: none !important;
    border: none !important;
    /* inset: 1px-Linie liegt IN der Karte — äußerer box-shadow würde seitlich unter den schmalen Sticky-Header ragen */
    box-shadow: inset 0 0 0 1px var(--line) !important;
    overflow: clip !important;
    border-radius: 26px !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-route-bleed--single-native .page-stack-body-flow.app-main-scroll {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    /* Nur visible: clip/hidden + visible kann zu eigenem Scrollport werden → Wheel bleibt in der Box, Sticky bricht */
    overflow-x: visible;
    overflow-y: visible;
    display: flex;
    flex-direction: column;
    position: relative;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card.page-stack-card--thread > .page-stack-body-flow {
    flex: 0 0 auto !important;
    overflow-x: visible;
    overflow-y: visible;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-route-bleed--single-native .search-page-card__toolbar-wrap,
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-route-bleed--single-native .messages-inbox-sticky-head,
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-route-bleed--single-native .page-stack-card.page-stack-card--topic .topic-page-tabs-wrap,
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-route-bleed--single-native .page-stack-card--thread > .thread-view-head {
    position: sticky;
    top: var(--desk-chrome-under-title);
    z-index: 15;
    background-color: var(--surface) !important;
    overflow: hidden;
    isolation: isolate;
    border-top-left-radius: 26px !important;
    border-top-right-radius: 26px !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-route-bleed--single-native .messages-requests-inline-head {
    position: sticky;
    top: var(--desk-chrome-under-title);
    z-index: 15;
    background-color: var(--surface) !important;
    overflow: hidden;
    isolation: isolate;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card--profile-split .page-stack-card__inner-clip {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    border-radius: 25px;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card__profile-top {
    position: relative;
    top: auto;
    border-bottom: 1px solid var(--line);
    padding-top: 0;
    box-sizing: border-box;
    background-color: var(--surface) !important;
    overflow: hidden;
    border-top-left-radius: 26px !important;
    border-top-right-radius: 26px !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card.page-stack-card--search {
    overflow: clip;
  }
  /*
   * Messages (Desktop Doc-Scroll): global .page-stack-body-flow hat flex:0 — hier muss der Flow die Kartenhöhe füllen,
   * sonst kollabiert die Chat-Liste (min-height:0 / Flex) trotz vorhandener Zeilen im DOM.
   */
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card.page-stack-card--messages {
    display: flex !important;
    flex-direction: column !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card.page-stack-card--messages .page-stack-body-flow.app-main-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100%;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: var(--surface);
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card.page-stack-card--messages .page-stack-body-flow.app-main-scroll > * {
    flex-shrink: 0;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-root--scheduled-content .page-stack-route-bleed--single-native,
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-root--scheduled-content .page-stack-main-scroll,
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-root--scheduled-content .page-stack-main-scroll__inner {
    flex: 1 1 0% !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-root--scheduled-content .page-stack-main-scroll__inner > .page-stack-card.page-stack-card--scheduled-content {
    flex: 1 1 0% !important;
    min-height: var(--page-stack-card-height) !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card.page-stack-card--scheduled-content .page-stack-body-flow.app-main-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-card.page-stack-card--scheduled-content .compose-scheduled-list--page {
    flex: 1 1 auto;
    min-height: 0;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-home-single-stack {
    overflow: visible;
    flex: 0 0 auto;
    min-height: 0;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-feed-tabs-anchor {
    position: sticky;
    top: 0;
    z-index: 30;
    background: var(--bg);
    isolation: isolate;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-feed-tabs-anchor .top-tabs.desk-feed-tabs-above {
    background-color: var(--bg) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll {
    --desk-feed-sticky-tabs: 52px;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-home-main-scroll {
    overflow: visible !important;
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-home-main-scroll__inner {
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-feed-column-wrap--single-outer {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-feed-column-wrap--single-outer .desk-feed-card-row {
    flex: 0 0 auto !important;
    overflow: visible !important;
    max-height: none !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-feed-column-wrap--single-outer .desk-feed-card-row > .desk-col.desk-col--feed.desk-col--feed-shell {
    min-height: var(--page-stack-card-height) !important;
    height: auto !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    border: none !important;
    box-shadow: inset 0 0 0 1px var(--line) !important;
    overflow: clip !important;
    border-radius: 26px !important;
  }
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-col__inner-scroll.desk-col__scroll--single-flow.desk-col__scroll--feed.desk-col__scroll {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding-top: 0;
    padding-bottom: 24px;
    position: relative;
  }

  /* Einzig main scrollt: alle bisherigen inneren „App-Scroller“ unterbinden (Home + page-stack), ohne Wheel-Weiterleitung */
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-home-single-stack .desk-col__inner-scroll.desk-col__scroll--single-flow.desk-col__scroll--feed.desk-col__scroll,
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-col__scroll--feed.desk-col__scroll,
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .page-stack-route-bleed--single-native .page-stack-body-flow.app-main-scroll {
    overflow-y: visible !important;
    overflow-x: visible !important;
    overscroll-behavior-y: auto !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }
  /*
   * „+“ neben der Home-Karte: fixed zum Viewport — unabhängig von absolut gefüllter Zeile (kein Sprung nach oben bei top:% ).
   */
  html:not(.mobile-shell) main#main-content.desk-main-doc-scroll .desk-split-row--single-main-scroll > .desk-split-add-wrap {
    position: fixed;
    z-index: 25;
    top: calc(12px + (100dvh - 12px) / 2);
    left: calc(
      var(--sidebar-reserved-width) + var(--desk-content-pad-left) + (100vw - var(--sidebar-reserved-width) - var(--desk-content-pad-left) - var(--desk-content-pad-right)) /
        2 + min(
          var(--page-stack-width),
          calc(100vw - var(--sidebar-reserved-width) - var(--desk-content-pad-left) - var(--desk-content-pad-right) - 24px)
        ) /
        2 +
        5px
    );
    transform: translateY(-50%);
    margin: 0;
  }
}

/* Block-Bestätigung (Profil-Menü) — Klassen wie in app.js: block-confirm__* */
.block-confirm__handle {
  width: 36px;
  height: 4px;
  border-radius: 999px;
  background: var(--hairline, rgba(255, 255, 255, 0.2));
  margin: 8px auto 4px;
  opacity: 0.85;
}
.block-confirm-overlay--desk .block-confirm__handle {
  display: none;
}
.modal.block-confirm-modal {
  max-width: 420px;
  width: min(100%, 420px);
  border-radius: 16px;
  background: var(--surface);
  border: 1px solid var(--hairline);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  padding: 20px 18px 18px;
  box-sizing: border-box;
}
.block-confirm__top {
  text-align: center;
}
.block-confirm__avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto 14px;
}
.block-confirm__title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 800;
  color: var(--text);
  line-height: 1.25;
}
.block-confirm__lead {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.block-confirm__row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  text-align: left;
  margin-bottom: 14px;
}
.block-confirm__row:last-of-type {
  margin-bottom: 20px;
}
.block-confirm__ic-wrap {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  color: var(--text);
  opacity: 0.92;
  display: flex;
  align-items: center;
  justify-content: center;
}
.block-confirm__ic {
  display: block;
}
.block-confirm__row-txt {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--text);
}
.block-confirm__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.block-confirm__btn {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  box-sizing: border-box;
}
.block-confirm__btn--primary {
  background: #fff;
  color: #181818;
}
.block-confirm__btn--secondary {
  background: #262626;
  color: #fff;
}
body.light .block-confirm__btn--secondary {
  background: #e8e8e8;
  color: #181818;
}
/* Desktop: gleiche horizontale Verschiebung wie andere .modal-overlay (Hauptspalte), kein symmetrisches padding:16px */
.block-confirm-overlay--desk.modal-overlay {
  padding-top: 16px;
  padding-bottom: 16px;
  padding-right: 16px;
  padding-left: calc(16px + var(--modal-content-shift-x, 0px));
}
html.mobile-shell .mobile-bottom-sheet.block-confirm-sheet {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 18px 18px 0 0 !important;
  padding: 0 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
}
html.mobile-shell .mobile-bottom-sheet.block-confirm-sheet .block-confirm__handle {
  margin-top: 10px;
}
html.mobile-shell .mobile-bottom-sheet.block-confirm-sheet .block-confirm__avatar {
  margin-top: 6px;
}

/* Einschränkung: Hinweis über Folgen/Erwähnen */
.profile-restrict-banner {
  margin: 0 0 12px;
  padding: 0 2px;
  font-size: 13px;
  line-height: 1.45;
}
.profile-restrict-banner__muted {
  color: #b0b0b0;
}
html:not(.dark) .profile-restrict-banner__muted {
  color: var(--muted);
}
.profile-restrict-banner__action {
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  margin-left: 4px;
  text-decoration: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
}
html:not(.dark) .profile-restrict-banner__action {
  color: var(--text);
}
.profile-restrict-banner__action:hover {
  opacity: 0.85;
}

/* Report-Wizard als Full-Width-Bottom-Sheet (Mobile) */
html.mobile-shell .mobile-bottom-sheet.mobile-bottom-sheet--report-wiz {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 18px 18px 0 0 !important;
  max-height: min(92dvh, 100dvh);
  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
}
html.mobile-shell .report-wiz-sheet-overlay {
  align-items: flex-end !important;
  justify-content: stretch !important;
  padding: 0 !important;
}

/* Kommentar-Bottom-Sheet (Mobile) */
.thread-comment-node__author-badge {
  margin-left: 6px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}
html.mobile-shell .comments-sheet.mobile-bottom-sheet.comments-sheet--panel {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-left: none !important;
  border-right: none !important;
  display: flex;
  flex-direction: column;
  max-height: min(58dvh, 520px, var(--app-vh, 9999px));
  overflow: hidden;
  padding: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  transition: max-height 0.22s ease, height 0.22s ease, border-radius 0.2s ease;
}
html.mobile-shell .comments-sheet.mobile-bottom-sheet.comments-sheet--panel.comments-sheet--expanded {
  /* Nicht volle lvh: Kopfzeile bleibt sichtbar; --app-vh = sichtbare Höhe (Tastatur) */
  max-height: min(92dvh, var(--app-vh, 100dvh)) !important;
  height: min(92dvh, var(--app-vh, 100dvh));
  border-radius: 0 !important;
}
html.mobile-shell .comments-sheet__drag-strip {
  flex-shrink: 0;
  padding: 8px 0 4px;
}
html.mobile-shell .comments-sheet__handle-bar {
  width: 36px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.38);
  margin: 0 auto;
}
html.mobile-shell .comments-sheet__head {
  flex-shrink: 0;
}
html.mobile-shell .comments-sheet__head-row {
  display: flex;
  align-items: center;
  padding: 0 4px 2px;
  gap: 0;
}
html.mobile-shell .comments-sheet__head-sort {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text);
  border-radius: 999px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
html.mobile-shell .comments-sheet__head-sort:hover {
  background: rgba(255, 255, 255, 0.06);
}
html.mobile-shell body.light .comments-sheet__head-sort:hover {
  background: rgba(0, 0, 0, 0.05);
}
html.mobile-shell .comments-sheet__head-sort .comments-sheet__sort-svg {
  display: block;
}
html.mobile-shell .comments-sheet__head-expand {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text);
  border-radius: 999px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
html.mobile-shell .comments-sheet__head-expand:hover {
  background: rgba(255, 255, 255, 0.06);
}
html.mobile-shell body.light .comments-sheet__head-expand:hover {
  background: rgba(0, 0, 0, 0.05);
}
html.mobile-shell .comments-sheet__expand-ic {
  display: block;
}
html.mobile-shell .comments-sheet__title {
  flex: 1;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  margin: 0;
  padding: 0 8px 6px;
}
html.mobile-shell .comments-sheet__reply-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px 4px;
  font-size: 13px;
  color: var(--muted);
}
html.mobile-shell .comments-sheet__reply-banner-text {
  flex: 1;
  min-width: 0;
  color: var(--text);
  font-weight: 500;
}
html.mobile-shell .comments-sheet__reply-banner-x {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--text);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
html.mobile-shell body.light .comments-sheet__reply-banner-x {
  background: rgba(0, 0, 0, 0.06);
}
html.mobile-shell .comments-sheet-comment--root {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 36px;
  grid-template-rows: auto auto;
  gap: 0 10px;
  align-items: start;
  padding: 12px 4px 12px 6px;
  border-bottom: 1px solid var(--line);
}
html.mobile-shell .comments-sheet-comment--reply {
  display: grid;
  grid-template-columns: 10px 28px minmax(0, 1fr) 36px;
  grid-template-rows: auto auto;
  gap: 0 10px;
  align-items: start;
  margin-left: 0;
  padding: 8px 4px 10px 6px;
  border-bottom: 1px solid var(--line);
}
html.mobile-shell .comments-sheet-comment__reply-lead {
  grid-column: 1;
  grid-row: 1;
  width: 10px;
  min-width: 10px;
  pointer-events: none;
}
html.mobile-shell .comments-sheet-comment--reply > .comments-sheet-comment__avatar {
  grid-column: 2;
  grid-row: 1;
}
html.mobile-shell .comments-sheet-comment--reply > .comments-sheet-comment__avatar-btn {
  grid-column: 2;
  grid-row: 1;
}
html.mobile-shell .comments-sheet-comment--reply > .comments-sheet-comment__main {
  grid-column: 3;
  grid-row: 1;
}
html.mobile-shell .comments-sheet-comment--reply > .comments-sheet-comment__aside {
  grid-column: 4;
  grid-row: 1;
}
html.mobile-shell .comments-sheet-comment--reply > .comments-sheet-comment__replies {
  grid-column: 1 / -1;
  grid-row: 2;
}
html.mobile-shell .comments-sheet-comment--root > .comments-sheet-comment__replies {
  grid-column: 1 / -1;
  grid-row: 2;
}
html.mobile-shell .comments-sheet-comment__replies {
  width: 100%;
  min-width: 0;
  margin: 2px 0 0;
  padding: 0;
}
html.mobile-shell .comments-sheet-comment__avatar--root {
  width: 40px;
  height: 40px;
}
html.mobile-shell .comments-sheet-comment__avatar--reply {
  width: 28px;
  height: 28px;
}
html.mobile-shell .comments-sheet-comment__avatar-btn {
  display: block;
}
html.mobile-shell .comments-sheet-comment__username--btn {
  font-size: 15px;
}
html.mobile-shell .comments-sheet-comment__main {
  min-width: 0;
}
html.mobile-shell .comments-sheet-comment__head {
  line-height: 1.35;
  font-size: 14px;
}
html.mobile-shell .comments-sheet-comment__username {
  font-weight: 700;
  color: var(--text);
}
html.mobile-shell .comments-sheet-comment__when {
  color: var(--muted);
  font-weight: 400;
  font-size: 13px;
}
html.mobile-shell .comments-sheet-comment__time {
  color: var(--muted);
}
html.mobile-shell .comments-sheet-comment__author-mark {
  color: var(--muted);
  font-weight: 500;
}
html.mobile-shell .comments-sheet-comment__head .verified-badge-threads {
  vertical-align: -3px;
  margin-left: 2px;
  margin-right: 1px;
}
html.mobile-shell .comments-sheet-comment__text {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--text);
  word-break: break-word;
}
html.mobile-shell .comments-sheet-comment__text .text-link--mention {
  color: #71b7f7;
  text-decoration: none;
  font-weight: 500;
}
html.mobile-shell .comments-sheet-comment__links {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 13px;
}
html.mobile-shell .comments-sheet-comment__action {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
}
html.mobile-shell .comments-sheet-comment__toggle-replies,
html.mobile-shell .comments-sheet-comment__more-replies {
  margin-top: 10px;
  border: none;
  background: none;
  padding: 0;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  text-align: left;
}
html.mobile-shell .comments-sheet-comment__replies-loading {
  padding: 8px 0;
  font-size: 13px;
}
html.mobile-shell .comments-sheet-comment__aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding-top: 4px;
}
html.mobile-shell .comments-sheet-comment__like-btn {
  border: none;
  background: none;
  padding: 4px;
  margin: 0;
  color: var(--muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
html.mobile-shell .comments-sheet-comment__like-btn svg {
  width: 20px;
  height: 20px;
}
html.mobile-shell .comments-sheet-comment__like-btn--liked {
  color: #ff3040;
}
html.mobile-shell .comments-sheet-comment__like-num {
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
  line-height: 1.1;
}
html.mobile-shell .comments-sheet__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 10px 8px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html.mobile-shell .comments-sheet__scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
html.mobile-shell .comments-sheet__loading,
html.mobile-shell .comments-sheet__empty {
  padding: 24px 12px;
  text-align: center;
}
html.mobile-shell .comments-sheet__footer {
  flex-shrink: 0;
  border-top: 1px solid var(--line);
  padding: 8px 10px max(8px, env(safe-area-inset-bottom, 0px));
  background: var(--surface, #0f0f12);
}
html.mobile-shell .comments-sheet__quick-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
}
html.mobile-shell .comments-sheet__quick-emoji {
  border: none;
  background: transparent;
  font-size: 22px;
  padding: 4px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}
html.mobile-shell .comments-sheet__compose-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
html.mobile-shell .comments-sheet__compose-av {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  object-fit: cover;
  align-self: flex-start;
  margin-top: 6px;
}
html.mobile-shell .comments-sheet__input-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 6px 6px 6px 12px;
  min-width: 0;
  background: var(--bg, #0a0a0c);
}
html.mobile-shell .comments-sheet__textarea {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 15px;
  line-height: 22px;
  resize: none;
  min-height: 22px;
  max-height: 132px;
  padding: 4px 0;
  margin: 0;
  outline: none;
}
html.mobile-shell .comments-sheet__gif-btn {
  flex-shrink: 0;
  height: 28px;
  min-width: 38px;
  border-radius: 9px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
html.mobile-shell .comments-sheet__send {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent, #0095f6);
}
html.mobile-shell .comments-sheet__send.comments-sheet__send--disabled {
  opacity: 0.35;
  pointer-events: none;
}
html.mobile-shell .comments-sheet__send svg {
  width: 22px;
  height: 22px;
}
html.mobile-shell .comments-sheet__send--swap {
  display: none;
}
html.mobile-shell .comments-sheet__input-wrap.comments-sheet__input-wrap--has-text .comments-sheet__gif-btn {
  display: none;
}
html.mobile-shell .comments-sheet__input-wrap.comments-sheet__input-wrap--has-text .comments-sheet__send--swap {
  display: inline-flex;
}
html.mobile-shell .comments-sheet__load-more-wrap {
  text-align: center;
  padding: 10px 0 4px;
}
html.mobile-shell .comments-sheet__load-more-btn {
  border: none;
  background: none;
  color: var(--accent, #0095f6);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px;
}
html.mobile-shell .comments-sheet__loading-more {
  text-align: center;
  padding: 8px;
  font-size: 13px;
}

/* Altersverifizierung (Admin-Gate) */
.modal-overlay--id-age-verify {
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  backdrop-filter: blur(14px) saturate(1.1);
  background: rgba(0, 0, 0, 0.48) !important;
}
.id-age-verify__icon-wrap {
  display: flex;
  justify-content: center;
  margin: 0 0 10px;
}
.id-age-verify__ic {
  color: var(--muted);
  opacity: 0.95;
}
.id-age-verify__ic--ok {
  color: #34c759;
}
.id-age-verify__ic--no {
  color: #ff4b59;
}
.id-age-verify__title {
  font-weight: 700;
  text-align: center;
  font-size: 18px;
  margin: 0 0 10px;
  line-height: 1.25;
}
.id-age-verify__btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}
.id-age-verify__btns .post-btn {
  width: 100%;
  justify-content: center;
}
.mobile-bottom-sheet--id-age {
  max-height: min(92vh, 720px);
}

.id-age-verify__file-row {
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.id-age-verify__file-native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.id-age-verify__file-face {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.06);
  color: var(--text);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  text-align: center;
  box-sizing: border-box;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.id-age-verify__file-face:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
body.light .id-age-verify__file-face {
  background: rgba(0, 0, 0, 0.05);
  border-color: var(--line);
}
body.light .id-age-verify__file-face:hover {
  background: rgba(0, 0, 0, 0.09);
}
.id-age-verify__file-selected {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.35;
  min-height: 1.2em;
  word-break: break-word;
}

.post-btn.id-age-verify__submit-primary {
  background: #fff !important;
  color: #181818 !important;
  border-color: #fff !important;
}
.post-btn.id-age-verify__submit-primary:hover:not(:disabled) {
  background: #e8e8e8 !important;
  border-color: #e8e8e8 !important;
  color: #181818 !important;
}
body.light .post-btn.id-age-verify__submit-primary {
  background: #181818 !important;
  color: #fff !important;
  border-color: #181818 !important;
}
body.light .post-btn.id-age-verify__submit-primary:hover:not(:disabled) {
  background: #2a2a2a !important;
  border-color: #2a2a2a !important;
  color: #fff !important;
}

/* iOS-ähnliche Modals: helle Vollflächen-Buttons (Dark: weiß / Light: dunkel) */
.post-btn.ios-modal-solid-btn,
button.ios-modal-solid-btn {
  background: #fff !important;
  color: #181818 !important;
  border: 1px solid #fff !important;
}
.post-btn.ios-modal-solid-btn:hover:not(:disabled),
button.ios-modal-solid-btn:hover:not(:disabled) {
  background: #e8e8e8 !important;
  border-color: #e8e8e8 !important;
  color: #181818 !important;
}
body.light .post-btn.ios-modal-solid-btn,
body.light button.ios-modal-solid-btn {
  background: #181818 !important;
  color: #fff !important;
  border-color: #181818 !important;
}
body.light .post-btn.ios-modal-solid-btn:hover:not(:disabled),
body.light button.ios-modal-solid-btn:hover:not(:disabled) {
  background: #2a2a2a !important;
  border-color: #2a2a2a !important;
  color: #fff !important;
}
.ios-sheet-card__btn-col.ios-modal-solid-btn:disabled,
.ios-sheet-card__btn-col.ios-modal-solid-btn[disabled] {
  opacity: 0.38;
  cursor: default;
  pointer-events: none;
}
.ios-sheet-card__btn-row--stack {
  flex-direction: column;
  gap: 0;
}
.ios-sheet-card__btn-row--stack .ios-sheet-card__btn-col {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
body.light .ios-sheet-card__btn-row--stack .ios-sheet-card__btn-col {
  border-top-color: rgba(0, 0, 0, 0.08);
}

/* Einstellungen Mobil: fester Kopf, nur Inhalt scrollt (auch breitere Mobile-Shell-Viewports) */
html.mobile-shell .settings-shell__main .settings-panel--mobile-split {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  max-height: 100%;
  overflow: hidden;
}
html.mobile-shell .settings-shell__main .settings-panel--mobile-split .settings-main-head {
  flex-shrink: 0;
}
html.mobile-shell .settings-shell__main .settings-panel__mob-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
/* Problem-Meldungen Detail: äußere Einstellungs-Fläche darf nicht mitscrollen (nur Thread-Bereich) */
html.mobile-shell .settings-shell__main:has(.settings-support-detail--pf-inbox) {
  overflow: hidden !important;
  overscroll-behavior: none;
}
html.mobile-shell .settings-shell__main .settings-panel__mob-scroll:has(.settings-support-detail--pf-inbox) {
  overflow: hidden !important;
  overscroll-behavior: none;
}
/* Problem-Meldungen Detail (Mobil): zuverlässig ohne :has-Kette — nur Thread-Bereich scrollt */
html.mobile-shell .settings-page[data-settings-help-subview="problemInboxDetail"] .settings-shell__main {
  overflow: hidden !important;
  overflow-y: hidden !important;
  overscroll-behavior: none;
}
html.mobile-shell .settings-page[data-settings-help-subview="problemInboxDetail"] .settings-shell__main .settings-panel__mob-scroll {
  overflow: hidden !important;
  overflow-y: hidden !important;
  overscroll-behavior: none;
}
.feed-publish-toast--hint-with-action {
  flex-wrap: wrap;
  align-items: center;
  row-gap: 8px;
}
.feed-publish-toast--hint-with-action .feed-publish-toast__view--hint-action {
  margin-left: 0;
}
.feed-publish-toast--hint-clickable {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.profile-page-head__name-tap {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 600;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  text-align: center;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-mob-pull-refresh {
  width: 100%;
  margin: 0 0 8px;
}
html.mobile-shell .page-stack-body-flow--profile-mob-all .profile-mob-pull-refresh {
  position: sticky;
  top: 0;
  z-index: 4;
  margin-bottom: 0;
  padding-bottom: 6px;
  background: var(--bg, #0a0a0a);
}
body.light html.mobile-shell .page-stack-body-flow--profile-mob-all .profile-mob-pull-refresh {
  background: var(--bg, #fff);
}

.profile-about-modal__hero-handle--account {
  color: var(--text) !important;
}
.profile-about-modal__hero-badge-inline {
  display: inline-flex;
  vertical-align: middle;
  margin-left: 6px;
  align-items: center;
}
.profile-about-modal__hero-username {
  font-weight: 600;
}

.new-device-map-wrap {
  margin: 12px 0 0;
  border-radius: 12px;
  overflow: hidden;
  height: 120px;
  background: var(--bg-secondary, rgba(255, 255, 255, 0.04));
}
.new-device-map-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

html.mobile-shell .problem-feedback-mob-head__send {
  background: #fff !important;
  color: #181818 !important;
}
html.mobile-shell body.light .problem-feedback-mob-head__send {
  background: #181818 !important;
  color: #fff !important;
}
html.mobile-shell .problem-feedback-modal__shell {
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}
html.mobile-shell .problem-feedback-modal__textarea {
  padding-left: 4px;
  padding-right: 4px;
}

/* ——— Mobile: einheitliche Seitenfläche #0a0a0a (Karten = Seite), Desktop unverändert ——— */
html.mobile-shell {
  --surface: #0a0a0a;
  --surface-2: #0a0a0a;
}

/* Anzeigename: Vorname nie kürzen; Nachname(n) mit … wenn nötig */
.dn-split {
  display: inline-flex;
  align-items: baseline;
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  vertical-align: bottom;
}
.dn-split__first {
  flex-shrink: 0;
  white-space: nowrap;
}
.dn-split__sp {
  flex: 0 0 auto;
}
.dn-split__last {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-header-block__display-name .dn-split {
  max-width: 100%;
}

html.mobile-shell .profile-page-head__center-name {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

html.mobile-shell .profile-header-block__display-name--mob-oneline {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  word-break: break-word;
}

html.mobile-shell .profile-header-block__avatar-name {
  white-space: normal;
  overflow: visible;
}

.profile-page-head__lock--svg {
  display: inline-flex;
  align-items: center;
  margin-right: 2px;
  color: var(--muted);
}
.profile-page-head__lock-svg {
  display: block;
}

.sidebar .navicons .iconbtn.iconbtn--compose {
  background: #181818;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.sidebar .navicons .iconbtn.iconbtn--compose:hover {
  background: #222;
}
html.mobile-shell .mobile-tab-bar__plus-wrap {
  background: #0f0f0f;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
html.mobile-shell .mobile-tab-bar__plus-wrap svg {
  stroke: rgba(243, 245, 247, 0.75);
}

.auth-input--select {
  color: var(--text);
  background-color: var(--surface);
}
.auth-input--select option {
  color: var(--text);
  background-color: var(--surface);
}
body.light .auth-input--select,
body.light .auth-input--select option {
  color: #0f1115;
  background-color: #fff;
}

.onboarding-grid--stack {
  grid-template-columns: 1fr;
  justify-items: stretch;
}
.onboarding-avatar-block {
  display: flex;
  justify-content: center;
  margin-bottom: 4px;
}
.onboarding-avatar-hit {
  position: relative;
  display: inline-block;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: pointer;
  border-radius: 999px;
  line-height: 0;
}
.onboarding-avatar-hit:focus-visible {
  outline: 2px solid var(--link);
  outline-offset: 3px;
}
.onboarding-avatar-plus {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--link, #1898eb);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  text-align: center;
  border: 2px solid var(--bg, #0a0a0a);
  pointer-events: none;
}

.switch {
  transition:
    background 0.22s ease,
    border-color 0.22s ease;
}
.switch::after {
  transition:
    transform 0.26s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.22s ease;
}

/* Pflicht-2FA (hohe Bekanntheit): Vollbild / Bottom-Sheet */
.totp-prominent-gate {
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px 32px;
  background: var(--bg, #0a0a0a);
  color: var(--text, #f3f5f7);
}
.totp-prominent-gate--center {
  flex-direction: column;
}
.totp-prominent-gate__card {
  width: 100%;
  max-width: 420px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: var(--surface, #141414);
  padding: 28px 22px 26px;
  text-align: center;
}
body.light .totp-prominent-gate__card {
  border-color: rgba(0, 0, 0, 0.08);
  background: #fff;
}
.totp-prominent-gate__brand {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--muted);
  margin-bottom: 14px;
}
.totp-prominent-gate__ic {
  display: block;
  margin: 0 auto 12px;
  color: var(--link, #1898eb);
}
.totp-prominent-gate__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 12px;
}
.totp-prominent-gate__lead {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted);
}
.totp-prominent-gate__hint {
  margin: 0 0 20px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.totp-prominent-gate__btn {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}
.totp-prominent-gate--sheet {
  display: block;
  padding: 0;
  position: relative;
  background: transparent;
  min-height: 100vh;
  min-height: 100dvh;
}
.totp-prominent-gate__scrim {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 0;
}
.totp-prominent-gate__sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  max-height: min(92vh, 640px);
  border-radius: 18px 18px 0 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 0;
  background: var(--surface, #141414);
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
}
body.light .totp-prominent-gate__sheet {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.1);
}
.totp-prominent-gate__grab {
  width: 44px;
  height: 5px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.2);
  margin: 10px auto 6px;
}
body.light .totp-prominent-gate__grab {
  background: rgba(0, 0, 0, 0.15);
}
.totp-prominent-gate__sheet-inner {
  padding: 8px 20px 28px;
  overflow: auto;
  text-align: center;
}

.profile-about-modal__hp-verified-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  vertical-align: middle;
}
.profile-about-modal__hp-verified-inline .verified-badge-threads--muted {
  color: var(--muted, #8a8f98);
}

.settings-row.settings-row--disabled {
  cursor: not-allowed;
  opacity: 0.72;
}
.settings-row.settings-row--disabled .settings-row__trail {
  white-space: normal;
  max-width: 55%;
  text-align: right;
}

/* ——— PWA-UX: Zurück, Stats, Teilen, Profil-Animation (Apr 2026) ——— */
html:not(.mobile-shell) .app-backbtn .app-backbtn__desk-svg {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
html:not(.mobile-shell) .page-stack-title--search:not(.profile-page-title--other) .app-backbtn.page-stack-title__search-back-desk {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
html:not(.mobile-shell) .page-stack-title--search:not(.profile-page-title--other) .app-backbtn.page-stack-title__search-back-desk:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
html:not(.mobile-shell) body.light .page-stack-title--search:not(.profile-page-title--other) .app-backbtn.page-stack-title__search-back-desk:hover {
  background: rgba(0, 0, 0, 0.06) !important;
}
html.mobile-shell .page-stack-title--scheduled-content-mob,
html.mobile-shell .page-stack-title--scheduled-content-mob.drafts-content {
  grid-template-columns: auto 1fr 44px !important;
}
html.mobile-shell .page-stack-title--topic--mob {
  grid-template-columns: auto 1fr 40px;
}
html.mobile-shell .page-stack-title--topic--mob .topic-page-head__back.app-backbtn {
  width: auto;
  min-width: 0;
  height: 40px;
  max-width: min(55vw, 220px);
  padding: 0 6px !important;
  justify-content: flex-start;
}
html.mobile-shell .saved-page-header__menu-back.app-backbtn {
  display: inline-flex !important;
  flex-wrap: nowrap;
  white-space: nowrap;
  align-items: center;
  max-width: min(52vw, 200px);
}
html.mobile-shell #main-content.main-content--profile-slide-from-right {
  animation: pwaProfileEnterFromRight 0.34s ease-out;
}
@keyframes pwaProfileEnterFromRight {
  from {
    transform: translateX(14px);
    opacity: 0.86;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.actions--post .post-action-count {
  white-space: nowrap;
  max-width: 100%;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: clip;
}
.actions--post .post-action-btn--share {
  color: var(--text);
}
.actions--post .post-action-btn--has-shares.post-action-btn--share {
  color: var(--text);
}
.actions--post .post-action-btn--share .post-action-ic,
.actions--post .post-action-btn--share svg {
  color: inherit;
  stroke: currentColor;
}
html.mobile-shell .actions.actions--post {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  overflow: hidden;
}
html.mobile-shell .actions--post .post-action-btn {
  flex: 0 0 auto;
  min-width: 0;
  padding: 4px 4px;
  margin: 0;
  gap: 4px;
  font-size: 12px;
  white-space: nowrap;
}
html.mobile-shell .actions--post .post-action-ic {
  width: 18px;
  height: 18px;
}
html.mobile-shell .actions--post .post-action-count {
  font-size: 12px;
}
html.mobile-shell .actions--post .post-action-btn--save {
  margin-left: 0;
}
@keyframes pwaOdometerTick {
  0% {
    transform: translateY(0.14em);
    opacity: 0.55;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.post-action-count--odom {
  animation: pwaOdometerTick 0.34s ease-out;
  display: inline-block;
}
html.mobile-shell .mobile-bottom-sheet--scheduled-post-menu .scheduled-post-menu--actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 12px 12px;
}
html.mobile-shell .mobile-bottom-sheet--scheduled-post-menu .scheduled-post-menu__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 50px;
  box-sizing: border-box;
  margin: 0;
  text-align: left;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--text, #f3f5f7);
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 500;
}
html.mobile-shell body.light .mobile-bottom-sheet--scheduled-post-menu .scheduled-post-menu__row {
  background: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.08);
  color: var(--text, #0a0a0a);
}
html.mobile-shell .mobile-bottom-sheet--scheduled-post-menu .scheduled-post-menu__row.danger {
  color: #ff6b6b;
  border-color: rgba(255, 107, 107, 0.35);
  background: rgba(255, 60, 60, 0.1);
}
html.mobile-shell .mobile-bottom-sheet--scheduled-post-menu .scheduled-post-menu__row-text {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
html.mobile-shell .mobile-bottom-sheet--scheduled-post-menu .menu-divider {
  display: none;
}
html:not(.mobile-shell) .page-stack-root .center-title.page-stack-title.profile-page-title--other:not(.profile-page-title--self-mobile) .app-backbtn.page-stack-title__search-back-desk,
html:not(.mobile-shell) .page-stack-title--profile-archive .app-backbtn.page-stack-title__search-back-desk,
html:not(.mobile-shell) .thread-view-head__back,
html:not(.mobile-shell) .profile-desk-archive-bar__back,
html:not(.mobile-shell) .topic-page-head__back.app-backbtn,
html:not(.mobile-shell) .notifications-head-desktop__back {
  font-size: 0 !important;
  line-height: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
html:not(.mobile-shell) .thread-view-head__back .app-backbtn__desk-svg,
html:not(.mobile-shell) .profile-desk-archive-bar__back .app-backbtn__desk-svg,
html:not(.mobile-shell) .topic-page-head__back.app-backbtn .app-backbtn__desk-svg,
html:not(.mobile-shell) .notifications-head-desktop__back .app-backbtn__desk-svg {
  width: 20px;
  height: 20px;
  display: block;
}
html:not(.mobile-shell) .notifications-head-desktop__back,
html:not(.mobile-shell) .thread-view-head__back {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  border-radius: 999px;
}
html:not(.mobile-shell) .notifications-head-desktop__back:hover,
html:not(.mobile-shell) .thread-view-head__back:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
html:not(.mobile-shell) body.light .notifications-head-desktop__back:hover,
html:not(.mobile-shell) body.light .thread-view-head__back:hover {
  background: rgba(0, 0, 0, 0.06) !important;
}

/* ─── Konto-Wiederherstellung: Abschluss-Gate (unter #app, über #app-shell / #modal-layer) ─── */
html.account-recovery-finish-active,
html.account-recovery-finish-active body {
  overflow: hidden;
}

/* Touches gehen sonst auf fest positionierte Shell-Teile (z. B. Tabbar/Main) statt auf die Felder — Mobil blockiert Eingabe. */
html.account-recovery-finish-active #app-shell {
  pointer-events: none;
}
html.account-recovery-finish-active .account-recovery-finish-root {
  pointer-events: auto;
}

.account-recovery-finish-root {
  position: fixed;
  inset: 0;
  z-index: 50000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom))
    max(16px, env(safe-area-inset-left));
  padding-left: calc(max(16px, env(safe-area-inset-left)) + var(--modal-content-shift-x, 0px));
  box-sizing: border-box;
}

.account-recovery-finish__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--modal-scrim, rgba(0, 0, 0, 0.72));
  backdrop-filter: blur(12px);
}

.account-recovery-finish__card {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  max-height: min(88vh, 760px);
  overflow-y: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;
  padding: 22px 22px 18px;
  border-radius: var(--radius, 16px);
  background: var(--surface, #181818);
  border: 1px solid var(--line, rgba(243, 245, 247, 0.08));
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.5);
}

body.light .account-recovery-finish__card {
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.14);
}

.account-recovery-finish__title {
  margin: 0 0 8px;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.account-recovery-finish__lead {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
}

.account-recovery-finish__hint {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--danger, #ff4b59);
}

.account-recovery-finish__lbl {
  display: block;
  margin: 10px 0 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}

.account-recovery-finish__inp {
  width: 100%;
  box-sizing: border-box;
  padding: 11px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--text);
  font-size: 15px;
  touch-action: manipulation;
}

.account-recovery-finish__chk {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.45;
  cursor: pointer;
}

.account-recovery-finish__chk input {
  margin-top: 3px;
  flex-shrink: 0;
}

.account-recovery-finish__actions {
  margin-top: 18px;
}

.account-recovery-finish__actions .post-btn {
  width: 100%;
}

.account-recovery-finish__submit.post-btn {
  width: 100%;
  box-sizing: border-box;
  background: #f6f7f8 !important;
  color: #111214 !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  font-weight: 600;
}
.account-recovery-finish__submit.post-btn:disabled {
  opacity: 0.55;
}
body.light .account-recovery-finish__submit.post-btn {
  background: #111214 !important;
  color: #f6f7f8 !important;
  border-color: rgba(0, 0, 0, 0.18) !important;
}

/* Mobil: Abschluss-Modal als Vollbild (Desktop bleibt zentrierte Karte) */
html.mobile-shell.account-recovery-finish-active .account-recovery-finish-root {
  align-items: stretch;
  justify-content: flex-start;
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px)
    env(safe-area-inset-left, 0px);
  min-height: 100vh;
  min-height: 100dvh;
  height: 100vh;
  height: 100dvh;
  box-sizing: border-box;
}

html.mobile-shell.account-recovery-finish-active .account-recovery-finish__card {
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  min-height: 0;
  max-height: none;
  height: auto;
  align-self: stretch;
  border-radius: 0;
  box-shadow: none;
  border-left: none;
  border-right: none;
}

html.mobile-shell.account-recovery-finish-active .account-recovery-finish__backdrop {
  border-radius: 0;
}

.account-hacked-shell .auth-card {
  max-width: 460px;
}

/* Kontowiederherstellung (Gast): Kontaktstand — Vollbild-Modal, paginiert, ohne Listen-Scroll */
html.account-recovery-snap-picker-active,
html.account-recovery-snap-picker-active body {
  overflow: hidden;
}

.account-recovery-snap-modal-root {
  position: fixed;
  inset: 0;
  z-index: 49990;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  box-sizing: border-box;
}

.account-recovery-snap-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--modal-scrim, rgba(0, 0, 0, 0.72));
  backdrop-filter: blur(12px);
}

.account-recovery-snap-modal__panel {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px)
    env(safe-area-inset-left, 0px);
  background: var(--surface, #181818);
}

body.light .account-recovery-snap-modal__panel {
  background: var(--surface, #f6f7f8);
}

.account-recovery-snap-modal__head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--line, rgba(243, 245, 247, 0.08));
}

.account-recovery-snap-modal__title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.account-recovery-snap-modal__close {
  font-size: 1.5rem;
  line-height: 1;
  padding: 4px 10px;
}

.account-recovery-snap-modal__list {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px;
  justify-content: flex-start;
}

.account-recovery-snap-modal__row {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  box-sizing: border-box;
  min-height: 52px;
  padding: 10px 14px;
  border-radius: var(--radius, 12px);
  border: 1px solid var(--line, rgba(243, 245, 247, 0.1));
  background: var(--bg, rgba(255, 255, 255, 0.03));
  cursor: pointer;
  text-align: left;
}

.account-recovery-snap-modal__row--empty {
  cursor: default;
  justify-content: flex-start;
}

.account-recovery-snap-modal__row-label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 15px;
  line-height: 1.35;
  word-break: break-word;
}

.account-recovery-snap-modal__cb {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin: 0;
  cursor: pointer;
}

.account-recovery-snap-modal__pager {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 16px;
  border-top: 1px solid var(--line, rgba(243, 245, 247, 0.08));
}

.account-recovery-snap-modal__pager-info {
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  flex: 1 1 auto;
}

.account-recovery-snap-modal__actions {
  flex: 0 0 auto;
  padding: 12px 16px 18px;
}

.account-recovery-snap-modal__actions .post-btn {
  width: 100%;
}

button.account-recovery-snap-trigger.auth-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

/* Collab: Namenszeile „n weitere …“, Autor-Banner, Partner-Modal */
button.post-collab-names-morelink {
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
button.post-collab-names-morelink:hover {
  opacity: 0.85;
}
.post-collab-pending-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  margin: 8px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1));
  background: rgba(127, 127, 127, 0.12);
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
  color: var(--text);
  cursor: pointer;
  text-align: left;
  gap: 10px;
}
.post-collab-pending-banner__txt {
  flex: 1;
  min-width: 0;
}
.post-collab-pending-banner__chev {
  flex-shrink: 0;
  opacity: 0.65;
  font-size: 18px;
}
.collab-people-modal__body {
  padding: 0 12px 12px;
  max-height: min(60vh, 420px);
  overflow-y: auto;
}
.collab-people-modal--desk .collab-people-modal__body {
  max-height: min(65vh, 480px);
}
.collab-people-modal__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.collab-people-modal__row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 4px;
  border-radius: 10px;
}
.collab-people-modal__row--manage {
  flex-wrap: wrap;
}
.collab-people-modal__av {
  flex-shrink: 0;
}
.collab-people-modal__mid {
  flex: 1;
  min-width: 0;
}
.collab-people-modal__name {
  font-weight: 600;
  font-size: 15px;
}
.collab-people-modal__sub {
  font-size: 12px;
  margin-top: 2px;
}
.collab-people-modal__actions {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
}
.collab-people-modal__loading,
.collab-people-modal__empty,
.collab-people-modal__err {
  margin: 12px 4px;
  font-size: 14px;
  color: var(--muted);
}
.collab-people-modal__err {
  color: var(--danger, #e53935);
}
