/* Keep the profile action card fully visible on screen regardless of
   where it happens to open. IMPORTANT: never override position/left
   on #av_menu - the core JS uses left:-5000px specifically as its
   signal that this card is "closed", and any !important override on
   left/position (even to fix positioning) permanently breaks that
   detection, making the card impossible to close. max-height and
   overflow alone don't interfere with that mechanism at all. */
@media (max-width: 900px) {
	#av_menu {
		max-height: calc(100vh - 20px);
		overflow-y: auto;
	}
}

/* Secret Messages */
#secret_menu.secret_pulse {
	animation: secretRowGlow 1.6s ease-in-out infinite;
	border-radius: 8px;
}
#secret_menu.secret_pulse .fmenu_text {
	animation: secretPulseGlow 1.6s ease-in-out infinite;
	font-weight: 700;
}
#secret_menu.secret_pulse .fmenu_icon i {
	animation: secretIconPulse 1.6s ease-in-out infinite;
	color: #FFD54F;
}
@keyframes secretRowGlow {
	0%, 100% { box-shadow: inset 0 0 0px rgba(255,213,79,0); background: transparent; }
	50% { box-shadow: inset 0 0 18px rgba(255,213,79,0.35); background: rgba(255,213,79,0.08); }
}
@keyframes secretPulseGlow {
	0%, 100% { text-shadow: 0 0 4px rgba(255,213,79,0.6); color: #FFD54F; }
	50% { text-shadow: 0 0 16px rgba(255,213,79,1), 0 0 28px rgba(255,213,79,0.7); color: #FFF3C4; }
}
@keyframes secretIconPulse {
	0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 3px rgba(255,213,79,0.6)); }
	50% { transform: scale(1.3) rotate(-8deg); filter: drop-shadow(0 0 10px rgba(255,213,79,1)); }
}
#secret_messages_badge { background:#E91E8C; color:#fff; font-size:11px; font-weight:700; min-width:18px; height:18px; border-radius:9px; display:none; align-items:center; justify-content:center; padding:0 5px; margin-left:auto; margin-right:8px; flex-shrink:0; }
#secret_menu.secret_pulse .fmenu_notify { overflow:visible; }
#secret_menu.secret_pulse #secret_messages_badge { animation: secretBadgePop 1.6s ease-in-out infinite; }
@keyframes secretBadgePop {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.25); }
}
.secret_modal_wrap { padding-bottom: 10px; }
.secret_msg_box { background:rgba(255,255,255,0.05); border-radius:10px; padding:12px; margin-bottom:10px; }
.secret_msg_header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.secret_msg_from { font-size:13px; font-weight:600; opacity:0.85; }
.secret_msg_time { font-size:11px; opacity:0.6; }
.secret_msg_text { font-size:14px; margin-bottom:10px; word-break:break-word; }
.secret_hints_grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:6px; }
.secret_hint_btn, .secret_reveal_btn { font-size:11px; padding:6px 4px; border-radius:6px; border:none; cursor:pointer; background:rgba(233,30,140,0.18); color:#FF9ECF; }
.secret_reveal_btn { width:100%; margin-top:2px; background:rgba(255,213,79,0.18); color:#FFD54F; font-weight:600; }
.secret_reveal_locked { width:100%; margin-top:2px; padding:6px 4px; border-radius:6px; background:rgba(255,255,255,0.05); color:rgba(255,255,255,0.4); font-size:11px; text-align:center; }
.secret_hint_revealed { font-size:12px; padding:6px 8px; border-radius:6px; background:rgba(255,255,255,0.06); margin-bottom:4px; }
.secret_hint_label { opacity:0.7; margin-right:4px; }
.secret_full_reveal { font-size:14px; font-weight:600; color:#FFD54F; text-align:center; padding:8px; }
.secret_msg_footer { display:flex; justify-content:flex-end; margin-top:6px; font-size:12px; opacity:0.7; }
.secret_delete_btn { cursor:pointer; }
.secret_read_status { opacity:0.6; }
.secret_toggle_row { display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
.secret_switch { width:44px; height:24px; border-radius:12px; background:rgba(255,255,255,0.2); position:relative; cursor:pointer; transition:background 0.2s ease; flex-shrink:0; }
.secret_switch_on { background:#4CAF50; }
.secret_switch_knob { width:18px; height:18px; border-radius:50%; background:#fff; position:absolute; top:3px; left:3px; transition:left 0.2s ease; box-shadow:0 1px 3px rgba(0,0,0,0.3); }
.secret_switch_on .secret_switch_knob { left:23px; }

/* Profile visitors list */
.pvs_see_visitors { text-align:center; font-size:12px; color:#4FC3F7; padding:8px 0 2px; cursor:pointer; }
.pvs_visitor_list { display:none; max-height:220px; overflow-y:auto; margin-top:6px; }
.pvs_visitor_row { display:flex; align-items:center; gap:8px; padding:6px 4px; border-bottom:1px solid rgba(255,255,255,0.06); }
.pvs_visitor_av { width:32px; height:32px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.pvs_visitor_info { display:flex; flex-direction:column; min-width:0; }
.pvs_visitor_name { font-size:13px; font-weight:600; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pvs_visitor_meta { font-size:11px; color:#999; }

/* Relationship invites */
.rel_invite_box { text-align:center; padding-bottom:14px; margin-bottom:10px; border-bottom:1px solid rgba(255,255,255,0.08); }
.rel_invite_btn { display:inline-block; margin-top:8px; padding:9px 20px; border-radius:20px; background:rgba(233,30,140,0.2); color:#FF6FA5; font-size:14px; font-weight:600; cursor:pointer; }
.rel_invite_btn i { margin-right:6px; }
.rel_status_box { text-align:center; font-size:14px; padding:10px; margin-bottom:10px; }
.rel_status_box i { color:#E91E8C; margin-right:4px; }
.rel_breakup_btn { text-align:center; font-size:12px; color:#EF5350; cursor:pointer; padding:6px 0 12px; }
.rel_pending_toggle { text-align:center; font-size:13px; color:#4FC3F7; cursor:pointer; padding:8px 0; }
.rel_pending_list { display:none; margin-bottom:10px; }
.rel_invite_row { display:flex; align-items:center; gap:8px; padding:8px 6px; border-bottom:1px solid rgba(255,255,255,0.06); }
.rel_invite_av { width:32px; height:32px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.rel_invite_text { flex:1; font-size:13px; }
.rel_invite_actions { display:flex; gap:6px; }
.rel_accept_btn, .rel_decline_btn { font-size:11px; padding:5px 10px; border-radius:6px; border:none; cursor:pointer; }
.rel_accept_btn { background:rgba(76,175,80,0.2); color:#66BB6A; }
.rel_decline_btn { background:rgba(239,83,80,0.2); color:#EF5350; }

/* About Me - dressed up with avatar background, card, corners, quote */
.proabout_bg { background-size:cover; background-position:center; position:relative; }
.proabout_bg::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(180deg, rgba(20,10,30,0.88) 0%, rgba(20,10,30,0.94) 100%); backdrop-filter:blur(2px); }
.proabout_overlay { position:relative; z-index:1; }
.proabout_card { position:relative; background:rgba(255,255,255,0.06); border:1px solid rgba(255,213,79,0.35); border-radius:14px; padding:22px 20px 18px; margin-top:8px; }
.proabout_corner { position:absolute; font-size:13px; color:#FFD54F; opacity:0.8; }
.proabout_corner_tl { top:10px; left:12px; }
.proabout_corner_br { bottom:10px; right:12px; }
.proabout_quote { font-size:42px; line-height:0.5; color:#FFD54F; opacity:0.5; font-family:Georgia, serif; margin-bottom:4px; }
.proabout_text { position:relative; z-index:1; }

.proabout_bg::after {
	content:'';
	position:absolute;
	top:0; left:0; right:0; bottom:0;
	width:2px; height:2px;
	box-shadow:327px 57px 0 rgba(255,255,255,0.5), 12px 379px 0 rgba(255,255,255,0.5), 140px 125px 0 rgba(255,255,255,0.5), 114px 71px 0 rgba(255,255,255,0.5), 377px 52px 0 rgba(255,255,255,0.5), 346px 379px 0 rgba(255,255,255,0.5), 456px 279px 0 rgba(255,255,255,0.5), 44px 302px 0 rgba(255,255,255,0.5), 216px 16px 0 rgba(255,255,255,0.5), 15px 47px 0 rgba(255,255,255,0.5), 111px 119px 0 rgba(255,255,255,0.5), 258px 308px 0 rgba(255,255,255,0.5), 13px 287px 0 rgba(255,255,255,0.5), 101px 366px 0 rgba(255,255,255,0.5), 332px 359px 0 rgba(255,255,255,0.5), 279px 214px 0 rgba(255,255,255,0.5), 112px 229px 0 rgba(255,255,255,0.5), 301px 142px 0 rgba(255,255,255,0.5), 414px 445px 0 rgba(255,255,255,0.5), 3px 388px 0 rgba(255,255,255,0.5), 412px 81px 0 rgba(255,255,255,0.5), 357px 216px 0 rgba(255,255,255,0.5), 174px 142px 0 rgba(255,255,255,0.5), 79px 110px 0 rgba(255,255,255,0.5), 490px 390px 0 rgba(255,255,255,0.5), 172px 52px 0 rgba(255,255,255,0.5), 47px 194px 0 rgba(255,255,255,0.5), 49px 183px 0 rgba(255,255,255,0.5), 433px 176px 0 rgba(255,255,255,0.5), 309px 135px 0 rgba(255,255,255,0.5), 413px 22px 0 rgba(255,255,255,0.5), 373px 235px 0 rgba(255,255,255,0.5), 274px 63px 0 rgba(255,255,255,0.5), 498px 472px 0 rgba(255,255,255,0.5), 193px 40px 0 rgba(255,255,255,0.5), 282px 150px 0 rgba(255,255,255,0.5), 424px 321px 0 rgba(255,255,255,0.5), 316px 453px 0 rgba(255,255,255,0.5), 441px 185px 0 rgba(255,255,255,0.5), 295px 98px 0 rgba(255,255,255,0.5), 360px 35px 0 rgba(255,255,255,0.5), 23px 338px 0 rgba(255,255,255,0.5), 116px 395px 0 rgba(255,255,255,0.5), 148px 40px 0 rgba(255,255,255,0.5), 437px 119px 0 rgba(255,255,255,0.5), 443px 51px 0 rgba(255,255,255,0.5), 194px 142px 0 rgba(255,255,255,0.5), 232px 325px 0 rgba(255,255,255,0.5), 427px 186px 0 rgba(255,255,255,0.5), 83px 189px 0 rgba(255,255,255,0.5), 181px 107px 0 rgba(255,255,255,0.5), 343px 136px 0 rgba(255,255,255,0.5), 359px 479px 0 rgba(255,255,255,0.5), 349px 331px 0 rgba(255,255,255,0.5), 36px 311px 0 rgba(255,255,255,0.5), 325px 87px 0 rgba(255,255,255,0.5), 273px 373px 0 rgba(255,255,255,0.5), 125px 83px 0 rgba(255,255,255,0.5), 236px 194px 0 rgba(255,255,255,0.5), 138px 473px 0 rgba(255,255,255,0.5), 327px 352px 0 rgba(255,213,79,0.6), 285px 112px 0 rgba(255,213,79,0.6), 350px 166px 0 rgba(255,213,79,0.6), 431px 393px 0 rgba(255,213,79,0.6), 397px 28px 0 rgba(255,213,79,0.6), 117px 420px 0 rgba(255,213,79,0.6), 16px 412px 0 rgba(255,213,79,0.6), 161px 205px 0 rgba(255,213,79,0.6), 137px 33px 0 rgba(255,213,79,0.6), 108px 467px 0 rgba(255,213,79,0.6), 482px 290px 0 rgba(255,213,79,0.6), 448px 367px 0 rgba(255,213,79,0.6), 161px 108px 0 rgba(255,213,79,0.6), 335px 255px 0 rgba(255,213,79,0.6), 202px 452px 0 rgba(255,213,79,0.6), 468px 329px 0 rgba(255,213,79,0.6), 234px 73px 0 rgba(255,213,79,0.6), 135px 71px 0 rgba(255,213,79,0.6), 126px 381px 0 rgba(255,213,79,0.6), 287px 275px 0 rgba(255,213,79,0.6);
	animation:proaboutTwinkle 4s ease-in-out infinite alternate;
	pointer-events:none;
}
@keyframes proaboutTwinkle {
	0% { opacity:0.4; }
	100% { opacity:0.95; }
}
