/* ============================================================================
 * VibeCheck PWA — app.css (Split-Card Prototype — vibecheck_split_card)
 * Dark glass: bg #121318 · coral/gold/blue/purple accents · glassmorphism.
 * Unified glass-container: photo-zone (45%) | info-zone (55%) split.
 * 3-pane (>=1100px) | 2-pane (768-1099px, hide right) | 1-pane + bottomnav (<768px)
 * Every class referenced in app.js is styled here.
 * ============================================================================ */

:root{
  --bg:#121318;
  --text:#f5f1ea;
  --text2:rgba(245,241,234,0.78);
  --text3:rgba(245,241,234,0.50);
  --gold:#e6c680;
  --panel:rgba(255,255,255,0.04);
  --panel2:rgba(255,255,255,0.025);
  --glass-bg:rgba(255,255,255,0.03);
  --glass-border:rgba(255,255,255,0.08);
  --glass-glow:rgba(255,255,255,0.04);
  --border:rgba(255,255,255,0.10);
  --border2:rgba(255,255,255,0.16);
  --div:rgba(255,255,255,0.06);
  --blue:#458dff;--purple:#a86eff;--coral:#ff8d74;--coral2:#ff6b5e;
  --accent:var(--coral);
  --action-coral:#d52d55;--action-coral2:#c9472c;--action-purple:#7644c6;
  --surface-1:rgba(255,255,255,.028);--surface-2:rgba(255,255,255,.045);--surface-3:rgba(255,255,255,.065);
  --surface-border:rgba(255,255,255,.095);--surface-highlight:rgba(255,255,255,.045);
  --control-bg:rgba(8,9,13,.28);--control-border:rgba(255,255,255,.115);
  --gold2:#f2c15b;--green:#34d478;--red:#ff697a;--amber:#ffb43a;
  --r-shell:22px;--r-panel:16px;--r-glass:20px;--r-card:16px;--r-pill:999px;
  --sh-soft:0 8px 30px rgba(0,0,0,0.25);
  --sh-glass:0 12px 40px rgba(0,0,0,0.30);
  --glow-coral:0 0 28px rgba(255,141,116,0.30);
  --glow-blue:0 0 24px rgba(69,141,255,0.30);
  --glow-purple:0 0 24px rgba(168,110,255,0.28);
  --font:'Plus Jakarta Sans','Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --vc-global-bg:url('/app/assets/glass/app-background-v3.webp');
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{width:100%;height:100%;min-height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--text);display:grid;place-items:center;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.45;overscroll-behavior:none}
button{cursor:pointer;border:0;background:none;color:inherit;font-family:inherit;touch-action:manipulation}
svg{display:block;flex-shrink:0}
a{text-decoration:none;color:inherit;touch-action:manipulation}
img,svg{max-width:100%}
ul,ol{list-style:none}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;outline:none;border:0;background:none}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role="button"]:focus-visible{outline:3px solid rgba(255,141,116,.5);outline-offset:2px}
::selection{background:var(--action-coral);color:#fff}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--div);border-radius:4px}

/* One crop-safe GLASS scene sits behind every WEB/PWA route. The quiet centre keeps
   cards and messages readable; only the outer edges carry colour and depth. */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-color:#070812;background-image:linear-gradient(180deg,rgba(5,6,13,.08),rgba(5,6,13,.2)),var(--vc-global-bg);background-position:center;background-size:cover;background-repeat:no-repeat}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 82% 78% at 50% 48%,transparent 28%,rgba(2,3,9,.2) 72%,rgba(2,3,8,.52) 100%)}

/* App shell */
.app {
  position: relative;
  z-index: 1;
  width: min(1280px, 94vw);
  height: min(720px, 90vh);
  display: grid;
  grid-template-columns: 240px 1fr 280px;
  grid-template-rows: minmax(0,1fr);
  border-radius: var(--r-shell);
  overflow: hidden;

  /* Премиальное ультра-прозрачное стекло */
  background: rgba(8, 9, 15, 0.20) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(35px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(35px) saturate(1.4) !important;

  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.6),
    inset 0 1px 1px rgba(255, 255, 255, 0.05);
}
.app:not(.auth-screen)>.left,.app:not(.auth-screen)>.center,.app:not(.auth-screen)>.right{height:100%;min-height:0}
.app:not(.auth-screen)>.left{overflow-y:auto;overflow-x:hidden}
.app:not(.auth-screen)>.center{overflow:hidden}
.app.auth-screen{grid-template-columns:1fr;display:block!important;height:min(720px,90vh)}

/* ===== LEFT SIDEBAR — glassmorphism (transparent, blurs body blobs through) ===== */
.left {
  position: relative;
  z-index: 2;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.06);

  /* Убираем плотный rgba(15,15,20, 0.35) и делаем изящное размытие */
  background: rgba(255, 255, 255, 0.01) !important;
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);

  /* Эффект легкого внутреннего свечения грани */
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.02);
  display: flex;
  flex-direction: column;
  padding-top: 24px;
}
.brand{padding:0 24px 20px;border-bottom:1px solid var(--div)}
.brand h1{font-size:24px;font-weight:700;letter-spacing:.02em;line-height:1}
.brand h1 span{background:linear-gradient(90deg,var(--coral),var(--gold2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand .sub{margin-top:8px;font-size:9px;letter-spacing:.10em;color:var(--text3)}
.vc-sidebar-brand{display:flex;align-items:center;gap:9px}.vc-sidebar-brand>img{width:44px;height:44px;flex:0 0 44px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(255,89,144,.24))}.vc-sidebar-brand .sub{margin-top:5px;font-size:7px;letter-spacing:.075em;white-space:nowrap}
.nav{display:flex;flex-direction:column;margin-top:4px}
.nav-item{position:relative;height:48px;display:flex;align-items:center;gap:14px;padding:0 24px;
  color:var(--text2);font-size:15px;font-weight:500;cursor:pointer;transition:.18s;overflow:hidden;
  border-radius:12px;margin:0 8px}
.nav-item svg{width:20px;height:20px;stroke-width:1.8;flex-shrink:0;opacity:.85}
.nav-item:hover{color:var(--text);background:rgba(255,255,255,0.05);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nav-item.active{color:#fff;font-weight:600;
  background:linear-gradient(90deg,rgba(255,141,116,.11) 0%,transparent 100%)!important;
  border-left:0;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04)}
.nav-item.active::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,var(--coral),var(--gold2));box-shadow:0 0 12px var(--coral)}
.nav-item .badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
  background:var(--red);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
.nav-sep{font-size:9px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:var(--text3);padding:16px 24px 6px}
.user-mini{margin:auto 16px 16px;display:flex;align-items:center;gap:10px;padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,0.06)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 4px 20px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.06);
  cursor:pointer;transition:.18s}
.user-mini:hover{background:rgba(255,255,255,0.10)!important;border-color:rgba(255,255,255,0.18)}
.user-mini .av{width:42px;height:42px;border-radius:12px;overflow:hidden;flex-shrink:0;
  background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700}
.user-mini .av img{width:100%;height:100%;object-fit:cover}
.user-mini .ui{flex:1;min-width:0}
.user-mini .un{font-size:13px;font-weight:600}
.user-mini .ub{font-size:11px;color:var(--gold);margin-top:1px}

/* ===== CENTER ===== */
.center{position:relative;z-index:2;display:flex;flex-direction:column;overflow:visible;min-width:0}
.center.no-topbar .topbar{display:none}
.topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--div);flex-shrink:0;
  background:rgba(18,19,24,0.35);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.search{flex:1;max-width:280px;height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;
  border-radius:var(--r-pill);background:rgba(255,255,255,0.06);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.14);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);transition:.18s}
.search:focus-within{border-color:rgba(255,141,116,0.45);background:rgba(255,255,255,0.10);
  box-shadow:0 0 0 3px rgba(255,141,116,0.08),inset 0 1px 0 rgba(255,255,255,0.06)}
.search svg{width:16px;height:16px;color:rgba(245,241,234,0.65);flex-shrink:0;stroke-width:2}
.search input{flex:1;font-size:13px;min-width:0}
.search input::placeholder{color:var(--text3)}
.daily-inline{display:flex;align-items:center;gap:8px;margin-left:auto;padding:6px 14px;border-radius:var(--r-pill);
  background:linear-gradient(135deg,rgba(242,193,91,0.10),rgba(255,141,116,0.05));
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(242,193,91,0.18);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);cursor:pointer;transition:.18s}
.daily-inline:hover{border-color:rgba(242,193,91,0.35)}
.daily-inline .ico{font-size:18px}
.daily-inline .txt{font-size:12px;font-weight:600;color:var(--gold2)}
.daily-inline .txt span{display:block;font-size:10px;color:var(--text3);font-weight:400}
.top-actions{display:flex;gap:8px;flex-shrink:0}
.tool-btn{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:var(--text2);cursor:pointer;position:relative;transition:.18s;
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06)}
.tool-btn:hover{background:rgba(255,255,255,0.08);color:var(--text)}
.tool-btn svg{width:18px;height:18px}
.tool-btn .dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--red);border:1.5px solid var(--bg)}
.tool-av{width:36px;height:36px;border-radius:50%;overflow:hidden;border:1px solid var(--border);cursor:pointer;flex-shrink:0;background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px}
.tool-av img{width:100%;height:100%;object-fit:cover}

.main-body{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;min-height:0}

/* Stage (discover) — blobs now live on body (under .app) so the global blur flows through; stage stays clean */
.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:16px;overflow:visible;gap:16px;min-height:100%;position:relative}
.stage>*{position:relative;z-index:1}

/* ===== UNIFIED GLASS CONTAINER (split-card) ===== */
.card-back-wrap{position:relative;width:100%;max-width:620px;display:flex;justify-content:center}
.card-back-peek{position:absolute;inset:0;border-radius:var(--r-glass);z-index:-1;pointer-events:none;
  background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04)}
.card-back-peek.b1{transform:translateY(12px) scale(0.96);opacity:.5}
.card-back-peek.b2{transform:translateY(24px) scale(0.92);opacity:.3}

.glass-container{
  display:flex;width:100%;max-width:620px;height:min(480px,55vh);border-radius:24px;
  overflow:hidden;position:relative;
  background:rgba(255,255,255,0.03)!important;
  border:1px solid rgba(255,255,255,0.08)!important;
  box-shadow:0 8px 32px 0 rgba(0,0,0,0.3)!important,inset 0 1px 0 rgba(255,255,255,0.06);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;
  will-change:transform,opacity;
  touch-action:pan-y;
}
.glass-container.dragging{transition:none;z-index:10}
/* No vertical seam between photo and info zones — card is one seamless glass space */
.glass-container::after{display:none}
.glass-container.show-like .drag-badge.like{opacity:1}
.glass-container.show-nope .drag-badge.nope{opacity:1}

/* LEFT ZONE: Photo (45%) — transparent (no coral/purple slab; only the photo shows) */
.photo-zone{width:45%;height:100%;align-self:stretch;position:relative;flex-shrink:0;overflow:hidden;
  background:transparent}
/* Photo fades out on the right edge — seamless blend into the glass info-zone, no hard seam.
   Overlays (story bars, nav arrows, online dot) sit above and stay crisp. */
.photo-zone .photo{width:100%;height:100%;max-width:none;display:block;object-fit:cover;position:absolute;inset:0;
  -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,1) 60%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to right,rgba(0,0,0,1) 60%,rgba(0,0,0,0) 100%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%}

/* Story bars on photo — thin (2px) for finesse */
.swtop{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:4px;z-index:6}
.swtop i{flex:1;height:2px;border-radius:2px;background:rgba(255,255,255,0.25);overflow:hidden;position:relative;cursor:pointer}
.swtop i b{display:block;height:100%;width:0;background:#fff;border-radius:2px;transition:width 5s linear}
.swtop i.done b{width:100%!important;transition:none}
.swtop i.active b{width:0;transition:none}

/* Arrow nav buttons on photo — pure icons, no background/border/outline */
.photo-nav{position:absolute;z-index:7;background:none!important;border:0!important;outline:none!important;box-shadow:none!important;padding:6px}
.photo-nav svg{width:18px;height:18px;stroke-width:2}
.photo-nav:hover{background:none!important;color:#fff!important}
.photo-nav:focus-visible{outline:3px solid rgba(255,141,116,.72)!important;outline-offset:2px!important;background:rgba(10,7,14,.62)!important}
.photo-nav.is-left{left:8px}
.photo-nav.is-right{right:8px}

/* Online dot */
.online-dot{position:absolute;top:10px;right:10px;width:10px;height:10px;border-radius:50%;background:var(--green);
  box-shadow:0 0 8px rgba(52,212,120,0.5);border:2px solid rgba(0,0,0,0.3);z-index:6;display:none}
.online-dot.on{display:block}

/* RIGHT ZONE: Info (55%) — transparent so glass-container blur shows through */
.info-zone{width:55%;padding:18px 20px;display:flex;flex-direction:column;gap:0;position:relative;overflow-y:auto;overflow-x:hidden;background:transparent}
.info-zone::-webkit-scrollbar{width:3px}
.info-zone::-webkit-scrollbar-thumb{background:var(--div);border-radius:3px}
/* Name row */
.info-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.info-name{font-size:22px;font-weight:700;letter-spacing:.01em;color:var(--text);line-height:1.1}
.info-name .age{font-weight:400;color:var(--text2)}
.info-vibe{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--r-pill);
  background:linear-gradient(135deg,rgba(255,141,116,0.12),rgba(242,193,91,0.06));
  border:1px solid rgba(255,141,116,0.20);font-size:12px;font-weight:700;color:var(--coral)}
.info-vibe .dot{width:6px;height:6px;border-radius:50%;background:var(--coral);box-shadow:0 0 6px var(--coral)}
/* Location — separate block (icon + text) */
.info-block{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.info-block svg{width:16px;height:16px;color:var(--text3);flex-shrink:0;stroke-width:1.8}
.info-block .lbl{font-size:14px;color:var(--text2);font-weight:500}
/* Other info chips — separated from city */
.info-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.info-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-pill);
  background:rgba(255,255,255,0.04);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
  font-size:12px;font-weight:500;color:var(--text2)}
.info-chip svg{width:14px;height:14px;color:var(--text3);flex-shrink:0;stroke-width:1.8}
.info-chip .emoji{font-size:13px}
/* Ask button (when interests hidden) */
.info-ask-btn{padding:6px 14px;border-radius:var(--r-pill);border:1px solid rgba(168,110,255,0.25);
  background:rgba(168,110,255,0.08);color:var(--purple);font-size:12px;font-weight:600;cursor:pointer;transition:.18s}
.info-ask-btn:hover{background:rgba(168,110,255,0.16);border-color:rgba(168,110,255,0.4)}
/* Premium glass sections */
.info-section{padding:10px 0;border-top:1px solid rgba(255,255,255,0.04)}
.info-section:first-of-type{border-top:0;padding-top:4px}
.info-section .sh{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,0.5)!important;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.info-section .sh::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--coral);opacity:.7}
.info-section .bio{font-size:13.5px;line-height:1.6;color:var(--text2);white-space:pre-wrap;word-break:break-word}
.info-bio-placeholder{font-size:13px;color:var(--text3);font-style:italic;padding:6px 0}
/* Interest tags */
.info-tags{display:flex;flex-wrap:wrap;gap:6px}
.info-tag{font-size:12.5px;font-weight:600;color:rgba(245,241,234,0.88);
  padding:5px 12px;border-radius:var(--r-pill);
  background:rgba(255,255,255,0.05)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
  transition:.18s}
.info-tag:hover{border-color:rgba(255,141,116,0.25);background:rgba(255,141,116,0.06)}
.info-placeholder{font-size:12.5px;color:var(--text3);font-style:italic;padding:8px 14px;
  border:1px dashed rgba(255,255,255,0.06);border-radius:var(--r-pill);text-align:center}
/* Bottom row — integrated, centered, better aligned */
.info-bottom{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;padding:12px 0 4px;border-top:1px solid rgba(255,255,255,0.05);gap:10px}
.info-mutual{font-size:11.5px;font-weight:500;color:#94a3b8;letter-spacing:.02em}
.info-avatars{display:flex}
.info-avatars .ca{width:26px;height:26px;border-radius:50%;border:2px solid var(--bg);margin-left:-8px;overflow:hidden;background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700}
.info-avatars .ca img{width:100%;height:100%;object-fit:cover}
.info-avatars .ca:first-child{margin-left:0}

/* Drag badges on glass-container */
.drag-badge{position:absolute;top:40px;padding:6px 16px;border-radius:10px;font-size:18px;font-weight:900;
  letter-spacing:2px;border:3px solid;opacity:0;transition:opacity .12s;pointer-events:none;z-index:10}
.drag-badge.like{left:20px;color:var(--green);border-color:var(--green);transform:rotate(-12deg)}
.drag-badge.nope{right:20px;color:var(--red);border-color:var(--red);transform:rotate(12deg)}

/* ===== ACTION BAR — floating glass capsule holding the 5 buttons ===== */
.actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-shrink:0;
  padding:10px 24px;border-radius:50px;
  background:rgba(15,16,22,0.6)!important;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.1);
  box-shadow:0 10px 30px rgba(0,0,0,0.5)}
.act{border-radius:50%;display:grid;place-items:center;transition:all .18s cubic-bezier(.34,1.56,.64,1);
  background:rgba(255,255,255,0.08)!important;
  backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  border:1px solid rgba(255,255,255,0.15)!important;
  box-shadow:0 4px 18px rgba(0,0,0,0.28),inset 0 1px 0 rgba(255,255,255,0.10)}
.act:active{transform:scale(.88)!important;transition:transform .08s}
.act svg{width:20px;height:20px;stroke-width:2.2;color:#e2e8f0}
.act-rewind{width:48px;height:48px}
.act-rewind svg{color:#ffd24a}
.act-rewind:hover{box-shadow:0 0 18px rgba(255,210,74,0.35);transform:scale(1.08);border-color:rgba(255,210,74,0.5)!important;background:rgba(255,210,74,0.12)!important}
.act-dislike{width:56px;height:56px}
.act-dislike svg{color:#ff8a9a}
.act-dislike:hover{box-shadow:0 0 22px rgba(255,138,154,0.35);transform:scale(1.08);border-color:rgba(255,138,154,0.5)!important;background:rgba(255,138,154,0.12)!important}
.act-like{width:66px;height:66px;background:linear-gradient(135deg,var(--coral),var(--coral2))!important;border-color:transparent!important;
  box-shadow:0 0 24px rgba(255,141,116,0.45),0 4px 16px rgba(0,0,0,0.3)}
.act-like svg{width:26px;height:26px;color:#fff}
.act-like:hover{transform:scale(1.08);box-shadow:0 0 36px rgba(255,141,116,0.6),0 4px 16px rgba(0,0,0,0.3)}
.act-profile{width:56px;height:56px}
.act-profile svg{color:#7db0ff}
.act-profile:hover{box-shadow:0 0 22px rgba(125,176,255,0.35);transform:scale(1.08);border-color:rgba(125,176,255,0.5)!important;background:rgba(125,176,255,0.12)!important}
.act-message{width:48px;height:48px}
.act-message svg{color:#c099ff}
.act-message:hover{box-shadow:0 0 18px rgba(192,153,255,0.35);transform:scale(1.08);border-color:rgba(192,153,255,0.5)!important;background:rgba(192,153,255,0.12)!important}

/* Deck empty */
.deck-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px;max-width:480px}
.deck-empty .de-ico{font-size:56px}
.deck-empty h2{font-size:20px;font-weight:700;color:var(--text)}
.deck-empty p{font-size:13px;color:var(--text3);max-width:280px}

/* ===== RIGHT SIDEBAR — glassmorphism (transparent, blurs body blobs through) ===== */
.right {
  position: relative;
  z-index: 2;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.06);

  /* Убираем плотный rgba(15,15,20, 0.35) */
  background: rgba(255, 255, 255, 0.01) !important;
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);

  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.02);
  padding: 20px 16px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.right::-webkit-scrollbar{width:3px}
.right::-webkit-scrollbar-thumb{background:var(--div);border-radius:3px}
.r-section{padding-bottom:16px}
.r-section+.r-section{border-top:1px solid var(--div);padding-top:16px}
.r-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.r-head h3{font-size:14px;font-weight:600}
.r-head .more{font-size:11px;color:var(--blue);cursor:pointer}

/* ===== Filter bar (topbar on Discover) ===== */
.filter-bar{flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.filter-cap{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--r-pill);
  background:rgba(255,255,255,0.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.12);font-size:12.5px;font-weight:600;color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);white-space:nowrap}
.filter-cog{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--text2);
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);cursor:pointer;transition:.15s;flex-shrink:0}
.filter-cog svg{width:18px;height:18px;stroke-width:2}
.filter-cog:hover{background:rgba(255,141,116,0.12);border-color:rgba(255,141,116,0.35);color:var(--coral)}

/* ===== Right sidebar search (over Chats) ===== */
.r-search-section{padding:0 0 4px!important;border-top:0!important;padding-bottom:8px!important}
.r-search{width:100%;max-width:none;height:38px;margin:0}

/* ===== Top matches — vertical list ===== */
.top-list-vertical{display:flex;flex-direction:column;gap:8px}
.top-row{display:flex;align-items:center;gap:11px;padding:8px 6px;border-radius:14px;cursor:pointer;transition:.15s}
.top-row:hover{background:rgba(255,255,255,0.05)}
.top-av{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;
  border:2px solid rgba(255,141,116,0.30);background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700}
.top-av img{width:100%;height:100%;object-fit:cover}
.top-info{flex:1;min-width:0}
.top-nm{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-sub{font-size:11px;color:var(--text3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-vibe{font-size:12px;font-weight:700;color:var(--coral);padding:4px 10px;border-radius:var(--r-pill);
  background:rgba(255,141,116,0.10);border:1px solid rgba(255,141,116,0.25);flex-shrink:0}

/* ===== Stats — mini cards ===== */
.stat-grid{display:flex;flex-direction:column;gap:8px}
.stat-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;cursor:default;
  background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.10);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04)}
.stat-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:18px;font-weight:800;flex-shrink:0}
.stat-ico.pink{background:rgba(255,105,122,0.16);color:var(--red);border:1px solid rgba(255,105,122,0.30)}
.stat-ico.gold{background:rgba(242,193,91,0.16);color:var(--gold2);border:1px solid rgba(242,193,91,0.30)}
.stat-ico.blue{background:rgba(69,141,255,0.16);color:var(--blue);border:1px solid rgba(69,141,255,0.30)}
.stat-info{flex:1;min-width:0}
.stat-num{font-size:18px;font-weight:800;color:var(--text);line-height:1.1}
.stat-lbl{font-size:11px;color:var(--text3);margin-top:2px}

/* Connections */
.conn-feed{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.conn-feed::-webkit-scrollbar{display:none}
.conn-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;cursor:pointer}
.conn-av{width:54px;height:54px;border-radius:50%;overflow:hidden;position:relative;
  border:2px solid rgba(230,198,128,0.40);box-shadow:inset 0 0 0 2px rgba(8,9,14,0.5);background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700}
.conn-av img{width:100%;height:100%;object-fit:cover}
.conn-av .online{position:absolute;bottom:1px;right:1px;width:11px;height:11px;border-radius:50%;background:var(--green);border:2px solid rgba(8,9,14,0.9)}
.conn-name{font-size:12.5px;font-weight:600;color:var(--text2);max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}

/* Featured */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.feat-card {
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
  transition: 0.18s;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;

  /* Сделай карточки чуть темнее, чтобы они выделялись на фоне стеклянных панелей */
  background: rgba(15, 16, 22, 0.4) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.feat-card:hover{transform:translateY(-2px);box-shadow:var(--sh-soft);border-color:rgba(255,141,116,0.30)!important}
.feat-photo{position:relative;height:78px;overflow:hidden;background:linear-gradient(135deg,var(--coral),var(--purple))}
.feat-photo img{width:100%;height:100%;object-fit:cover}
.feat-photo .sd{position:absolute;top:5px;right:5px;width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(0,0,0,0.5)}
.feat-photo .sd.green{background:var(--green)}
.feat-photo .sd.red{background:var(--red)}
.feat-info{padding:7px 8px}
.feat-nm{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.feat-sub{font-size:10px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}

/* Activity */
.act-row{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;border-radius:8px;transition:.15s}
.act-row:hover{background:rgba(255,255,255,0.03)}
.act-av{width:30px;height:30px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative;background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;font-size:14px}
.act-av img{width:100%;height:100%;object-fit:cover}
.act-av .sd{position:absolute;bottom:0;right:0;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--bg)}
.act-av .sd.red{background:var(--red)}
.act-av .sd.green{background:var(--green)}
.act-txt{flex:1;font-size:12px;color:var(--text2);line-height:1.3}

/* Mobile bottom nav */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(62px + var(--safe-bottom));padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);
  background:rgba(18,19,24,0.85);
  backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);
  border-top:1px solid rgba(255,255,255,0.08);
  box-shadow:0 -4px 20px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.04);
  z-index:50;justify-content:space-around;align-items:center}
