
.swipe-mode-tabs{display:flex;gap:10px;flex-wrap:wrap}.swipe-mode-tabs .disabled{pointer-events:none;opacity:1}
.swipe-shell{display:flex;justify-content:center;align-items:flex-start}.swipe-shell--responsive{padding-bottom:max(16px,env(safe-area-inset-bottom))}
.swipe-stage{width:min(100%,560px)}
.swipe-stack{position:relative;min-height:clamp(700px,84vh,860px)}
.swipe-card{position:absolute;inset:0;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(255,245,249,.97));border:1px solid rgba(246,209,225,.95);border-radius:34px;box-shadow:0 20px 60px rgba(67,33,54,.12);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;transform-origin:center bottom;transition:transform .32s ease,opacity .32s ease,box-shadow .32s ease}
.swipe-card.is-behind{transform:scale(.97) translateY(14px);opacity:.82}.swipe-card.is-animating{transition:transform .26s ease,opacity .26s ease}.swipe-card.is-gone{opacity:0;pointer-events:none}
.swipe-card__media{position:relative;min-height:clamp(360px,56vh,500px);background:#f8eff4}
.swipe-media-slider,.swipe-media-slide{position:absolute;inset:0}.swipe-media-slide{opacity:0;pointer-events:none;transition:opacity .25s ease}.swipe-media-slide.is-active{opacity:1;pointer-events:auto}
.swipe-media-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;background:#f8eff4}
.swipe-media-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:none;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(41,25,37,.15);cursor:pointer}.swipe-media-nav--prev{left:14px}.swipe-media-nav--next{right:14px}
.swipe-media-dots{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:3;flex-wrap:wrap}.swipe-media-dot{width:10px;height:10px;border-radius:999px;border:none;background:rgba(255,255,255,.55);cursor:pointer}.swipe-media-dot.is-active{width:26px;background:#fff}
.swipe-card__badge{position:absolute;top:24px;z-index:3;padding:10px 18px;border-radius:999px;font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:rotate(-12deg) scale(.94);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.swipe-card__badge--like{right:20px;background:rgba(78,196,120,.16);color:#25994d;border:2px solid rgba(78,196,120,.55);transform:rotate(12deg) scale(.94)}.swipe-card__badge--dislike{left:20px;background:rgba(255,111,145,.16);color:#cf4f74;border:2px solid rgba(255,111,145,.55)}
.swipe-card.show-like [data-swipe-badge="like"],.swipe-card.show-dislike [data-swipe-badge="dislike"]{opacity:1;transform:rotate(0) scale(1)}
.swipe-card__body{display:flex;flex-direction:column;gap:14px;padding:20px 20px 18px;min-height:0;flex:1}
.swipe-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.swipe-card__head h3{margin:0;font-size:30px;line-height:1.05}.swipe-card__head p{margin:6px 0 0;color:var(--muted)}.swipe-card__bio{min-height:72px;margin:0;font-size:16px;line-height:1.5}
.swipe-card__actions{display:flex;justify-content:center;gap:18px;padding-top:4px}.swipe-action{width:68px;height:68px;border:none;border-radius:999px;cursor:pointer;box-shadow:0 18px 36px rgba(52,28,43,.12);font-size:28px;transition:transform .18s ease,box-shadow .18s ease}.swipe-action:hover{transform:translateY(-2px)}.swipe-action--dislike{background:#fff;color:#d95d82}.swipe-action--letter{background:linear-gradient(180deg,#fff6fb,#ffe8f3);color:#c55d85}.swipe-action--like{background:linear-gradient(180deg,#ff7cab,#ff5f9a);color:#fff}
.swipe-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.swipe-empty{display:flex;justify-content:center;padding:40px 0}
body.is-telegram-webapp .swipe-shell--responsive{padding-bottom:calc(18px + env(safe-area-inset-bottom))}
body.is-telegram-webapp .swipe-stage{width:min(100%,590px)}
body.is-telegram-webapp .swipe-stack{min-height:calc(100dvh - 285px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
@media (max-width:1100px){.swipe-stage{width:min(100%,540px)}}
@media (max-width:768px){.swipe-stage{width:100%}.swipe-stack{min-height:calc(100dvh - 318px)}.swipe-card{border-radius:28px}.swipe-card__media{min-height:46dvh}.swipe-card__body{padding:16px 16px 18px;gap:12px}.swipe-card__head{flex-direction:column}.swipe-card__head h3{font-size:26px}.swipe-card__bio{min-height:56px;font-size:15px}.swipe-action{width:62px;height:62px;font-size:26px}.swipe-card__footer{flex-direction:column;align-items:flex-start}.swipe-media-nav{width:38px;height:38px}}
@media (max-width:560px){.swipe-shell{margin-inline:-2px}.swipe-stack{min-height:calc(100dvh - 332px)}.swipe-card{border-radius:24px}.swipe-card__media{min-height:43dvh}.swipe-card__head h3{font-size:24px}.swipe-card__body{padding:14px 14px 16px}.swipe-card__actions{gap:14px}.swipe-action{width:58px;height:58px;font-size:24px}.swipe-card__badge{top:18px;padding:8px 14px;font-size:13px}.swipe-media-dots{bottom:10px;gap:6px}.swipe-media-dot{width:8px;height:8px}.swipe-media-dot.is-active{width:20px}}
@media (max-width:420px){.swipe-stack{min-height:calc(100dvh - 346px)}.swipe-card__media{min-height:41dvh}}


/* === MARCH 2026 SWIPE DETAIL REFRESH === */
.swipe-card__identity {
  min-width: 0;
}

.swipe-card__copy {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: auto;
  padding-right: 4px;
}

.swipe-card__copy::-webkit-scrollbar {
  width: 6px;
}

.swipe-card__copy::-webkit-scrollbar-thumb {
  background: rgba(255,95,154,.18);
  border-radius: 999px;
}

.swipe-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.swipe-fact-chip,
.swipe-interest-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(243,216,231,.98);
  color: #6f5b67;
  font-size: .86rem;
  line-height: 1;
}

.swipe-fact-chip--online {
  color: #138555;
  border-color: rgba(28,154,103,.18);
  background: rgba(28,154,103,.08);
}

.swipe-copy-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 20px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(243,216,231,.94);
}

.swipe-copy-label {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #9b7b8b;
  font-weight: 800;
}

.swipe-interest-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.swipe-card__bio {
  min-height: 0;
}

@media (max-width: 768px) {
  .swipe-card__media {
    min-height: 41dvh;
  }

  .swipe-card__copy {
    gap: 10px;
  }

  .swipe-copy-block {
    padding: 11px 12px;
    border-radius: 18px;
  }

  .swipe-fact-chip,
  .swipe-interest-chip {
    padding: 8px 10px;
    font-size: .8rem;
  }
}

@media (max-width: 560px) {
  .swipe-stack {
    min-height: calc(100dvh - 306px);
  }

  .swipe-card__media {
    min-height: 38dvh;
  }

  .swipe-card__body {
    gap: 10px;
  }

  .swipe-card__head h3 {
    font-size: 1.45rem;
  }

  .swipe-card__head p {
    margin-top: 4px;
    font-size: .93rem;
  }

  .swipe-copy-label {
    font-size: .72rem;
  }

  .swipe-card__bio {
    font-size: .92rem;
    line-height: 1.42;
  }
}

@media (max-width: 420px) {
  .swipe-card__media {
    min-height: 35dvh;
  }

  .swipe-action {
    width: 56px;
    height: 56px;
  }
}


/* PATCH_HIDE_SWIPE_DUPLICATE_CARD_MAR2026 */
.swipe-stack {
  overflow: hidden;
}

.swipe-card.is-behind {
  display: none !important;
}


/* PATCH_SWIPE_MOBILE_STACK_MAR2026 */
.swipe-stack{
  overflow:hidden;
}

.swipe-card.is-behind{
  display:flex !important;
  transform:scale(.945) translateY(24px) !important;
  opacity:.64 !important;
  filter:saturate(.96);
}

@media (max-width: 768px){
  body.is-telegram-webapp .swipe-stack,
  .swipe-stack{
    min-height:calc(100dvh - 248px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  .swipe-card__media{
    min-height:34dvh !important;
  }

  .swipe-card__body{
    padding:12px 12px 14px !important;
    gap:8px !important;
  }

  .swipe-card__head h3{
    font-size:1.9rem !important;
    line-height:1.04 !important;
  }

  .swipe-card__head p{
    margin-top:2px !important;
    font-size:1rem !important;
  }

  .swipe-card__copy{
    gap:8px !important;
    padding-right:0 !important;
    overflow:visible !important;
  }

  .swipe-copy-block{
    padding:10px 12px !important;
    border-radius:16px !important;
  }

  .swipe-card__bio{
    max-height:4.3em;
    overflow:auto;
    min-height:0 !important;
  }

  .swipe-card__actions{
    gap:12px !important;
    padding-top:0 !important;
    margin-top:auto !important;
    position:relative;
    z-index:3;
  }

  .swipe-action{
    width:62px !important;
    height:62px !important;
    font-size:26px !important;
  }

  .swipe-card__footer{
    margin-top:0 !important;
    padding-top:2px;
  }
}

@media (max-width: 560px){
  body.is-telegram-webapp .swipe-stack,
  .swipe-stack{
    min-height:calc(100dvh - 232px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  .swipe-card__media{
    min-height:32dvh !important;
  }

  .swipe-card__body{
    padding:11px 11px 14px !important;
  }

  .swipe-action{
    width:60px !important;
    height:60px !important;
    font-size:25px !important;
  }
}


/* === MARCH 2026 SWIPE PROFILE READABILITY FIX === */
.swipe-stage {
  width: min(100%, 620px);
}

.swipe-stack {
  min-height: clamp(760px, 88vh, 980px);
}

.swipe-card {
  touch-action: pan-y;
}

.swipe-card__media {
  flex: 0 0 clamp(280px, 42vh, 420px);
  min-height: clamp(280px, 42vh, 420px);
}

.swipe-card__body {
  gap: 12px !important;
  min-height: 0;
}

.swipe-card__copy {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 6px !important;
}

.swipe-card__bio {
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.swipe-card__actions {
  margin-top: 2px;
  padding-top: 6px !important;
}

.swipe-card__footer {
  margin-top: 0;
}

@media (max-width: 768px) {
  .swipe-stage {
    width: 100%;
  }

  .swipe-stack,
  body.is-telegram-webapp .swipe-stack {
    min-height: calc(100dvh - 220px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  .swipe-card__media {
    flex-basis: 34dvh;
    min-height: 34dvh !important;
  }

  .swipe-card__body {
    padding: 14px 14px 16px !important;
    gap: 10px !important;
  }

  .swipe-card__head {
    gap: 10px;
  }

  .swipe-card__head h3 {
    font-size: 1.7rem !important;
    line-height: 1.08 !important;
  }

  .swipe-card__copy {
    padding-right: 2px !important;
  }
}

@media (max-width: 560px) {
  .swipe-stack,
  body.is-telegram-webapp .swipe-stack {
    min-height: calc(100dvh - 204px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  .swipe-card__media {
    flex-basis: 31dvh;
    min-height: 31dvh !important;
  }

  .swipe-card__head h3 {
    font-size: 1.5rem !important;
  }

  .swipe-card__facts,
  .swipe-interest-list {
    gap: 7px;
  }

  .swipe-fact-chip,
  .swipe-interest-chip {
    padding: 8px 10px;
    font-size: .8rem;
  }
}

@media (max-width: 420px) {
  .swipe-stack,
  body.is-telegram-webapp .swipe-stack {
    min-height: calc(100dvh - 194px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  .swipe-card__media {
    flex-basis: 29dvh;
    min-height: 29dvh !important;
  }
}


/* === MARCH 2026 SWIPE CARD FULL PROFILE SCROLL FIX === */
.swipe-stage{
  width:min(100%, 700px) !important;
}

.swipe-stack,
body.is-telegram-webapp .swipe-stack{
  min-height:clamp(780px, 90dvh, 1040px) !important;
}

.swipe-card{
  touch-action:pan-y !important;
}

.swipe-card__media{
  flex:0 0 clamp(250px, 35dvh, 390px) !important;
  min-height:clamp(250px, 35dvh, 390px) !important;
}

.swipe-card__body{
  display:grid !important;
  grid-template-rows:minmax(0, 1fr) auto auto !important;
  gap:12px !important;
  padding:18px 18px 16px !important;
  min-height:0 !important;
}

.swipe-card__scroll{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-right:6px;
  display:flex;
  flex-direction:column;
  gap:14px;
  scrollbar-gutter:stable;
}

.swipe-card__scroll::-webkit-scrollbar{
  width:6px;
}

.swipe-card__scroll::-webkit-scrollbar-thumb{
  background:rgba(255,95,154,.24);
  border-radius:999px;
}

.swipe-card__feedback{
  justify-content:flex-end;
}

.swipe-card__copy{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  overflow:visible !important;
  padding-right:0 !important;
  min-height:unset !important;
  flex:none !important;
}

.swipe-card__actions{
  margin-top:0 !important;
  padding-top:0 !important;
  position:relative;
  z-index:2;
}

.swipe-card__footer{
  margin-top:0 !important;
  justify-content:center !important;
  text-align:center;
}

.swipe-card__footer .muted{
  display:block;
  width:100%;
}

@media (max-width: 768px){
  .swipe-stage{
    width:100% !important;
  }

  .swipe-stack,
  body.is-telegram-webapp .swipe-stack{
    min-height:calc(100dvh - 168px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  .swipe-card__media{
    flex-basis:30dvh !important;
    min-height:30dvh !important;
  }

  .swipe-card__body{
    padding:14px 14px 16px !important;
    gap:10px !important;
  }

  .swipe-card__scroll{
    gap:12px;
    padding-right:2px;
  }

  .swipe-card__head{
    flex-direction:column !important;
    gap:10px !important;
  }

  .swipe-card__head h3{
    font-size:1.65rem !important;
    line-height:1.08 !important;
  }

  .swipe-card__head p{
    font-size:.96rem !important;
  }

  .swipe-card__feedback{
    justify-content:flex-start;
  }
}

@media (max-width: 560px){
  .swipe-stack,
  body.is-telegram-webapp .swipe-stack{
    min-height:calc(100dvh - 152px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  .swipe-card__media{
    flex-basis:27dvh !important;
    min-height:27dvh !important;
  }

  .swipe-card__body{
    padding:12px 12px 15px !important;
  }

  .swipe-card__head h3{
    font-size:1.45rem !important;
  }

  .swipe-copy-block{
    padding:11px 12px !important;
  }

  .swipe-fact-chip,
  .swipe-interest-chip{
    font-size:.8rem;
  }
}

@media (max-width: 420px){
  .swipe-stack,
  body.is-telegram-webapp .swipe-stack{
    min-height:calc(100dvh - 144px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  .swipe-card__media{
    flex-basis:25dvh !important;
    min-height:25dvh !important;
  }
}

/* === MARCH 2026 SWIPE PHOTO FULL-VIEW FIX === */
.swipe-card__media,
.swipe-media-slide{
  background: linear-gradient(180deg, rgba(20,11,27,.96), rgba(34,18,43,.92));
}

html[data-theme="light"] .swipe-card__media,
html[data-theme="light"] .swipe-media-slide{
  background: linear-gradient(180deg, rgba(255,246,251,.98), rgba(247,236,244,.96));
}

.swipe-media-slide img{
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
}

/* === MARCH 2026 SWIPE PHOTO PORTRAIT LAYOUT === */
.swipe-card__media{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:12px 12px 0;
}

.swipe-media-slide{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:12px 12px 0;
}

.swipe-media-slide img{
  width:auto !important;
  height:calc(100% - 24px) !important;
  max-width:min(100%, 220px) !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center top !important;
  background:transparent !important;
  border-radius:0 !important;
}

@media (min-width: 769px){
  .swipe-media-slide img{
    max-width:min(100%, 280px) !important;
  }
}

@media (max-width: 560px){
  .swipe-card__media{
    padding:10px 10px 0;
  }

  .swipe-media-slide{
    padding:10px 10px 0;
  }

  .swipe-media-slide img{
    height:calc(100% - 20px) !important;
    max-width:min(100%, 180px) !important;
  }
}



/* === MARCH 2026 SWIPE PHOTO HERO PORTRAIT FIX === */
.swipe-card__media{
  flex:0 0 clamp(340px, 48dvh, 560px) !important;
  min-height:clamp(340px, 48dvh, 560px) !important;
  display:block !important;
  padding:0 !important;
  overflow:hidden !important;
  background:linear-gradient(180deg, rgba(17,10,24,.98), rgba(28,16,38,.94)) !important;
}

html[data-theme="light"] .swipe-card__media{
  background:linear-gradient(180deg, rgba(255,247,251,.98), rgba(247,237,244,.96)) !important;
}

.swipe-media-slide{
  display:block !important;
  padding:0 !important;
  overflow:hidden !important;
  isolation:isolate;
  background:transparent !important;
}

.swipe-media-slide::before,
.swipe-media-slide::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .18s ease;
}

.swipe-media-slide.is-portrait::before{
  inset:-14px;
  opacity:1;
  background-image:var(--swipe-photo);
  background-size:cover;
  background-position:center center;
  filter:blur(26px) saturate(1.1) brightness(.82);
  transform:scale(1.08);
}

.swipe-media-slide.is-portrait::after{
  opacity:1;
  background:linear-gradient(180deg, rgba(10,6,15,.16), rgba(10,6,15,.28));
}

html[data-theme="light"] .swipe-media-slide.is-portrait::after{
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.28));
}

.swipe-media-slide img{
  position:relative !important;
  z-index:2;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
  background:transparent !important;
}

.swipe-media-slide.is-portrait img{
  object-fit:contain !important;
  object-position:center center !important;
  padding:8px !important;
}

@media (max-width: 768px){
  .swipe-card__media{
    flex-basis:44dvh !important;
    min-height:44dvh !important;
  }
}

@media (max-width: 560px){
  .swipe-card__media{
    flex-basis:42dvh !important;
    min-height:42dvh !important;
  }

  .swipe-media-slide.is-portrait img{
    padding:6px !important;
  }
}

@media (max-width: 420px){
  .swipe-card__media{
    flex-basis:40dvh !important;
    min-height:40dvh !important;
  }
}
