/* XNight v29 — Moments 2.0, share card, user hover cards */

/* Viewed Moment ring: active Moments remain visible, but viewed stories become quiet. */
.profile-avatar-wrap.v13-has-moment.v29-moment-seen::before,
.sidebar-user-avatar.v13-has-moment.v29-moment-seen::before,
.mobile-drawer .sidebar-user-avatar.v13-has-moment.v29-moment-seen::before{
  background:conic-gradient(from 0deg,rgba(148,163,184,.72),rgba(255,255,255,.36),rgba(148,163,184,.72));
  animation:none;opacity:.78;
}

/* Moment viewer */
.v29-story-card{overflow:hidden!important;padding-bottom:0!important}
.v29-story-progress{position:absolute;top:8px;left:10px;right:10px;z-index:9;display:flex;gap:4px;height:3px;pointer-events:none}
.v29-story-progress>span{flex:1;height:3px;border-radius:999px;background:rgba(255,255,255,.3);overflow:hidden}
.v29-story-progress>span i{display:block;width:0;height:100%;background:#fff;border-radius:inherit}
.v29-story-progress>span.done i{width:100%}
.v29-story-progress>span.active i{animation:v29StoryProgress var(--v29-duration,6.5s) linear forwards}
@keyframes v29StoryProgress{from{width:0}to{width:100%}}
.v29-story-card .v13-story-top{top:10px;padding-top:14px}
.v29-story-reply{position:absolute;left:12px;right:12px;bottom:12px;z-index:12;display:flex;align-items:center;gap:8px;padding:7px 8px 7px 13px;border:1px solid rgba(255,255,255,.16);background:rgba(12,13,16,.68);backdrop-filter:blur(14px);border-radius:999px}
.v29-story-reply input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:600 13px/1.2 inherit}
.v29-story-reply input::placeholder{color:rgba(255,255,255,.55)}
.v29-story-reply button{width:34px;height:34px;flex:0 0 34px;border:0;border-radius:50%;background:#fff;color:#08090b;display:grid;place-items:center;cursor:pointer}
.v29-story-reply svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v29-story-owner-actions{position:absolute;left:12px;right:12px;bottom:12px;z-index:12;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.v29-story-owner-actions button{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.16);background:rgba(12,13,16,.65);backdrop-filter:blur(12px);color:#fff;border-radius:999px;padding:8px 11px;font:800 11px inherit;cursor:pointer}
.v29-story-owner-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.v29-story-owner-actions .v29-delete-moment{color:#fca5a5}
.v29-viewers-card{max-width:390px!important}
.v29-viewers-list{display:grid;gap:4px}
.v29-viewer-row{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:10px;text-align:left;padding:8px;border-radius:12px;cursor:pointer}
.v29-viewer-row:hover{background:rgba(255,255,255,.055)}
.v29-viewer-row>span{display:grid;min-width:0}.v29-viewer-row b{font-size:13px}.v29-viewer-row small{font-size:11px;color:#7d828c;margin-top:2px}.v29-empty{padding:26px 12px;text-align:center;color:#777;font-size:13px}

/* Round share icon next to the QR icon on the banner. */
.v16-banner-identity .v29-share-pill{
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;background:rgba(18,19,23,.72)!important;border:1px solid rgba(255,255,255,.1)!important;color:#f4f4f5!important;backdrop-filter:blur(12px);box-shadow:0 5px 18px rgba(0,0,0,.16)
}
.v16-banner-identity .v29-share-pill svg{width:17px!important;height:17px!important;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover) and (pointer:fine){.v16-banner-identity .v29-share-pill:hover{background:rgba(31,32,38,.88)!important;transform:translateY(-1px)}}

/* Share card modal. */
.v29-share-shell{max-width:455px!important;background:rgba(12,13,16,.86)!important;backdrop-filter:blur(20px)!important}
.v29-share-card{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.11);background:#0c0d10;box-shadow:0 20px 55px rgba(0,0,0,.35)}
.v29-share-banner{height:118px;background:linear-gradient(135deg,var(--v29-a),var(--v29-b));filter:saturate(.8)}
.v29-share-content{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:end;gap:14px;padding:0 18px 20px;margin-top:-33px}
.v29-share-user{display:flex;align-items:flex-end;gap:12px;min-width:0}.v29-share-user>div:last-child{min-width:0}.v29-share-avatar{border-radius:50%;padding:3px;background:#0c0d10;flex:0 0 auto;overflow:visible}.v30-share-avatar-clean{width:var(--v30-size);height:var(--v30-size);display:grid;place-items:center;border-radius:50%;padding:3px;background:linear-gradient(135deg,var(--v30-a),var(--v30-b));box-shadow:0 0 0 3px rgba(12,13,16,.92),0 8px 20px rgba(0,0,0,.3);overflow:hidden}.v30-share-avatar-clean>img,.v30-share-avatar-clean>video{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;background:#0c0d10}.v30-share-avatar-clean>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:#111318;color:#fff;font:800 25px/1 'Outfit',sans-serif}.v29-share-user h2{font:800 20px/1.05 'Outfit',sans-serif;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v29-share-user p{font-size:12px;color:#858b96;margin:0}.v29-share-user span{display:inline-block;margin-top:7px;font-size:10px;font-weight:800;color:#cbd5e1;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);padding:5px 7px;border-radius:8px}
.v29-share-qr{width:108px;min-width:108px;box-sizing:border-box;background:#fff;padding:8px;border-radius:14px;color:#0b0c0f;text-align:center;overflow:hidden;align-self:end}.v29-share-qr img{display:block;width:92px;height:92px;max-width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:7px;margin:0 auto}.v29-share-qr small{display:block;width:100%;box-sizing:border-box;font-size:6.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;padding:0 2px}
.v29-share-brand{position:absolute;top:14px;left:16px;color:#fff;font:900 11px/1 'Outfit',sans-serif;letter-spacing:.18em;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.v29-share-actions{display:flex;gap:8px;margin-top:12px}.v29-share-actions button{flex:1;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#fff;border-radius:12px;min-height:42px;padding:10px 12px;font:800 12px inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.v29-share-actions button:first-child{background:#fff;color:#0a0b0e;border-color:#fff}.v29-share-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Desktop hover user card. */
.v29-user-hover{position:fixed;z-index:2147482500;width:300px;padding:14px;background:rgba(14,15,18,.92);border:1px solid rgba(255,255,255,.1);border-radius:17px;box-shadow:0 18px 55px rgba(0,0,0,.52);backdrop-filter:blur(18px);color:#f3f4f6}
.v29-hover-head{display:flex;align-items:center;gap:11px}.v29-hover-id{min-width:0;display:grid}.v29-hover-id b{font:800 16px/1.15 'Outfit',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v29-hover-id>span{font-size:11px;color:#7d828c;margin-top:2px}.v29-hover-id small{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#b8bdc6;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v29-hover-id small i{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.v29-hover-meta{display:flex;gap:6px;margin-top:11px}.v29-hover-meta span{font-size:10px;font-weight:800;color:#cbd5e1;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:6px 8px}.v29-hover-bio{font-size:11.5px;line-height:1.45;color:#c5c9d0;margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v29-hover-actions{display:flex;gap:7px;margin-top:12px}.v29-hover-actions button{flex:1;min-height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:#fff;font:800 11px inherit;cursor:pointer}.v29-hover-actions button.primary{background:#fff;color:#090a0c;border-color:#fff}

body.light-theme .v29-user-hover {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  color: #0f1419 !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.14) !important;
}
body.light-theme .v29-hover-id b { color: #0f1419 !important; }
body.light-theme .v29-hover-id>span { color: #536471 !important; }
body.light-theme .v29-hover-id small { color: #536471 !important; }
body.light-theme .v29-hover-meta span { color: #0f1419 !important; background: rgba(0,0,0,.04) !important; border-color: rgba(0,0,0,.08) !important; }
body.light-theme .v29-hover-bio { color: #334155 !important; }
body.light-theme .v29-hover-actions button { border: 1px solid rgba(0,0,0,.15) !important; background: #f1f5f9 !important; color: #0f1419 !important; }
body.light-theme .v29-hover-actions button.primary { background: #0f1419 !important; color: #ffffff !important; border-color: #0f1419 !important; }

@media(max-width:680px){
  .v16-banner-identity .v29-share-pill{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
  .v16-banner-identity .v29-share-pill svg{width:15px!important;height:15px!important}
  .v29-share-content{grid-template-columns:minmax(0,1fr) 92px;padding:0 13px 16px;gap:9px}.v29-share-user h2{font-size:17px}.v29-share-qr{width:92px;min-width:92px;padding:7px}.v29-share-qr img{width:78px;height:78px}.v30-share-avatar-clean{--v30-size:62px!important}
  .v29-story-reply{left:8px;right:8px;bottom:8px}
}
@media(prefers-reduced-motion:reduce){.v29-story-progress>span.active i{animation:none;width:55%}}

/* v31 share-card hardening: never render profile avatar decoration layers in exported/share card. */
.v29-share-card .v9-avatar-decoration,
.v29-share-card .v9-deco-stars,
.v29-share-card .v9-animated-ring,
.v29-share-card .v9-avatar-shell::before,
.v29-share-card .v9-avatar-shell::after{display:none!important;content:none!important;animation:none!important;filter:none!important;}
.v29-share-card .v9-avatar-shell{overflow:hidden!important;isolation:auto!important;}
.v29-share-avatar{overflow:hidden!important;contain:paint;}

/* v31 QR safe area */
.v29-share-content{grid-template-columns:minmax(0,1fr) 118px!important;gap:16px!important;}
.v29-share-qr{width:118px!important;min-width:118px!important;padding:9px!important;overflow:visible!important;}
.v29-share-qr img{width:100px!important;height:100px!important;max-width:none!important;object-fit:contain!important;border-radius:7px!important;}
@media(max-width:680px){
  .v29-share-content{grid-template-columns:minmax(0,1fr) 98px!important;gap:10px!important;}
  .v29-share-qr{width:98px!important;min-width:98px!important;padding:8px!important;}
  .v29-share-qr img{width:82px!important;height:82px!important;}
}


/* v32 share-card balance: smaller QR, true circular avatar. */
.v29-share-content{
  grid-template-columns:minmax(0,1fr) 98px!important;
  gap:14px!important;
}
.v29-share-qr{
  width:98px!important;
  min-width:98px!important;
  padding:8px!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.v29-share-qr img{
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  border-radius:6px!important;
  margin:0 auto!important;
}
.v29-share-avatar{
  width:80px!important;
  height:80px!important;
  flex:0 0 80px!important;
  padding:3px!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  transform:none!important;
  overflow:hidden!important;
  background:#0c0d10!important;
}
.v29-share-avatar .v30-share-avatar-clean{
  --v30-size:74px!important;
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  min-height:74px!important;
  aspect-ratio:1/1!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  transform:none!important;
  overflow:hidden!important;
}
.v29-share-avatar .v30-share-avatar-clean>img,
.v29-share-avatar .v30-share-avatar-clean>video,
.v29-share-avatar .v30-share-avatar-clean>span{
  width:100%!important;
  height:100%!important;
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  object-fit:cover!important;
}
@media(max-width:680px){
  .v29-share-content{
    grid-template-columns:minmax(0,1fr) 86px!important;
    gap:9px!important;
  }
  .v29-share-qr{
    width:86px!important;
    min-width:86px!important;
    padding:7px!important;
  }
  .v29-share-qr img{
    width:72px!important;
    height:72px!important;
    max-width:72px!important;
  }
  .v29-share-avatar{
    width:68px!important;
    height:68px!important;
    flex-basis:68px!important;
  }
  .v29-share-avatar .v30-share-avatar-clean{
    --v30-size:62px!important;
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    min-height:62px!important;
  }
}