.bn-item{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  color:var(--text3);font-size:10px;font-weight:600;cursor:pointer;position:relative;transition:.15s}
.bn-item.active{color:var(--coral)}
.bn-item svg{width:22px;height:22px;stroke-width:1.8}
.bn-badge{position:absolute;top:5px;left:calc(50% + 9px);display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border:2px solid var(--bg);border-radius:999px;background:var(--coral);color:#fff;font-size:9px;font-weight:800;line-height:1}

/* Responsive */
@media(max-width:1100px){.right{display:none}.app{grid-template-columns:220px 1fr}}
@media(max-width:768px), (max-height:600px) and (pointer:coarse){
  html,body{height:100%;min-height:100%;overflow:hidden;display:block;place-items:initial}
  .left,.right{display:none}
  .app,.app.auth-screen{position:fixed;inset:0;grid-template-columns:1fr;width:auto;max-width:none;height:auto;min-height:0;border-radius:0;border:0;overflow:hidden;display:flex!important;flex-direction:column;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .center{min-height:0;overflow:hidden;display:flex;flex-direction:column;flex:1}
  .main-body{min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:0 var(--safe-right) calc(70px + var(--safe-bottom)) var(--safe-left)}
  .topbar{min-height:52px;padding:calc(8px + var(--safe-top)) calc(12px + var(--safe-right)) 8px calc(12px + var(--safe-left));gap:8px;flex-shrink:0}
  .search{max-width:200px;height:34px}
  .daily-inline{padding:4px 10px}.daily-inline .txt{font-size:11px}.daily-inline .txt span{font-size:9px}
  .filter-bar{gap:5px;overflow:hidden}.filter-cap{padding:6px 9px;white-space:nowrap}.filter-cap:nth-child(2){display:none}
  .tool-btn,.tool-av,.filter-cog{width:44px;height:44px;flex:0 0 44px}
  /* Discover follows the MiniApp composition on phones: one bounded photo card,
     essential identity over the image, and all actions immediately underneath. */
  .stage{padding:8px 8px 10px;gap:10px;overflow:hidden;min-height:0;flex:1 1 0}
  .card-back-wrap{flex:1 1 0;min-height:0;max-width:520px}
  .card-back-peek.b1{transform:translateY(7px) scale(.97)}
  .card-back-peek.b2{transform:translateY(14px) scale(.94)}
  .glass-container{display:block;height:100%;min-height:0;max-height:none;max-width:100%;border-radius:26px}
  .glass-container::after{display:none}
  .photo-zone{position:absolute;inset:0;width:100%;height:100%;min-height:0;flex-shrink:0}
  .photo-zone::after{content:"";position:absolute;inset:34% 0 0;z-index:2;pointer-events:none;background:linear-gradient(to top,rgba(8,4,14,.94) 0%,rgba(8,4,14,.58) 38%,rgba(8,4,14,.12) 76%,transparent 100%)}
  .photo-zone .photo{-webkit-mask-image:none;mask-image:none}
  .info-zone{position:absolute;left:0;right:0;bottom:0;z-index:5;width:100%;max-height:58%;padding:64px 16px 16px;overflow:hidden;pointer-events:none;background:linear-gradient(to top,rgba(8,4,14,.72),rgba(8,4,14,.18) 68%,transparent)}
  .info-zone .info-name-row{flex-wrap:nowrap;gap:8px;margin:0 0 6px}
  .info-zone .info-name{min-width:0;flex:1;overflow:hidden;color:#fff;font-size:clamp(22px,7vw,27px);font-weight:850;text-overflow:ellipsis;text-shadow:0 2px 12px rgba(0,0,0,.62);white-space:nowrap}
  .info-zone .info-name .age{color:rgba(255,255,255,.82);font-weight:500}
  .info-zone .info-vibe{flex:0 0 auto;padding:4px 9px;border-color:rgba(255,170,142,.34);background:rgba(22,11,20,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffb09c;box-shadow:0 6px 20px rgba(0,0,0,.14)}
  .info-zone .info-block{min-width:0;margin:0 0 6px;color:#fff}
  .info-zone .info-block svg{color:rgba(255,255,255,.78)}
  .info-zone .info-block .lbl{min-width:0;overflow:hidden;color:rgba(255,255,255,.9);font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.46)}
  .info-zone .info-chips-row{max-height:27px;margin:0;overflow:hidden;flex-wrap:nowrap}
  .info-zone .info-chip{flex:0 1 auto;min-width:0;overflow:hidden;padding:5px 9px;border-color:rgba(255,255,255,.16);background:rgba(12,8,18,.34);color:rgba(255,255,255,.9);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
  .info-zone .info-chip:nth-child(n+3),.info-zone .info-section,.info-zone .info-bottom{display:none}
  .actions{width:100%;min-height:68px;gap:clamp(8px,3vw,14px);padding:0 4px;flex-shrink:0;border:0;background:transparent!important;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .actions .act:not(.act-like){background:var(--surface-1)!important;border-color:var(--surface-border)!important;box-shadow:0 9px 24px rgba(0,0,0,.2),inset 0 1px 0 var(--surface-highlight)}
  .act-rewind{width:42px;height:42px}.act-dislike{width:50px;height:50px}
  .act-like{width:58px;height:58px}.act-profile{width:50px;height:50px}.act-message{width:42px;height:42px}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50}
  .chat-view{height:100%;min-height:100%}
  .chat-header{padding:calc(8px + var(--safe-top)) 10px 8px;min-height:calc(58px + var(--safe-top))}
  .composer{padding:10px 10px calc(10px + env(keyboard-inset-bottom,0px));gap:6px}
  .center.no-topbar .main-body{overflow:hidden;padding-bottom:0}
  .center.no-topbar .composer{padding-bottom:calc(10px + var(--safe-bottom) + env(keyboard-inset-bottom,0px))}
  .center.no-topbar~.bottom-nav{display:none}
  .composer textarea,.profile-edit input,.profile-edit textarea,.settings-view select,.auth-card input{font-size:16px}
  .auth-wrap{height:100%;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left))}
  .toast{bottom:calc(76px + var(--safe-bottom))}
  #offline-banner{bottom:calc(62px + var(--safe-bottom));padding-left:calc(14px + var(--safe-left));padding-right:calc(14px + var(--safe-right))}
  #install-btn,#pwa-update-btn{bottom:calc(74px + var(--safe-bottom))}
}
@media(max-width:380px){
  .search{max-width:140px}
  .daily-inline .txt span{display:none}
  .info-name{font-size:20px}
}
@media(max-height:600px) and (pointer:coarse) and (orientation:landscape){
  .photo-zone{height:100%;min-height:0}
  .auth-wrap{align-items:flex-start}
}
@media(pointer:coarse){
  .daily-inline,.chat-back,.icon-btn,.c-add,.c-gift,.set-btn,.tt,.tf,.tier-cta,.es-cta,.pe-save,.set-logout{min-height:44px}
  .chat-back,.icon-btn,.c-add,.c-gift{min-width:44px}
  .tool-av,.filter-cog,.photo-nav,.act-rewind,.act-message,.vp-edit{min-width:44px;min-height:44px}
  .photo-nav{top:50%!important;transform:translateY(-50%)}
  .chat-row,.match-card,.tier-card,.pack,.boost-card{touch-action:manipulation}
}
@media(display-mode:standalone){
  body{min-height:100dvh}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ============================================================================
 * BOOT SCREEN
 * ============================================================================ */
#boot-screen{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:rgba(7,8,16,.78);color:var(--text);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#boot-screen::before{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 50% 40% at 50% 50%,rgba(255,141,116,0.08),transparent 60%)}
.boot-logo{position:relative;display:flex;align-items:center;gap:8px;font-size:34px;font-weight:800}
.boot-logo .hrt{color:var(--coral);font-size:28px;filter:drop-shadow(0 0 12px rgba(255,141,116,.6))}
.boot-logo .vibeTxt{background:linear-gradient(90deg,var(--coral),var(--gold2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.boot-spin{width:28px;height:28px;border:3px solid rgba(255,255,255,.12);border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite}
.boot-tag{font-size:12px;color:var(--text3);letter-spacing:.04em}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{width:24px;height:24px;border:2.5px solid rgba(255,255,255,.10);border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite;margin:20px auto}

/* ============================================================================
 * TOAST / FATAL / OFFLINE
 * ============================================================================ */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:rgba(29,25,36,0.85);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  color:#f3f1f7;padding:12px 18px;border-radius:12px;
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 8px 32px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.05);
  font-size:13px;font-weight:600;z-index:99998;opacity:0;transition:all .3s;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.success{border-color:rgba(52,212,120,.4);color:#34d478}
.toast.error{border-color:rgba(255,105,122,.4);color:#ff697a}
#vc-fatal{position:fixed;bottom:0;left:0;right:0;background:#3a1020;color:#ff6b85;padding:10px 14px;font-size:12px;font-family:monospace;z-index:99999;border-top:1px solid rgba(255,107,133,.4);display:none}
#offline-banner{position:fixed;bottom:0;left:0;right:0;background:#2a2518;color:#ffd98a;padding:8px calc(14px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(14px + var(--safe-left));font-size:12px;z-index:9998;border-top:1px solid rgba(255,217,138,.3);text-align:center;overflow-wrap:anywhere}
#install-btn,#pwa-update-btn{position:fixed;bottom:calc(20px + var(--safe-bottom));z-index:9000;min-height:46px;max-width:calc(50vw - 24px);padding:10px 14px;border-radius:14px;color:#fff;font-size:13px;font-weight:700;line-height:1.2;box-shadow:0 8px 30px rgba(0,0,0,.4);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#install-btn{left:calc(16px + var(--safe-left));background:linear-gradient(135deg,rgba(255,141,116,.96),rgba(255,107,94,.96))}
#pwa-update-btn{display:none!important;right:calc(16px + var(--safe-right));background:rgba(35,29,45,.96);border:1px solid rgba(255,141,116,.4)}
#pwa-update-btn:disabled{opacity:.65;cursor:wait}
@media(max-width:768px){#install-btn,#pwa-update-btn{bottom:calc(74px + var(--safe-bottom));max-width:calc(100vw - 32px)}body.vc-discover-route #install-btn,body.vc-discover-route #pwa-update-btn{display:none!important}}

/* Unified in-app dialogs: confirmations, inputs, purchases and important notices. */
body.vc-modal-open{overflow:hidden}
.vc-modal-layer{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(5,3,9,.76);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:vcFade .16s ease}
.vc-modal-card{position:relative;width:min(100%,460px);max-height:min(86vh,760px);overflow:auto;padding:26px;border:1px solid rgba(255,255,255,.1);border-radius:26px;background:linear-gradient(155deg,rgba(35,27,43,.98),rgba(17,13,23,.98));box-shadow:0 28px 90px rgba(0,0,0,.6),0 0 50px rgba(255,91,96,.08);color:var(--text)}
.vc-modal-card h2{margin:0 42px 8px 0;font-size:22px;line-height:1.15;letter-spacing:-.02em}
.vc-modal-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin-bottom:16px;border-radius:18px;background:linear-gradient(135deg,rgba(255,141,116,.22),rgba(168,110,255,.18));color:#ff9b86;font-size:25px;font-weight:900}
.vc-modal-x{position:absolute;top:16px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:var(--text2);font-size:23px;cursor:pointer}
.vc-modal-copy{color:var(--text2);font-size:14px;line-height:1.62}.vc-modal-copy strong{color:var(--text)}
.vc-modal-fields{display:grid;gap:12px;margin-top:18px}.vc-modal-field{display:grid;gap:7px}.vc-modal-field label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text3)}
.vc-modal-field input,.vc-modal-field textarea,.vc-modal-field select{width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(8,6,12,.62);color:var(--text);font:inherit;outline:none}.vc-modal-field textarea{resize:vertical}.vc-modal-field input:focus,.vc-modal-field textarea:focus,.vc-modal-field select:focus{border-color:rgba(255,141,116,.6);box-shadow:0 0 0 3px rgba(255,141,116,.1)}
.vc-modal-actions{display:flex;gap:10px;margin-top:22px}.vc-modal-actions button{min-height:48px;padding:0 18px;border-radius:15px;font-weight:800;font-size:14px;cursor:pointer}.vc-modal-cancel{flex:1;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:var(--text2)}.vc-modal-confirm{flex:1.35;border:0;background:linear-gradient(135deg,#ff8d74,#ff5f64);color:#fff;box-shadow:0 10px 30px rgba(255,95,100,.22)}
.vc-modal-layer.tone-danger .vc-modal-icon{background:rgba(255,61,104,.16);color:#ff657f}.vc-modal-layer.tone-danger .vc-modal-confirm{background:linear-gradient(135deg,#ff4768,#d92b52)}.vc-modal-layer.tone-success .vc-modal-icon{background:rgba(52,212,120,.14);color:#55df91}
.vc-modal-layer.tone-warning .vc-modal-icon{background:rgba(242,193,91,.16);color:#f2c15b}.vc-modal-layer.tone-warning .vc-modal-confirm{background:linear-gradient(135deg,#f2b84b,#ff8d74)}
.vc-purchase-summary{display:grid;gap:1px;margin:14px 0;overflow:hidden;border-radius:16px;background:rgba(255,255,255,.07)}.vc-purchase-summary>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;background:rgba(10,7,14,.82)}.vc-purchase-summary span{font-size:12px;color:var(--text3)}.vc-purchase-summary strong{font-size:15px;color:var(--text)}.vc-purchase-summary .is-short strong{color:#ff8d74}.vc-perk-list,.vc-danger-list{display:grid;gap:8px;margin:13px 0;padding-left:20px}.vc-perk-list li::marker{color:#55df91}.vc-danger-list li::marker{color:#ff657f}.vc-boost-preview,.vc-badge-detail{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.045);font-weight:800}.vc-badge-detail{display:grid;gap:9px}.vc-badge-detail i{height:7px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.vc-badge-detail em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f2c15b,#ff8d74)}.vc-paid-preview,.vc-photo-delete-preview{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:18px}.vc-gift-preview{display:block;width:110px;height:110px;margin:4px auto 12px;object-fit:contain}
.vc-star-scale{margin:15px 0 2px;padding:14px;border:1px solid rgba(255,195,112,.16);border-radius:18px;background:radial-gradient(circle at 88% 10%,rgba(255,180,105,.12),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.vc-star-scale-value{display:flex;align-items:center;justify-content:space-between;gap:14px}.vc-star-scale-value span{color:var(--text3);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.vc-star-scale-value strong{color:#ffd28a;font-size:26px;letter-spacing:-.04em;text-shadow:0 0 18px rgba(255,177,105,.24)}.vc-star-scale p{min-height:17px;margin:7px 0 11px;color:var(--text2);font-size:11px;line-height:1.45}.vc-star-scale-ticks{display:flex;align-items:center;justify-content:space-between;gap:5px}.vc-star-scale-ticks button{min-width:0;padding:5px 7px;border:1px solid transparent;border-radius:8px;background:rgba(255,255,255,.035);color:var(--text3);font:700 9px/1 inherit;cursor:pointer}.vc-star-scale-ticks button.is-active{border-color:rgba(255,190,119,.35);background:rgba(255,158,111,.12);color:#ffd7a0}.vc-modal-field input[type="range"]{appearance:none;min-height:28px;padding:10px 0;border:0;background:transparent;box-shadow:none;cursor:pointer}.vc-modal-field input[type="range"]::-webkit-slider-runnable-track{height:7px;border-radius:999px;background:linear-gradient(90deg,rgba(255,128,111,.76),rgba(168,110,255,.7));box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}.vc-modal-field input[type="range"]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;margin-top:-8px;border:4px solid #211722;border-radius:50%;background:linear-gradient(135deg,#ffd08d,#ff806f);box-shadow:0 0 0 3px rgba(255,141,116,.15),0 5px 14px rgba(0,0,0,.4)}.vc-modal-field input[type="range"]::-moz-range-track{height:7px;border:0;border-radius:999px;background:linear-gradient(90deg,rgba(255,128,111,.76),rgba(168,110,255,.7))}.vc-modal-field input[type="range"]::-moz-range-thumb{width:18px;height:18px;border:4px solid #211722;border-radius:50%;background:linear-gradient(135deg,#ffd08d,#ff806f);box-shadow:0 0 0 3px rgba(255,141,116,.15)}.vc-funnel-reward,.vc-funnel-next{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:13px 14px;border:1px solid rgba(85,223,145,.15);border-radius:15px;background:rgba(85,223,145,.065)}.vc-funnel-reward strong,.vc-funnel-next strong{font-size:13px}.vc-funnel-reward span{flex:0 0 auto;color:#8debb6;font-weight:900}.vc-funnel-next{display:grid;justify-content:start;border-color:rgba(255,194,112,.14);background:rgba(255,181,104,.06)}.vc-funnel-next small{color:var(--text3);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.vc-boost-modal-card{width:min(100%,500px);padding:20px}.vc-boost-modal-card>.vc-modal-icon{position:absolute;top:18px;left:20px;width:38px;height:38px;margin:0;border-radius:13px;font-size:19px}.vc-boost-modal-card>h2{display:flex;align-items:center;min-height:38px;margin:0 42px 8px;padding-left:50px;font-size:20px}
.vc-boost-goal{--boost-tone:#ff8d74;--boost-tone-2:#ff5f64;--boost-border:rgba(255,141,116,.32);--boost-soft:rgba(255,141,116,.2);--boost-route:rgba(255,141,116,.075);--boost-shadow:rgba(255,141,116,.09);position:relative;margin-top:7px;padding:12px;overflow:hidden;border:1px solid var(--boost-border);border-radius:18px;background:radial-gradient(circle at 86% 8%,var(--boost-soft),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 12px 30px var(--boost-shadow);transition:border-color .25s ease,background .25s ease,box-shadow .25s ease}
.vc-boost-goal.is-start{--boost-tone:#ff8d74;--boost-tone-2:#ff5f64;--boost-border:rgba(255,141,116,.32);--boost-soft:rgba(255,141,116,.2);--boost-route:rgba(255,141,116,.075);--boost-shadow:rgba(255,141,116,.09)}.vc-boost-goal.is-warm{--boost-tone:#a86eff;--boost-tone-2:#6e8dff;--boost-border:rgba(168,110,255,.34);--boost-soft:rgba(168,110,255,.2);--boost-route:rgba(168,110,255,.08);--boost-shadow:rgba(168,110,255,.11)}.vc-boost-goal.is-hot{--boost-tone:#ffb15d;--boost-tone-2:#ff6f61;--boost-border:rgba(255,177,93,.38);--boost-soft:rgba(255,177,93,.22);--boost-route:rgba(255,177,93,.09);--boost-shadow:rgba(255,145,83,.13)}.vc-boost-goal.is-crown{--boost-tone:#ffd36e;--boost-tone-2:#55df91;--boost-border:rgba(255,211,110,.46);--boost-soft:rgba(255,211,110,.25);--boost-route:rgba(255,211,110,.1);--boost-shadow:rgba(255,190,82,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 16px 44px var(--boost-shadow)}
.vc-boost-goal::after{content:"";position:absolute;top:-80px;right:-70px;width:160px;height:160px;border-radius:50%;background:var(--boost-tone);filter:blur(70px);opacity:.12;pointer-events:none;transition:background .25s ease,opacity .25s ease}.vc-boost-goal.is-crown::after{opacity:.23}
.vc-boost-goal-head{position:relative;z-index:1;display:grid;gap:2px}.vc-boost-goal-head>span{color:var(--boost-tone);font-size:8px;font-weight:950;letter-spacing:.15em;transition:color .25s}.vc-boost-goal-head>strong{font-size:15px;letter-spacing:-.025em}.vc-boost-goal-head>small{color:var(--text3);font-size:10px;line-height:1.3}
.vc-boost-route{position:relative;z-index:1;display:grid;grid-template-columns:1fr 22px 1fr;align-items:center;gap:6px;margin-top:9px}.vc-boost-route>div{display:grid;gap:0;min-width:0;padding:7px 9px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(5,3,9,.2)}.vc-boost-route>div.is-projected{border-color:var(--boost-border);background:var(--boost-route)}.vc-boost-route small{overflow:hidden;color:var(--text3);font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.vc-boost-route strong{color:var(--text);font-size:18px;line-height:1.05}.vc-boost-route .is-projected strong{color:var(--boost-tone);transition:color .25s}.vc-boost-route span{color:var(--text3);font-size:9px}.vc-boost-route>b{color:var(--boost-tone);font-size:15px;text-align:center;transition:color .25s}
.vc-boost-goal-track{position:relative;z-index:1;height:7px;margin-top:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 1px 3px rgba(0,0,0,.25)}.vc-boost-goal-track>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--boost-tone),var(--boost-tone-2));box-shadow:0 0 15px var(--boost-shadow);transition:width .3s ease,background .25s ease}
.vc-boost-goal-status{position:relative;z-index:1;display:flex;align-items:start;justify-content:space-between;gap:10px;margin-top:7px}.vc-boost-goal-status strong{font-size:10px;line-height:1.3}.vc-boost-goal-status span{flex:0 0 auto;color:var(--boost-tone);font-size:9px;font-weight:900;transition:color .25s}
.vc-boost-top-cta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:35px;margin-top:8px;padding:0 11px;border:1px solid var(--boost-border);border-radius:11px;background:linear-gradient(135deg,var(--boost-route),rgba(255,255,255,.025));color:var(--text);font-size:11px;font-weight:850;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.vc-boost-top-cta:hover{transform:translateY(-1px);box-shadow:0 9px 24px var(--boost-shadow)}.vc-boost-top-cta strong{color:var(--boost-tone);font-size:14px}
.vc-boost-modal-card .vc-star-scale{margin:9px 0 0;padding:10px 12px;border-radius:15px}.vc-boost-modal-card .vc-star-scale-value strong{font-size:22px}.vc-boost-modal-card .vc-star-scale p{min-height:15px;margin:3px 0 7px}.vc-boost-modal-card .vc-star-scale-ticks button{padding:4px 6px}.vc-boost-modal-card .vc-modal-fields{margin-top:9px;gap:8px}.vc-boost-modal-card .vc-modal-field{gap:3px}.vc-boost-modal-card .vc-modal-actions{margin-top:12px}
.vc-boost-checkout{display:grid;gap:7px;margin-top:13px;padding:12px 13px;border:1px solid rgba(255,207,112,.18);border-radius:15px;background:linear-gradient(145deg,rgba(255,205,105,.075),rgba(168,110,255,.04))}.vc-boost-checkout>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.vc-boost-checkout span,.vc-boost-checkout p{color:var(--text3);font-size:11px}.vc-boost-checkout strong{color:var(--text);font-size:14px}.vc-boost-checkout strong.is-top{color:#ffd36e;font-size:18px}.vc-boost-checkout p{margin:2px 0 0;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);line-height:1.4}.vc-boost-checkout p strong{color:#ffd36e}
@media(max-width:520px){.vc-boost-modal-card{padding:18px 14px}.vc-boost-modal-card>.vc-modal-icon{top:16px;left:14px;width:36px;height:36px;margin:0}.vc-boost-modal-card>h2{min-height:36px;margin-bottom:7px;padding-left:45px;font-size:19px}.vc-boost-goal{padding:13px}.vc-boost-route{grid-template-columns:1fr 18px 1fr;gap:5px}.vc-boost-route>div{padding:9px}.vc-boost-route strong{font-size:19px}.vc-boost-goal-head>small{font-size:10px}.vc-boost-top-cta{min-height:40px}.vc-boost-modal-card .vc-star-scale{margin-top:11px;padding:12px}.vc-boost-modal-card .vc-modal-fields{margin-top:12px}.vc-boost-modal-card .vc-modal-actions{margin-top:16px}}
.chat-gift-card{position:relative;display:grid;place-items:center;min-width:150px;padding:14px 16px 10px;border-radius:18px;background:radial-gradient(circle at 50% 25%,rgba(255,218,162,.2),transparent 45%),linear-gradient(145deg,rgba(255,143,116,.14),rgba(139,92,246,.1));overflow:hidden}.chat-gift-card img,.chat-gift-fallback{position:relative;width:82px;height:82px;object-fit:contain;font-size:58px;line-height:82px;text-align:center;filter:drop-shadow(0 12px 18px rgba(255,128,113,.3));animation:vcGiftFloat 3s ease-in-out infinite}.chat-gift-card strong{position:relative;margin-top:2px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text3)}.chat-gift-spark{position:absolute;right:16px;top:10px;color:#ffd89b;font-size:18px;animation:vcGiftSpark 1.8s ease-in-out infinite}@keyframes vcGiftFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes vcGiftSpark{0%,100%{opacity:.35;transform:scale(.75) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(25deg)}}@media (prefers-reduced-motion:reduce){.chat-gift-card img,.chat-gift-fallback,.chat-gift-spark{animation:none}}
.vc-voice-preview{display:block;width:100%;margin:10px 0;accent-color:#ff8d74}
.vc-notification-list{display:grid;gap:8px;margin-top:12px}.vc-notification-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border-radius:15px;background:rgba(255,255,255,.04)}.vc-notification-item>span{font-size:22px}.vc-notification-item strong{display:block;color:var(--text);font-size:13px}.vc-notification-item p{margin:3px 0 0;color:var(--text3);font-size:12px;line-height:1.35}.vc-notification-item button,.vc-notification-activity{min-height:34px;padding:0 10px;border:0;border-radius:10px;background:rgba(255,141,116,.12);color:#ff9b86;font-weight:800;cursor:pointer}.vc-notification-activity{width:100%;margin-top:10px;background:rgba(255,255,255,.05);color:var(--text2)}
.chat-list-page{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:18px 20px 32px}.chat-list-tools{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.chat-list-tools small{color:var(--text3);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.chat-list-tools h1{margin:2px 0 0;font-size:26px}.chat-list-tools label{display:flex;align-items:center;gap:8px;min-width:min(320px,45%);padding:0 13px;border-radius:14px;background:rgba(255,255,255,.05);color:var(--text3)}.chat-list-tools input{width:100%;min-height:44px;border:0;background:transparent;color:var(--text);outline:none}.chat-match-scroller{position:relative;margin:0 0 14px}.chat-match-strip{display:flex;gap:10px;margin:0;padding:6px 45px 10px 5px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:5px;scrollbar-width:none}.chat-match-strip::-webkit-scrollbar{display:none}.chat-match-strip:focus-visible{outline:2px solid rgba(255,141,116,.38);outline-offset:3px;border-radius:12px}.chat-match-strip button{display:grid;justify-items:center;gap:5px;width:62px;flex:0 0 62px;border:0;background:transparent;color:var(--text2);cursor:pointer}.chat-match-avatar{position:relative;display:grid;place-items:center;width:54px;height:54px;border:2px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.055);color:#ff987f;font-weight:900;box-shadow:0 0 0 3px rgba(255,255,255,.025);transition:transform .16s,border-color .16s,box-shadow .16s}.chat-match-strip button:hover .chat-match-avatar{transform:translateY(-1px);border-color:rgba(255,141,116,.55)}.chat-match-all-avatar{background:linear-gradient(145deg,rgba(255,141,116,.15),rgba(168,110,255,.1))}.chat-match-strip button.has-gallery .chat-match-avatar{border-color:#ff8d74;box-shadow:0 0 0 3px rgba(255,141,116,.12)}.chat-match-strip button.has-new-photo .chat-match-avatar{border-color:#a86eff;box-shadow:0 0 0 3px rgba(168,110,255,.15),0 0 18px rgba(168,110,255,.18)}.chat-match-photo-count,.chat-match-unread{position:absolute;z-index:2;display:grid;place-items:center;border:2px solid var(--bg);font-style:normal;font-weight:900;line-height:1}.chat-match-photo-count{left:-4px;bottom:-4px;min-width:25px;height:17px;padding:0 4px;border-radius:999px;background:#2c2435;color:#fff;font-size:7px}.chat-match-unread{right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--coral);color:#fff;font-size:8px}.chat-match-strip small{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.chat-match-next{position:absolute;z-index:3;right:4px;top:13px;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(22,18,28,.88);color:#fff;font-size:25px;line-height:1;box-shadow:0 8px 24px rgba(0,0,0,.3);backdrop-filter:blur(14px);cursor:pointer}.chat-match-next:disabled{opacity:.35}.chat-match-next[hidden]{display:none}.chat-list-page .chat-list{border-radius:20px;overflow:visible;overscroll-behavior:auto;background:rgba(255,255,255,.018)}
.vc-auto-reply-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px;padding:13px 14px;border-radius:15px;background:rgba(168,110,255,.08);cursor:pointer}.vc-auto-reply-row span{display:grid;gap:3px}.vc-auto-reply-row strong{font-size:13px}.vc-auto-reply-row small{color:var(--text3);font-size:11px;line-height:1.35}.vc-auto-reply-row input{width:20px;height:20px;accent-color:#a86eff}
@media(max-width:768px){.chat-list-page{padding:12px 10px calc(90px + var(--safe-bottom))}.chat-list-tools{display:block}.chat-list-tools label{min-width:0;margin-top:12px}.chat-match-strip{margin-inline:-2px}.bottom-nav .bn-item{font-size:9px}.bottom-nav .bn-item svg{width:20px;height:20px}}
@keyframes vcFade{from{opacity:0}to{opacity:1}}

/* Full public profile route */
.public-profile-page{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px 22px 40px;scrollbar-gutter:stable;color:var(--text)}
.pp-head{display:flex;align-items:center;gap:12px;max-width:1100px;margin:0 auto 14px}.pp-head>button{width:42px;height:42px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.045);color:var(--text);font-size:20px;cursor:pointer}.pp-head>div{display:grid;flex:1}.pp-head small{text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:var(--text3);font-weight:800}.pp-head strong{font-size:15px}
.pp-grid{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(300px,1.18fr);gap:18px;max-width:1100px;margin:0 auto;align-items:start}.pp-media{position:sticky;top:0;min-width:0}.pp-hero{position:relative;display:block;width:100%;aspect-ratio:.78;border:0;border-radius:28px;overflow:hidden;background:var(--pp-img) center/cover,var(--panel);cursor:zoom-in;box-shadow:0 25px 70px rgba(0,0,0,.36)}.pp-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,3,8,.04) 40%,rgba(5,3,8,.9))}.pp-hero-info{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;text-align:left}.pp-hero-info h1{margin:8px 0 4px;font-size:30px;line-height:1;color:#fff}.pp-hero-info h1 span{font-weight:400}.pp-hero-info h1 em{font-style:normal;color:#ffd36e;font-size:18px}.pp-hero-info p{margin:0;color:rgba(255,255,255,.78);font-size:13px}.pp-presence{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.4);color:#c5becb;font-size:10px;font-weight:800;backdrop-filter:blur(10px)}.pp-presence i{width:7px;height:7px;border-radius:50%;background:#777}.pp-presence.online{color:#c7ffe0}.pp-presence.online i{background:#38dd83;box-shadow:0 0 0 4px rgba(56,221,131,.13),0 0 16px #38dd83}
.pp-thumbs{display:flex;gap:8px;overflow:auto;padding:10px 2px 2px}.pp-thumb{position:relative;flex:0 0 66px;height:82px;border:2px solid transparent;border-radius:15px;background:var(--pp-img) center/cover,var(--panel);overflow:hidden;cursor:pointer}.pp-thumb.active{border-color:#ff8d74;box-shadow:0 0 0 3px rgba(255,141,116,.1)}
.pp-thumb.locked,.pp-gallery-item.locked{background:radial-gradient(circle at 25% 18%,rgba(255,211,110,.14),transparent 35%),radial-gradient(circle at 82% 78%,rgba(168,110,255,.16),transparent 40%),linear-gradient(145deg,#211925,#100d15);isolation:isolate;box-shadow:inset 0 0 0 1px rgba(255,211,110,.08)}
.pp-thumb.locked:before,.pp-gallery-item.locked:before{content:"";position:absolute;inset:0;z-index:1;background:var(--pp-img) center/contain no-repeat;filter:blur(1.8px) brightness(.82) saturate(.76);transform:scale(1.025);opacity:.98;pointer-events:none}
.pp-thumb.locked:after,.pp-gallery-item.locked:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(8,6,12,.08),rgba(8,6,12,.2) 58%,rgba(8,6,12,.54));pointer-events:none}
.pp-thumb span{position:absolute;z-index:3;inset:auto 3px 4px;padding:3px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:rgba(0,0,0,.66);backdrop-filter:blur(8px);color:#fff;font-size:8px;font-weight:900}
.pp-content{display:grid;gap:12px;min-width:0}.pp-actions{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:8px;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(18,14,24,.88);backdrop-filter:blur(20px);box-shadow:0 16px 35px rgba(0,0,0,.25)}.pp-actions button{min-width:0;min-height:48px;padding-inline:7px;border:0;border-radius:14px;background:rgba(255,255,255,.055);color:var(--text2);font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.pp-actions button.primary{background:linear-gradient(135deg,#ff8d74,#ff5f64);color:#fff;box-shadow:0 8px 22px rgba(255,95,100,.2)}.pp-actions button.active{background:rgba(255,95,100,.16);color:#ff8d74}
.pp-chips{display:flex;flex-wrap:wrap;gap:7px}.pp-chips span{padding:7px 10px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.035);color:var(--text2);font-size:11px;font-weight:700}.pp-chips .subscriber{color:#ffd36e;border-color:rgba(255,211,110,.2);background:rgba(255,211,110,.08)}
.pp-card{padding:20px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,rgba(30,23,37,.8),rgba(18,14,24,.72));box-shadow:0 14px 38px rgba(0,0,0,.16)}.pp-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.pp-card small,.pp-section-head small{display:block;margin-bottom:4px;color:var(--text3);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.pp-card h2,.pp-section-head h2{margin:0;font-size:19px}.pp-about>p,.pp-card>p{margin:0;color:var(--text2);font-size:13px;line-height:1.7}.pp-interests{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.pp-interests span{padding:7px 10px;border-radius:10px;background:rgba(168,110,255,.1);color:#d5c3ee;font-size:11px;font-weight:700}.pp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pp-fact{padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.035)}.pp-fact strong{display:block;font-size:12px;line-height:1.35}.pp-fact small{margin-bottom:4px}
.pp-rating{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:radial-gradient(circle at 90% 0,rgba(255,141,116,.16),transparent 42%),linear-gradient(145deg,rgba(31,23,38,.9),rgba(18,14,24,.8))}.pp-rating-score{display:grid;text-align:right}.pp-rating-score>strong{font-size:26px;color:#ff9b86}.pp-rating-score>span{color:var(--text3);font-size:10px}.pp-rating-score button,.pp-sub button{margin-top:10px;min-height:38px;padding:0 14px;border:0;border-radius:12px;background:linear-gradient(135deg,#ff8d74,#ff5f64);color:#fff;font-weight:800;cursor:pointer}.pp-sub{display:flex;align-items:center;justify-content:space-between;gap:18px;background:radial-gradient(circle at 0 0,rgba(255,211,110,.13),transparent 42%),rgba(26,20,32,.85)}.pp-sub button{flex:0 0 auto;background:linear-gradient(135deg,#ffd36e,#ff9d5c);color:#241402}.pp-sub button:disabled{opacity:.65}
.pp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pp-gallery-item{position:relative;aspect-ratio:.78;border:0;border-radius:15px;overflow:hidden;background:var(--pp-img) center/cover,var(--panel);cursor:pointer}.pp-gallery-lock{position:absolute;z-index:3;right:7px;bottom:7px;padding:4px 7px;border-radius:9px;background:rgba(4,3,7,.72);color:#fff;font-size:9px;font-weight:900}
.pp-gifts{display:grid;gap:7px}.pp-gift{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:9px;border-radius:14px;background:rgba(255,255,255,.035)}.pp-gift img,.pp-gift>span{width:42px;height:42px;border-radius:12px;object-fit:cover}.pp-gift>span{display:grid;place-items:center;background:rgba(255,141,116,.1);font-size:21px}.pp-gift strong{font-size:11px}.pp-gift p{margin:2px 0 0;color:var(--text3);font-size:10px}.pp-gift>b{color:#ffd36e;font-size:11px}.pp-empty{padding:20px;text-align:center;color:var(--text3);font-size:12px}
.pp-gift-empty{position:relative;padding:13px 14px;overflow:hidden;border:1px solid rgba(255,190,104,.17);border-radius:17px;background:radial-gradient(circle at 8% 10%,rgba(255,196,109,.13),transparent 34%),radial-gradient(circle at 95% 92%,rgba(255,141,116,.09),transparent 38%),linear-gradient(135deg,rgba(255,141,116,.075),rgba(168,110,255,.045));box-shadow:inset 0 1px 0 rgba(255,255,255,.055)}.pp-gift-empty-main{position:relative;z-index:1;display:flex;align-items:center;gap:13px;min-width:0}.pp-gift-empty-icon{position:relative;display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid rgba(255,205,117,.22);border-radius:17px;background:linear-gradient(145deg,rgba(255,210,129,.16),rgba(255,111,97,.1));box-shadow:0 9px 24px rgba(255,130,99,.1)}.pp-gift-empty-icon>span{font-size:27px;filter:drop-shadow(0 7px 11px rgba(255,136,90,.2));animation:ppGiftFloat 3.2s ease-in-out infinite}.pp-gift-empty-icon>i{position:absolute;top:5px;right:6px;color:#ffd36e;font-size:11px;font-style:normal;animation:ppGiftSpark 1.8s ease-in-out infinite}.pp-gift-empty-copy{min-width:0}.pp-gift-empty-copy strong{display:block;color:var(--text);font-size:13px;line-height:1.25}.pp-gift-empty-copy p{margin:4px 0 0;color:var(--text3);font-size:10px;line-height:1.45}.pp-gift-empty>button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:42px;margin-top:11px;padding:0 13px;border:1px solid rgba(255,178,103,.2);border-radius:13px;background:linear-gradient(135deg,#ff9a72,#ff6c66);box-shadow:0 9px 24px rgba(255,102,91,.17);color:#fff;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.pp-gift-empty>button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(255,102,91,.25)}.pp-gift-empty>button>b{font-size:15px}.pp-gift-empty>button>span{font-size:13px}@keyframes ppGiftFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}@keyframes ppGiftSpark{0%,100%{opacity:.35;transform:scale(.78) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(22deg)}}
.vc-gift-picker{width:min(100%,500px);max-height:min(88vh,720px);padding:18px;overflow:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:linear-gradient(155deg,rgba(35,27,43,.98),rgba(17,13,23,.98));box-shadow:0 26px 74px rgba(0,0,0,.48)}.vc-gift-picker-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.vc-gift-picker-head strong{font-size:16px}.vc-gift-picker-head button{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.065);color:var(--text2);font-size:22px;cursor:pointer}.vc-gift-picker-copy{margin:5px 0 11px;color:var(--text3);font-size:11px;line-height:1.4}.vc-gift-picker #vc-gift-msg{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#15121a;color:var(--text);font:inherit;outline:none}.vc-gift-picker #vc-gift-msg:focus{border-color:rgba(255,141,116,.48);box-shadow:0 0 0 3px rgba(255,141,116,.09)}.vc-gift-anon{display:flex;align-items:center;gap:7px;margin-top:8px;color:var(--text3);font-size:11px}.vc-gift-anon input{width:17px;height:17px;accent-color:#ff8d74}.vc-gift-picker #vc-gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
@media(max-width:640px){.pp-gift-empty{padding:12px}.pp-gift-empty-main{gap:10px}.pp-gift-empty-icon{flex-basis:46px;width:46px;height:46px;border-radius:14px}.pp-gift-empty-icon>span{font-size:23px}.pp-gift-empty>button{min-height:40px;margin-top:10px}.pp-gift-empty-copy strong{font-size:12px}}
.pp-safety{display:flex;flex-wrap:wrap;gap:8px}.pp-safety button{flex:1;min-width:150px;min-height:42px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.035);color:var(--text2);font-size:11px;font-weight:700;cursor:pointer}.pp-safety #pp-block,.pp-safety #pp-report{color:#ff889a}.pp-disclaimer{margin:5px 8px 20px;color:rgba(185,178,194,.5);font-size:9px;line-height:1.55;text-align:center}
.pp-skeleton{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:18px;max-width:1100px;margin:60px auto}.pp-skeleton>i{aspect-ratio:.78;border-radius:28px}.pp-skeleton>div{display:grid;align-content:start;gap:12px}.pp-skeleton b,.pp-skeleton span,.pp-skeleton>i{display:block;background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(255,255,255,.085),rgba(255,255,255,.035));background-size:220% 100%;animation:vcSkel 1.4s infinite}.pp-skeleton b{height:70px;border-radius:20px}.pp-skeleton span{height:150px;border-radius:22px}@keyframes vcSkel{to{background-position:-220% 0}}
.pp-lightbox{position:fixed;inset:0;z-index:21000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,2,5,.94);backdrop-filter:blur(14px)}.pp-lightbox .pp-lb-media{display:block;max-width:min(92vw,900px);max-height:88vh;border-radius:18px;object-fit:contain;touch-action:pan-y;user-select:none;-webkit-user-drag:none}.pp-lightbox.is-error .pp-lb-media{opacity:.24}.pp-lightbox button{position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:30px;cursor:pointer}.pp-lightbox button[hidden]{display:none}.pp-lightbox button .vc-glass-icon{width:34px;height:34px}.pp-lb-close{top:18px;right:18px}.pp-lb-prev{left:20px}.pp-lb-next{right:20px}.pp-lb-count{position:absolute;bottom:18px;padding:6px 11px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:800}.chat-photo-open,.vc-own-photo[role="button"]{cursor:zoom-in}.chat-photo-open:focus-visible,.vc-own-photo[role="button"]:focus-visible{outline:2px solid rgba(255,141,116,.72);outline-offset:3px}.vc-sub-offer strong{display:block;margin-bottom:12px;font-size:17px;color:#ffd36e}.vc-sub-offer ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.vc-sub-offer li{padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.035);color:var(--text2);font-size:12px}.vc-sub-offer small{display:block;margin-top:12px;color:var(--text3)}.vc-like-result{text-align:center}.vc-like-result strong{display:block;font-size:24px}.vc-like-result p{color:var(--text2);line-height:1.5}.vc-like-result div{font-size:26px}
@media(max-width:768px){.public-profile-page{padding:0 0 calc(98px + var(--safe-bottom));overflow:auto}.pp-head{position:sticky;top:0;z-index:15;margin:0;padding:8px 10px;background:rgba(10,7,14,.75);backdrop-filter:blur(18px)}.pp-grid{display:block}.pp-media{position:relative}.pp-hero{aspect-ratio:.78;border-radius:0 0 28px 28px}.pp-hero-info{bottom:20px}.pp-thumbs{padding:9px 12px}.pp-content{padding:0 10px 14px}.pp-actions{position:sticky;top:auto;bottom:calc(70px + var(--safe-bottom));grid-template-columns:repeat(4,1fr);order:0;margin-top:8px}.pp-actions button{min-height:48px;font-size:10px;white-space:normal;line-height:1.15}.pp-actions .primary{font-size:11px}.pp-card{padding:16px;border-radius:19px}.pp-facts{grid-template-columns:1fr 1fr}.pp-rating{grid-template-columns:1fr auto}.pp-gallery{grid-template-columns:repeat(3,1fr)}.pp-skeleton{display:block;margin:0}.pp-skeleton>i{border-radius:0 0 28px 28px}.pp-skeleton>div{padding:12px}.vc-modal-layer{align-items:flex-end;padding:0}.vc-modal-card{width:100%;max-height:90vh;border-radius:26px 26px 0 0;padding:24px 18px calc(22px + var(--safe-bottom));animation:vcSheetUp .2s ease}@keyframes vcSheetUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.pp-lb-prev{left:8px}.pp-lb-next{right:8px}}

/* ============================================================================
 * AUTH / ONBOARDING (centered card on dark bg)
 * ============================================================================ */
.auth-wrap{display:grid;place-items:center;height:100%;padding:24px;overflow-y:auto}
.onboarding{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:6px}
.onb-logo{display:flex;align-items:center;gap:8px;font-size:30px;font-weight:800;margin-bottom:14px}
.onb-logo .hrt{color:var(--coral);font-size:26px;filter:drop-shadow(0 0 10px rgba(255,141,116,.6))}
.onb-logo .vt{background:linear-gradient(90deg,var(--coral),var(--gold2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.onb-title{font-size:26px;font-weight:800;text-align:center;letter-spacing:-.4px}
.onb-sub{font-size:14px;color:var(--text3);text-align:center;margin-top:4px;margin-bottom:20px}
.onb-card{width:100%;
  background:rgba(255,255,255,0.04);
  backdrop-filter:blur(28px) saturate(1.15);-webkit-backdrop-filter:blur(28px) saturate(1.15);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--r-panel);
  padding:22px;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 20px 60px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.05)}
.onb-step{font-size:13px;font-weight:600;color:var(--text2);letter-spacing:.02em}
.onb-genders{display:flex;gap:10px}
.gender-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border-radius:14px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  cursor:pointer;transition:.18s}
.gender-btn:hover{background:rgba(255,255,255,0.07)}
.gender-btn.selected{border-color:var(--coral);background:rgba(255,141,116,0.10);
  box-shadow:0 0 16px rgba(255,141,116,0.18),inset 0 1px 0 rgba(255,255,255,0.05)}
.gender-btn .vc-guest-gender-icon{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 13px rgba(83,45,132,.2));transition:transform .18s ease,filter .18s ease}
.gender-btn:hover .vc-guest-gender-icon,.gender-btn.selected .vc-guest-gender-icon{transform:translateY(-1px) scale(1.035);filter:drop-shadow(0 9px 16px rgba(187,67,163,.28))}
.gender-btn .g-label{font-size:13px;font-weight:600;color:var(--text2)}
.gender-btn.selected .g-label{color:var(--text)}
.onb-age{display:flex;align-items:center;gap:14px;width:100%}
.onb-age input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:rgba(255,255,255,.12);border-radius:6px;outline:none}
.onb-age input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--coral2));border:3px solid #fff;box-shadow:0 2px 10px rgba(255,141,116,.5);cursor:grab}
.onb-age input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--coral2));border:3px solid #fff;box-shadow:0 2px 10px rgba(255,141,116,.5);cursor:grab}
.city-picker,.city-picker-row{min-width:0}
.city-picker{position:relative}
.city-picker input{width:100%}
.city-picker-row{display:flex;gap:7px;align-items:flex-start}
.city-picker-row>.city-picker{min-width:0;flex:1}
.city-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:1200;display:grid;gap:4px;max-height:240px;overflow:auto;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(20,15,27,.98);box-shadow:0 18px 42px rgba(0,0,0,.38);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.city-suggest[hidden]{display:none}
.city-suggest-item{display:grid;gap:2px;width:100%;min-width:0;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.city-suggest-item:hover,.city-suggest-item:focus-visible{border-color:rgba(255,141,116,.28);background:rgba(255,141,116,.1);outline:none}
.city-suggest-item strong{font-size:12px}
.city-suggest-item small{overflow:hidden;color:var(--text3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.onb-city-picker input{width:100%;min-height:46px;padding:12px 13px;border:1px solid var(--control-border);border-radius:12px;background:var(--control-bg);color:var(--text)}
.onb-city-picker input:focus,.city-picker-row input:focus{border-color:rgba(255,141,116,.58);box-shadow:0 0 0 3px rgba(255,141,116,.11)}
.age-val{font-size:22px;font-weight:800;min-width:38px;text-align:center;color:var(--gold2)}
.onb-cta{margin-top:8px;padding:15px;border-radius:14px;border:0;background:linear-gradient(135deg,var(--coral),var(--coral2));color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:.18s;box-shadow:0 8px 24px rgba(255,141,116,.35)}
.onb-cta:hover:not(:disabled){box-shadow:0 8px 32px rgba(255,141,116,.5);transform:translateY(-1px)}
.onb-cta:disabled{opacity:.4;cursor:not-allowed}
.onb-auth{margin-top:16px;text-align:center}
.link-btn{font-size:13px;color:var(--blue);background:none;border:0;cursor:pointer;text-decoration:underline}
.link-btn:hover{color:var(--text)}

/* Auth (login/register) */
.auth-card{width:100%;max-width:380px;
  background:rgba(255,255,255,0.04);
  backdrop-filter:blur(28px) saturate(1.15);-webkit-backdrop-filter:blur(28px) saturate(1.15);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--r-panel);padding:28px 24px;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 20px 60px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.05)}
.auth-logo{display:flex;align-items:center;gap:8px;font-size:26px;font-weight:800;justify-content:center;margin-bottom:4px}
.auth-logo .hrt{color:var(--coral);font-size:22px}
.auth-logo .vt{background:linear-gradient(90deg,var(--coral),var(--gold2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.auth-title{font-size:20px;font-weight:700;text-align:center}
.auth-sub{font-size:13px;color:var(--text3);text-align:center;margin-top:-6px;margin-bottom:6px}
.auth-tg{display:flex;justify-content:center;min-height:40px}
.auth-divider{display:flex;align-items:center;gap:10px;color:var(--text3);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:4px 0}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--div)}
.auth-form{display:flex;flex-direction:column;gap:10px}
.auth-form input{width:100%;padding:13px 14px;border-radius:12px;background:var(--panel2);border:1px solid var(--border);font-size:14px;transition:.18s}
.auth-form input:focus{border-color:rgba(255,141,116,0.35);background:rgba(255,255,255,.06);box-shadow:0 0 0 3px rgba(255,141,116,.10)}
.auth-profile-fields{display:grid;grid-template-columns:1fr 90px 1fr;gap:8px}.auth-profile-fields label{display:flex;flex-direction:column;gap:5px;color:var(--text2);font-size:11px}.auth-profile-fields select,.auth-profile-fields input{min-width:0;width:100%;padding:11px 10px;border-radius:11px;background:var(--panel2);border:1px solid var(--border);color:var(--text);font-size:13px}.auth-smart-profile{padding:10px 12px;border-radius:12px;background:linear-gradient(110deg,rgba(255,141,116,.11),rgba(168,110,255,.1));color:var(--text2);font-size:12px;line-height:1.45}
@media(max-width:430px){.auth-profile-fields{grid-template-columns:1fr 92px}.auth-profile-fields label:last-child{grid-column:1/-1}}
.auth-submit{margin-top:6px;padding:14px;border-radius:12px;border:0;background:linear-gradient(135deg,var(--coral),var(--coral2));color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:.18s;box-shadow:0 6px 18px rgba(255,141,116,.3)}
.auth-submit:hover{box-shadow:0 6px 26px rgba(255,141,116,.5)}
.auth-toggle{appearance:none;width:100%;padding:0;border:0;background:transparent;text-align:center;font:inherit;font-size:13px;color:var(--blue);cursor:pointer;margin-top:4px}
.auth-toggle:hover{color:var(--text)}
.auth-magic{margin-top:8px}
.auth-magic summary{font-size:12px;color:var(--text3);cursor:pointer;text-align:center;list-style:none}
.auth-magic summary::-webkit-details-marker{display:none}
.magic-form{display:flex;gap:8px;margin-top:8px}
.magic-form input{flex:1;padding:10px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--border);font-size:13px}
.magic-form button{padding:10px 16px;border-radius:10px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}
.magic-result{margin-top:8px;font-size:12px;color:var(--text2)}

/* ============================================================================
 * CHATS LIST
 * ============================================================================ */
.chat-list{flex:1;overflow-y:auto;padding:4px 0}
.chat-row{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:.15s;border-bottom:1px solid var(--div)}
.chat-row:hover{background:rgba(255,255,255,0.03)}
.chat-row .av{width:46px;height:46px;border-radius:50%;overflow:hidden;position:relative;flex-shrink:0;background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700}
.chat-row .av img{width:100%;height:100%;object-fit:cover}
.chat-row .av .dot{position:absolute;bottom:1px;right:1px;width:11px;height:11px;border-radius:50%;background:var(--green);border:2px solid var(--bg)}
.cinfo{flex:1;min-width:0}
.cnm{display:flex;align-items:center;gap:7px;min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden}
.cnm>span{overflow:hidden;text-overflow:ellipsis}
.chat-row-presence{flex:0 0 auto;color:var(--text3);font-size:9px;font-weight:550}.chat-row-presence.is-online{color:var(--green)}
.cmsg{font-size:12px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.chat-row.has-unread{background:linear-gradient(90deg,rgba(255,141,116,.055),transparent 62%)}.chat-row.has-unread .cnm>span{font-weight:800;color:var(--text)}.chat-row.has-unread .cmsg{color:var(--text2);font-weight:650}
.cmeta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.ctm{font-size:11px;color:var(--text3)}
.unread{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--coral);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* ============================================================================
 * CHAT THREAD
 * ============================================================================ */
.chat-view{position:relative;flex:1 1 0;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.chat-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--div);flex-shrink:0}
.chat-back{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--text2);cursor:pointer;transition:.15s}
.chat-back:hover{background:var(--panel);color:var(--text)}
.chat-back svg{width:20px;height:20px;stroke-width:2}
.chat-header .av{width:38px;height:38px;border-radius:50%;overflow:hidden;position:relative;flex-shrink:0;background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700}
.chat-header .av img{width:100%;height:100%;object-fit:cover}
.chat-header .av .dot{position:absolute;bottom:1px;right:1px;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--bg)}
.ch-info{flex:1;min-width:0}
.ch-nm{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-sub{font-size:11px;color:var(--green)}
.ch-actions{display:flex;gap:6px}
.icon-btn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--text2);cursor:pointer;transition:.15s}
.icon-btn:hover{background:var(--panel);color:var(--text)}
.icon-btn svg{width:18px;height:18px;stroke-width:2}
.chat-thread{flex:1 1 0;height:0;overflow-y:auto!important;overflow-x:hidden;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-height:0;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.chat-empty{text-align:center;color:var(--text3);font-size:13px;padding:40px 0}
.msg-wrap{display:flex;flex-direction:column;max-width:75%}
.msg-wrap.me{align-self:flex-end;align-items:flex-end}
.msg-wrap.them{align-self:flex-start;align-items:flex-start}
.bub{padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.4;word-break:break-word;overflow-wrap:anywhere}
.bub.me{background:linear-gradient(135deg,var(--coral),var(--coral2));color:#fff;border-bottom-right-radius:6px}
.bub.them{background:rgba(255,255,255,.07);color:var(--text);border-bottom-left-radius:6px}
.bub-ts{font-size:10px;color:var(--text3);margin-top:3px}
.bub-footer{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-height:14px;margin-top:3px}.bub-footer .bub-ts{margin-top:0}.bub-delivery{font-size:11px;font-weight:800;letter-spacing:-.2em;color:var(--text3);padding-right:.2em}.bub-delivery.is-seen{color:#79dba0}
.chat-down{position:absolute;z-index:8;right:18px;bottom:calc(var(--chat-composer-height,68px) + 12px);display:flex;align-items:center;gap:6px;min-width:42px;height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(23,20,30,.88);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.chat-down span{font-size:20px;line-height:1}.chat-down small:empty{display:none}.chat-down small{color:var(--coral);font-size:10px;font-weight:800;white-space:nowrap}
.daynote{text-align:center;font-size:11px;color:var(--text3);margin:10px 0}
.composer{display:flex;align-items:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--div);flex-shrink:0;background:var(--panel2)}
.composer textarea{flex:1;min-width:0;resize:none;min-height:40px;max-height:120px;padding:10px 14px;border-radius:18px;background:var(--panel);border:1px solid var(--border);font-size:14px;line-height:1.4;transition:.18s}
.composer textarea:focus{border-color:rgba(255,141,116,0.35);background:rgba(255,255,255,.06)}
.c-add,.c-gift{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:18px;cursor:pointer;color:var(--text2);transition:.15s;flex-shrink:0}
.c-add:hover,.c-gift:hover{background:var(--panel);color:var(--text)}
.c-send{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--coral),var(--coral2));color:#fff;cursor:pointer;transition:.18s;flex-shrink:0;box-shadow:0 4px 14px rgba(255,141,116,.35)}
.c-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.c-send svg{width:20px;height:20px}

/* ============================================================================
 * VIBE TOP
 * ============================================================================ */
.top-view{flex:1;display:flex;flex-direction:column;padding:14px 16px;gap:14px;overflow-y:auto}
.top-tabs,.top-filters{display:flex;gap:6px;flex-wrap:wrap}
.tt,.tf{padding:8px 16px;border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text2);cursor:pointer;transition:.15s}
.tt:hover,.tf:hover{color:var(--text)}
.tt.active,.tf.active{background:rgba(255,141,116,0.12);border-color:rgba(255,141,116,0.35);color:var(--coral)}
.top-list{display:flex;flex-direction:column;gap:14px}
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}
.podium-place{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:var(--r-panel);background:var(--panel);border:1px solid var(--border)}
.podium-place.p1{background:linear-gradient(180deg,rgba(242,193,91,0.14),var(--panel));border-color:rgba(242,193,91,0.3)}
.podium-place.p2{padding-top:18px}
.podium-place.p3{padding-top:22px}
.medal{font-size:24px}
.podium-place .av{width:54px;height:54px;border-radius:50%;overflow:hidden;border:2px solid var(--gold);background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700}
.podium-place .av img{width:100%;height:100%;object-fit:cover}
.pn{font-size:12px;font-weight:600;text-align:center}
.ps{font-size:11px;color:var(--gold)}
.rank-list{display:flex;flex-direction:column;gap:4px}
.rank-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--panel2);transition:.15s;cursor:pointer}
.rank-row:hover{background:var(--panel)}
.rk{width:26px;font-size:13px;font-weight:700;color:var(--text3);text-align:center}
.rank-row .av{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700}
.rank-row .av img{width:100%;height:100%;object-fit:cover}
.ri{flex:1;min-width:0}
.rn{font-size:13px;font-weight:600}
.rc{font-size:11px;color:var(--text3)}
.rv{font-size:13px;font-weight:700;color:var(--gold)}

/* ============================================================================
 * MATCHES
 * ============================================================================ */
.matches-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:16px;align-content:flex-start}
.match-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border-radius:var(--r-panel);background:var(--panel);border:1px solid var(--border);cursor:pointer;transition:.18s}
.match-card:hover{transform:translateY(-2px);box-shadow:var(--sh-soft);border-color:rgba(255,141,116,0.3)}
.match-card .av{width:72px;height:72px;border-radius:50%;overflow:hidden;border:2px solid var(--coral);background:linear-gradient(135deg,var(--coral),var(--purple));display:grid;place-items:center;color:#fff;font-weight:700;font-size:22px}
.match-card .av img{width:100%;height:100%;object-fit:cover}
.mc-nm{font-size:13px;font-weight:600;text-align:center}

/* ============================================================================
 * STORE
 * ============================================================================ */
.store-view{flex:1;display:flex;flex-direction:column;gap:18px;padding:16px;overflow-y:auto}
.store-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;border-radius:var(--r-panel);
  background:rgba(255,255,255,0.04);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 4px 20px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.03)}
.sh-bal{font-size:34px;font-weight:800;color:var(--gold2);display:flex;align-items:center;gap:6px}
.sh-star{color:var(--gold2);font-size:28px}
.sh-label{font-size:12px;color:var(--text3)}
.trial-btn{margin:0 auto;padding:12px 24px;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--coral),var(--coral2));color:#fff;font-size:14px;font-weight:700;cursor:pointer;border:0;box-shadow:0 6px 18px rgba(255,141,116,.3)}
.store-section{display:flex;flex-direction:column;gap:10px}
.ss-title{font-size:16px;font-weight:700;display:flex;align-items:baseline;gap:10px}
.ss-sub{font-size:11px;color:var(--text3);font-weight:400}
.tiers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.tier-card{display:flex;flex-direction:column;gap:6px;width:100%;padding:16px;border-radius:var(--r-panel);background:var(--panel);border:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:.18s}
.tier-card:hover{transform:translateY(-2px);box-shadow:var(--sh-soft)}
.tier-card.gold{background:linear-gradient(135deg,rgba(242,193,91,0.10),var(--panel));border-color:rgba(242,193,91,0.3)}
.tier-card.elite{background:linear-gradient(135deg,rgba(168,110,255,0.10),rgba(255,141,116,0.06));border-color:rgba(168,110,255,0.3);box-shadow:var(--glow-purple)}
.tier-name{font-size:15px;font-weight:700}
.tier-price{font-size:22px;font-weight:800;color:var(--gold2)}
.tier-period{font-size:11px;color:var(--text3)}
.tier-save{font-size:11px;font-weight:700;color:var(--green)}
.tier-cta{display:block;margin-top:6px;padding:10px;border-radius:10px;background:rgba(255,255,255,.06);color:var(--text);font-size:13px;font-weight:600;text-align:center;cursor:pointer;border:1px solid var(--border);transition:.15s}
.tier-cta:hover{background:rgba(255,141,116,0.12);border-color:rgba(255,141,116,0.3)}
.packs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.pack{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border-radius:var(--r-panel);background:var(--panel);border:1px solid var(--border);cursor:pointer;transition:.18s;position:relative}
.pack:hover{transform:translateY(-2px);box-shadow:var(--sh-soft)}
.pack.best{background:linear-gradient(135deg,rgba(255,141,116,0.10),var(--panel));border-color:rgba(255,141,116,0.3)}
.pack-ico{font-size:24px;color:var(--gold2)}
.pack-info{text-align:center}
.pack-nm{font-size:14px;font-weight:700}
.pack-bonus{font-size:11px;color:var(--green)}
.pack-tag{position:absolute;top:8px;right:8px;font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:6px;background:var(--coral);color:#fff}
.pack-price{font-size:14px;font-weight:700;color:var(--gold2);margin-top:4px}
.boost-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.boost-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:var(--r-panel);background:var(--panel);border:1px solid var(--border);cursor:pointer;transition:.18s;text-align:center}
.boost-card:hover{transform:translateY(-2px);box-shadow:var(--sh-soft)}
.bc-ico{font-size:24px}
.bc-nm{font-size:13px;font-weight:600}
.bc-price{font-size:14px;font-weight:700;color:var(--gold2)}
.bc-sub{font-size:10px;color:var(--text3)}

/* ============================================================================
 * PROFILE
 * ============================================================================ */
.profile-view{flex:1;display:flex;flex-direction:column;overflow-y:auto}
.vp-top{position:relative;height:300px;background-size:cover;background-position:center;background:linear-gradient(135deg,var(--coral),var(--purple))}
.vp-grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(18,19,24,0.9)100%)}
.vp-edit{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff;cursor:pointer;border:1px solid rgba(255,255,255,.12);z-index:2}
.vp-edit svg{width:18px;height:18px;stroke-width:2}
.vp-info{position:absolute;bottom:16px;left:18px;right:18px;z-index:2}
.vp-nm{font-size:24px;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.vp-loc{font-size:13px;color:rgba(255,255,255,.8);margin-top:2px}
.vp-vibe{font-size:13px;font-weight:700;color:var(--gold2);margin-top:4px}
.vp-body{padding:18px;display:flex;flex-direction:column;gap:18px}
.vp-bar{position:relative;height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:6px}
.vp-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:8px;background:linear-gradient(90deg,var(--coral),var(--gold2));transition:width .4s}
.vp-bar-lbl{font-size:12px;color:var(--text3)}
.vp-section{display:flex;flex-direction:column;gap:8px}
.vpH{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text3)}
.vp-bio{font-size:14px;line-height:1.5;color:var(--text2);overflow-wrap:anywhere}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pcell{aspect-ratio:1;border-radius:12px;background-size:cover;background-position:center;background:var(--panel)}
.ints{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--border);color:var(--text2)}
.zodiac-badge{display:inline-block;padding:8px 14px;border-radius:var(--r-pill);background:linear-gradient(135deg,rgba(168,110,255,0.14),var(--panel));border:1px solid rgba(168,110,255,0.3);font-size:13px;font-weight:600}
.daily-status{font-size:14px;font-style:italic;color:var(--text2);padding:10px 14px;border-radius:12px;background:var(--panel);border-left:3px solid var(--coral);overflow-wrap:anywhere}
.badges-row{display:flex;flex-wrap:wrap;gap:10px}
.badge-ring{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(242,193,91,0.14),var(--panel));border:1.5px solid rgba(242,193,91,0.35);color:var(--gold2);cursor:default}
.badge-ring svg{width:22px;height:22px;stroke-width:2}
.profile-edit{flex:1;padding:18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.profile-edit label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--text3)}
.profile-edit input,.profile-edit textarea{width:100%;padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--border);font-size:14px;color:var(--text)}
.profile-edit input:focus,.profile-edit textarea:focus{border-color:rgba(255,141,116,0.35);background:rgba(255,255,255,.06)}
.pe-h{font-size:18px;font-weight:700}
.pe-save{margin-top:6px;padding:14px;border-radius:12px;border:0;background:linear-gradient(135deg,var(--coral),var(--coral2));color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(255,141,116,.3)}

/* ============================================================================
 * SETTINGS
 * ============================================================================ */
.settings-view{flex:1;padding:16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}
.set-section{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-panel);
  background:rgba(255,255,255,0.03);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 4px 20px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.03)}
.set-h{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text3)}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0}
.sr-lbl{font-size:14px;font-weight:600}
.sr-val{font-size:13px;color:var(--text3)}
.sr-sub{font-size:11px;color:var(--text3);margin-top:4px}
.set-btn{padding:10px 16px;border-radius:10px;background:var(--panel2);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.set-btn:hover{background:rgba(255,255,255,.06);border-color:var(--border2)}
.set-btn:disabled{opacity:.4;cursor:not-allowed}
.settings-view select{width:100%;padding:10px 14px;border-radius:10px;background:var(--panel2);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:600}
.set-logout{margin-top:8px;padding:14px;border-radius:12px;border:1px solid rgba(255,105,122,0.35);background:rgba(255,105,122,0.08);color:var(--red);font-size:14px;font-weight:700;cursor:pointer;transition:.15s}
.set-logout:hover{background:rgba(255,105,122,0.14)}

/* ============================================================================
 * EMPTY STATE (shared)
 * ============================================================================ */
.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px}
.es-ico{font-size:48px}
.empty-state h2{font-size:18px;font-weight:700}
.empty-state p{font-size:13px;color:var(--text3);max-width:280px}
.es-cta{margin-top:8px;padding:12px 24px;border-radius:12px;border:0;background:linear-gradient(135deg,var(--coral),var(--coral2));color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(255,141,116,.3)}

/* ============================================================================
 * MODALS (lightbox / match)
 * ============================================================================ */
.lightbox,.match-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.lightbox{background:rgba(0,0,0,.85)}
.match-modal{background:linear-gradient(135deg,var(--coral),var(--coral2) 55%,var(--blue))}

/* ============================================================================
 * UTILITIES
 * ============================================================================ */
.muted{color:var(--text3)}

/* ============================================================================
 * WEB FEATURE POLISH — chat economy, gallery, rating, settings
 * ============================================================================ */

/* Shared interaction states */
button:disabled,input:disabled,textarea:disabled,select:disabled{
  cursor:not-allowed!important;opacity:.48;filter:saturate(.65);transform:none!important;box-shadow:none!important
}
.is-loading,[aria-busy="true"]{pointer-events:none;opacity:.62}
.is-loading::after,[aria-busy="true"]::after{
  content:"";display:inline-block;width:13px;height:13px;margin-left:8px;vertical-align:-2px;
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:vc-mini-spin .7s linear infinite
}
@keyframes vc-mini-spin{to{transform:rotate(360deg)}}

/* White labels/icons keep AA contrast while the brighter coral remains an accent. */
.onb-cta,.auth-submit,.trial-btn,.pe-save,.es-cta,.c-send,.bub.me,#install-btn,.act-like{
  background:linear-gradient(135deg,var(--action-coral),var(--action-coral2))!important
}
.nav-badge,.unread,.pack-tag{background:var(--action-coral)}
.user-mini .av,.tool-av,.info-avatars .ca,.top-av,.conn-av,.chat-row .av,.chat-header .av,
.podium-place .av,.rank-row .av,.match-card .av{
  background-color:var(--action-coral);
  background-image:linear-gradient(135deg,var(--action-coral),var(--action-purple))
}
#vc-support-send:disabled,.vc-photo-main:disabled,.vc-photo-del:disabled,.vc-gift-item:disabled,
#vc-c-ai:disabled,#vc-c-mic:disabled,#vc-c-paid:disabled{animation:vc-loading-pulse 1s ease-in-out infinite alternate}
@keyframes vc-loading-pulse{to{opacity:.7}}

/* Chat header, context economy actions and offers */
#vc-chat-block{flex:0 0 44px;min-width:44px;min-height:44px;font-size:24px;line-height:1}
#vc-chat-context{
  flex:0 0 auto;max-height:164px;overflow:auto;overscroll-behavior:contain;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent
}
#vc-chat-context>*{max-width:100%;min-width:0;overflow-wrap:anywhere}
#vc-chat-context>span{line-height:1.35;border:1px solid rgba(255,255,255,.06)}
#vc-chat-context [data-ca]{min-height:36px;white-space:normal;line-height:1.2;transition:border-color .16s,background .16s,transform .16s}
#vc-chat-context [data-ca]:hover{transform:translateY(-1px);filter:brightness(1.12)}
#vc-chat-context [data-offer-action]{
  min-height:34px;padding:6px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);color:var(--text);font-size:11px;font-weight:700;white-space:normal
}
#vc-chat-context [data-offer-action="accept"],#vc-chat-context [data-offer-action="accept_counter"],
#vc-chat-context [data-offer-action="complete"]{color:#70e6a1;border-color:rgba(52,212,120,.3);background:rgba(52,212,120,.1)}
#vc-chat-context [data-offer-action="reject"],#vc-chat-context [data-offer-action="cancel"]{
  color:#ff98a5;border-color:rgba(255,105,122,.28);background:rgba(255,105,122,.09)
}
#vc-chat-context [data-offer-action="counter"]{color:#c7adff;border-color:rgba(168,110,255,.3);background:rgba(168,110,255,.1)}

/* Composer: preserve voice, gifts, paid photo and self-destruct without clipping */
#vc-c-destruct{
  flex:0 0 57px;height:40px;min-height:40px;padding:0 5px;color-scheme:dark;
  border:1px solid rgba(255,255,255,.08)!important;transition:border-color .16s,background .16s
}
#vc-c-destruct:hover,#vc-c-destruct:focus{border-color:rgba(255,141,116,.38)!important;background:rgba(255,255,255,.09)!important}
#vc-c-destruct option{background:#17131d;color:var(--text)}
.composer .c-add,.composer .c-gift,.composer .c-send{min-width:44px;min-height:44px}
#vc-c-ai{color:#c7adff;background:rgba(168,110,255,.08)}
#vc-c-mic{color:#8db8ff;background:rgba(69,141,255,.07)}
#vc-c-mic[style*="255"]{color:#fff;box-shadow:0 0 0 3px rgba(255,80,100,.12),0 0 18px rgba(255,80,100,.25)}
#vc-c-gift{color:var(--gold2);background:rgba(242,193,91,.07)}
#vc-c-paid{color:#83d9ff;background:linear-gradient(135deg,rgba(69,141,255,.11),rgba(168,110,255,.11));border:1px solid rgba(125,176,255,.18)}
.composer .c-add:hover,.composer .c-gift:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}

/* Message media, paid unlock and self-destruct timer */
.bub>img{max-height:360px;object-fit:cover}
.bub audio{display:block;width:min(280px,100%);margin:2px 0}
.bub .attach{max-width:100%;overflow-wrap:anywhere}
button.attach{min-height:44px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.25}
.msg-wrap .bub-ts+.bub-ts{
  margin-top:4px;padding:3px 7px;border-radius:999px;background:rgba(255,180,58,.1);color:#ffd087;font-weight:700
}

/* AI and gift modal surfaces */
.lightbox>div{max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.lightbox [data-close]{min-width:44px;min-height:44px;border-radius:50%!important;line-height:1;transition:background .16s,color .16s}
.lightbox [data-close]:hover{background:rgba(255,255,255,.08)!important}
.vc-ai-option{min-height:48px;overflow-wrap:anywhere;line-height:1.4;transition:border-color .16s,background .16s,transform .16s}
.vc-ai-option:hover{border-color:rgba(168,110,255,.4)!important;background:rgba(168,110,255,.1)!important;transform:translateY(-1px)}
#vc-gift-msg{min-height:44px;font-family:inherit}
.vc-gift-anon{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;margin:10px 0 2px;padding:10px 11px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(168,110,255,.045));color:var(--text);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.045);transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.vc-gift-anon:hover{border-color:rgba(186,137,255,.26);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(168,110,255,.075));transform:translateY(-1px)}.vc-gift-anon-copy{display:flex;align-items:center;gap:10px;min-width:0}.vc-gift-anon-copy>span:last-child{display:grid;gap:3px;min-width:0}.vc-gift-anon-copy strong{color:var(--text);font-size:12px;line-height:1.15}.vc-gift-anon-copy small{color:var(--text3);font-size:9.5px;line-height:1.3}.vc-gift-anon-visual{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(202,167,255,.16);border-radius:13px;background:radial-gradient(circle at 38% 24%,rgba(255,255,255,.15),transparent 38%),linear-gradient(145deg,rgba(168,110,255,.16),rgba(255,141,116,.08))}.vc-gift-anon-icon{width:30px!important;height:30px!important}.vc-gift-anon #vc-gift-anon{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.vc-gift-anon-switch{position:relative;display:block;flex:0 0 46px;width:46px;height:26px;padding:3px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 2px 6px rgba(0,0,0,.2);transition:background .2s,border-color .2s,box-shadow .2s}.vc-gift-anon-switch i{display:block;width:18px;height:18px;border-radius:50%;background:linear-gradient(145deg,#fff,#d9d3e4);box-shadow:0 3px 9px rgba(0,0,0,.28);transition:transform .22s cubic-bezier(.2,.8,.2,1),background .2s}.vc-gift-anon #vc-gift-anon:checked+.vc-gift-anon-switch{border-color:rgba(198,157,255,.62);background:linear-gradient(135deg,#9b63f6,#ff7b98);box-shadow:0 0 0 3px rgba(168,110,255,.1),0 7px 18px rgba(140,77,210,.2)}.vc-gift-anon #vc-gift-anon:checked+.vc-gift-anon-switch i{transform:translateX(20px);background:#fff}.vc-gift-anon #vc-gift-anon:focus-visible+.vc-gift-anon-switch{outline:2px solid rgba(199,163,255,.82);outline-offset:3px}.vc-gift-anon:has(#vc-gift-anon:checked){border-color:rgba(191,146,255,.3);background:linear-gradient(135deg,rgba(160,99,246,.13),rgba(255,123,152,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 26px rgba(105,63,159,.1)}
#vc-gift-grid{max-height:min(410px,55dvh);overflow:auto;overscroll-behavior:contain;padding:3px 3px 5px;align-items:stretch;scrollbar-gutter:stable}
.vc-gift-item{
  position:relative;min-width:0;min-height:122px;padding:12px 8px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  overflow:hidden;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.09),transparent 46%),linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 24px rgba(0,0,0,.08);color:var(--text);cursor:pointer;font:750 12px/1.2 var(--font);transition:border-color .18s,background .18s,transform .18s,box-shadow .18s
}
.vc-gift-item::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,transparent 18%,rgba(255,255,255,.075) 47%,transparent 67%);opacity:0;transform:translateX(-45%);transition:opacity .18s,transform .35s}.vc-gift-item img{position:relative;display:block;width:70px;height:70px;max-width:76%;object-fit:contain;filter:drop-shadow(0 11px 15px rgba(15,8,25,.23));transition:transform .2s,filter .2s}.vc-gift-item>div{position:relative;padding:5px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;background:rgba(10,7,14,.24);color:var(--text2);font-size:10px;font-weight:850;letter-spacing:.015em}.vc-gift-item:hover{border-color:rgba(212,175,255,.33);background:radial-gradient(circle at 50% 18%,rgba(214,184,255,.15),transparent 48%),linear-gradient(155deg,rgba(255,255,255,.075),rgba(168,110,255,.055));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 13px 30px rgba(32,18,48,.16);transform:translateY(-2px)}.vc-gift-item:hover::before{opacity:1;transform:translateX(45%)}.vc-gift-item:hover img{transform:translateY(-2px) scale(1.035);filter:drop-shadow(0 14px 18px rgba(35,17,53,.3))}.vc-gift-item:active{transform:translateY(0) scale(.985)}

/* Profile gallery and upload controls */
.pgrid{min-width:0}
.pcell{background-color:var(--panel);background-size:cover;background-position:center}
.vc-own-photo{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.vc-own-photo::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.24),transparent 42%);opacity:.7;transition:opacity .16s}
.vc-own-photo:hover::after{opacity:1}
.vc-own-photo>span,.vc-own-photo>button{z-index:2}
.vc-own-photo>span:first-child{font-weight:800;letter-spacing:.05em;border:1px solid rgba(255,255,255,.16)}
.vc-photo-main,.vc-photo-del{
  width:36px;height:36px;display:grid;place-items:center;padding:0;font-size:18px;font-weight:800;line-height:1;
  border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:transform .16s,filter .16s
}
.vc-photo-main:hover,.vc-photo-del:hover{transform:scale(1.06);filter:brightness(1.18)}
#vc-photo-add{min-height:40px;font-family:inherit;font-weight:700;transition:background .16s,color .16s}
#vc-photo-add:hover{background:rgba(255,141,116,.22)!important;color:#ffd1c8!important}
.vp-likes-btn:hover{background:rgba(255,141,116,.12)!important;border-color:rgba(255,141,116,.32)!important}
.vc-like-card{min-width:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .16s,border-color .16s}
.vc-like-card:hover{transform:translateY(-2px);border-color:rgba(255,141,116,.35)}

/* Vibe Top rating controls */
#vc-rating-card{min-width:0}
#vc-rating-card>div{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 26px rgba(0,0,0,.12)}
#vc-rating-card [data-freeze],#vc-rating-card [data-rating-boost]{
  min-height:40px;padding:9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:11px;
  background:rgba(255,255,255,.045);color:var(--text2);font-size:12px;font-weight:700;line-height:1.25;
  transition:background .16s,border-color .16s,color .16s,transform .16s
}
#vc-rating-card [data-freeze]:hover{background:rgba(69,141,255,.11);border-color:rgba(69,141,255,.3);color:#9bc2ff;transform:translateY(-1px)}
#vc-rating-card [data-rating-boost]:hover{background:rgba(168,110,255,.11);border-color:rgba(168,110,255,.3);color:#cdb5ff;transform:translateY(-1px)}
#vc-top-list [data-vote]{min-height:36px;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.2;transition:background .16s,transform .16s,color .16s}
#vc-top-list [data-vote]:hover{background:rgba(255,107,94,.28)!important;color:#ffc1b4!important;transform:translateY(-1px)}
.rank-row .rv{min-width:78px;text-align:right;overflow-wrap:anywhere}

/* Telegram Stars top-up */
.tg-topup,#vc-link-tg-store{
  min-width:0;min-height:46px;font-family:inherit;line-height:1.2;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s
}
.tg-topup:hover{transform:translateY(-2px);border-color:rgba(69,141,255,.4)!important;background:rgba(69,141,255,.11)!important;box-shadow:0 8px 22px rgba(69,141,255,.12)}
#vc-link-tg-store:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(69,141,255,.22)}
.store-inline-notice{display:block!important;width:100%;box-sizing:border-box;min-width:0;padding:10px 12px!important;border-radius:12px;font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.store-inline-notice-danger{border:1px solid rgba(255,92,102,.38);background:rgba(255,74,92,.1);color:#ff9b9f!important;font-weight:800}
#vc-link-tg-store.store-inline-telegram{display:block;box-sizing:border-box;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:12px;line-height:1.2}

/* Settings notification, referral and support forms */
.set-section{min-width:0}
.set-row{min-width:0;flex-wrap:wrap}
.sr-val,.sr-sub{min-width:0;overflow-wrap:anywhere}
#vc-notif-prefs{transition:opacity .16s}
#vc-notif-prefs[style*="opacity"]{pointer-events:none}
#vc-notif-prefs label{min-height:44px;gap:14px;align-items:center;border-bottom:1px solid rgba(255,255,255,.045);font-size:13px;cursor:pointer}
#vc-notif-prefs label:last-child{border-bottom:0}
#vc-notif-prefs input[type="checkbox"]{flex:0 0 22px;width:22px;height:22px;accent-color:var(--coral);cursor:pointer}
#vc-ref-info{min-width:0}
#vc-ref-link,#vc-support-text{
  min-height:44px;padding:11px 13px;border-radius:10px;border:1px solid var(--border);
  background:var(--panel2);color:var(--text);font-family:inherit;font-size:13px;line-height:1.45;overflow-wrap:anywhere
}
#vc-ref-link:focus,#vc-support-text:focus,#vc-support-category:focus{border-color:rgba(255,141,116,.4);background:rgba(255,255,255,.055)}
#vc-ref-info>div[style*="display:flex"]{flex-wrap:wrap}
#vc-ref-info .set-btn{flex:1 1 140px;min-height:44px}
#vc-support-category{min-height:44px;color-scheme:dark}
#vc-support-category option,.settings-view select option{background:#17131d;color:var(--text)}
#vc-support-text{resize:vertical;max-height:220px}
#vc-support-send{align-self:flex-end;min-width:140px;min-height:44px}
#vc-support-list{max-height:300px;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
#vc-support-list>div{line-height:1.45}
#vc-support-list strong{display:block;margin-bottom:3px;color:var(--text2)}
#vc-blocked-list{min-width:0}
#vc-blocked-list>div{gap:10px;min-height:52px;border-bottom:1px solid rgba(255,255,255,.045)}
.vc-unblock{flex:0 1 auto;min-height:40px;white-space:normal}

/* New controls use the same high-visibility keyboard focus as the shell. */
#vc-chat-context button:focus-visible,#vc-c-destruct:focus-visible,.vc-ai-option:focus-visible,.vc-gift-item:focus-visible,
.vc-photo-main:focus-visible,.vc-photo-del:focus-visible,#vc-photo-add:focus-visible,#vc-rating-card button:focus-visible,
.tg-topup:focus-visible,#vc-link-tg-store:focus-visible,#vc-notif-prefs input:focus-visible,#vc-ref-link:focus-visible,
#vc-support-category:focus-visible,#vc-support-text:focus-visible,#vc-support-send:focus-visible{
  outline:3px solid rgba(255,141,116,.52)!important;outline-offset:2px;box-shadow:0 0 0 5px rgba(255,141,116,.1)
}

/* Phones: textarea gets its own row; all chat actions remain reachable. */
@media(max-width:768px){
  .composer{
    display:grid;grid-template-columns:repeat(7,minmax(40px,44px));grid-template-rows:auto 44px;
    justify-content:space-between;align-items:center;column-gap:4px;row-gap:7px
  }
  .composer textarea{grid-column:1/-1;grid-row:1;width:100%;max-height:96px}
  .composer>button,.composer>select{grid-row:2;justify-self:center}
  .composer .c-add,.composer .c-gift,.composer .c-send{width:44px;height:44px}
  .composer .c-send{grid-column:7}
  #vc-c-destruct{width:44px;min-width:44px;max-width:44px!important;padding:0 2px;font-size:13px}
  #vc-chat-context{max-height:132px;padding-left:calc(10px + var(--safe-left))!important;padding-right:calc(10px + var(--safe-right))!important}
  #vc-chat-context [data-ca],#vc-chat-context [data-offer-action]{min-height:44px}
  .lightbox{padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))!important}
  .lightbox>div{max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom))}
  #vc-gift-msg,#vc-support-text,#vc-support-category,#vc-ref-link{font-size:16px}
  .vc-photo-main,.vc-photo-del{width:44px;height:44px}
  #vc-photo-add{min-height:44px}
  #vc-rating-card [data-freeze],#vc-rating-card [data-rating-boost],#vc-top-list [data-vote]{min-height:44px}
  #vc-support-send{width:100%;align-self:stretch}
  .vc-unblock{min-height:44px}
}

/* Touch tablets and landscape phones may be wider than the phone breakpoint. */
@media(pointer:coarse){
  #vc-chat-context [data-ca],
  [data-offer-action],
  #vc-c-destruct,
  .vc-ai-option,
  .vc-gift-item,
  #vc-photo-add,
  .vc-photo-main,
  .vc-photo-del,
  [data-freeze],
  [data-rating-boost],
  [data-vote],
  #vc-link-tg-store,
  #vc-support-send,
  .vc-unblock{min-width:44px;min-height:44px}
}

@media(max-width:390px){
  #vc-gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:50dvh}
  .vc-gift-item{min-height:108px}
  #vc-rating-card>div{padding:13px!important}
  #vc-rating-card [data-freeze],#vc-rating-card [data-rating-boost]{flex:1 1 92px;padding:8px 7px}
  .rank-row{gap:8px;padding:9px 8px}
  .rank-row .rv{min-width:66px;font-size:11px}
  .set-section{padding:14px}
  .settings-view{padding:10px;gap:12px}
  #vc-blocked-list>div{align-items:stretch!important;flex-direction:column}
  .vc-unblock{width:100%}
  .ss-title{align-items:flex-start;flex-direction:column;gap:3px}
}

@media(max-width:350px){
  .composer{grid-template-columns:repeat(4,minmax(44px,1fr));grid-template-rows:auto 44px 44px}
  .composer .c-add{grid-column:1;grid-row:2}
  #vc-c-destruct{grid-column:2;grid-row:2}
  #vc-c-ai{grid-column:3;grid-row:2}
  #vc-c-mic{grid-column:4;grid-row:2}
  #vc-c-gift{grid-column:2;grid-row:3}
  #vc-c-paid{grid-column:3;grid-row:3}
  .composer .c-send{grid-column:4;grid-row:3}
  .pgrid{gap:4px}
  .vc-photo-main,.vc-photo-del{width:40px;height:40px;min-width:40px}
  .vc-photo-main::before,.vc-photo-del::before{content:"";position:absolute;inset:-2px}
}

/* Short landscape screens keep conversation space while controls stay usable. */
@media(max-height:600px) and (pointer:coarse) and (orientation:landscape){
  #vc-chat-context{max-height:92px}
  .chat-thread{padding-top:8px;padding-bottom:8px}
  .lightbox>div{max-height:calc(100dvh - 18px - var(--safe-top) - var(--safe-bottom))}
  #vc-gift-grid{max-height:42dvh}
}

/* ============================================================================
 * PREMIUM GLASS ROUTE SYSTEM — shared hierarchy for every Web PWA page
 * ============================================================================ */

/* Page rhythm and scroll behavior */
.main-body{scrollbar-gutter:stable;scroll-padding-block:16px 88px}
.top-view,.store-view,.settings-view,.profile-view,.profile-edit,.chat-list,.matches-grid{
  min-width:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch
}
.top-view,.store-view,.settings-view{gap:16px}

/* Repeated inner cards rely on the shell blur: this is faster than nested blur. */
.set-section,.store-hero{
  background:linear-gradient(145deg,var(--surface-2),var(--surface-1));
  border-color:var(--surface-border);box-shadow:inset 0 1px 0 var(--surface-highlight),0 12px 28px rgba(0,0,0,.11);
  backdrop-filter:none;-webkit-backdrop-filter:none
}
.store-section,.vp-section{
  min-width:0;padding:15px;border:1px solid var(--surface-border);border-radius:var(--r-panel);
  background:linear-gradient(145deg,var(--surface-2),var(--surface-1));
  box-shadow:inset 0 1px 0 var(--surface-highlight),0 10px 24px rgba(0,0,0,.09)
}
.set-h,.vpH{color:rgba(245,241,234,.64);letter-spacing:.075em}
.ss-title{line-height:1.25;letter-spacing:-.01em}
.ss-sub,.sr-sub,.sr-val{line-height:1.45}

/* Onboarding/auth: same premium surface and predictable control sizing. */
.onb-card,.auth-card{
  border-color:var(--surface-border);background:linear-gradient(150deg,rgba(35,31,42,.78),rgba(16,16,22,.66));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 64px rgba(0,0,0,.32)
}
.gender-btn,.auth-form input,.magic-form input{
  min-height:44px;border-color:var(--control-border);background:var(--control-bg)
}
.gender-btn{justify-content:center}
.auth-toggle,.auth-magic summary,.link-btn{min-height:44px;display:flex;align-items:center;justify-content:center;text-underline-offset:3px}
.magic-form button{min-height:44px;flex:0 0 auto}

/* Discover retains its split-card identity while matching the shared surfaces. */
.glass-container{border-color:var(--surface-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 22px 60px rgba(0,0,0,.3)}
.info-section{background:transparent!important;border-color:var(--surface-border)}
.actions{border-color:var(--surface-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 34px rgba(0,0,0,.24)}
.deck-empty{border:1px solid var(--surface-border);background:linear-gradient(145deg,var(--surface-2),var(--surface-1));box-shadow:inset 0 1px 0 var(--surface-highlight)}

/* Chats and thread */
.chat-list{display:flex;flex-direction:column;gap:8px;padding:12px}
.chat-row{
  min-width:0;border:1px solid transparent;border-radius:14px;padding:11px 12px;background:var(--surface-1)
}
.chat-row:hover{border-color:var(--surface-border);background:var(--surface-2)}
.chat-view{background:transparent}
.chat-header,.composer{background:rgba(18,19,24,.7);border-color:var(--surface-border)}
.chat-view{position:relative;isolation:isolate;overflow:hidden}.chat-header{position:relative;z-index:3;transition:background .35s,border-color .35s,box-shadow .35s}
.chat-view.flirt-warm .chat-header{background:linear-gradient(90deg,rgba(77,19,52,.84),rgba(28,20,34,.82));border-color:rgba(255,80,140,.22);box-shadow:0 8px 30px rgba(255,45,105,.06)}
.chat-view.flirt-hot .chat-header{background:linear-gradient(90deg,rgba(126,25,63,.9),rgba(55,18,43,.86));border-color:rgba(255,92,142,.4);box-shadow:0 8px 34px rgba(255,45,105,.15)}
.chat-flirt-scale{display:grid;grid-template-columns:auto minmax(70px,130px) auto;align-items:center;gap:7px;padding:5px 8px;border-radius:999px;background:rgba(255,80,140,.12);border:1px solid rgba(255,80,140,.18);font-size:10px;color:#ffd2e1}
.chat-flirt-scale span{font-weight:700}.chat-flirt-scale i{height:5px;overflow:hidden;border-radius:5px;background:rgba(255,255,255,.09)}.chat-flirt-scale i em{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#ff8fb5,#ff3d68);box-shadow:0 0 10px rgba(255,61,104,.5)}.chat-flirt-scale b{font-size:10px;color:#ff9ebf}
.chat-sparks{position:absolute;inset:60px 0 54px;z-index:0;pointer-events:none;overflow:hidden;display:none}.chat-view.flirt-warm .chat-sparks{display:block}.chat-sparks i{position:absolute;bottom:-24px;color:rgba(255,92,142,.26);font-style:normal;font-size:12px;animation:vcFlirtFloat 8s linear infinite}.chat-sparks i:nth-child(1){left:9%;animation-delay:-1s}.chat-sparks i:nth-child(2){left:31%;font-size:8px;animation-delay:-5s}.chat-sparks i:nth-child(3){left:58%;animation-delay:-3s}.chat-sparks i:nth-child(4){left:79%;font-size:16px;animation-delay:-7s}.chat-sparks i:nth-child(5){left:92%;animation-delay:-2s}.chat-view.flirt-hot .chat-sparks i{color:rgba(255,92,142,.4);animation-duration:5s}
@keyframes vcFlirtFloat{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:1}85%{opacity:.5}100%{transform:translateY(-65vh) rotate(35deg);opacity:0}}
.chat-thread,.composer,#vc-chat-context{position:relative;z-index:2}
.chat-thread{scroll-padding-block:16px;background:radial-gradient(circle at 50% 110%,rgba(168,110,255,.045),transparent 42%)}
.bub.them{background:var(--surface-3);border:1px solid rgba(255,255,255,.055);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.bub.me{box-shadow:0 5px 18px rgba(139,28,66,.2)}
.chat-empty{width:min(100%,420px);margin:auto;border:1px dashed var(--surface-border);border-radius:16px;background:var(--surface-1)}
#vc-chat-context [data-chat-prompt]{min-height:36px;line-height:1.35;overflow-wrap:anywhere}

/* Top, rating and activity */
.top-tabs,.top-filters{padding:3px;border:1px solid rgba(255,255,255,.06);border-radius:999px;background:rgba(0,0,0,.1);align-self:flex-start}
.tt,.tf{min-height:38px;background:transparent;border-color:transparent}
.podium-place,.rank-row,.match-card{
  border:1px solid var(--surface-border);background:linear-gradient(145deg,var(--surface-2),var(--surface-1));
  box-shadow:inset 0 1px 0 var(--surface-highlight)
}
.podium-place{min-width:0}
.rank-list{gap:7px}
.rank-row{min-width:0}
#vc-rating-card [data-rating-buy]{
  min-height:44px;padding:10px 14px;border:1px solid rgba(242,193,91,.3);border-radius:11px;
  background:linear-gradient(135deg,rgba(242,193,91,.16),rgba(213,45,85,.1));color:#ffe09a;font-weight:800
}
.vc-act-tab{flex:1 1 140px;min-height:44px}
.vc-act-tab:disabled{opacity:1;color:var(--coral);border-color:rgba(255,141,116,.34);background:rgba(255,141,116,.1)}
.vc-activity-card{min-height:144px;justify-content:center}
#vc-activity-list{min-width:0}

/* Hub actions */
#vc-hub-active:empty,#vc-hub-bonus:empty,#vc-hub-quests:empty,#vc-hub-hints:empty,#vc-hub-games:empty{display:none}
.hub-view #vc-hub-games{display:none!important}
.hub-view #vc-hub-bonus .sr-sub.vc-labelled-glass-button{align-self:center;width:max-content;max-width:100%;min-height:30px;margin-top:4px!important;padding:4px 0;justify-content:center;gap:7px!important;color:var(--text2);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-view #vc-hub-bonus .sr-sub.vc-labelled-glass-button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#vc-game-peer{min-height:44px}
.vc-game-start,.vc-quest-claim,.vc-legacy-quest,.vc-hint-unlock{min-height:44px}
.vc-game-start{border-color:rgba(168,110,255,.24);background:linear-gradient(135deg,rgba(168,110,255,.1),var(--surface-1))}
.vc-quest-claim,.vc-legacy-quest{border-color:rgba(52,212,120,.25);color:#8ceab2;background:rgba(52,212,120,.075)}
.vc-hint-unlock{align-self:center;border-color:rgba(242,193,91,.25);color:#f7d98c;background:rgba(242,193,91,.075)}

/* Store hierarchy */
.store-hero{padding:24px}
.store-section{gap:12px}
.tier-card,.pack,.boost-card,.tg-topup{
  border-color:var(--surface-border);background:linear-gradient(145deg,var(--surface-2),var(--surface-1));
  box-shadow:inset 0 1px 0 var(--surface-highlight)
}
.tier-card{min-height:176px}.tier-cta{margin-top:auto;min-height:44px}
.pack{min-height:122px;justify-content:center}.boost-card{min-height:128px;justify-content:center}
.trial-btn{width:min(100%,520px);min-height:46px;white-space:normal;line-height:1.3}
.store-launch .store-hero{position:relative;align-items:flex-start;overflow:hidden;padding-right:190px;background:radial-gradient(circle at 88% 8%,rgba(255,181,102,.2),transparent 38%),linear-gradient(145deg,rgba(255,141,116,.09),rgba(168,110,255,.055) 60%,rgba(255,255,255,.025))}.store-anchor{position:absolute;right:24px;top:50%;display:grid;gap:2px;transform:translateY(-50%);text-align:right}.store-anchor strong{color:#ffd18f;font-size:32px;letter-spacing:-.05em}.store-anchor span{color:var(--text2);font-size:11px;font-weight:700}.store-payment-stack{gap:12px}.store-method{display:grid;gap:12px;padding:15px;border:1px solid var(--surface-border);border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.store-method.is-primary{border-color:rgba(255,182,108,.2);background:radial-gradient(circle at 92% 0,rgba(255,181,102,.09),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014))}.store-method.is-last{opacity:.9}.store-method-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px}.store-method-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,141,116,.1);color:#ffb29f;font-size:18px}.store-method-head strong,.store-method-head small{display:block}.store-method-head strong{font-size:13px}.store-method-head small{margin-top:3px;color:var(--text3);font-size:10px;line-height:1.4}.store-method-head>em{padding:5px 8px;border-radius:999px;background:rgba(255,190,113,.1);color:#f6c97e;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.store-pay-grid,.tg-topup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.store-pay-pack,.tg-topup{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:62px;padding:10px 11px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.025);color:var(--text);text-align:left}.store-pay-pack:disabled{cursor:not-allowed;opacity:.72}.store-pay-pack.is-featured{border-color:rgba(255,175,106,.26);background:rgba(255,141,116,.07)}.store-pay-pack span,.tg-topup{min-width:0}.store-pay-pack strong,.store-pay-pack small,.tg-topup strong,.tg-topup small{display:block}.store-pay-pack strong,.tg-topup strong{font-size:15px}.store-pay-pack small,.tg-topup small{margin-top:3px;color:var(--text3);font-size:9px;line-height:1.3}.store-pay-pack em{flex:0 0 auto;color:#f5c97d;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.tg-topup{display:grid;justify-content:start;cursor:pointer}.pack-info small{display:block;margin-top:3px;color:var(--text3);font-size:9px}
@media(max-width:980px){.store-pay-grid,.tg-topup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.store-launch .store-hero{padding-right:130px}.store-anchor{right:16px}.store-anchor strong{font-size:25px}.store-anchor span{max-width:112px}.store-method{padding:12px}.store-method-head{grid-template-columns:34px minmax(0,1fr)}.store-method-head>span{width:34px;height:34px}.store-method-head>em{grid-column:2;justify-self:start}.store-pay-grid,.tg-topup-grid{grid-template-columns:1fr 1fr}.store-pay-pack,.tg-topup{min-height:66px}.ss-title{flex-wrap:wrap}}

/* Store summary is a scroll item, never a shrinkable flex child. Keeping the
   two summaries in an explicit grid prevents large localized copy clipping. */
.store-view>*{flex:0 0 auto}
.store-launch{container-type:inline-size;width:100%;min-width:0;box-sizing:border-box}
.store-launch .store-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,auto);grid-template-areas:"balance anchor" "label anchor";align-items:center;column-gap:28px;row-gap:4px;min-height:116px;padding:22px 24px;overflow:hidden}
.store-launch .store-hero>.sh-bal{grid-area:balance;min-width:0;align-self:end;line-height:1.08;overflow-wrap:anywhere;word-break:break-word}
.store-launch .store-hero>.sh-label{grid-area:label;align-self:start}
.store-launch .store-hero>.store-anchor{position:static;grid-area:anchor;min-width:0;max-width:100%;transform:none;text-align:right}
.store-launch .store-hero>.store-anchor span,.store-launch .store-hero>.store-anchor strong,.store-launch .store-hero>.store-anchor small{max-width:100%;overflow-wrap:anywhere}
.store-launch .store-hero>.store-anchor strong{line-height:1.08}
@media(max-width:520px){.store-launch .store-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"balance" "label" "anchor";gap:4px;min-height:0;padding:18px}.store-launch .store-hero>.store-anchor{display:grid;width:100%;margin-top:10px;padding-top:11px;border-top:1px solid rgba(255,255,255,.08);text-align:left;justify-items:start}.store-launch .store-hero>.store-anchor strong{font-size:clamp(23px,7.2vw,28px)}.store-launch .store-hero>.store-anchor span{max-width:none}}
@container (max-width:620px){.store-launch .store-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"balance" "label" "anchor";gap:4px;min-height:0;padding:18px}.store-launch .store-hero>.store-anchor{display:grid;width:100%;margin-top:10px;padding-top:11px;border-top:1px solid rgba(255,255,255,.08);text-align:left;justify-items:start}.store-launch .store-hero>.store-anchor strong{font-size:clamp(23px,7.2cqw,28px)}.store-launch .store-hero>.store-anchor span{max-width:none}}

/* Profile */
.profile-view{background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 36%)}
.vp-top{flex:0 0 auto;border-bottom:1px solid var(--surface-border)}
.vp-body{gap:14px}
.vp-section{gap:10px}
.vp-likes-btn,#vc-prof-hub,#vc-prof-settings{min-height:46px;transition:border-color .16s,background .16s,transform .16s}
.vp-likes-btn:hover,#vc-prof-hub:hover,#vc-prof-settings:hover{border-color:rgba(255,141,116,.3)!important;background:rgba(255,141,116,.09)!important;transform:translateY(-1px)}
.profile-edit{width:100%}
.profile-edit select{width:100%;min-height:44px;padding:11px 14px;border-radius:12px;background:var(--control-bg);border:1px solid var(--control-border);color:var(--text)}
.profile-edit select{appearance:none;-webkit-appearance:none;padding-right:40px!important;background-color:var(--control-bg)!important;background-image:linear-gradient(45deg,transparent 50%,var(--text2) 50%),linear-gradient(135deg,var(--text2) 50%,transparent 50%)!important;background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;color-scheme:dark;cursor:pointer}
.profile-edit select:focus{border-color:rgba(255,141,116,.58)!important;box-shadow:0 0 0 3px rgba(255,141,116,.11);background-color:rgba(255,255,255,.055)!important}
.profile-edit select option{background:#17131d;color:#f4eef8}
.profile-edit select option:checked{background:#2c1e3b;color:#fff}
html[data-theme="light"] .profile-edit select option{background:#fff;color:#251c2c}
html[data-theme="light"] .profile-edit select option:checked{background:#eee4f7;color:#251c2c}
.profile-edit input,.profile-edit textarea{background:var(--control-bg);border-color:var(--control-border)}

/* Own profile: compact identity card instead of a full-screen photo hero. */
.own-profile-view{
  display:flex;gap:12px;padding:14px;overflow-y:auto;overflow-x:hidden;
  background:radial-gradient(circle at 12% 0,rgba(255,141,116,.055),transparent 31%),linear-gradient(180deg,rgba(255,255,255,.012),transparent 38%)
}
.own-profile-view .own-profile-summary{
  display:grid;grid-template-columns:126px minmax(0,1fr) 44px;grid-template-rows:auto;align-items:center;gap:16px;
  width:100%;height:auto;min-height:158px;padding:16px;border:1px solid var(--surface-border);border-radius:22px;overflow:hidden;
  background:radial-gradient(circle at 18% 18%,rgba(255,141,116,.1),transparent 34%),linear-gradient(145deg,var(--surface-2),var(--surface-1));
  box-shadow:inset 0 1px 0 var(--surface-highlight),0 16px 38px rgba(0,0,0,.14)
}
.own-profile-summary .vp-grad{display:none}
.own-profile-avatar{
  grid-column:1;grid-row:1;width:126px;aspect-ratio:1;border-radius:18px;background-size:cover!important;background-position:center!important;
  display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 26px rgba(0,0,0,.2)
}
.own-profile-avatar-initials{color:#fff;font-size:36px;font-weight:850;letter-spacing:-.04em;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.own-profile-summary .vp-info{position:static;grid-column:2;grid-row:1;align-self:center;min-width:0;padding:0}
.own-profile-summary .vp-nm{color:var(--text);font-size:clamp(22px,2.4vw,30px);line-height:1.05;letter-spacing:-.035em;text-shadow:none;overflow-wrap:anywhere}
.own-profile-summary .vp-loc{margin-top:7px;color:var(--text2);font-size:13px}
.own-profile-summary .vp-vibe{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:9px;padding:6px 9px;border:1px solid rgba(242,193,91,.22);border-radius:999px;background:rgba(242,193,91,.085);color:var(--gold2);font-size:11px}
.own-profile-summary .vp-edit{
  position:static;grid-column:3;grid-row:1;align-self:start;width:44px;height:44px;background:var(--surface-2);border-color:var(--surface-border);color:var(--text2);box-shadow:inset 0 1px 0 var(--surface-highlight)
}
.own-profile-summary .vp-edit:hover{background:rgba(255,141,116,.11);border-color:rgba(255,141,116,.32);color:var(--coral);transform:translateY(-1px)}
.own-profile-view .own-profile-body{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;width:100%;padding:0}
.own-profile-body>.vp-bar{grid-column:1/-1;height:6px;margin:4px 4px 0;background:rgba(255,255,255,.07)}
.own-profile-body>.vp-bar-lbl{grid-column:span 3;align-self:center;padding-left:4px;font-size:11px}
.own-profile-body>.profile-complete-ok,.own-profile-body>.profile-missing{grid-column:span 3;justify-self:end;width:auto;max-width:100%;min-height:32px;padding:7px 10px}
.own-profile-body>.profile-missing{align-items:flex-end;text-align:right;font-size:11px}
.own-profile-body>.profile-missing small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.own-profile-body>.own-profile-card{grid-column:span 3;min-width:0;padding:13px 14px;border-radius:16px;gap:8px}
.own-profile-card .vpH{font-size:10px}.own-profile-card .vp-bio{font-size:13px;line-height:1.45}
.own-profile-card .chip{padding:5px 9px;font-size:11px}
.own-profile-gallery .pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.own-profile-gallery .pcell{border-radius:11px}
.own-profile-gallery #vc-photo-add{min-height:34px;padding:6px 9px!important;border:1px solid rgba(255,141,116,.16)!important;font-size:11px}
.own-profile-photo-empty{
  grid-column:1/-1;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  border:1px dashed rgba(255,141,116,.32);border-radius:12px;background:linear-gradient(145deg,rgba(255,141,116,.07),rgba(168,110,255,.045));color:var(--text2)
}
.own-profile-photo-empty span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,141,116,.12);color:var(--coral);font-size:22px}.own-profile-photo-empty b{font-size:11px}
.own-profile-photo-empty:hover{border-color:rgba(255,141,116,.52);background:linear-gradient(145deg,rgba(255,141,116,.12),rgba(168,110,255,.07));color:var(--text)}
.own-profile-body>.own-profile-details,.own-profile-body>.own-profile-badges{grid-column:1/-1}
.own-profile-badges .badges-row{display:grid;grid-template-columns:1fr;gap:8px;overflow:visible;padding:1px;scroll-snap-type:none;-webkit-mask-image:none;mask-image:none}.own-profile-badges .badge-list-item{min-width:0}
.own-profile-badges .badge-card{width:100%}
.own-profile-body>.own-profile-fact-card{min-height:82px;justify-content:center}
.own-profile-body>.own-profile-action-cell{
  grid-column:span 2;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none
}
.own-profile-action{
  width:100%;min-width:0;min-height:48px;padding:9px!important;border-radius:13px!important;font-size:12px!important;line-height:1.2;white-space:normal
}
.own-profile-action svg{flex:0 0 18px;width:18px;height:18px}

@media(max-width:768px){
  .own-profile-view{padding:10px;gap:10px}
  .own-profile-view .own-profile-summary{grid-template-columns:96px minmax(0,1fr) 42px;min-height:126px;padding:13px;gap:12px;border-radius:18px}
  .own-profile-avatar{width:96px;border-radius:15px}.own-profile-avatar-initials{font-size:29px}
  .own-profile-summary .vp-nm{font-size:20px}.own-profile-summary .vp-loc{margin-top:5px;font-size:11px}.own-profile-summary .vp-vibe{margin-top:6px;padding:4px 7px;font-size:10px}
  .own-profile-summary .vp-edit{width:44px;height:44px}
  .own-profile-view .own-profile-body{padding:0;gap:10px}
  .own-profile-body>.own-profile-card{grid-column:1/-1;padding:12px;border-radius:14px}
  .own-profile-body>.own-profile-fact-card{grid-column:span 3;min-height:74px}
  .own-profile-body>.profile-complete-ok,.own-profile-body>.profile-missing{font-size:10px}
  .own-profile-body>.profile-missing small{display:none}
  .own-profile-badges .badge-card{width:100%}
  .own-profile-action{min-height:46px;padding:7px!important;font-size:11px!important;gap:5px!important}
}
@media(max-width:410px){
  .own-profile-view .own-profile-summary{grid-template-columns:82px minmax(0,1fr) 44px;min-height:110px;padding:11px;gap:10px}
  .own-profile-avatar{width:82px;border-radius:14px}.own-profile-avatar-initials{font-size:25px}
  .own-profile-summary .vp-edit{width:44px;height:44px}.own-profile-summary .vp-nm{font-size:19px}
  .own-profile-summary .vp-vibe{margin-top:5px}.own-profile-body>.vp-bar-lbl{grid-column:span 3;white-space:nowrap}.own-profile-body>.profile-complete-ok,.own-profile-body>.profile-missing{grid-column:span 3}
}

/* Smart onboarding */
.onb-smart{width:100%;margin:-8px 0 10px;padding:11px 13px;border-radius:14px;background:linear-gradient(135deg,rgba(168,110,255,.12),rgba(255,141,116,.08));border:1px solid rgba(168,110,255,.22);font-size:13px;font-weight:700;color:#eadfff}
.onb-smart span{display:block;margin-top:3px;font-size:11px;font-weight:500;color:var(--text3)}
.onb-looking{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.look-btn{display:flex;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:8px 4px;border:1px solid var(--surface-border);border-radius:12px;background:rgba(255,255,255,.025);font-size:11px;font-weight:700;color:var(--text2);transition:.18s}
.look-btn .vc-guest-looking-icon{flex:0 0 25px;width:25px;height:25px;object-fit:contain;filter:drop-shadow(0 5px 9px rgba(74,41,119,.18))}
.look-btn>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.015em}
.look-btn:hover{background:rgba(255,255,255,.06)}
.look-btn.selected{border-color:rgba(255,141,116,.65);background:rgba(255,141,116,.11);color:#fff;box-shadow:0 0 18px rgba(255,141,116,.12)}

/* Progressive profile gate after the first like */
.guest-profile-gate{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));background:rgba(6,6,10,.88)!important}
.guest-gate-card{position:relative;width:min(100%,520px);padding:26px;display:flex;flex-direction:column;gap:14px}
.guest-gate-close{position:absolute;right:12px;top:12px;z-index:2;font-size:24px;color:var(--text3)}
.guest-gate-kicker{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.guest-gate-card h2{font-size:27px;line-height:1.1;margin:0;padding-right:38px}.guest-gate-card>p{margin:-5px 0 2px;color:var(--text2);line-height:1.5;font-size:14px}
.guest-photo-picker{display:flex!important;align-items:center;gap:13px;padding:10px;border:1px dashed rgba(255,141,116,.38);border-radius:16px;background:rgba(255,141,116,.045);cursor:pointer;color:var(--text2)!important}
.guest-photo-picker span{display:grid;place-items:center;width:68px;height:68px;flex:0 0 68px;border-radius:14px;background:linear-gradient(145deg,rgba(255,141,116,.2),rgba(168,110,255,.16));background-size:cover;background-position:center;font-size:26px}
.guest-photo-picker b{font-size:13px;color:#ffd2c8}.guest-gate-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:10px}
.guest-gate-card label:not(.guest-photo-picker){display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--text3)}
.guest-gate-card label:not(.guest-photo-picker)>input,.guest-gate-card label:not(.guest-photo-picker)>select,.guest-city-row .city-picker>input{width:100%;min-width:0;padding:12px 13px;border-radius:11px;border:1px solid var(--control-border);background:rgba(255,255,255,.05);color:var(--text);font-size:14px}
.guest-city-row{display:flex;gap:8px}.guest-city-row input{flex:1;min-width:0}.guest-city-row button{flex:0 0 46px;border:1px solid var(--control-border);border-radius:11px;background:rgba(255,255,255,.05);font-size:20px;color:var(--coral)}
.guest-inferred-note,.guest-gate-card>small{color:var(--text3);font-size:11px;line-height:1.4}.guest-gate-status{min-height:18px;color:#ffb4a5;font-size:12px;font-weight:700}
.guest-gate-submit{min-height:48px;padding:13px 16px;border-radius:14px;background:linear-gradient(135deg,var(--coral),var(--coral2));color:#fff;font-size:15px;font-weight:800;box-shadow:0 12px 30px rgba(255,107,94,.22)}
.guest-gate-submit:disabled{opacity:.55;cursor:wait}
.tos-read-link{display:block;margin:13px 0;padding:12px 13px;border-radius:12px;background:rgba(69,141,255,.09);border:1px solid rgba(69,141,255,.22);color:#8db8ff;font-size:13px;font-weight:700}.tos-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;margin-top:13px;color:var(--text2)!important;font-size:12px!important;line-height:1.45}.tos-check input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--coral)}.tos-accept{background:linear-gradient(135deg,var(--coral),var(--coral2))!important;color:#fff!important}.tos-accept:disabled{opacity:.45}

/* Complete profile, details and badge progress */
.profile-missing{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:11px 13px;border-radius:12px;background:linear-gradient(135deg,rgba(242,193,91,.1),rgba(255,141,116,.06));border:1px solid rgba(242,193,91,.22);color:#f7d98c;font-size:13px;font-weight:800;text-align:left}
.profile-missing small{font-size:10px;font-weight:500;color:var(--text3);line-height:1.4}.profile-complete-ok{padding:9px 12px;border-radius:11px;background:rgba(52,212,120,.08);border:1px solid rgba(52,212,120,.2);font-size:12px;color:#8ceab2}
.profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-detail{min-width:0;padding:10px 11px;border-radius:11px;background:rgba(255,255,255,.025);border:1px solid var(--surface-border)}
.profile-detail span,.profile-detail b{display:block;overflow-wrap:anywhere}.profile-detail span{font-size:10px;color:var(--text3);margin-bottom:3px}.profile-detail b{font-size:12px;color:var(--text2)}
.badges-row{display:grid;grid-template-columns:1fr;gap:8px}.badge-list-item{min-width:0}.badge-card{display:flex;align-items:center;gap:10px;min-width:0;width:100%;padding:10px;border-radius:13px;border:1px solid var(--surface-border);background:rgba(255,255,255,.022);color:inherit;text-align:left;font:inherit;cursor:pointer}
.badge-card.locked{opacity:.58}.badge-card.earned{border-color:rgba(242,193,91,.28);background:linear-gradient(135deg,rgba(242,193,91,.075),rgba(255,255,255,.018))}.badge-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:rgba(242,193,91,.1);font-size:20px}
.badge-copy{display:grid;grid-template-columns:1fr auto;gap:3px 7px;min-width:0;flex:1}.badge-copy b,.badge-copy span{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-copy b{font-size:11px}.badge-copy span{font-size:9px;color:var(--text3)}
.badge-copy i{height:4px;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.07)}.badge-copy i em{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--coral),var(--gold2))}.badge-copy small{display:flex;align-items:center;justify-content:flex-end;min-width:22px;min-height:22px;overflow:hidden;font-size:8px;color:var(--text3)}.badge-copy>small>.vc-badge-earned-icon{display:block;flex:0 0 22px;width:22px!important;height:22px!important;max-width:22px;max-height:22px;object-fit:contain}
.pe-extra-title{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:14px;border-top:1px solid var(--surface-border);font-size:15px;font-weight:800}.pe-extra-title span{font-size:10px;font-weight:600;color:var(--gold2)}
.pe-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pe-extra-grid label:last-child{grid-column:1/-1}

/* Settings and dynamically inserted forms */
.settings-view input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.settings-view textarea,.settings-view select,
.lightbox input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),.lightbox textarea,.lightbox select{
  min-height:44px;max-width:100%;padding:10px 12px!important;border:1px solid var(--control-border)!important;
  border-radius:10px!important;background:var(--control-bg)!important;color:var(--text)!important;color-scheme:dark
}
.settings-view textarea,.lightbox textarea{resize:vertical;line-height:1.45}
.settings-view input:focus,.settings-view textarea:focus,.settings-view select:focus,
.lightbox input:focus,.lightbox textarea:focus,.lightbox select:focus{
  border-color:rgba(255,141,116,.44)!important;background:rgba(255,255,255,.055)!important;box-shadow:0 0 0 3px rgba(255,141,116,.09)
}
.settings-view input[type="checkbox"]{width:22px;height:22px;accent-color:var(--coral)}
.vc-gallery-price{min-height:40px!important;text-align:center;font-weight:700}
.vc-support-ticket{
  min-height:52px!important;padding:10px!important;border:1px solid transparent!important;border-radius:10px!important;
  overflow-wrap:anywhere;transition:background .16s,border-color .16s
}
.vc-support-ticket:hover{background:var(--surface-2)!important;border-color:var(--surface-border)!important}
.vc-support-ticket>div{margin-top:3px;color:var(--text2);line-height:1.4}
#vc-seller-economy,#vc-ref-info,#vc-support-list,#vc-blocked-list{min-width:0}

/* One modal surface for profile, filters, gifts, support and payment. */
.lightbox{background:rgba(6,6,10,.84)!important}
.lightbox>div{
  border:1px solid var(--surface-border)!important;border-radius:20px!important;
  background:linear-gradient(160deg,rgba(31,27,38,.98),rgba(14,14,20,.98))!important;
  max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom))!important;overflow:auto!important;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 28px 80px rgba(0,0,0,.52)!important
}
.lightbox [data-close],#vc-crypto-close,#vc-pm-close{min-width:44px;min-height:44px;border-radius:50%!important}
#vc-crypto-copy,#vc-crypto-submit,#vc-support-reply-send,#vc-pm-sub,#vc-pm-boost,#vc-pm-watch,#vc-pm-msg,#vc-pm-like{min-height:44px}
#vc-crypto-submit,#vc-pm-msg{background:linear-gradient(135deg,var(--action-coral),var(--action-coral2))!important;color:#fff!important}
.match-modal{background:radial-gradient(circle at 50% 28%,rgba(213,45,85,.32),transparent 34%),linear-gradient(145deg,#17101c,#0b0b10 68%,#10182a)!important}
#vc-match-msg,#vc-match-keep{min-height:48px;box-shadow:0 12px 30px rgba(0,0,0,.18)}

/* Shared loading / empty / error presentation */
.spin{filter:drop-shadow(0 0 8px rgba(255,141,116,.2))}
.empty-state{
  width:min(100%,520px);min-height:240px;margin:auto;flex:0 1 auto;border:1px solid var(--surface-border);
  border-radius:20px;background:linear-gradient(145deg,var(--surface-2),var(--surface-1));box-shadow:inset 0 1px 0 var(--surface-highlight)
}
#vc-fatal{padding-bottom:calc(10px + var(--safe-bottom));background:rgba(58,16,32,.96);overflow-wrap:anywhere}

@media(max-width:1100px) and (min-width:769px){
  .top-view,.store-view,.settings-view,.profile-edit{padding:18px}
  .tiers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:768px){
  .main-body{scrollbar-gutter:auto;scroll-padding-block:12px calc(86px + var(--safe-bottom))}
  .top-view,.store-view,.settings-view,.profile-edit{padding:12px;gap:12px}
  .chat-list,.matches-grid{padding:10px;gap:8px}
  .set-section,.store-section,.vp-section{padding:13px;border-radius:14px}
  .store-hero{padding:18px}
  .vp-body{padding:12px;gap:12px}
  .vp-top{height:clamp(240px,48dvh,320px)}
  .profile-edit input,.profile-edit textarea,.profile-edit select,
  .settings-view input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),.settings-view textarea,.settings-view select,
  .lightbox input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),.lightbox textarea,.lightbox select{font-size:16px}
  .top-tabs,.top-filters{width:100%;border-radius:14px}
  .tt,.tf{flex:1 1 auto;padding-inline:10px}
  .podium{gap:7px}.podium-place{padding-inline:5px}.pn{overflow-wrap:anywhere}
  .matches-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vc-support-ticket{min-height:56px!important}
  .guest-gate-card{padding:22px 18px}.pe-extra-grid{gap:10px}
  .city-picker-row{align-items:stretch}.city-picker-row>.set-btn{flex:0 0 auto;min-width:46px;padding-inline:9px}.city-picker-row>.set-btn span{display:none}
}

@media(max-width:390px){
  .auth-wrap{padding:calc(14px + var(--safe-top)) calc(14px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(14px + var(--safe-left))}
  .onb-card,.auth-card{padding:18px 16px}
  .magic-form{flex-direction:column}.magic-form button{width:100%}
  .store-section,.set-section,.vp-section{padding:12px}
  .tiers-grid,.packs-list,.boost-grid{grid-template-columns:1fr}
  .tier-card{min-height:0}.pack,.boost-card{min-height:108px}
  .sh-bal{font-size:30px}
  .podium-place .av{width:48px;height:48px}.medal{font-size:20px}
  .match-card{padding-inline:8px}.match-card .av{width:64px;height:64px}
  #vc-ref-info [style*="display:flex"],#vc-seller-economy [style*="display:flex"],
  #vc-hub-quests [style*="display:flex"],#vc-hub-hints [style*="display:flex"],
  #vc-hub-active [style*="display:flex"],.profile-edit label>div[style*="display:flex"]{flex-wrap:wrap}
  #vc-ref-info input,#vc-seller-economy input,.profile-edit label>div[style*="display:flex"] input{flex:1 1 170px}
  .vc-gallery-price{flex:0 0 85px!important}
  #vc-match-msg,#vc-match-keep{width:100%}
  .onb-looking{grid-template-columns:1fr}.look-btn{min-height:42px}.guest-gate-grid,.pe-extra-grid,.profile-details,.badges-row{grid-template-columns:1fr}.pe-extra-grid label:last-child{grid-column:auto}.guest-photo-picker span{width:58px;height:58px;flex-basis:58px}.guest-gate-card h2{font-size:23px}
}

@media(max-height:600px) and (pointer:coarse) and (orientation:landscape){
  .top-view,.store-view,.settings-view,.profile-edit{padding:10px;gap:10px}
  .store-hero{padding:14px}.vp-top{height:70dvh}
}

/* ============================================================================
 * CHAT REFERENCE LAYOUT — three-pane glass conversation workspace
 * ============================================================================ */
.chat-reference-view{background:radial-gradient(circle at 54% 115%,rgba(102,74,210,.12),transparent 44%),linear-gradient(180deg,rgba(10,11,16,.24),rgba(8,9,14,.44))}
.chat-reference-view::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 48%,rgba(255,255,255,.018) 50%,transparent 52%)}
.chat-reference-view .chat-header{min-height:66px;padding:10px 18px;background:rgba(13,13,18,.52);border-color:rgba(255,255,255,.065);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.chat-reference-view .chat-header .av{width:38px;height:38px;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 8px 20px rgba(0,0,0,.2)}
.chat-reference-view .ch-nm{font-size:15px;letter-spacing:-.01em}.chat-reference-view .ch-sub{font-size:10px;color:#79dba0}
.chat-reference-view .chat-back,.chat-reference-view #vc-chat-block{background:transparent;border:0;color:rgba(245,241,234,.66)}
.chat-reference-view .chat-back:hover,.chat-reference-view #vc-chat-block:hover{background:rgba(255,255,255,.055);color:#fff}

.chat-reference-view #vc-chat-context{display:block;flex:0 0 auto;max-height:300px;padding:14px 16px 12px!important;overflow:auto;background:linear-gradient(180deg,rgba(255,255,255,.014),rgba(255,255,255,.006));border-bottom:1px solid rgba(255,255,255,.045)!important;scrollbar-width:thin}
.chat-ref-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:linear-gradient(135deg,rgba(83,60,77,.38),rgba(45,54,66,.4));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 12px 35px rgba(0,0,0,.18)}
.chat-ref-stat{display:flex;align-items:center;gap:11px;min-width:0;min-height:66px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025));color:inherit;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:transform .16s,background .16s,border-color .16s}
button.chat-ref-stat:hover{transform:translateY(-1px);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22)}
.chat-ref-stat-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;font-size:22px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1)}
.chat-ref-stat.coral .chat-ref-stat-icon{color:#ff9c82;background:rgba(255,112,92,.12)}.chat-ref-stat.blue .chat-ref-stat-icon{color:#91cfd2;background:rgba(100,181,192,.13)}.chat-ref-stat.gold .chat-ref-stat-icon{color:#ffb58c;background:rgba(255,164,110,.13)}
.chat-ref-stat>span:last-child{display:block;min-width:0}.chat-ref-stat small,.chat-ref-stat strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-ref-stat small{font-size:11px;color:var(--text3);font-weight:600}.chat-ref-stat strong{margin-top:2px;font-size:13px;color:#fff;font-weight:750}

.chat-ref-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.chat-ref-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-width:0;min-height:112px;padding:15px 16px;border:1px solid rgba(255,255,255,.11);border-radius:17px;color:var(--text);text-align:left;background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 12px 28px rgba(0,0,0,.12);transition:transform .18s,border-color .18s,filter .18s}
.chat-ref-action:hover{transform:translateY(-2px);filter:brightness(1.12);border-color:rgba(255,255,255,.2)}.chat-ref-action:active{transform:translateY(0) scale(.985)}
.chat-ref-action>span{font-size:23px;line-height:1;color:#ffae8d}.chat-ref-action>strong{display:block;font-size:14px;line-height:1.25;letter-spacing:-.015em;overflow-wrap:anywhere}
.chat-ref-action.coral{background:linear-gradient(145deg,rgba(124,73,55,.29),rgba(72,55,52,.16))}.chat-ref-action.blue{background:linear-gradient(145deg,rgba(45,84,108,.3),rgba(44,55,74,.18))}.chat-ref-action.gold{background:linear-gradient(145deg,rgba(108,84,49,.28),rgba(66,58,46,.17))}.chat-ref-action.purple{background:linear-gradient(145deg,rgba(73,61,103,.3),rgba(50,47,67,.18))}
.chat-ref-meta{display:flex;align-items:center;gap:7px;margin-top:11px;padding:1px 1px 2px;overflow-x:auto;scrollbar-width:none}.chat-ref-meta::-webkit-scrollbar{display:none}.chat-ref-meta>*{flex:0 0 auto}.chat-ref-mini{min-height:30px;padding:5px 9px;border:1px solid rgba(255,141,116,.2);border-radius:999px;background:rgba(255,141,116,.09);color:#ffb19e;font-size:11px;font-weight:700}
.chat-ref-offer{display:flex;gap:10px;margin-top:9px;padding:10px 12px;border:1px solid rgba(95,157,255,.17);border-radius:13px;background:rgba(69,141,255,.08)}.chat-ref-offer>span{font-size:20px}.chat-ref-offer>div{min-width:0;flex:1}.chat-ref-offer strong,.chat-ref-offer small{display:block}.chat-ref-offer strong{font-size:12px}.chat-ref-offer small{margin-top:2px;color:var(--text3);font-size:10px}.chat-ref-offer-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chat-ref-offer-actions button{min-height:30px;padding:5px 9px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.06);font-size:10px;font-weight:750}

.chat-reference-view .chat-thread{padding:16px 16px 18px;gap:9px;background:radial-gradient(circle at 50% 115%,rgba(80,55,170,.11),transparent 48%);scroll-padding-block:18px}
.chat-reference-view .daynote{position:relative;margin:5px 0 8px;color:rgba(245,241,234,.36);font-size:10px}.chat-reference-view .daynote::before,.chat-reference-view .daynote::after{content:"";position:absolute;top:50%;width:34%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07))}.chat-reference-view .daynote::before{left:0}.chat-reference-view .daynote::after{right:0;transform:scaleX(-1)}
.chat-reference-view .msg-wrap.them{align-self:stretch;align-items:flex-start;width:100%;max-width:100%;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 34px rgba(0,0,0,.13)}
.chat-reference-view .msg-wrap.me{max-width:78%}.chat-reference-view .bub{padding:9px 13px;border-radius:13px;font-size:13px}.chat-reference-view .bub.them{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.08);border-bottom-left-radius:13px}.chat-reference-view .bub.me{border-bottom-right-radius:5px}.chat-reference-view .bub-ts{margin-top:5px;font-size:9px}

.chat-reference-view .composer{position:relative;z-index:4;align-items:center;margin:0 12px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-bottom:0;border-radius:18px 18px 0 0;background:linear-gradient(135deg,rgba(64,66,79,.46),rgba(31,31,40,.58));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 -12px 36px rgba(0,0,0,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.chat-reference-view .composer textarea{min-height:42px;padding:10px 15px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(10,10,15,.23);font-size:13px}.chat-reference-view .composer textarea:focus{border-color:rgba(255,141,116,.38);background:rgba(255,255,255,.045)}
.chat-reference-view .composer .c-add,.chat-reference-view .composer .c-gift,.chat-reference-view .composer .c-send,.chat-reference-view #vc-c-destruct{width:42px;height:42px;min-width:42px;min-height:42px;border:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}
.chat-reference-view .composer .c-add svg{width:20px;height:20px;color:#f1a676}.chat-reference-view #vc-c-destruct{max-width:58px!important;padding:0 5px;border-radius:13px;color:var(--text2);color-scheme:dark}.chat-reference-view #vc-c-destruct option{background:#17131d}
.chat-reference-view #vc-c-ai{color:#d8b2ff;background:rgba(159,94,209,.1)}.chat-reference-view #vc-c-mic{color:#efabd2;background:rgba(188,75,145,.09)}.chat-reference-view #vc-c-gift{color:#ffd07a;background:rgba(234,172,67,.09)}.chat-reference-view #vc-c-paid{color:#9bdcff;background:rgba(65,147,191,.09)}
.chat-reference-view .composer .c-send{border:0!important;background:linear-gradient(135deg,#e57a61,#b84d4d)!important;color:#fff;box-shadow:0 7px 20px rgba(216,90,76,.24)}.chat-reference-view .composer .c-send:disabled{background:rgba(255,255,255,.06)!important;color:var(--text3);box-shadow:none}

.right.chat-context-rail{gap:10px;background:linear-gradient(180deg,rgba(62,31,34,.08),rgba(26,20,35,.06))!important}.right.chat-context-rail .r-section{padding-bottom:18px}.right.chat-context-rail .r-search{height:40px}.right.chat-context-rail .conn-feed{gap:11px}.right.chat-context-rail .conn-av{width:52px;height:52px;border-color:rgba(255,134,176,.42)}.right.chat-context-rail .top-row{padding-block:9px}
body.vc-chat-route #install-btn,body.vc-chat-route #pwa-update-btn{display:none!important}

@media(max-width:768px){
  .chat-reference-view #vc-chat-context{max-height:226px;padding:10px 10px 8px!important}
  .chat-ref-stats{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(148px,47%);gap:8px;padding:8px;overflow-x:auto;scrollbar-width:none}.chat-ref-stats::-webkit-scrollbar{display:none}.chat-ref-stat{min-height:58px;padding:8px}.chat-ref-stat-icon{width:36px;height:36px;flex-basis:36px;font-size:18px}.chat-ref-stat small{font-size:9px}.chat-ref-stat strong{font-size:11px}
  .chat-ref-actions{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(140px,43%);gap:8px;margin-top:9px;overflow-x:auto;scrollbar-width:none}.chat-ref-actions::-webkit-scrollbar{display:none}.chat-ref-action{min-height:88px;padding:12px}.chat-ref-action>span{font-size:19px}.chat-ref-action>strong{font-size:12px}
  .chat-ref-meta{margin-top:8px}.chat-reference-view .chat-thread{padding:10px;gap:7px}.chat-reference-view .msg-wrap.them{padding:9px;border-radius:15px}.chat-reference-view .msg-wrap.me{max-width:86%}
  .chat-reference-view .composer{display:grid;grid-template-columns:repeat(7,minmax(40px,44px));grid-template-rows:auto 44px;justify-content:space-between;align-items:center;column-gap:4px;row-gap:7px;margin:0;padding:9px 10px calc(9px + var(--safe-bottom));border-radius:18px 18px 0 0}
  .chat-reference-view .composer textarea{grid-column:1/-1;grid-row:1;width:100%;max-height:86px}.chat-reference-view .composer>button,.chat-reference-view .composer>select{grid-row:2;justify-self:center}.chat-reference-view .composer .c-send{grid-column:7}
}
@media(max-width:350px){
  .chat-reference-view .composer{grid-template-columns:repeat(4,minmax(42px,1fr));grid-template-rows:auto 42px 42px}
  .chat-reference-view .composer .c-add{grid-column:1;grid-row:2}.chat-reference-view #vc-c-destruct{grid-column:2;grid-row:2}.chat-reference-view #vc-c-ai{grid-column:3;grid-row:2}.chat-reference-view #vc-c-mic{grid-column:4;grid-row:2}.chat-reference-view #vc-c-gift{grid-column:2;grid-row:3}.chat-reference-view #vc-c-paid{grid-column:3;grid-row:3}.chat-reference-view .composer .c-send{grid-column:4;grid-row:3}
}
@media(prefers-reduced-motion:reduce){.chat-ref-action,.chat-ref-stat{transition:none}}

/* ============================================================================
 * PREMIUM UX COMPONENTS — shared progress, motion and resilient route states
 * ============================================================================ */
.vc-route-loader{position:absolute;z-index:80;top:0;left:0;right:0;height:2px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .16s}.vc-route-loader i{display:block;width:42%;height:100%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--coral),#d8adff,transparent);filter:drop-shadow(0 0 7px rgba(255,141,116,.6));transform:translateX(-120%)}.app.vc-route-loading .vc-route-loader{opacity:1}.app.vc-route-loading .vc-route-loader i{animation:vcRouteLoad .52s ease-out forwards}@keyframes vcRouteLoad{to{transform:translateX(340%)}}
.vc-route-enter{animation:vcRouteEnter .22s ease-out both}@keyframes vcRouteEnter{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}

.vc-page-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;min-width:0;margin:0 0 15px;padding:8px 2px 15px;border-bottom:1px solid rgba(255,255,255,.055)}.vc-page-head::after{content:"";position:absolute;left:0;bottom:-1px;width:92px;height:1px;background:linear-gradient(90deg,var(--coral),transparent);box-shadow:0 0 12px rgba(255,141,116,.35)}.vc-page-head.tone-purple::after{background:linear-gradient(90deg,#b58bff,transparent);box-shadow:0 0 12px rgba(168,110,255,.36)}.vc-page-copy{min-width:0}.vc-page-copy>small{display:block;margin-bottom:4px;color:#ffab95;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.vc-page-copy h1{margin:0;color:#fff;font-size:clamp(24px,3vw,34px);letter-spacing:-.04em}.vc-page-copy p{max-width:640px;margin:5px 0 0;color:var(--text2);font-size:13px;line-height:1.5}

.vc-progress-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.vc-progress-deck.compact{gap:8px}.vc-progress-card{appearance:none;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:78px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.048),rgba(255,255,255,.014));color:inherit;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 9px 26px rgba(0,0,0,.09)}button.vc-progress-card{cursor:pointer}.vc-progress-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,141,116,.11);color:#ffac98;font-size:18px}.vc-progress-copy{display:block;min-width:0}.vc-progress-copy small,.vc-progress-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-progress-copy small{color:var(--text3);font-size:10px;font-weight:700}.vc-progress-copy strong{margin:3px 0 7px;color:#fff;font-size:13px}.vc-progress-arrow{color:var(--text3);font-size:14px}.vc-progress-track,.daily-progress,.user-xp-track{display:block;height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.075)}.vc-progress-track em,.daily-progress em,.user-xp-track em{display:block;width:var(--vc-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff806f,#ffbc8a);box-shadow:0 0 12px rgba(255,128,111,.38);transition:width .48s cubic-bezier(.2,.8,.2,1)}.tone-purple .vc-progress-icon{color:#d9c2ff;background:rgba(168,110,255,.12)}.tone-purple .vc-progress-track em{background:linear-gradient(90deg,#8b6cff,#d69dff)}.tone-blue .vc-progress-icon{color:#a8d8ff;background:rgba(69,141,255,.12)}.tone-blue .vc-progress-track em{background:linear-gradient(90deg,#458dff,#82d5ff)}.tone-green .vc-progress-icon{color:#9be9bc;background:rgba(52,212,120,.11)}.tone-green .vc-progress-track em{background:linear-gradient(90deg,#34d478,#9be9bc)}.tone-gold .vc-progress-icon{color:#ffe0a4;background:rgba(230,198,128,.12)}.tone-gold .vc-progress-track em{background:linear-gradient(90deg,#d7a74d,#ffe0a4)}
.user-mini .ui{min-width:0;flex:1}.user-xp-track{height:3px;margin-top:6px}.vc-premium-mark{margin-left:5px;color:#ffd88f;text-shadow:0 0 10px rgba(255,216,143,.5)}.daily-progress{width:76px;height:3px;margin-top:5px}.vc-skeleton-line{min-height:78px;border-radius:17px;background:linear-gradient(100deg,rgba(255,255,255,.025) 20%,rgba(255,255,255,.075) 40%,rgba(255,255,255,.025) 60%);background-size:220% 100%;animation:vcSkeleton 1.25s linear infinite}@keyframes vcSkeleton{to{background-position:-220% 0}}

.matches-view{padding:20px 22px 90px}.premium-matches{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.premium-matches .match-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px 14px;border-radius:18px;cursor:pointer;transition:transform .17s,border-color .17s,background .17s}.premium-matches .av{width:58px;height:58px}.match-card-copy{min-width:0}.match-card-copy .mc-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-card-copy small{display:block;margin-top:2px;color:var(--text3);font-size:10px}.match-card-copy small.is-online{color:#62d995}.match-card-copy p{overflow:hidden;margin:5px 0 0;color:var(--text2);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.match-card-cta{color:#ffac98;font-size:10px;font-weight:800;white-space:nowrap}.chat-search-empty{padding:30px;text-align:center;color:var(--text3)}

.rating-premium-card{position:relative;overflow:hidden;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:radial-gradient(circle at 90% 0,rgba(230,198,128,.13),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014));box-shadow:inset 0 1px 0 rgba(255,255,255,.055)}.rating-premium-card.tone-silver{background:radial-gradient(circle at 90% 0,rgba(150,190,220,.14),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.014))}.rating-premium-card.tone-gold{background:radial-gradient(circle at 90% 0,rgba(255,190,80,.18),transparent 36%),linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.014))}.rating-premium-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.rating-premium-head>div:first-child{min-width:0}.rating-premium-head small,.rating-premium-head span{display:block;color:var(--text3);font-size:11px}.rating-premium-head strong{display:block;margin:3px 0;color:#fff;font-size:25px}.rating-premium-head>div:last-child{text-align:right}.rating-level-progress{margin-top:14px;padding:11px 12px;border-radius:14px;background:rgba(0,0,0,.12)}.rating-level-progress>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:11px}.rating-level-progress>div span{color:var(--text2)}.rating-level-progress>small{display:block;margin-top:6px;color:var(--text3);font-size:10px}

.hub-quest{padding:13px 0;border-top:1px solid rgba(255,255,255,.05)}.hub-quest-head,.hub-quest-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.hub-quest-head{margin-bottom:8px}.hub-quest-head span,.hub-quest-foot{color:var(--text3);font-size:10px}.hub-quest-foot{margin-top:8px}.hub-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.vc-game-start{display:grid;justify-items:start;gap:5px;min-height:90px;text-align:left}.vc-game-start>span{font-size:20px}.vc-game-start small{color:#ffd08b}.active-game-prompt{margin:8px 0 14px;padding:13px;border-radius:14px;background:rgba(168,110,255,.08);color:#eee3ff;line-height:1.5}.vc-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}.vc-stepper span{display:flex;align-items:center;gap:7px;min-width:0;color:var(--text3);font-size:10px}.vc-stepper i{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:rgba(255,255,255,.06);font-style:normal}.vc-stepper span.active i{color:#fff;background:rgba(168,110,255,.3);box-shadow:0 0 0 4px rgba(168,110,255,.07)}.vc-stepper span.done{color:var(--text2)}.vc-stepper span.done i{color:#fff;background:#34b96e}.active-game-actions{display:flex;gap:8px;flex-wrap:wrap}

.chat-reference-view #vc-chat-context{max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important}.chat-reference-view .ch-sub{color:var(--text3)}.chat-reference-view .ch-sub.is-online{color:#79dba0}.msg-wrap.is-pending{opacity:.72}.msg-wrap.is-failed{border-color:rgba(255,105,122,.28)!important}.bub-delivery.is-pending{color:#ffd28d}.bub-delivery.is-failed{color:#ff7f8e}.bub-retry{min-height:26px;margin-left:5px;padding:2px 7px;border:1px solid rgba(255,105,122,.25);border-radius:999px;background:rgba(255,105,122,.09);color:#ffacb5;font-size:9px;cursor:pointer}.vc-chat-action-menu{display:grid;gap:7px}.vc-chat-action-menu>button{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:9px 11px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.035);color:inherit;text-align:left}.vc-chat-action-menu>button>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.055);font-size:17px}.vc-chat-action-menu strong,.vc-chat-action-menu small{display:block}.vc-chat-action-menu small{margin-top:2px;color:var(--text3);font-size:10px}.vc-chat-action-menu .danger{color:#ff9aa8;border-color:rgba(255,105,122,.14);background:rgba(255,105,122,.045)}

.activity-view,.hub-view{padding-bottom:90px}.activity-tabs{margin-bottom:10px}.vc-inline-state{margin-top:10px;padding:11px;border-radius:12px;background:rgba(255,255,255,.035);color:var(--text3);font-size:11px}.vc-premium-account-note{margin:0 0 12px;padding:13px 14px;border:1px solid rgba(255,196,119,.14);border-radius:16px;background:linear-gradient(135deg,rgba(255,174,90,.09),rgba(168,110,255,.055))}.vc-premium-account-note strong,.vc-premium-account-note small{display:block}.vc-premium-account-note small{margin-top:4px;color:var(--text2);line-height:1.4}

@media(hover:hover){button.vc-progress-card:hover,.premium-matches .match-card:hover{transform:translateY(-2px);border-color:rgba(255,141,116,.2);background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.02))}.vc-chat-action-menu>button:hover{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.055)}}
@media(max-width:900px){.vc-progress-deck{grid-template-columns:1fr}.premium-matches{grid-template-columns:1fr}}
@media(max-width:768px){.vc-page-head{padding:3px 2px 12px}.vc-page-copy h1{font-size:25px}.vc-progress-deck{gap:7px}.vc-progress-card{min-height:68px;padding:10px}.matches-view{padding:13px 10px calc(92px + var(--safe-bottom))}.premium-matches .match-card{grid-template-columns:50px minmax(0,1fr);padding:11px}.premium-matches .av{width:50px;height:50px}.match-card-cta{grid-column:2}.hub-game-grid{grid-template-columns:1fr}.vc-stepper{grid-template-columns:1fr}.chat-reference-view #vc-chat-context{max-height:none!important;overflow:visible!important}.chat-ref-meta{overflow-x:auto}.activity-view,.hub-view{padding-bottom:calc(94px + var(--safe-bottom))}}
@media(max-height:650px) and (pointer:coarse){.chat-ref-actions{display:none}.chat-reference-view #vc-chat-context{max-height:none!important}.chat-ref-stats{margin:0}.chat-ref-meta{margin-top:6px}}
@media(prefers-reduced-motion:reduce){.vc-route-enter,.app.vc-route-loading .vc-route-loader i,.vc-skeleton-line{animation:none!important}.vc-progress-track em,.daily-progress em,.user-xp-track em{transition:none}.premium-matches .match-card,.vc-progress-card{transition:none}}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.app,.left,.right,.pp-actions,.chat-reference-view .composer{background:#17141d!important}}
.vc-premium-account-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;align-items:center}.vc-premium-account-note small{grid-column:1}.vc-premium-account-note .set-btn{grid-column:2;grid-row:1/3;white-space:nowrap}@media(max-width:560px){.vc-premium-account-note{grid-template-columns:1fr}.vc-premium-account-note small,.vc-premium-account-note .set-btn{grid-column:1;grid-row:auto}.vc-premium-account-note .set-btn{width:100%;margin-top:5px}}
.vc-telegram-account-row{flex-wrap:nowrap!important;padding:10px 0}.vc-telegram-account{display:flex;align-items:center;gap:10px;min-width:0}.vc-telegram-account-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(99,181,255,.18);border-radius:14px;background:linear-gradient(145deg,rgba(74,171,255,.15),rgba(168,110,255,.07));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.vc-telegram-account-icon>.vc-glass-icon{width:34px;height:34px}.vc-telegram-account>div{display:grid;gap:3px;min-width:0}.vc-telegram-account strong{font-size:12px}.vc-telegram-account small{overflow:hidden;color:var(--text3);font-size:10px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.vc-telegram-account-row .set-btn{flex:0 0 auto;white-space:nowrap}.vc-telegram-account-row .set-btn.is-linked{border-color:rgba(81,218,156,.2);background:rgba(81,218,156,.08);color:#9bf0c4}.vc-telegram-account-row .set-btn.is-linked>.vc-glass-icon{width:23px;height:23px}@media(max-width:560px){.vc-telegram-account-row{align-items:stretch;flex-direction:column}.vc-telegram-account-row .set-btn{width:100%;justify-content:center}.vc-telegram-account small{white-space:normal}}
.msg-wrap.is-expiring{opacity:0;transform:scale(.96);transition:opacity .18s ease,transform .18s ease}.self-destruct-countdown{color:#ffb58b!important}

/* ============================================================================
 * COMPACT CHAT — message-first Web/PWA conversation layout
 * ============================================================================ */
.chat-compact-view{background:transparent!important}
.chat-compact-view::before{display:none}
.chat-compact-view .chat-header{z-index:5;min-height:58px;padding:8px 13px;gap:9px;background:rgba(13,13,18,.72);border-color:rgba(255,255,255,.06);box-shadow:0 7px 26px rgba(0,0,0,.12);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.chat-compact-view .chat-header .av{width:40px;height:40px;box-shadow:0 0 0 1px rgba(255,255,255,.15),0 7px 18px rgba(0,0,0,.22)}
.chat-compact-view .chat-back,.chat-compact-view #vc-chat-block{width:38px;height:38px;min-width:38px;min-height:38px;border:0;background:transparent;color:rgba(245,241,234,.7)}
.chat-compact-view .chat-back:hover,.chat-compact-view #vc-chat-block:hover{background:rgba(255,255,255,.06);color:#fff}
.chat-compact-view .ch-nm{font-size:14px;letter-spacing:-.01em}.chat-compact-view .ch-sub{font-size:10px;color:var(--text3)}.chat-compact-view .ch-sub.is-online{color:#74dfa2}

.chat-compact-view #vc-chat-context{display:block;flex:0 0 auto;max-height:min(224px,34dvh);padding:7px 10px!important;overflow-y:auto!important;overflow-x:hidden!important;border-bottom:1px solid rgba(255,255,255,.05)!important;background:linear-gradient(180deg,rgba(255,255,255,.024),rgba(255,255,255,.008));overscroll-behavior:contain;scrollbar-width:thin}
.chat-compact-view #vc-chat-context[hidden]{display:none!important}
.chat-free-opener{display:flex;align-items:center;justify-content:center;gap:6px;min-height:27px;margin-bottom:6px;padding:4px 9px;border:1px solid rgba(255,211,110,.16);border-radius:10px;background:rgba(255,211,110,.06);color:#ffd58f;font-size:9px}.chat-free-opener span{font-size:12px}.chat-compact-pulse{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:5px;min-width:0}.chat-compact-chip{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:31px;padding:5px 8px;overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.038);color:var(--text2);font:750 9px/1.1 var(--font)}.chat-compact-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.chat-compact-chip{cursor:pointer;transition:transform .16s,border-color .16s,background .16s,color .16s}button.chat-compact-chip:hover{transform:translateY(-1px);border-color:rgba(255,141,116,.25);background:rgba(255,141,116,.08);color:#fff}
.chat-compact-chip.presence i{display:block;width:7px;height:7px;border-radius:50%;background:#777b87;box-shadow:0 0 0 3px rgba(119,123,135,.1)}.chat-compact-chip.presence.is-online i{background:#58d88e;box-shadow:0 0 0 3px rgba(88,216,142,.1),0 0 10px rgba(88,216,142,.45)}
.chat-compact-chip.streak{color:#ffc0aa;background:rgba(255,111,91,.065)}.chat-compact-chip.is-active{color:#8be9af;background:rgba(52,212,120,.07)}.chat-compact-chip.term{color:#d3c0ff;background:rgba(168,110,255,.07)}
.chat-compact-flirt{display:grid;grid-template-columns:auto minmax(28px,1fr) auto;align-items:center;gap:5px;min-width:0;height:31px;padding:5px 8px;border:1px solid rgba(255,105,160,.12);border-radius:11px;background:rgba(255,75,132,.055)}.chat-compact-flirt>span{font-size:11px}.chat-compact-flirt i{display:block;min-width:28px;height:4px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}.chat-compact-flirt em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff5d8f,#ff9f74);box-shadow:0 0 9px rgba(255,93,143,.5)}.chat-compact-flirt b{color:#ffb1c8;font-size:8px}.chat-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:6px}.chat-quick-action{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;justify-content:center;gap:4px;min-width:0;min-height:39px;padding:5px 6px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.035);color:var(--text2);cursor:pointer}.chat-quick-action>span{font-size:14px}.chat-quick-action>strong{display:-webkit-box;min-width:0;overflow:hidden;color:inherit;font-size:8px;line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chat-quick-action.gift{color:#ffd58f;background:rgba(255,190,86,.055)}.chat-quick-action.paid{color:#9bdcff;background:rgba(65,147,191,.055)}.chat-quick-action:hover{border-color:rgba(255,141,116,.24);background:rgba(255,141,116,.07);color:#fff}
.chat-compact-offers{display:grid;gap:6px;margin-top:6px}.chat-compact-offer{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid rgba(95,157,255,.14);border-radius:12px;background:rgba(69,141,255,.065)}.chat-compact-offer>span{font-size:16px}.chat-compact-offer>div{min-width:0;flex:1}.chat-compact-offer strong,.chat-compact-offer small{display:block}.chat-compact-offer strong{font-size:11px}.chat-compact-offer small{margin-top:2px;color:var(--text3);font-size:9px}.chat-compact-offer-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.chat-compact-offer-actions button{min-height:30px;padding:5px 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.06);color:var(--text);font-size:10px;font-weight:750}

.chat-compact-view .chat-thread{z-index:2;padding:12px 14px 16px;gap:8px;background:transparent!important;scroll-padding-block:16px}
.chat-compact-view .daynote{margin:5px 0 8px;color:rgba(245,241,234,.34);font-size:9px}
.chat-compact-view .msg-wrap{max-width:min(78%,620px)}.chat-compact-view .msg-wrap.them{align-self:flex-start;align-items:flex-start;width:auto;padding:0;border:0;background:none;box-shadow:none}.chat-compact-view .msg-wrap.me{max-width:min(78%,620px)}
.chat-compact-view .bub{padding:9px 12px;border-radius:15px;font-size:13px;line-height:1.42;box-shadow:0 7px 22px rgba(0,0,0,.11)}.chat-compact-view .bub.them{border:1px solid rgba(255,255,255,.075);border-bottom-left-radius:5px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035))}.chat-compact-view .bub.me{border-bottom-right-radius:5px}.chat-compact-view .bub-ts{margin-top:4px;font-size:9px}
.chat-compact-view .chat-empty{align-self:center;margin:auto;padding:16px 22px;border:1px solid rgba(255,255,255,.055);border-radius:16px;background:rgba(255,255,255,.02);color:var(--text3);font-size:11px;box-shadow:0 15px 40px rgba(0,0,0,.1)}

.chat-compact-view .chat-composer{position:relative;z-index:5;display:flex!important;align-items:flex-end;gap:7px;margin:0;padding:8px 10px calc(8px + var(--safe-bottom));border:0;border-top:1px solid rgba(255,255,255,.07);border-radius:0;background:rgba(19,19,25,.82);box-shadow:0 -10px 34px rgba(0,0,0,.13);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.chat-compose-field{display:flex;align-items:flex-end;flex:1 1 auto;min-width:0;min-height:42px;overflow:hidden;border:1px solid rgba(255,255,255,.105);border-radius:17px;background:rgba(8,9,14,.38);transition:border-color .16s,background .16s}.chat-compose-field:focus-within{border-color:rgba(255,141,116,.34);background:rgba(255,255,255,.04);box-shadow:0 0 0 3px rgba(255,141,116,.045)}
.chat-compact-view .chat-compose-field textarea{display:block;flex:1 1 auto;width:auto;min-width:0;min-height:40px;max-height:96px;padding:10px 8px 9px 12px;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;font-size:13px;line-height:1.45}.chat-compact-view .chat-compose-field textarea:focus{border:0!important;outline:0}
.chat-compact-view .chat-composer .c-add,.chat-compact-view .chat-composer .c-send{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.chat-compact-view .chat-composer .c-add svg{width:19px;height:19px;color:#f0a175}
.chat-compact-view .chat-composer .c-send{flex-basis:42px;width:42px;min-width:42px;border:0;background:linear-gradient(135deg,#eb7d63,#bc4e4d)!important;color:#fff;box-shadow:0 7px 20px rgba(216,90,76,.22)}.chat-compact-view .chat-composer .c-send:disabled{background:rgba(255,255,255,.055)!important;color:var(--text3);box-shadow:none}

.vc-chat-prompt-list{display:grid;gap:7px}.vc-chat-prompt-list>button{display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 10px;align-items:center;min-height:64px;padding:9px 11px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.035);color:var(--text);text-align:left;cursor:pointer}.vc-chat-prompt-list>button>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(255,141,116,.08);font-size:17px}.vc-chat-prompt-list strong{min-width:0;font-size:12px;line-height:1.35}.vc-chat-prompt-list small{color:var(--text3);font-size:9px}.vc-chat-prompt-list>button:hover{border-color:rgba(255,141,116,.22);background:rgba(255,141,116,.055)}

@media(max-width:768px){
  .chat-compact-view .chat-header{min-height:calc(58px + var(--safe-top));padding:calc(8px + var(--safe-top)) calc(10px + var(--safe-right)) 8px calc(10px + var(--safe-left))}
  .chat-compact-view #vc-chat-context{max-height:min(210px,33dvh);padding:6px 8px!important}
  .chat-compact-pulse{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-compact-chip{min-height:30px;padding:5px 6px}.chat-quick-actions{gap:4px}.chat-quick-action{grid-template-columns:1fr;justify-items:center;gap:2px;min-height:44px;padding:4px}.chat-quick-action>span{font-size:15px}.chat-quick-action>strong{width:100%;text-align:center}
  .chat-compact-view .chat-thread{padding:10px 10px 13px;gap:7px}.chat-compact-view .msg-wrap,.chat-compact-view .msg-wrap.me{max-width:87%}
  .chat-compact-view .chat-composer{display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:6px;padding:7px 8px calc(7px + var(--safe-bottom))}
  .chat-compact-view .chat-composer>button,.chat-compact-view .chat-composer>select{grid-row:auto!important;grid-column:auto!important;justify-self:auto!important}
  .chat-compact-view .chat-compose-field textarea{grid-column:auto!important;grid-row:auto!important;width:auto;max-height:88px;font-size:16px}
  .chat-compact-view .chat-composer .c-add{flex-basis:38px;width:38px;height:38px;min-width:38px;min-height:38px}.chat-compact-view .chat-composer .c-send{flex-basis:42px;width:42px;min-width:42px}
}
@media(max-width:768px), (pointer:coarse){.chat-compact-view{height:100%;min-height:0}.chat-compact-view .chat-composer{padding-right:calc(8px + var(--safe-right));padding-bottom:calc(7px + var(--safe-bottom) + env(keyboard-inset-bottom,0px));padding-left:calc(8px + var(--safe-left))}.bottom-nav{width:100%;max-width:100%;margin:0}}
@media(max-width:350px){
  .chat-compact-view .chat-composer{display:flex!important;gap:4px;padding-inline:6px}.chat-compact-view .chat-composer .c-add{flex-basis:36px;width:36px;height:36px;min-width:36px;min-height:36px}.chat-compact-view .chat-composer .c-send{flex-basis:40px;width:40px;min-width:40px}
}
@media(max-height:620px) and (pointer:coarse){.chat-compact-view #vc-chat-context{display:flex;flex-direction:column;max-height:170px}.chat-compact-offers{order:-1;display:grid;margin:0 0 5px}.chat-compact-offer{padding:6px 8px}.chat-compact-offer-actions button{min-height:44px}}
@media(max-width:768px), (pointer:coarse){.chat-compact-view .chat-composer .c-add,.chat-compact-view .chat-composer .c-send{flex-basis:44px;width:44px;height:44px;min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){button.chat-compact-chip,.chat-quick-action,.chat-compose-field{transition:none}}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.chat-compact-view .chat-header,.chat-compact-view .chat-composer{background:#17141d!important}}

/* ============================================================================
 * COMPACT PAGE MASTHEADS — preserve context without pushing content down
 * ============================================================================ */
.vc-page-head{align-items:center;min-height:48px;margin:0 0 10px;padding:3px 2px 9px}
.vc-page-head::after{width:72px}
.vc-page-copy{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:4px 9px;width:100%}
.vc-page-copy h1{grid-column:1;grid-row:1;margin:0;font-size:22px;line-height:1.15;white-space:nowrap}
.vc-page-copy>small{grid-column:2;grid-row:1;margin:0;font-size:9px;letter-spacing:.1em;white-space:nowrap}
.vc-page-copy p{grid-column:3;grid-row:1;min-width:0;max-width:none;margin:0;color:var(--text3);font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vc-progress-deck{gap:8px;margin-bottom:12px}.vc-progress-card{min-height:68px;padding:10px}.vc-progress-icon{width:34px;height:34px;font-size:16px}.vc-skeleton-line{min-height:68px}
.chat-list-tools{align-items:center;margin-bottom:10px}.chat-list-tools h1{font-size:22px}.chat-list-tools input{min-height:40px}

@media(max-width:900px){
  .vc-progress-deck,.vc-progress-deck.compact{display:grid;grid-template-columns:none;grid-template-rows:minmax(68px,auto);grid-auto-flow:column;grid-auto-columns:minmax(210px,44%);align-items:stretch;min-height:68px;gap:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}
  .vc-progress-deck::-webkit-scrollbar{display:none}.vc-progress-deck>*{scroll-snap-align:start}
  .chat-insight-stack.vc-progress-deck.compact{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:64px 44px;grid-auto-flow:row;grid-auto-columns:auto;min-height:112px;gap:4px;overflow:visible;padding:0;margin-bottom:9px;scroll-snap-type:none}
  .chat-insight-stack>.vc-progress-card.is-active{grid-column:1/-1;grid-row:1;min-height:64px}
  .chat-insight-stack>.vc-progress-card:not(.is-active){grid-row:2;grid-template-columns:28px minmax(0,1fr);gap:6px;min-height:44px;padding:4px 8px;border-radius:11px;background:rgba(255,255,255,.025);cursor:pointer}
  .chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-icon{width:28px;height:28px;border-radius:8px;font-size:12px}
  .chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-copy strong,.chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-track,.chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-arrow{display:none}
  .chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-copy small{overflow:hidden;color:var(--text2);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:768px){
  .vc-page-head{min-height:36px;margin-bottom:7px;padding:0 2px 7px}
  .vc-page-head::after{width:52px}
  .vc-page-copy{display:block}
  .vc-page-copy h1{font-size:21px;line-height:1.2}
  .vc-page-copy>small,.vc-page-copy p{display:none}
  .vc-progress-deck,.vc-progress-deck.compact{grid-template-rows:58px;grid-auto-columns:minmax(188px,72%);min-height:60px;gap:7px;margin:0 0 9px;padding:0 0 2px}
  .vc-progress-card{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;min-height:58px;padding:8px 9px;border-radius:15px}
  .vc-progress-icon{width:32px;height:32px;border-radius:10px;font-size:15px}
  .vc-progress-copy small{font-size:9px}.vc-progress-copy strong{margin:2px 0 5px;font-size:12px}.vc-progress-arrow{font-size:12px}
  .vc-skeleton-line,.vc-progress-deck .vc-skeleton-line{min-height:58px;border-radius:15px}
  .activity-view,.hub-view{gap:9px}.activity-tabs{margin-bottom:3px}
  .chat-list-tools{margin-bottom:8px}.chat-list-tools h1{font-size:22px}.chat-list-tools label{margin-top:8px}.chat-list-tools input{min-height:40px}
  .chat-insight-stack.vc-progress-deck.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:58px 44px;grid-auto-flow:row;grid-auto-columns:auto;min-height:106px;gap:4px;overflow:visible;padding:0;margin-bottom:9px;scroll-snap-type:none}
  .chat-insight-stack>.vc-progress-card{transition:min-height .18s,background .18s,border-color .18s}
  .chat-insight-stack>.vc-progress-card.is-active{grid-column:1/-1;grid-row:1;min-height:58px}
  .chat-insight-stack>.vc-progress-card:not(.is-active){grid-row:2;grid-template-columns:28px minmax(0,1fr);gap:6px;min-height:44px;padding:4px 8px;border-radius:11px;background:rgba(255,255,255,.025);cursor:pointer}
  .chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-icon{width:28px;height:28px;border-radius:8px;font-size:12px}
  .chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-copy strong,.chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-track,.chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-arrow{display:none}
  .chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-copy small{overflow:hidden;color:var(--text2);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
}

/* ============================================================================
 * UNIFIED TOPBAR CONTROLS — one height, one glass language, one interaction
 * ============================================================================ */
.topbar{min-height:58px;gap:8px;padding:8px 14px;background:rgba(14,15,20,.48)}
.filter-bar{gap:7px}
.filter-cap,.filter-cog,.daily-inline,.tool-btn,.tool-av{height:42px;min-height:42px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.045);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .16s,border-color .16s,background .16s,color .16s}
.filter-cap{max-width:190px;padding:0 13px;border-radius:14px;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.filter-cog,.tool-btn{display:grid;place-items:center;flex:0 0 42px;width:42px;border-radius:14px;color:var(--text2)}
.filter-cog svg,.tool-btn svg{width:18px;height:18px}
.tool-av{flex:0 0 42px;width:42px;border-color:rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 16px rgba(0,0,0,.14)}
.top-actions{gap:7px}
.daily-inline{position:relative;max-width:210px;gap:8px;padding:0 12px;border-radius:14px;color:var(--text);white-space:nowrap}
.daily-inline.is-ready,.daily-inline.is-claimed{border-color:rgba(242,193,91,.17);background:linear-gradient(135deg,rgba(242,193,91,.08),rgba(255,141,116,.035))}
.daily-inline .ico{flex:0 0 auto;font-size:18px;line-height:1}.daily-inline .txt{position:relative;min-width:0;padding-bottom:6px;overflow:hidden;color:var(--gold2);font-size:11.5px;font-weight:750;line-height:1.1;text-overflow:ellipsis}.daily-inline .txt span{display:none}
.daily-inline .daily-progress{position:absolute;right:10px;bottom:5px;left:38px;width:auto;height:2px;margin:0;background:rgba(255,255,255,.08)}
.daily-inline.is-ready{cursor:pointer}.daily-inline.is-claimed,.daily-inline.is-disabled{cursor:default}
.filter-cap:hover,.filter-cog:hover,.tool-btn:hover,.tool-av:hover{transform:translateY(-1px);border-color:rgba(255,141,116,.23);background:rgba(255,255,255,.075);color:#fff}
.daily-inline.is-ready:hover{transform:translateY(-1px);border-color:rgba(242,193,91,.3);background:linear-gradient(135deg,rgba(242,193,91,.115),rgba(255,141,116,.055))}
.filter-cap:focus-visible,.filter-cog:focus-visible,.daily-inline:focus-visible,.tool-btn:focus-visible,.tool-av:focus-visible{outline:2px solid rgba(255,141,116,.58);outline-offset:2px}

@media(max-width:768px), (max-height:600px) and (pointer:coarse){
  .topbar{min-height:60px;gap:6px;padding:calc(8px + var(--safe-top)) calc(10px + var(--safe-right)) 8px calc(10px + var(--safe-left))}
  .filter-bar{gap:6px}
  .filter-cap,.filter-cog,.daily-inline,.tool-btn,.tool-av{height:44px;min-height:44px}
  .filter-cap{max-width:calc(100% - 50px);padding:0 10px;border-radius:14px;font-size:11.5px}
  .filter-cog,.tool-btn,.tool-av{flex-basis:44px;width:44px}
  .daily-inline{display:grid;place-items:center;flex:0 0 44px;width:44px;max-width:44px;padding:0;border-radius:14px}
  .daily-inline .ico{font-size:19px}.daily-inline .txt{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .daily-inline .daily-progress{right:7px;bottom:5px;left:7px;width:auto}
  .top-actions{gap:6px}
}
@media(pointer:coarse){
  .filter-cap,.filter-cog,.daily-inline,.tool-btn,.tool-av{height:44px;min-height:44px}
  .filter-cog,.tool-btn,.tool-av{flex-basis:44px;width:44px}
}
@media(max-width:350px){.topbar{gap:5px;padding-inline:7px}.filter-bar{gap:5px}.filter-cap{padding-inline:8px}}

/* Live non-stackable checkout promotion. */
.store-live-promo{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;margin:0 0 14px;padding:14px 16px;overflow:hidden;border:1px solid rgba(246,191,94,.24);border-radius:19px;background:linear-gradient(135deg,rgba(247,166,82,.13),rgba(155,89,215,.1) 58%,rgba(255,255,255,.025));box-shadow:0 16px 46px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.store-live-promo::after{content:"";position:absolute;inset:-70% auto -70% -20%;width:32%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.075),transparent);animation:vcPromoShine 5s ease-in-out infinite;pointer-events:none}
@keyframes vcPromoShine{0%,65%{translate:-150% 0}90%,100%{translate:520% 0}}
.store-live-promo-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,216,132,.22);border-radius:15px;background:linear-gradient(145deg,rgba(255,183,94,.18),rgba(174,94,220,.12));color:#ffd184;font-size:21px;box-shadow:0 9px 28px rgba(220,115,64,.16)}
.store-live-promo-copy{min-width:0}.store-live-promo-copy span,.store-live-promo-copy strong,.store-live-promo-copy small{display:block}.store-live-promo-copy span{color:#efb86b;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.store-live-promo-copy strong{margin-top:4px;color:#fff;font-size:16px;line-height:1.2}.store-live-promo-copy small{margin-top:4px;color:var(--text3);font-size:10px;line-height:1.35}
.store-live-promo-clock{min-width:108px;padding:9px 11px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(5,6,10,.24);text-align:right}.store-live-promo-clock span,.store-live-promo-clock strong{display:block}.store-live-promo-clock span{color:var(--text3);font-size:8px}.store-live-promo-clock strong{margin-top:3px;color:#ffd58f;font-size:12px;font-variant-numeric:tabular-nums}
.pack.has-promo,.tg-topup.has-promo{border-color:rgba(246,191,94,.27)!important;background:linear-gradient(135deg,rgba(246,191,94,.09),rgba(166,91,211,.06))!important}.pack-nm s,.tg-topup s{color:var(--text3);font-size:.78em;text-decoration-color:#ff8d74}.pack-tag.promo{color:#351b0c;background:linear-gradient(135deg,#ffd37e,#f4a55e)}.vc-promo-modal-note{padding:9px 11px;border:1px solid rgba(246,191,94,.18);border-radius:11px;background:rgba(246,191,94,.07);color:#ffd493!important;font-size:11px!important}
@media(max-width:620px){.store-live-promo{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:12px}.store-live-promo-icon{width:42px;height:42px}.store-live-promo-clock{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 9px;text-align:left}.store-live-promo-clock strong{margin:0}.store-live-promo-copy strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.store-live-promo::after{animation:none}}

/* ============================================================================
 * APPEARANCE — persisted light / dark / system themes
 * ============================================================================ */
.vc-theme-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px}
.vc-theme-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;padding:8px 10px;border:1px solid var(--control-border);border-radius:14px;background:var(--surface-1);color:var(--text2);transition:transform .16s,border-color .16s,background .16s,color .16s}
.vc-theme-switch button span{font-size:18px;line-height:1}.vc-theme-switch button strong{min-width:0;font-size:11px;line-height:1.2}
.vc-theme-switch button:hover{transform:translateY(-1px);border-color:rgba(255,141,116,.3);background:var(--surface-2);color:var(--text)}
.vc-theme-switch button.is-active{border-color:rgba(255,116,96,.48);background:linear-gradient(135deg,rgba(255,141,116,.16),rgba(168,110,255,.09));color:var(--text);box-shadow:0 0 0 3px rgba(255,141,116,.07),inset 0 1px 0 var(--surface-highlight)}

.guest-gate-context{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(255,141,116,.2);border-radius:16px;background:linear-gradient(135deg,rgba(255,141,116,.09),rgba(168,110,255,.055))}
.guest-gate-context>img,.guest-gate-context>span{grid-row:1;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--coral),var(--purple));object-fit:cover;color:#fff;font-size:18px;font-weight:850}
.guest-gate-context>div{min-width:0}.guest-gate-context small,.guest-gate-context strong,.guest-gate-context em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-gate-context small{color:var(--coral);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.guest-gate-context strong{margin-top:2px;font-size:14px}.guest-gate-context em{margin-top:2px;color:var(--text3);font-size:10px;font-style:normal}

html[data-theme="light"]{
  color-scheme:light;
  --bg:#f6f1ed;--text:#2a2028;--text2:rgba(42,32,40,.76);--text3:rgba(42,32,40,.53);
  --gold:#9a6a10;--gold2:#ad7517;--green:#168753;--red:#d93d59;--amber:#b86d00;
  --panel:rgba(255,255,255,.62);--panel2:rgba(255,255,255,.48);--glass-bg:rgba(255,255,255,.56);
  --glass-border:rgba(72,45,63,.12);--glass-glow:rgba(255,255,255,.7);--border:rgba(72,45,63,.13);--border2:rgba(72,45,63,.22);--div:rgba(72,45,63,.1);
  --surface-1:rgba(255,255,255,.42);--surface-2:rgba(255,255,255,.64);--surface-3:rgba(255,255,255,.8);
  --surface-border:rgba(72,45,63,.12);--surface-highlight:rgba(255,255,255,.72);--control-bg:rgba(255,255,255,.72);--control-border:rgba(72,45,63,.16);
  --sh-soft:0 8px 28px rgba(63,39,50,.1);--sh-glass:0 16px 42px rgba(63,39,50,.13);
}
html[data-theme="light"] body{background:#eee7ed;color:var(--text)}
html[data-theme="light"] body::before{background-color:#eee7ed;background-image:linear-gradient(145deg,rgba(255,250,248,.78),rgba(246,239,249,.7)),var(--vc-global-bg);background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.72) brightness(1.2)}
html[data-theme="light"] body::after{background:radial-gradient(ellipse 84% 80% at 50% 48%,rgba(255,255,255,.08) 25%,rgba(250,244,247,.18) 72%,rgba(237,226,235,.42) 100%)}
html[data-theme="light"] ::selection{background:#e35d69;color:#fff}
html[data-theme="light"] ::-webkit-scrollbar-thumb{background:rgba(72,45,63,.18)}

html[data-theme="light"] .app{background:rgba(255,255,255,.44)!important;border-color:rgba(72,45,63,.12);box-shadow:0 28px 74px rgba(83,54,68,.16),inset 0 1px 1px rgba(255,255,255,.92)}
html[data-theme="light"] .left,html[data-theme="light"] .right{background:rgba(255,255,255,.22)!important;border-color:rgba(72,45,63,.09);box-shadow:inset -1px 0 0 rgba(255,255,255,.54)}
html[data-theme="light"] .topbar{background:rgba(255,255,255,.58);border-color:var(--div)}
html[data-theme="light"] .filter-cap,html[data-theme="light"] .filter-cog,html[data-theme="light"] .daily-inline,html[data-theme="light"] .tool-btn,html[data-theme="light"] .tool-av{border-color:var(--surface-border);background:rgba(255,255,255,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
html[data-theme="light"] .filter-cap:hover,html[data-theme="light"] .filter-cog:hover,html[data-theme="light"] .tool-btn:hover,html[data-theme="light"] .tool-av:hover{background:rgba(255,255,255,.82);color:var(--text)}
html[data-theme="light"] .nav-item:hover{background:rgba(255,255,255,.5)}
html[data-theme="light"] .nav-item.active{color:#38232f;background:linear-gradient(90deg,rgba(255,119,100,.14),transparent)!important}
html[data-theme="light"] .user-mini{background:rgba(255,255,255,.58)!important;border-color:var(--surface-border);box-shadow:0 6px 20px rgba(71,43,57,.08),inset 0 1px 0 #fff}
html[data-theme="light"] .right.chat-context-rail{background:linear-gradient(180deg,rgba(255,235,226,.3),rgba(242,235,250,.24))!important}

html[data-theme="light"] .set-h,html[data-theme="light"] .vpH{color:rgba(42,32,40,.6)}
html[data-theme="light"] .set-section,html[data-theme="light"] .store-hero,html[data-theme="light"] .store-section,html[data-theme="light"] .vp-section{box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 12px 26px rgba(71,43,57,.065)}
html[data-theme="light"] .own-profile-view .own-profile-summary{background:radial-gradient(circle at 18% 18%,rgba(255,141,116,.13),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,249,246,.61));box-shadow:inset 0 1px 0 #fff,0 16px 38px rgba(71,43,57,.09)}
html[data-theme="light"] .own-profile-avatar{border-color:rgba(72,45,63,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 9px 22px rgba(71,43,57,.13)}
html[data-theme="light"] .own-profile-body>.vp-bar{background:rgba(72,45,63,.08)}
html[data-theme="light"] .own-profile-photo-empty{border-color:rgba(202,93,75,.28);background:linear-gradient(145deg,rgba(255,141,116,.09),rgba(168,110,255,.055))}
html[data-theme="light"] .own-profile-body>.profile-missing{border-color:rgba(154,106,16,.24);background:linear-gradient(135deg,rgba(242,193,91,.16),rgba(255,141,116,.09));color:#7b520c}
html[data-theme="light"] .own-profile-body>.profile-missing small{color:rgba(75,49,59,.62)}
html[data-theme="light"] .own-profile-body>.profile-complete-ok{border-color:rgba(22,135,83,.2);background:rgba(22,135,83,.08);color:#116b42}
html[data-theme="light"] .own-profile-view #vc-prof-hub{color:#6d4e99!important;background:rgba(134,90,194,.09)!important}
html[data-theme="light"] .own-profile-view #vc-prof-settings{background:rgba(255,255,255,.54)!important}
html[data-theme="light"] .settings-view input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),html[data-theme="light"] .settings-view textarea,html[data-theme="light"] .settings-view select,html[data-theme="light"] .lightbox input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),html[data-theme="light"] .lightbox textarea,html[data-theme="light"] .lightbox select{color-scheme:light!important}
html[data-theme="light"] .settings-view input:focus,html[data-theme="light"] .settings-view textarea:focus,html[data-theme="light"] .settings-view select:focus,html[data-theme="light"] .lightbox input:focus,html[data-theme="light"] .lightbox textarea:focus,html[data-theme="light"] .lightbox select:focus{background:#fff!important}

html[data-theme="light"] .onb-card,html[data-theme="light"] .auth-card{border-color:var(--surface-border);background:linear-gradient(150deg,rgba(255,255,255,.86),rgba(250,244,241,.74));box-shadow:inset 0 1px 0 #fff,0 24px 60px rgba(72,44,57,.13)}
html[data-theme="light"] .onb-smart{color:#553f70}
html[data-theme="light"] .city-suggest{border-color:rgba(72,45,63,.14);background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(71,43,57,.15)}
html[data-theme="light"] .city-suggest-item:hover,html[data-theme="light"] .city-suggest-item:focus-visible{background:rgba(255,141,116,.1)}
html[data-theme="light"] .look-btn.selected{color:#43232d}
html[data-theme="light"] .glass-container{background:rgba(255,255,255,.5)!important;border-color:rgba(72,45,63,.12)!important;box-shadow:0 18px 52px rgba(73,44,57,.13)!important,inset 0 1px 0 rgba(255,255,255,.86)}
html[data-theme="light"] .actions{background:rgba(255,255,255,.58)}

html[data-theme="light"] .chat-view,html[data-theme="light"] .chat-view.chat-compact-view{background:transparent!important}
html[data-theme="light"] .chat-compact-view::before{display:none}
html[data-theme="light"] .chat-header,html[data-theme="light"] .composer,html[data-theme="light"] .chat-compact-view .chat-composer{background:rgba(255,255,255,.74);border-color:var(--surface-border)}
html[data-theme="light"] .chat-view.flirt-warm .chat-header{background:linear-gradient(90deg,rgba(255,214,225,.88),rgba(255,247,244,.82));border-color:rgba(210,69,116,.2)}
html[data-theme="light"] .chat-view.flirt-hot .chat-header{background:linear-gradient(90deg,rgba(255,185,207,.88),rgba(255,231,226,.86));border-color:rgba(210,69,116,.3)}
html[data-theme="light"] .chat-compact-view #vc-chat-context{border-color:var(--surface-border)!important;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.22))}
html[data-theme="light"] .chat-compact-chip,html[data-theme="light"] .chat-quick-action,html[data-theme="light"] .chat-compact-offer-actions button{border-color:var(--surface-border);background:rgba(255,255,255,.62)}
html[data-theme="light"] .chat-compact-view .chat-thread{background:transparent!important}
html[data-theme="light"] .chat-compact-view .daynote{color:var(--text3)}
html[data-theme="light"] .chat-compact-view .bub.them{border-color:var(--surface-border);background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(255,255,255,.68));box-shadow:0 7px 20px rgba(70,42,56,.08)}
html[data-theme="light"] .chat-compose-field{border-color:var(--control-border);background:rgba(255,255,255,.76)}
html[data-theme="light"] .chat-compact-view #vc-c-destruct{color-scheme:light}
html[data-theme="light"] .chat-compact-view .chat-composer .c-add,html[data-theme="light"] .chat-compact-view .chat-composer .c-gift{border-color:var(--surface-border);background:rgba(255,255,255,.7)}
html[data-theme="light"] .chat-down{border-color:var(--surface-border);background:rgba(255,255,255,.9);color:var(--text);box-shadow:0 10px 28px rgba(70,42,56,.13)}

html[data-theme="light"] .pp-card{border-color:var(--surface-border);background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,249,246,.68));box-shadow:0 14px 34px rgba(70,42,56,.08)}
html[data-theme="light"] .pp-fact,html[data-theme="light"] .vc-sub-offer li{background:rgba(255,255,255,.66)}
html[data-theme="light"] .pp-interests span{background:rgba(126,85,190,.1);color:#684a8e}
html[data-theme="light"] .pp-gift-empty{border-color:rgba(190,120,61,.18);background:radial-gradient(circle at 8% 10%,rgba(255,196,109,.19),transparent 34%),linear-gradient(135deg,rgba(255,249,240,.88),rgba(251,242,251,.72));box-shadow:inset 0 1px 0 #fff}html[data-theme="light"] .pp-gift-empty-icon{border-color:rgba(190,120,61,.18);background:linear-gradient(145deg,rgba(255,210,129,.26),rgba(255,126,108,.12))}
html[data-theme="light"] .vc-gift-picker-head button{background:rgba(72,45,63,.06);color:var(--text2)}html[data-theme="light"] .vc-gift-picker #vc-gift-msg{border-color:var(--control-border);background:rgba(255,255,255,.82);color:var(--text)}html[data-theme="light"] .vc-gift-picker .vc-gift-item{border-color:var(--surface-border)!important;background:rgba(255,255,255,.7)!important;color:var(--text)!important;box-shadow:inset 0 1px 0 #fff}
html[data-theme="light"] .vc-gift-anon{border-color:var(--surface-border);background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(244,235,255,.7));box-shadow:inset 0 1px 0 #fff}html[data-theme="light"] .vc-gift-anon-visual{border-color:rgba(128,79,190,.12);background:linear-gradient(145deg,rgba(168,110,255,.13),rgba(255,141,116,.08))}html[data-theme="light"] .vc-gift-anon-switch{border-color:rgba(78,55,96,.13);background:rgba(82,59,100,.1)}html[data-theme="light"] .vc-gift-item>div{border-color:rgba(78,55,96,.08);background:rgba(90,61,111,.06);color:var(--text2)}html[data-theme="light"] .vc-telegram-account-icon{border-color:rgba(44,133,203,.14);background:linear-gradient(145deg,rgba(74,171,255,.12),rgba(168,110,255,.05))}
html[data-theme="light"] .rating-premium-head strong,html[data-theme="light"] .store-live-promo-copy strong{color:var(--text)}
html[data-theme="light"] .rating-level-progress{background:rgba(72,45,63,.055)}
html[data-theme="light"] .store-method,html[data-theme="light"] .store-pay-pack,html[data-theme="light"] .tg-topup{border-color:var(--surface-border);background:rgba(255,255,255,.5)}
html[data-theme="light"] .store-live-promo-clock{border-color:var(--surface-border);background:rgba(255,255,255,.48)}

html[data-theme="light"] .vc-modal-layer{background:rgba(57,38,49,.34)}
html[data-theme="light"] .vc-modal-card{border-color:var(--surface-border);background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(248,240,238,.97));box-shadow:0 28px 80px rgba(70,42,56,.22),0 0 44px rgba(255,91,96,.06)}
html[data-theme="light"] .vc-modal-field input,html[data-theme="light"] .vc-modal-field textarea,html[data-theme="light"] .vc-modal-field select{border-color:var(--control-border);background:rgba(255,255,255,.82);color:var(--text)}
html[data-theme="light"] .vc-modal-x,html[data-theme="light"] .vc-modal-cancel{background:rgba(72,45,63,.06)}
html[data-theme="light"] .vc-purchase-summary{background:rgba(72,45,63,.1)}html[data-theme="light"] .vc-purchase-summary>div{background:rgba(255,255,255,.76)}html[data-theme="light"] .vc-purchase-summary span{color:rgba(42,32,40,.62)}html[data-theme="light"] .vc-purchase-summary strong{color:#2a2028}html[data-theme="light"] .vc-purchase-summary .is-short{background:rgba(255,235,229,.92)}html[data-theme="light"] .vc-purchase-summary .is-short strong{color:#d94d43}
html[data-theme="light"] .lightbox,html[data-theme="light"] .guest-profile-gate{background:rgba(57,38,49,.38)!important}
html[data-theme="light"] .lightbox>div{border-color:var(--surface-border)!important;background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(248,241,239,.98))!important;box-shadow:inset 0 1px 0 #fff,0 28px 72px rgba(70,42,56,.23)!important}
html[data-theme="light"] .guest-gate-context{background:linear-gradient(135deg,rgba(255,141,116,.12),rgba(168,110,255,.075))}
html[data-theme="light"] .guest-photo-picker b{color:#9b493b}

@media(max-width:768px){
  .vc-theme-switch{grid-template-columns:1fr}.vc-theme-switch button{justify-content:flex-start;padding-inline:14px}
  html[data-theme="light"] .pp-head{background:rgba(255,250,247,.82)}
}
/* ===== Legal disclosure ===== */
.vc-tos-trust{margin:13px 0;padding:13px;border:1px solid rgba(255,146,113,.24);border-radius:13px;background:rgba(255,141,116,.08)}.vc-tos-trust strong{display:block;margin-bottom:5px}.vc-tos-trust p{margin:0;color:var(--text2);font-size:13px;line-height:1.5}.tos-legal-links{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0 13px}.tos-legal-links a{padding:6px 9px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:999px;color:var(--accent,#ff8d74);font-size:11px;text-decoration:none}.tos-check{align-items:flex-start!important;margin-top:8px!important}.tos-check input{margin-top:3px}
.vc-settings-legal{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.vc-settings-legal a{padding:5px 8px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:var(--text2);font-size:10px;text-decoration:none}.vc-settings-legal a:hover{border-color:rgba(255,141,116,.4);color:var(--accent,#ff8d74)}
@media(max-width:640px){.tos-dialog>div{max-height:92vh;overflow:auto}}

/* First free opener and contextual chat-continuation paywall. */
.chat-compact-chip.free-opener{border-color:rgba(52,212,120,.25);background:linear-gradient(135deg,rgba(52,212,120,.12),rgba(242,193,91,.08));color:#8ceab2;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.vc-chat-paywall{display:grid;gap:13px}.vc-chat-paywall>p{margin:0;color:var(--text2);font-size:13px;line-height:1.55}.vc-chat-paywall>small{color:#8ceab2;font-size:11px;font-weight:750}
.vc-chat-paywall-person{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:11px;padding:10px;border:1px solid var(--surface-border);border-radius:16px;background:var(--surface-1)}
.vc-chat-paywall-person>img,.vc-chat-paywall-person>span{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--coral),var(--purple));object-fit:cover;color:#fff;font-size:19px;font-weight:850}.vc-chat-paywall-person>div{min-width:0}.vc-chat-paywall-person small,.vc-chat-paywall-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-chat-paywall-person small{color:var(--text3);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.vc-chat-paywall-person strong{margin-top:3px;font-size:15px}
.vc-chat-paywall-pack{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid rgba(242,193,91,.25);border-radius:17px;background:radial-gradient(circle at 100% 0,rgba(242,193,91,.14),transparent 42%),linear-gradient(145deg,rgba(255,141,116,.09),rgba(168,110,255,.055))}.vc-chat-paywall-pack span,.vc-chat-paywall-pack strong,.vc-chat-paywall-pack small{display:block}.vc-chat-paywall-pack span{color:var(--text3);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.vc-chat-paywall-pack strong{margin-top:3px;color:#ffd18b;font-size:25px;line-height:1}.vc-chat-paywall-pack small{margin-top:4px;color:var(--text2);font-size:10px}.vc-chat-paywall-pack>b{color:#ffd18b;font-size:28px;letter-spacing:-.04em}
html[data-theme="light"] .chat-compact-chip.free-opener{color:#167247}
html[data-theme="light"] .vc-chat-paywall-pack strong,html[data-theme="light"] .vc-chat-paywall-pack>b{color:#9c6810}

/* Compact Vibe Top command surface: leaderboard content stays above the fold. */
.top-view{gap:10px}
.top-command-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:44px;padding:3px;border:1px solid var(--surface-border);border-radius:15px;background:linear-gradient(145deg,var(--surface-2),var(--surface-1));box-shadow:inset 0 1px 0 var(--surface-highlight)}
.top-command-bar .top-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1 1 auto;width:auto;min-width:0;padding:0;border:0;border-radius:12px;background:transparent;align-self:stretch;gap:3px}
.top-command-bar .tt{min-width:0;min-height:36px;padding:6px 11px;border:0;border-radius:11px;background:transparent;color:var(--text3);font-size:11px;font-weight:800;white-space:nowrap}
.top-command-bar .tt.active{background:linear-gradient(135deg,rgba(255,141,116,.18),rgba(213,45,85,.12));color:#ffae9a;box-shadow:inset 0 0 0 1px rgba(255,141,116,.25)}
.top-audience-control{position:relative;display:flex;align-items:center;flex:0 1 128px;width:min(128px,35%);min-width:92px;min-height:36px;border-left:1px solid var(--surface-border);color:var(--text2)}
.top-audience-control>span{position:absolute;z-index:1;left:10px;color:#ffae9a;font-size:10px;pointer-events:none}
.top-audience-control select{width:100%;height:36px;min-width:0;padding:0 7px 0 27px;border:0;outline:0;background:transparent;color:var(--text);font-size:11px;font-weight:800;cursor:pointer;color-scheme:dark}
.top-audience-control select:focus-visible{border-radius:10px;box-shadow:inset 0 0 0 2px rgba(255,141,116,.42)}
.top-audience-control option,.rating-action-select option{background:#17131d;color:#f5f1f7}
#vc-rating-card{margin:0;min-width:0}
.rating-premium-card{padding:13px 14px;border-radius:18px}
.rating-compact-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0}
.rating-score-block,.rating-rank-block{min-width:0}
.rating-score-block small,.rating-score-block strong,.rating-score-block span,.rating-rank-block small,.rating-rank-block strong,.rating-rank-block span{display:block}
.rating-score-block small,.rating-rank-block small{color:var(--text3);font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.rating-score-block strong{overflow:hidden;margin:2px 0;color:#fff;font-size:21px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
.rating-score-block span,.rating-rank-block span{overflow:hidden;color:var(--text3);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.rating-rank-block{min-width:72px;padding:7px 10px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(0,0,0,.11);text-align:right}
.rating-rank-block strong{margin:1px 0;color:#ffe09a;font-size:17px;line-height:1.05}
.rating-compact-progress{margin-top:9px}
.rating-progress-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px;color:var(--text3);font-size:9px}
.rating-progress-line b{color:var(--text2);font-size:9px;white-space:nowrap}
.rating-compact-progress .vc-progress-track{height:4px}
.rating-progress-meta{display:flex;align-items:center;gap:6px;min-width:0;margin-top:6px;overflow:hidden}
.rating-week-chip,.rating-buff-chip{overflow:hidden;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.045);color:var(--text3);font-size:8px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.rating-week-chip{flex:0 0 auto;color:#e8c783;background:rgba(230,198,128,.08)}
.rating-buff-chip{min-width:0}
.rating-compact-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(104px,1.18fr);gap:6px;margin-top:9px}
.rating-action-select,.rating-compact-actions [data-rating-buy]{position:relative;min-width:0;height:42px;min-height:42px;margin:0;border:1px solid var(--surface-border);border-radius:11px;background:rgba(255,255,255,.045);color:var(--text2)}
.rating-action-select{display:flex;align-items:center;overflow:hidden}
.rating-action-select>span{position:absolute;z-index:1;left:9px;color:#ffbd9e;font-size:12px;pointer-events:none}
.rating-action-select select{width:100%;height:100%;min-width:0;padding:0 5px 0 28px;border:0;outline:0;background:transparent;color:var(--text);font-size:10px;font-weight:800;cursor:pointer;color-scheme:dark;text-overflow:ellipsis}
.rating-action-select:focus-within{border-color:rgba(255,141,116,.38);box-shadow:0 0 0 2px rgba(255,141,116,.09)}
.rating-compact-actions [data-rating-buy]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;padding:0 9px!important;border-color:rgba(242,193,91,.25)!important;background:linear-gradient(135deg,rgba(242,193,91,.14),rgba(213,45,85,.085))!important;text-align:left;cursor:pointer}
.rating-compact-actions [data-rating-buy]>span{font-size:12px}.rating-compact-actions [data-rating-buy]>strong{overflow:hidden;color:#ffe09a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.rating-compact-actions [data-rating-buy]>small{color:#e8c783;font-size:8px;white-space:nowrap}
.top-list{position:relative;transition:opacity .16s ease}.top-list.is-loading{opacity:.48;pointer-events:none}
html[data-theme="light"] .top-command-bar{background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,249,246,.48))}
html[data-theme="light"] .top-command-bar .tt.active{color:#a84338;background:linear-gradient(135deg,rgba(255,141,116,.17),rgba(213,45,85,.08))}
html[data-theme="light"] .top-audience-control select,html[data-theme="light"] .rating-action-select select{color-scheme:light}
html[data-theme="light"] .top-audience-control option,html[data-theme="light"] .rating-action-select option{background:#fff;color:#392b34}
html[data-theme="light"] .rating-score-block strong{color:var(--text)}
html[data-theme="light"] .rating-rank-block{border-color:var(--surface-border);background:rgba(72,45,63,.045)}
html[data-theme="light"] .rating-week-chip,html[data-theme="light"] .rating-buff-chip{background:rgba(72,45,63,.055)}
@media(max-width:768px){
  .top-view{gap:8px}
  .top-command-bar{width:100%;gap:4px;border-radius:14px}
  .top-command-bar .top-tabs{width:auto;border-radius:11px}
  .top-command-bar .tt{padding-inline:7px;font-size:10px}
  .top-audience-control{flex-basis:108px;width:min(108px,34%);min-width:86px}
  .rating-premium-card{padding:11px 12px;border-radius:16px}
  .rating-score-block strong{font-size:19px}
  .rating-rank-block{min-width:66px;padding:6px 8px}
  .rating-compact-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(96px,1.15fr);gap:5px}
  .rating-action-select,.rating-compact-actions [data-rating-buy]{height:40px;min-height:40px}
  .rating-action-select select{padding-left:25px;font-size:9px}.rating-action-select>span{left:8px;font-size:11px}
  .rating-compact-actions [data-rating-buy]{padding-inline:7px!important}.rating-compact-actions [data-rating-buy]>strong{font-size:9px}
}
@media(max-width:350px){.rating-compact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.rating-compact-actions [data-rating-buy]>small{display:none}.rating-compact-actions [data-rating-buy]{grid-template-columns:auto minmax(0,1fr)}}

/* Contextual conversion cards: one calm next step, only where the surface is empty. */
.vc-context-stage{display:grid;place-items:center;width:100%;min-height:min(410px,54dvh);padding:22px}
.vc-context-cta{--ctx-rgb:255,141,116;--ctx-accent:#ff9d87;--ctx-accent2:#ff616a;position:relative;isolation:isolate;display:grid;gap:15px;width:min(100%,560px);padding:20px;overflow:hidden;border:1px solid rgba(var(--ctx-rgb),.2);border-radius:22px;background:radial-gradient(circle at 8% 4%,rgba(var(--ctx-rgb),.16),transparent 36%),radial-gradient(circle at 95% 96%,rgba(168,110,255,.1),transparent 38%),linear-gradient(145deg,rgba(32,25,39,.9),rgba(17,14,23,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 54px rgba(0,0,0,.18)}
.vc-context-cta:before{content:"";position:absolute;z-index:-1;inset:-40% 52% 44% -15%;border-radius:50%;background:rgba(var(--ctx-rgb),.11);filter:blur(24px);pointer-events:none}
.vc-context-cta.tone-purple{--ctx-rgb:168,110,255;--ctx-accent:#c8aaff;--ctx-accent2:#8057e8}.vc-context-cta.tone-gold{--ctx-rgb:242,193,91;--ctx-accent:#ffd983;--ctx-accent2:#f0a94d}.vc-context-cta.tone-blue{--ctx-rgb:69,141,255;--ctx-accent:#8fbdff;--ctx-accent2:#4f76e8}.vc-context-cta.tone-green{--ctx-rgb:52,212,120;--ctx-accent:#7ee6ac;--ctx-accent2:#2caa70}
.vc-context-main{position:relative;display:flex;align-items:center;gap:15px;min-width:0}.vc-context-icon{position:relative;display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border:1px solid rgba(var(--ctx-rgb),.24);border-radius:19px;background:linear-gradient(145deg,rgba(var(--ctx-rgb),.2),rgba(var(--ctx-rgb),.075));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 28px rgba(var(--ctx-rgb),.1)}
.vc-context-icon>span{font-size:29px;filter:drop-shadow(0 8px 13px rgba(var(--ctx-rgb),.24));animation:vcContextFloat 3.4s ease-in-out infinite}.vc-context-icon>i{position:absolute;top:6px;right:7px;color:var(--ctx-accent);font-size:11px;font-style:normal;animation:vcContextSpark 1.9s ease-in-out infinite}
.vc-context-copy{min-width:0}.vc-context-copy>small{display:block;margin-bottom:4px;color:var(--ctx-accent);font-size:9px;font-weight:900;letter-spacing:.095em;text-transform:uppercase}.vc-context-copy>strong{display:block;color:var(--text);font-size:17px;line-height:1.2}.vc-context-copy>p{max-width:470px;margin:5px 0 0;color:var(--text3);font-size:12px;line-height:1.55}
.vc-context-progress{display:grid;gap:6px;padding:10px 12px;border:1px solid rgba(var(--ctx-rgb),.12);border-radius:13px;background:rgba(255,255,255,.025)}.vc-context-progress>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text3);font-size:10px}.vc-context-progress strong{color:var(--ctx-accent);font-size:11px}.vc-context-progress>i{display:block;height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}.vc-context-progress>i>em{display:block;width:var(--vc-context-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ctx-accent2),var(--ctx-accent));box-shadow:0 0 14px rgba(var(--ctx-rgb),.34);transition:width .45s ease}
.vc-context-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vc-context-actions:has(>button:only-child){grid-template-columns:1fr}.vc-context-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;padding:0 14px;border-radius:13px;font:inherit;font-size:11px;font-weight:850;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.vc-context-actions button:hover{transform:translateY(-1px)}.vc-context-primary{border:1px solid rgba(var(--ctx-rgb),.28);background:linear-gradient(135deg,var(--ctx-accent),var(--ctx-accent2));box-shadow:0 11px 28px rgba(var(--ctx-rgb),.18);color:#fff}.tone-gold .vc-context-primary{color:#2b1c07}.vc-context-primary>b{margin-left:auto;font-size:15px}.vc-context-secondary{border:1px solid var(--surface-border);background:rgba(255,255,255,.04);color:var(--text2)}.vc-context-secondary:hover{border-color:rgba(var(--ctx-rgb),.3);color:var(--text)}
.vc-context-cta.is-centered{text-align:center}.vc-context-cta.is-centered .vc-context-main{flex-direction:column}.vc-context-cta.is-centered .vc-context-copy>p{margin-inline:auto}.vc-context-cta.is-centered .vc-context-icon{width:68px;height:68px;flex-basis:68px;border-radius:21px}.vc-context-cta.is-compact{gap:11px;padding:14px;border-radius:17px}.vc-context-cta.is-compact .vc-context-main{gap:12px}.vc-context-cta.is-compact .vc-context-icon{width:50px;height:50px;flex-basis:50px;border-radius:15px}.vc-context-cta.is-compact .vc-context-icon>span{font-size:24px}.vc-context-cta.is-compact .vc-context-copy>strong{font-size:13px}.vc-context-cta.is-compact .vc-context-copy>p{margin-top:4px;font-size:10px;line-height:1.45}.vc-context-cta.is-compact .vc-context-actions button{min-height:40px}.vc-context-cta.is-micro{margin-top:8px;padding:12px}.vc-context-cta.is-micro .vc-context-icon{width:43px;height:43px;flex-basis:43px;border-radius:13px}.vc-context-cta.is-micro .vc-context-icon>span{font-size:20px}.vc-context-cta.is-micro .vc-context-copy>strong{font-size:12px}.vc-context-cta.is-micro .vc-context-actions{display:flex}.vc-context-cta.is-micro .vc-context-actions button{width:auto;min-height:36px;padding-inline:12px}
.own-profile-card .ints>.vc-context-cta{width:100%;margin-top:0}.chat-compact-view .vc-context-cta.chat-empty{align-self:center;width:min(100%,430px);margin:auto;padding:16px 18px;border-style:solid;color:var(--text);font-size:inherit}.chat-compact-view .vc-context-cta.chat-empty .vc-context-icon{width:52px;height:52px;flex-basis:52px}.hub-games-card>.vc-context-cta{margin-top:10px}
html[data-theme="light"] .vc-context-cta{border-color:rgba(var(--ctx-rgb),.2);background:radial-gradient(circle at 8% 4%,rgba(var(--ctx-rgb),.18),transparent 36%),radial-gradient(circle at 95% 96%,rgba(168,110,255,.09),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.9),rgba(249,243,241,.78));box-shadow:inset 0 1px 0 #fff,0 18px 42px rgba(71,43,57,.09)}html[data-theme="light"] .vc-context-progress{background:rgba(255,255,255,.48)}html[data-theme="light"] .vc-context-progress>i{background:rgba(72,45,63,.09)}html[data-theme="light"] .vc-context-secondary{background:rgba(255,255,255,.63)}
html[data-theme="light"] .vc-page-copy h1{color:var(--text)}html[data-theme="light"] .vc-page-copy>small{color:#aa493c}
@keyframes vcContextFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}@keyframes vcContextSpark{0%,100%{opacity:.35;transform:scale(.78) rotate(0)}50%{opacity:1;transform:scale(1.16) rotate(22deg)}}
@media(max-width:640px){.vc-context-stage{min-height:300px;padding:12px}.vc-context-cta{gap:12px;padding:15px;border-radius:18px}.vc-context-cta:not(.is-centered) .vc-context-icon{width:52px;height:52px;flex-basis:52px}.vc-context-copy>strong{font-size:15px}.vc-context-copy>p{font-size:11px}.vc-context-actions{grid-template-columns:1fr}.vc-context-actions button{min-height:43px}.vc-context-cta.is-micro .vc-context-actions button{width:100%}.chat-compact-view .vc-context-cta.chat-empty{width:min(100%,360px);padding:13px}.chat-compact-view .vc-context-cta.chat-empty .vc-context-actions button{min-height:39px}}
@media(prefers-reduced-motion:reduce){.vc-context-icon>span,.vc-context-icon>i{animation:none}.vc-context-progress>i>em{transition:none}}

/* Headerless shell: filters stay with Discover; notifications live in Activity. */
.discover-filter-dock{display:flex;align-items:center;align-self:center;flex:0 0 auto;gap:7px;width:min(100%,620px);min-width:0;padding:4px;border:1px solid var(--surface-border);border-radius:15px;background:linear-gradient(145deg,var(--surface-2),var(--surface-1));box-shadow:inset 0 1px 0 var(--surface-highlight),0 10px 26px rgba(0,0,0,.09)}
.discover-filter-dock .filter-cap{min-width:0;min-height:36px;padding:6px 12px;border-color:transparent;background:transparent;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.discover-filter-dock .filter-cap:first-child{flex:1}.discover-filter-dock .filter-cog{width:36px;height:36px;border-radius:11px}.discover-filter-dock.is-active{border-color:rgba(255,141,116,.24);box-shadow:inset 0 1px 0 var(--surface-highlight),0 10px 26px rgba(255,105,91,.07)}
.activity-tab-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:8px}.activity-tab-row>.set-btn{min-width:0;margin:0}.activity-notifications{position:relative;display:grid!important;place-items:center;padding:0!important}.activity-notifications>svg{width:18px;height:18px}.activity-notifications>span{position:absolute;top:3px;right:3px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--panel);border-radius:999px;background:var(--coral);color:#fff;font-size:8px;font-weight:900;line-height:1}
html[data-theme="light"] .discover-filter-dock{background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,249,246,.56));box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(71,43,57,.07)}
@media(max-width:768px), (max-height:600px) and (pointer:coarse){body:not(.vc-chat-route) .main-body{padding-top:var(--safe-top)}.discover-filter-dock{gap:4px;min-height:50px;padding:3px;border-radius:13px}.discover-filter-dock .filter-cap{min-height:44px;padding-inline:9px;font-size:11px}.discover-filter-dock .filter-cog{flex:0 0 44px;width:44px;height:44px}.discover-filter-dock .filter-cap:nth-child(2){display:none}.activity-tab-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:6px}.activity-notifications{min-height:44px!important}}

/* GLASS visual system: generated transparent assets shared by navigation, swipe and chat. */
.vc-glass-icon,.vc-badge-glass-icon{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 5px 10px rgba(0,0,0,.28))}
.nav-item>.vc-glass-icon{flex:0 0 27px;width:27px;height:27px;margin-left:-3px;transition:transform .2s ease,filter .2s ease}.nav-item:hover>.vc-glass-icon,.nav-item.active>.vc-glass-icon{transform:translateY(-1px) scale(1.07);filter:drop-shadow(0 6px 13px rgba(194,132,255,.4))}
.bn-item>.vc-glass-icon{width:27px;height:27px;transition:transform .18s ease,filter .18s ease}.bn-item.active>.vc-glass-icon{transform:translateY(-2px) scale(1.08);filter:drop-shadow(0 5px 11px rgba(255,116,146,.5))}
.vc-brand-lockup{display:flex;align-items:center;justify-content:center;gap:10px}.vc-brand-lockup img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(255,97,139,.28))}

.vc-glass-action-dock{position:relative;isolation:isolate;display:grid!important;grid-template-columns:repeat(5,minmax(44px,1fr));gap:8px;width:min(100%,430px);min-height:76px;margin:0 auto;padding:8px 10px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:26px!important;background:radial-gradient(circle at 50% -30%,rgba(255,255,255,.14),transparent 55%),linear-gradient(145deg,rgba(41,31,54,.82),rgba(16,17,26,.88))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 18px 42px rgba(0,0,0,.26)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.vc-glass-action-dock .act{align-self:center;justify-self:center;width:54px!important;height:54px!important;min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.11)!important;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 18px rgba(0,0,0,.2)!important}
.vc-glass-action-dock .act-like{width:62px!important;height:62px!important;border-color:rgba(255,153,193,.22)!important;background:radial-gradient(circle at 32% 20%,rgba(255,255,255,.22),transparent 26%),linear-gradient(145deg,rgba(255,95,144,.25),rgba(126,83,224,.19))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 25px rgba(255,76,138,.19)!important}
.vc-glass-action-dock .act .vc-glass-icon{width:43px;height:43px}.vc-glass-action-dock .act-like .vc-glass-icon{width:51px;height:51px}.vc-glass-action-dock .act:hover{transform:translateY(-3px) scale(1.04)!important;filter:saturate(1.1)}
.photo-nav{top:50%;display:grid;place-items:center;width:48px;height:56px;padding:4px!important;border:0!important;border-radius:0!important;background:rgba(0,0,0,0)!important;background-color:rgba(0,0,0,0)!important;background-image:none!important;color:#fff;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;appearance:none!important;-webkit-appearance:none!important;text-shadow:none;transform:translateY(-50%)}.photo-nav:hover,.photo-nav:focus-visible{background:rgba(0,0,0,0)!important;background-color:rgba(0,0,0,0)!important;background-image:none!important}.photo-nav:focus-visible{outline:3px solid rgba(255,141,116,.72)!important;outline-offset:2px!important;border-radius:14px!important}.photo-nav .vc-photo-nav-icon{width:38px;height:38px;filter:drop-shadow(0 3px 7px rgba(0,0,0,.72))}.chat-match-next .vc-chat-next-icon{width:29px;height:29px}#install-btn{display:flex;align-items:center;justify-content:center;gap:7px}#install-btn .vc-install-inline-icon{flex:0 0 28px;width:28px;height:28px}#offline-banner>span{display:inline-flex;align-items:center;justify-content:center;gap:7px}#offline-banner .vc-offline-inline-icon{flex:0 0 23px;width:23px;height:23px}

.vc-icon-glass{display:grid!important;place-items:center}.chat-compact-view .chat-back .vc-glass-icon,.chat-compact-view #vc-chat-block .vc-glass-icon,.chat-down .vc-glass-icon{width:30px;height:30px}.chat-compact-view .chat-composer .vc-glass-icon{width:31px;height:31px}.chat-compact-view .chat-composer .c-send .vc-glass-icon{width:34px;height:34px}.chat-compact-view .chat-composer .c-add svg,.chat-compact-view .chat-composer .c-send svg{display:none}
.chat-quick-actions{position:relative;isolation:isolate;gap:6px!important;padding:6px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:radial-gradient(circle at 50% -25%,rgba(255,255,255,.1),transparent 58%),rgba(10,11,18,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.chat-quick-action{grid-template-columns:34px minmax(0,1fr)!important;gap:5px!important;min-height:48px!important;padding:5px 7px!important;border-radius:13px!important;overflow:hidden;transition:transform .18s ease,border-color .18s ease,filter .18s ease!important}.chat-quick-action>.vc-glass-icon{width:34px;height:34px}.chat-quick-action>strong{font-size:9px!important;line-height:1.15!important}.chat-quick-action.profile{background:linear-gradient(145deg,rgba(99,174,255,.11),rgba(255,255,255,.025))}.chat-quick-action.gift{background:linear-gradient(145deg,rgba(255,196,81,.13),rgba(255,119,185,.045))}.chat-quick-action.ideas{background:linear-gradient(145deg,rgba(172,112,255,.13),rgba(255,255,255,.025))}.chat-quick-action.paid,.chat-quick-action.wish{background:linear-gradient(145deg,rgba(77,221,211,.1),rgba(255,116,159,.045))}.chat-quick-action:hover{transform:translateY(-2px);filter:saturate(1.12) brightness(1.08)}
.vc-chat-action-menu>button>span{padding:3px}.vc-chat-action-menu>button>span .vc-glass-icon{width:32px;height:32px}.badge-icon{padding:2px;overflow:hidden}.badge-icon .vc-badge-glass-icon{width:38px;height:38px}.badge-ring .vc-badge-glass-icon{width:39px;height:39px}

@media(max-width:768px){.vc-glass-action-dock{width:min(100%,390px);gap:4px;min-height:70px;padding:6px!important;border-radius:22px!important}.vc-glass-action-dock .act{width:50px!important;height:50px!important}.vc-glass-action-dock .act-like{width:58px!important;height:58px!important}.vc-glass-action-dock .act .vc-glass-icon{width:40px;height:40px}.vc-glass-action-dock .act-like .vc-glass-icon{width:48px;height:48px}.chat-quick-action{grid-template-columns:1fr!important;justify-items:center;gap:1px!important;min-height:57px!important;padding:3px!important}.chat-quick-action>.vc-glass-icon{width:36px;height:36px}.chat-quick-action>strong{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important;display:block!important;text-align:center;font-size:8px!important;-webkit-line-clamp:1!important}.chat-compact-view #vc-chat-context{max-height:min(210px,33dvh)!important;overflow-y:auto!important;overflow-x:hidden!important}.chat-compact-pulse{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){.vc-glass-action-dock{gap:2px}.vc-glass-action-dock .act{width:47px!important;height:47px!important}.vc-glass-action-dock .act-like{width:54px!important;height:54px!important}.chat-quick-actions{gap:3px!important;padding:4px}.chat-quick-action>.vc-glass-icon{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.nav-item>.vc-glass-icon,.bn-item>.vc-glass-icon,.chat-quick-action,.vc-glass-action-dock .act{transition:none!important}}

/* Unified semantic GLASS icons: profile, modals, progress, filters and settings. */
.vc-semantic-icon{flex:0 0 auto}.vc-icon-glass>.vc-glass-icon,.tool-btn>.vc-glass-icon,.filter-cog>.vc-glass-icon{width:28px;height:28px}
.vc-modal-icon{padding:4px;overflow:hidden}.vc-modal-icon .vc-modal-glass-icon{width:44px;height:44px;filter:drop-shadow(0 9px 16px rgba(171,101,255,.3))}.vc-modal-icon>.vc-badge-glass-icon{flex:0 0 42px;width:42px!important;height:42px!important;max-width:42px;max-height:42px;object-fit:contain}.vc-modal-x{padding:8px}.vc-modal-x .vc-modal-close-icon{width:22px;height:22px}
.vc-progress-icon{padding:3px}.vc-progress-icon .vc-progress-glass-icon{width:31px;height:31px}.chat-insight-stack>.vc-progress-card:not(.is-active) .vc-progress-glass-icon{width:23px;height:23px}
.vc-context-icon>span{display:grid;place-items:center;width:51px;height:51px;font-size:0}.vc-context-icon>span .vc-context-glass-icon{width:47px;height:47px}.vc-context-icon>i{width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#fff 0 23%,#9df7ff 25% 42%,rgba(255,127,190,.85) 44% 55%,transparent 58%);box-shadow:0 0 10px rgba(157,247,255,.72)}.vc-context-cta.is-compact .vc-context-icon>span,.vc-context-cta.is-micro .vc-context-icon>span{width:100%;height:100%}.vc-context-cta.is-compact .vc-context-icon>span .vc-glass-icon{width:39px;height:39px}.vc-context-cta.is-micro .vc-context-icon>span .vc-glass-icon{width:34px;height:34px}.vc-context-action-icon{width:22px;height:22px}
.vc-search-glass-icon,.vc-chat-search-icon{flex:0 0 21px;width:21px!important;height:21px!important}.r-search>.vc-search-glass-icon{margin-left:11px}.chat-list-tools label>.vc-chat-search-icon{margin-left:10px}.discover-filter-dock .filter-cap:first-child{display:flex;align-items:center;gap:6px}.vc-filter-location-icon{width:20px!important;height:20px!important}.vc-info-glass-icon{flex:0 0 18px;width:18px!important;height:18px!important}.info-chip .vc-info-glass-icon{width:16px!important;height:16px!important}
.vc-profile-symbol{display:inline-flex!important;align-items:center;gap:6px;min-width:0}.vc-profile-symbol-icon{display:block;flex:0 0 23px;width:23px;height:23px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 8px rgba(76,35,118,.35))}.info-chip .vc-profile-symbol-icon{flex-basis:20px;width:20px;height:20px}.pp-chips .vc-profile-symbol{padding:6px 10px 6px 7px}.pp-chips .vc-profile-symbol-icon{flex-basis:24px;width:24px;height:24px}.zodiac-badge.vc-profile-symbol,.daily-status.vc-profile-symbol{width:fit-content}.zodiac-badge .vc-profile-symbol-icon,.daily-status .vc-profile-symbol-icon{flex-basis:32px;width:32px;height:32px}.daily-status.vc-profile-symbol{font-style:normal}
.vc-rank-emblem{display:grid;place-items:center;flex:0 0 auto;width:100%;height:100%}.vc-rank-emblem img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(63,22,99,.38));pointer-events:none}.medal{display:grid;place-items:center;width:48px;height:48px;font-size:0}.medal .vc-podium-rank-icon{width:48px;height:48px}.rk{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px}.rk .vc-list-rank-icon{width:38px;height:38px}@media(max-width:480px){.medal,.medal .vc-podium-rank-icon{width:43px;height:43px}.rk{flex-basis:34px;width:34px;height:34px}.rk .vc-list-rank-icon{width:34px;height:34px}}
.vp-edit .vc-profile-edit-icon{width:27px;height:27px}.vc-photo-main,.vc-photo-del{position:absolute;top:5px;padding:4px!important;border-radius:10px!important;background:rgba(10,7,17,.76)!important;color:#fff!important}.vc-photo-main{left:5px}.vc-photo-del{right:5px;background:rgba(68,6,25,.78)!important}.vc-photo-action-icon{width:28px!important;height:28px!important}.own-profile-photo-empty span{width:42px;height:42px;background:transparent}.own-profile-photo-empty .vc-profile-empty-icon{width:40px;height:40px}.vc-profile-add-photo{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;border:1px solid rgba(255,141,116,.2);border-radius:11px;background:linear-gradient(145deg,rgba(255,141,116,.15),rgba(168,110,255,.08));color:#ffab96;cursor:pointer}.vc-profile-add-icon{width:24px!important;height:24px!important}.profile-missing{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center!important;gap:2px 7px!important;text-align:left!important}.profile-missing small{grid-column:1/-1}.profile-complete-ok{display:flex;align-items:center;gap:7px}.vc-profile-status-icon{width:25px!important;height:25px!important}
.own-profile-gallery #vc-photo-add{min-height:44px}
.own-profile-card .vc-context-cta.is-micro .vc-context-actions button{min-height:44px}
.own-profile-action{display:flex!important;align-items:center;justify-content:center;gap:7px!important;border:1px solid rgba(255,255,255,.09)!important;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018))!important;color:var(--text2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07);cursor:pointer;transition:transform .18s,border-color .18s,background .18s}.own-profile-action:hover{transform:translateY(-2px);border-color:rgba(255,141,116,.3)!important;background:linear-gradient(145deg,rgba(255,141,116,.12),rgba(168,110,255,.055))!important;color:#fff!important}.own-profile-action .vc-profile-action-icon{flex:0 0 32px;width:32px;height:32px}.own-profile-view #vc-prof-hub{background:linear-gradient(145deg,rgba(168,110,255,.12),rgba(69,141,255,.045))!important;color:#d8c8ff!important}.own-profile-view #vc-prof-likes{background:linear-gradient(145deg,rgba(255,112,145,.1),rgba(255,172,122,.04))!important;color:#ffadac!important}.own-profile-view #vc-prof-settings{width:100%;min-height:48px;padding:9px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018));color:var(--text2);font-size:12px;font-weight:700;cursor:pointer}
.vc-labelled-glass-button{display:inline-flex!important;align-items:center!important;justify-content:center;gap:8px!important}.vc-labelled-glass-button>.vc-glass-icon{flex:0 0 27px;width:27px;height:27px}.vc-settings-heading-icon{display:flex;align-items:center;gap:7px}.vc-settings-heading-icon>.vc-glass-icon{width:25px;height:25px}.vc-theme-switch button>span{display:grid!important;place-items:center;width:40px!important;height:40px!important;font-size:0!important}.vc-theme-switch button>span>.vc-glass-icon{width:38px;height:38px}.activity-tab-row>.vc-labelled-glass-button>.vc-glass-icon{width:26px;height:26px}.activity-notifications>.vc-glass-icon{width:28px;height:28px}.chat-match-all-avatar>.vc-glass-icon{width:46px;height:46px}.chat-match-photo-count{display:inline-flex!important;align-items:center;gap:2px}.chat-match-photo-count .vc-chat-photo-count-icon{width:13px!important;height:13px!important}.pp-hero-info p{display:flex;align-items:center;gap:5px}.pp-hero-info .vc-profile-location-icon{width:21px;height:21px}.pp-hero-info .vc-profile-premium-icon{display:inline-block;width:26px;height:26px;vertical-align:middle}
@media(max-width:640px){.vc-modal-icon .vc-modal-glass-icon{width:40px;height:40px}.vc-progress-icon .vc-progress-glass-icon{width:27px;height:27px}.vc-context-icon>span .vc-context-glass-icon{width:42px;height:42px}.own-profile-action .vc-profile-action-icon{width:29px;height:29px}.vc-theme-switch button>span{width:36px!important;height:36px!important}.vc-theme-switch button>span>.vc-glass-icon{width:34px;height:34px}}
.daily-inline .ico{display:grid;place-items:center}.daily-inline .ico>.vc-glass-icon{width:31px;height:31px}.stat-ico>.vc-glass-icon{width:36px;height:36px}.filter-bar .filter-cap:first-child{display:flex;align-items:center;gap:6px}.filter-bar .filter-cap .vc-filter-location-icon{width:19px!important;height:19px!important}
.pp-thumb>span,.pp-gallery-lock{display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important}.pp-thumb>span>.vc-glass-icon{width:17px;height:17px}.pp-gallery-lock>.vc-glass-icon{width:25px;height:25px}.pp-actions .vc-glass-icon,.pp-safety .vc-glass-icon,.pp-sub button>.vc-glass-icon{width:28px;height:28px}.pp-gift>span>.vc-glass-icon{width:36px;height:36px}.pp-gift-empty-icon span>.vc-glass-icon{width:48px;height:48px}.pp-gift-empty-icon>i{width:9px;height:9px;border-radius:50%;background:#c6fbff;box-shadow:0 0 12px #74e9ff}.pp-gift-empty button>.vc-glass-icon{width:30px;height:30px}
.vc-notification-summary .vc-progress-card>span{display:grid;place-items:center}.vc-notification-summary .vc-progress-card>span>.vc-glass-icon{width:31px;height:31px}.vc-notification-item>span{display:grid;place-items:center}.vc-notification-item>span>.vc-notification-glass-icon{width:38px;height:38px}.vc-notification-item>[data-notice-profile]{width:38px;height:38px;padding:5px;border-radius:12px}.vc-notification-item>[data-notice-profile]>.vc-glass-icon{width:27px;height:27px}
.vc-hub-event-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.06)}.vc-hub-event-row>span{display:grid;place-items:center}.vc-hub-event-icon{width:36px!important;height:36px!important}.vc-hub-event-row>div>div:not(.sr-sub){font-size:12px;color:var(--text2)}.vc-game-glass-icon{width:42px!important;height:42px!important}.vc-step-check-icon{width:22px!important;height:22px!important}.vc-stepper i>.vc-glass-icon,.vc-quest-state-icon>.vc-glass-icon{width:22px;height:22px}.vc-quest-state-icon{display:inline-grid;place-items:center}
.store-method-head>span{display:grid!important;place-items:center!important}.store-method-head>span>.vc-glass-icon{width:43px;height:43px}.pack-ico>.vc-store-pack-icon{width:39px;height:39px}.store-live-promo-icon>.vc-glass-icon{width:50px;height:50px}.boost-card .bc-ico>.vc-glass-icon{width:50px;height:50px}.vc-store-check-icon{display:inline-block;width:22px!important;height:22px!important}.trial-btn>.vc-glass-icon{width:30px;height:30px}
.vc-gift-picker-head>strong{display:flex;align-items:center;gap:8px}.vc-gift-picker-head>strong>.vc-glass-icon{width:34px;height:34px}.vc-gift-picker-head>[data-close]>.vc-glass-icon{width:24px;height:24px}.vc-gift-filter>.vc-glass-icon{width:24px;height:24px}.vc-gift-fallback-icon{width:58px!important;height:58px!important}.chat-gift-fallback>.vc-glass-icon{width:50px;height:50px}
.guest-photo-picker #vc-gate-preview>.vc-gate-photo-icon{width:66px;height:66px}.onb-smart{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;column-gap:8px}.onb-smart>.vc-glass-icon{grid-row:1/3;width:34px;height:34px}.onb-smart>strong{min-width:0}.look-btn>.vc-glass-icon{width:25px;height:25px}
@media(max-height:620px) and (max-width:480px){.auth-wrap{padding:10px 12px}.onboarding{gap:3px}.onb-logo{margin-bottom:3px}.onb-title{font-size:23px}.onb-sub{margin-bottom:7px}.onb-card{padding:14px;gap:9px;border-radius:18px}.gender-btn{gap:5px;padding:9px 8px}.gender-btn .vc-guest-gender-icon{width:48px;height:48px}.onb-looking{grid-template-columns:repeat(3,minmax(0,1fr))}.look-btn{min-height:44px}.onb-card .onb-step[style]{margin-top:1px!important}.onb-cta{margin-top:3px;padding:12px}.onb-auth{margin-top:6px}}
@media(max-width:640px){.vc-notification-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.vc-hub-event-row{grid-template-columns:34px minmax(0,1fr)}.vc-hub-event-row>.set-btn{grid-column:2}.store-method-head>span>.vc-glass-icon{width:38px;height:38px}.pp-actions .vc-glass-icon{width:25px;height:25px}}

/* Hosted crypto checkout: one clear choice, then one secure payment step. */
.crypto-checkout-card{border-color:rgba(116,226,194,.28)!important;background:radial-gradient(circle at 95% 0,rgba(84,218,188,.12),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014))}.crypto-network-title{margin:2px 0 -4px;color:var(--text2);font-size:11px;font-weight:800}.crypto-network-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.crypto-network{display:grid;gap:3px;min-width:0;padding:10px 8px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.025);color:var(--text);text-align:left;cursor:pointer;transition:.18s ease}.crypto-network strong{font-size:11px;white-space:nowrap}.crypto-network small{color:var(--text3);font-size:9px}.crypto-network:hover,.crypto-network.is-selected{border-color:rgba(91,222,190,.72);background:rgba(91,222,190,.12);box-shadow:0 8px 22px rgba(48,205,168,.12)}.store-anchor small{display:block;color:var(--text3);font-size:10px;font-weight:700}.vc-crypto-hosted-modal{z-index:10000;background:rgba(7,9,16,.78);backdrop-filter:blur(16px)}.vc-crypto-hosted-card{width:min(440px,100%);padding:22px;border:1px solid rgba(116,226,194,.28);border-radius:24px;background:linear-gradient(155deg,rgba(29,39,48,.98),rgba(20,24,34,.98));box-shadow:0 26px 80px rgba(0,0,0,.42)}.vc-crypto-hosted-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.vc-crypto-hosted-head strong{display:block;margin-top:5px;font-size:20px}.vc-crypto-hosted-head .eyebrow{color:#73e0c0;font-size:9px;font-weight:900;letter-spacing:.14em}.crypto-hosted-network{display:flex;justify-content:space-between;align-items:center;margin:14px 0;padding:11px 13px;border-radius:13px;background:rgba(102,222,192,.1);color:var(--text2);font-size:12px}.crypto-hosted-network strong{color:#7be5c6}.vc-crypto-hosted-card p{color:var(--text2);font-size:12px;line-height:1.55}.vc-primary-cta{width:100%;min-height:48px;border:0;border-radius:14px;background:linear-gradient(135deg,#5bd9b4,#55a8ff);color:#071218;font-weight:900;cursor:pointer;box-shadow:0 12px 26px rgba(77,211,181,.2)}.vc-crypto-trust{display:block;margin-top:10px;color:var(--text3);font-size:10px;text-align:center}.vc-message-toast{position:fixed;right:20px;bottom:calc(22px + var(--safe-bottom));z-index:9998;display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:10px;align-items:center;width:min(360px,calc(100vw - 32px));padding:12px 12px 12px 10px;border:1px solid rgba(113,221,194,.3);border-radius:18px;background:linear-gradient(145deg,rgba(31,42,49,.97),rgba(20,25,36,.97));color:var(--text);text-align:left;box-shadow:0 18px 42px rgba(0,0,0,.34);cursor:pointer;animation:vcMessageToastIn .3s ease both}.vc-message-toast-avatar{width:40px;height:40px;border-radius:13px;background:center/cover no-repeat,linear-gradient(135deg,#76d9bf,#7e6cf1);display:grid;place-items:center;color:#fff;font-weight:900}.vc-message-toast-copy{min-width:0}.vc-message-toast-copy strong,.vc-message-toast-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-message-toast-copy strong{font-size:12px}.vc-message-toast-copy span{margin-top:3px;color:var(--text2);font-size:11px}.vc-message-toast-close{border:0;background:transparent;color:var(--text3);font-size:18px;cursor:pointer}.vc-message-toast.is-leaving{animation:vcMessageToastOut .22s ease both}@keyframes vcMessageToastIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes vcMessageToastOut{to{opacity:0;transform:translateY(10px) scale(.97)}}
.premium-value-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(260px,1.1fr);gap:14px;align-items:center;margin:0 0 12px;padding:15px;border:1px solid rgba(255,194,110,.22);border-radius:18px;background:radial-gradient(circle at 5% 0,rgba(255,181,91,.13),transparent 42%),rgba(255,255,255,.025)}.premium-value-card span,.premium-value-card strong{display:block}.premium-value-card span{color:#f5c47c;font-size:8px;font-weight:900;letter-spacing:.1em}.premium-value-card strong{margin-top:5px;font-size:15px}.premium-value-card ul{display:grid;gap:5px;margin:0;padding:0;list-style:none;color:var(--text2);font-size:10px}.premium-value-card>small{grid-column:1/-1;color:var(--text3);font-size:9px}
@media(max-width:640px){.crypto-network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vc-message-toast{right:12px;bottom:calc(82px + var(--safe-bottom));width:calc(100vw - 24px)}}
.top-audience-control>span{display:grid;place-items:center}.top-audience-control>span>.vc-glass-icon{width:25px;height:25px}.rating-progress-line b>.vc-rating-inline-icon{display:inline-block;width:22px;height:22px;vertical-align:middle}.rating-week-chip,.rating-buff-chip{display:inline-flex!important;align-items:center;gap:4px}.rating-week-chip>.vc-rating-inline-icon,.rating-buff-chip>.vc-rating-inline-icon{width:20px;height:20px}.rating-action-select>span{display:grid!important;place-items:center!important}.rating-action-select>span>.vc-glass-icon,.rating-compact-actions [data-rating-buy]>span>.vc-glass-icon{width:31px;height:31px}
.vc-chat-status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;color:#fff;font-size:10px;line-height:1.2}.vc-chat-status-icon{width:22px!important;height:22px!important}.vc-chat-status-pill>span{white-space:nowrap}
.vc-overlay-close,.lightbox button[data-close]{display:grid;place-items:center;width:38px;height:38px;padding:7px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px!important;background-color:rgba(255,255,255,.055)!important;background-image:url('/app/assets/glass/icon-close.png')!important;background-position:center!important;background-repeat:no-repeat!important;background-size:24px 24px!important;color:transparent!important;font-size:0!important;cursor:pointer}.vc-overlay-close>.vc-glass-icon,.lightbox button[data-close]>.vc-glass-icon{width:24px;height:24px}.vc-flip-horizontal{transform:scaleX(-1)}.pp-lb-close>.vc-glass-icon,.pp-lb-prev>.vc-glass-icon,.pp-lb-next>.vc-glass-icon{width:31px;height:31px}

/* Chat stickers: compact attachment menu, dual character packs and bubbleless messages. */
.chat-compact-view .chat-attach-menu{position:absolute;z-index:18;left:calc(10px + var(--safe-left));bottom:calc(var(--chat-composer-height,62px) + 8px);display:grid;gap:6px;width:min(270px,calc(100% - 20px - var(--safe-left) - var(--safe-right)));padding:8px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:linear-gradient(145deg,rgba(35,29,43,.98),rgba(17,15,23,.98));box-shadow:0 18px 48px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.06)}
.chat-compact-view .chat-attach-menu[hidden]{display:none!important}.chat-attach-menu>button{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:6px 10px 6px 7px;border:1px solid transparent;border-radius:14px;color:var(--text);text-align:left;transition:transform .16s,border-color .16s,background .16s}.chat-attach-menu>button:hover,.chat-attach-menu>button:focus-visible{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06);transform:translateY(-1px);outline:none}.chat-attach-menu>button>.vc-glass-icon{width:46px;height:46px}.chat-attach-menu>button>span,.chat-attach-menu strong,.chat-attach-menu small{display:block;min-width:0}.chat-attach-menu strong{font-size:13px}.chat-attach-menu small{margin-top:1px;color:var(--text3);font-size:10px;line-height:1.3}.chat-compact-view .chat-composer .c-add.is-open{border-color:rgba(167,125,255,.34);background:rgba(167,125,255,.12)}
.vc-sticker-layer{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:20px;background:rgba(6,5,10,.72);animation:vcStickerFade .16s ease-out}.vc-sticker-picker{width:min(560px,100%);max-height:min(78dvh,680px);padding:14px;overflow:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:radial-gradient(circle at 12% 0,rgba(255,113,170,.13),transparent 34%),radial-gradient(circle at 88% 4%,rgba(100,203,255,.12),transparent 34%),linear-gradient(150deg,#241d2c,#121018 74%);box-shadow:0 30px 90px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.08);animation:vcStickerRise .2s cubic-bezier(.2,.8,.2,1)}
.vc-sticker-head,.vc-sticker-head>div,.vc-sticker-tabs>button{display:flex;align-items:center}.vc-sticker-head{justify-content:space-between;gap:14px}.vc-sticker-head>div{gap:9px;min-width:0}.vc-sticker-head>div>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px}.vc-sticker-head>div>span>.vc-glass-icon{width:42px;height:42px}.vc-sticker-head strong,.vc-sticker-head small{display:block}.vc-sticker-head strong{font-size:16px}.vc-sticker-head small{margin-top:1px;color:var(--text3);font-size:10px}.vc-sticker-head>[data-sticker-close]{flex:0 0 40px;width:40px;height:40px;padding:7px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.055)}.vc-sticker-head>[data-sticker-close]>.vc-glass-icon{width:26px;height:26px}
.vc-sticker-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:7px;margin:11px 0 10px;padding:4px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.035)}.vc-sticker-tabs>button{justify-content:center;gap:6px;min-width:0;min-height:44px;padding:5px 8px;border:1px solid transparent;border-radius:12px;color:var(--text3);font-size:12px;font-weight:800;transition:background .16s,border-color .16s,color .16s}.vc-sticker-tabs>button>.vc-glass-icon,.vc-sticker-pack-preview{display:block;flex:0 0 31px;width:31px;height:31px;object-fit:contain}.vc-sticker-tabs>button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-sticker-tabs>button.is-active{border-color:rgba(255,255,255,.11);background:linear-gradient(135deg,rgba(255,109,162,.14),rgba(111,160,255,.12));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.vc-sticker-tabs>button.is-flirt.is-active{border-color:rgba(255,145,189,.24);background:linear-gradient(135deg,rgba(255,86,148,.2),rgba(170,94,255,.16));box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 7px 22px rgba(224,64,136,.1)}
.vc-sticker-tabs>button.is-premium{position:relative;border-color:rgba(247,193,92,.22);color:#f6d58d}.vc-sticker-tabs>button.is-premium.is-active{border-color:rgba(255,205,103,.42);background:linear-gradient(135deg,rgba(255,194,82,.2),rgba(171,96,255,.2));color:#fff3c4;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px rgba(245,181,64,.12)}.vc-sticker-tab-lock{position:absolute;top:3px;right:5px;color:#ffd36d;font-size:10px;line-height:1}.vc-sticker-premium-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 12px;border:1px solid rgba(247,193,92,.25);border-radius:15px;background:linear-gradient(135deg,rgba(255,194,82,.13),rgba(171,96,255,.13));color:#fff3c4}.vc-sticker-premium-banner>div{min-width:0}.vc-sticker-premium-banner strong,.vc-sticker-premium-banner small{display:block}.vc-sticker-premium-banner strong{font-size:12px}.vc-sticker-premium-banner small{margin-top:2px;color:rgba(255,243,196,.72);font-size:10px;line-height:1.3}.vc-sticker-premium-banner button{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(255,220,137,.34);border-radius:11px;background:linear-gradient(135deg,#f5bd58,#a866f2);color:#24172e;font:inherit;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 7px 18px rgba(237,173,67,.18)}.vc-sticker-premium-banner button:hover,.vc-sticker-premium-banner button:focus-visible{filter:brightness(1.08);outline:2px solid rgba(255,222,143,.45);outline-offset:2px}.vc-sticker-price-note{color:var(--text3);font-size:11px}.vc-sticker-option.is-locked{cursor:not-allowed;filter:saturate(.55);opacity:.62}.vc-sticker-option.is-locked:after{content:'♛';position:absolute;right:7px;top:5px;color:#ffd36d;font-size:14px;text-shadow:0 2px 8px rgba(0,0,0,.6)}.vc-sticker-option.is-locked:hover{transform:none;border-color:rgba(247,193,92,.16);background:linear-gradient(145deg,rgba(255,194,82,.08),rgba(171,96,255,.06))}
.vc-sticker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.vc-sticker-option{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:3px;border:1px solid rgba(255,255,255,.055);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));overflow:hidden;transition:transform .16s,border-color .16s,background .16s}.vc-sticker-option:hover,.vc-sticker-option:focus-visible{z-index:1;transform:translateY(-2px) scale(1.025);border-color:rgba(255,141,188,.3);background:linear-gradient(145deg,rgba(255,133,182,.11),rgba(111,181,255,.07));outline:none}.vc-sticker-option:active{transform:scale(.96)}.vc-sticker-option img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.24));pointer-events:none}
.chat-compact-view .msg-wrap.is-sticker{width:auto;max-width:230px!important}.chat-compact-view .bub.chat-sticker-bubble{padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important}.chat-sticker{display:block;width:clamp(148px,34vw,210px);height:auto;max-height:230px;object-fit:contain;filter:drop-shadow(0 11px 14px rgba(0,0,0,.24));user-select:none;-webkit-user-select:none}.msg-wrap.is-sticker .bub-footer{padding-inline:6px}.msg-wrap.is-sticker.is-failed .bub-footer{flex-wrap:wrap}
.chat-sticker-draft{position:absolute;z-index:17;left:58px;bottom:calc(100% + 7px);display:flex;align-items:center;gap:4px;max-width:min(230px,calc(100% - 116px));padding:4px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:linear-gradient(145deg,rgba(35,29,43,.98),rgba(17,15,23,.98));box-shadow:0 12px 34px rgba(0,0,0,.34)}.chat-sticker-draft>button{display:flex;align-items:center;min-width:0;border:0;color:var(--text)}.chat-sticker-draft>[data-sticker-draft-send]{flex:1;gap:7px;padding:0 7px 0 0;text-align:left}.chat-sticker-draft>[data-sticker-draft-send]>img{display:block;flex:0 0 38px;width:38px;height:38px;object-fit:contain}.chat-sticker-draft>[data-sticker-draft-send]>span,.chat-sticker-draft>[data-sticker-draft-send] strong,.chat-sticker-draft>[data-sticker-draft-send] small{display:block;min-width:0}.chat-sticker-draft>[data-sticker-draft-send] strong{font-size:11px}.chat-sticker-draft>[data-sticker-draft-send] small{color:var(--text3);font-size:9px}.chat-sticker-draft>[data-sticker-draft-clear]{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:5px;border-radius:11px;background:rgba(255,255,255,.045)}.chat-sticker-draft>[data-sticker-draft-clear]>.vc-glass-icon{width:24px;height:24px}.chat-sticker-draft>button:focus-visible{outline:2px solid rgba(255,141,188,.54);outline-offset:1px}
html[data-theme="light"] .chat-compact-view .chat-attach-menu{border-color:rgba(68,45,62,.13);background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,242,249,.98));box-shadow:0 18px 48px rgba(68,42,57,.18),inset 0 1px 0 #fff}html[data-theme="light"] .chat-attach-menu>button:hover,html[data-theme="light"] .chat-attach-menu>button:focus-visible{border-color:rgba(68,45,62,.1);background:rgba(82,49,70,.055)}html[data-theme="light"] .vc-sticker-layer{background:rgba(40,28,39,.42)}html[data-theme="light"] .vc-sticker-picker{border-color:rgba(69,46,64,.12);background:radial-gradient(circle at 12% 0,rgba(255,113,170,.1),transparent 34%),radial-gradient(circle at 88% 4%,rgba(80,164,244,.1),transparent 34%),linear-gradient(150deg,#fff,#f6f1f7 74%);box-shadow:0 30px 90px rgba(63,38,56,.24),inset 0 1px 0 #fff}html[data-theme="light"] .vc-sticker-tabs{border-color:rgba(68,45,62,.09);background:rgba(70,44,61,.035)}html[data-theme="light"] .vc-sticker-tabs>button.is-active{border-color:rgba(68,45,62,.1);background:linear-gradient(135deg,rgba(255,109,162,.12),rgba(92,145,236,.1));color:var(--text)}html[data-theme="light"] .vc-sticker-option{border-color:rgba(68,45,62,.07);background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(77,49,69,.025))}html[data-theme="light"] .vc-sticker-premium-banner{border-color:rgba(173,117,26,.22);background:linear-gradient(135deg,rgba(255,206,108,.18),rgba(157,104,230,.12));color:#5b3a0a}html[data-theme="light"] .vc-sticker-premium-banner small{color:rgba(91,58,10,.72)}html[data-theme="light"] .vc-sticker-option.is-locked{opacity:.58}
html[data-theme="light"] .chat-sticker-draft{border-color:rgba(68,45,62,.13);background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,242,249,.98));box-shadow:0 12px 34px rgba(68,42,57,.16)}html[data-theme="light"] .chat-sticker-draft>[data-sticker-draft-clear]{background:rgba(70,44,61,.045)}
@media(max-width:600px){.vc-sticker-layer{place-items:end center;padding:0}.vc-sticker-picker{width:100%;max-height:min(82dvh,650px);padding:12px calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));border-width:1px 0 0;border-radius:24px 24px 0 0}.vc-sticker-tabs{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.vc-sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vc-sticker-option{max-height:112px;border-radius:15px}.vc-sticker-head small{font-size:9px}.chat-sticker{width:clamp(148px,46vw,190px)}}
@media(max-height:620px) and (max-width:600px){.vc-sticker-picker{max-height:94dvh}.vc-sticker-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.vc-sticker-option{max-height:86px}.vc-sticker-head small{display:none}.vc-sticker-tabs{margin-block:7px}}
@media(prefers-reduced-motion:reduce){.vc-sticker-layer,.vc-sticker-picker{animation:none}.vc-sticker-option,.chat-attach-menu>button{transition:none}}
@keyframes vcStickerFade{from{opacity:0}to{opacity:1}}@keyframes vcStickerRise{from{opacity:.7;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
