.chat_avatar { display:table-cell; width:50px; vertical-align:top; position:relative; }
.cavatar  { height:50px; width:50px; border-radius:50%; display:block; overflow:hidden; cursor:pointer; }



.private_avatar { display:table-cell; width:54px; vertical-align:top; padding:0 5px; }
.avatar_private { display:block; height:44px; width:44px; border-radius:50%; overflow:hidden; }

.user_item_avatar { display:table-cell; vertical-align:middle; width:46px; position:relative; }
.user_item_avatar .acav { width:46px; height:46px; border-radius:50%; display:block; cursor:pointer; }


/* Numeric live private-message badge */
#notify_private {
	top:6px;
	left:auto;
	right:1px;
	width:auto;
	min-width:18px;
	height:18px;
	padding:0 5px;
	box-sizing:border-box;
	line-height:18px;
	text-align:center;
	font-size:10px;
	font-weight:700;
	letter-spacing:-.2px;
	box-shadow:0 2px 7px rgba(0,0,0,.28);
}

#private_av_wrap { width:40px; }
#private_av { cursor:pointer; width:40px; height:40px; display:block; border-radius:50%; }

/* Live relative time labels */
.boom_live_time{ white-space: normal; }
.boom_online_time{ font-weight: 600; }


/* Global lazy media safety */
img[loading="lazy"], iframe[loading="lazy"]{ max-width: 100%; }
img[decoding="async"]{ image-rendering: auto; }

/* custom rank icon shop */
.rank_icon_grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
	gap:12px;
	clear:both;
	overflow:hidden;
}
.rank_icon_grid .rank_icon_card {
	float:none !important;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	min-height:178px;
	padding:12px;
	box-sizing:border-box;
	border-radius:12px;
	text-align:center;
}
.rank_icon_grid .rank_icon_img_wrap {
	width:78px;
	height:78px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 8px auto;
}
.rank_icon_grid .rank_icon_card_img {
	width:auto !important;
	height:auto !important;
	max-width:76px !important;
	max-height:76px !important;
	object-fit:contain;
	display:block;
	margin:0 auto;
}
.rank_icon_grid .rank_icon_card_title {
	width:100%;
	font-weight:bold;
	line-height:20px;
	min-height:20px;
	margin-bottom:5px;
}
.rank_icon_grid .rank_icon_card_price {
	position:static !important;
	width:100%;
	font-size:12px;
	line-height:18px;
	min-height:18px;
	margin:0 0 8px 0;
	padding:0;
}
.rank_icon_grid .rank_icon_card_action {
	width:100%;
	margin-top:auto;
}
.rank_icon_grid .rank_icon_card_action .small_button {
	max-width:100%;
	white-space:nowrap;
}
@media screen and (max-width:480px){
	.rank_icon_grid {
		grid-template-columns:repeat(auto-fill, minmax(105px, 1fr));
		gap:10px;
	}
	.rank_icon_grid .rank_icon_card {
		min-height:168px;
		padding:10px;
	}
	.rank_icon_grid .rank_icon_img_wrap {
		width:68px;
		height:68px;
	}
	.rank_icon_grid .rank_icon_card_img {
		max-width:66px !important;
		max-height:66px !important;
	}
}


/* custom rank name shop */
.rank_name_grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));
	gap:12px;
	clear:both;
	overflow:hidden;
}
.rank_name_grid .rank_name_card {
	float:none !important;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	min-height:132px;
	padding:14px 12px;
	box-sizing:border-box;
	border-radius:12px;
	text-align:center;
}
.rank_name_grid .rank_name_card_name {
	width:100%;
	font-weight:bold;
	font-size:16px;
	line-height:22px;
	min-height:22px;
	margin-bottom:8px;
}
.rank_name_grid .rank_name_card_price {
	position:static !important;
	width:100%;
	font-size:12px;
	line-height:18px;
	min-height:18px;
	margin:0 0 10px 0;
	padding:0;
}
.rank_name_grid .rank_name_card_action {
	width:100%;
	margin-top:auto;
}
.rank_name_grid .rank_name_card_action .small_button {
	max-width:100%;
	white-space:nowrap;
}
@media screen and (max-width:480px){
	.rank_name_grid {
		grid-template-columns:repeat(auto-fill, minmax(110px, 1fr));
		gap:10px;
	}
	.rank_name_grid .rank_name_card {
		min-height:126px;
		padding:12px 10px;
	}
	.rank_name_grid .rank_name_card_name {
		font-size:15px;
	}
}

/* profile gallery */
.profile_gallery_bar {
	width: 100%;
}
.profile_gallery_grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 12px;
	width: 100%;
}
.profile_gallery_card {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 12px;
	overflow: hidden;
	background: rgba(0,0,0,0.08);
}
.profile_gallery_open,
.profile_gallery_card img.profile_gallery_img {
	display: block;
	width: 100%;
	height: 100%;
}
.profile_gallery_open {
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	cursor: pointer;
	overflow: hidden;
}
.profile_gallery_img {
	object-fit: cover;
}
.profile_gallery_viewer {
	width: 100%;
	max-width: 720px;
	max-height: 78vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	box-sizing: border-box;
}
.profile_gallery_viewer_img {
	display: block;
	max-width: 100%;
	max-height: 74vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 10px;
}
.profile_gallery_delete {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	padding: 0;
	line-height: 34px;
	text-align: center;
	z-index: 5;
}
.profile_gallery_empty {
	grid-column: 1 / -1;
}
@media screen and (max-width: 480px) {
	.profile_gallery_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}


/* userlist background glow */
.user_item.userlist_glow,
.userlist_glow_preview.userlist_glow {
	box-shadow: 0 0 13px rgba(var(--ulist-glow-rgb), .34), 0 0 5px rgba(var(--ulist-glow-rgb), .18) inset;
	border: 1px solid rgba(var(--ulist-glow-rgb), .34);
	background-clip: padding-box;
}
.user_item.userlist_glow {
	margin: 3px 0;
	background-image: linear-gradient(90deg, rgba(var(--ulist-glow-rgb), .10), rgba(var(--ulist-glow-rgb), .035));
}
.user_item.userlist_glow:hover,
.userlist_glow_preview.userlist_glow {
	box-shadow: 0 0 16px rgba(var(--ulist-glow-rgb), .42), 0 0 5px rgba(var(--ulist-glow-rgb), .22) inset;
}
.userlist_glow_picker_wrap {
	display: flex;
	gap: 10px;
	align-items: center;
}
.userlist_glow_picker_wrap input[type="color"] {
	width: 54px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.userlist_glow_picker_wrap .full_input {
	flex: 1;
	text-transform: uppercase;
}
.userlist_glow_preview {
	display: table;
	table-layout: fixed;
	width: 100%;
	padding: 8px 10px;
	border-radius: 8px;
}
.userlist_glow_preview_avatar,
.userlist_glow_preview_data {
	display: table-cell;
	vertical-align: middle;
}
.userlist_glow_preview_avatar {
	width: 42px;
}
.userlist_glow_preview_avatar img {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: block;
}
.userlist_glow_preview_data {
	padding-left: 8px;
	overflow: hidden;
}

.userlist_glow_picker_only { justify-content:center; }
.userlist_glow_picker_only input[type="color"] { width:64px; height:64px; min-width:64px; padding:0; border:0; background:transparent; cursor:pointer; }
.userlist_glow_picker_only input[type="color"]::-webkit-color-swatch-wrapper { padding:0; }
.userlist_glow_picker_only input[type="color"]::-webkit-color-swatch { border:1px solid rgba(0,0,0,.15); border-radius:12px; }
.userlist_glow_picker_only input[type="color"]::-moz-color-swatch { border:1px solid rgba(0,0,0,.15); border-radius:12px; }


.gold_text { color:#d99a00; }
.ruby_text { color:#d11b5f; }

/* daily message rewards */
.daily_reward_modal { padding:14px; }
.daily_reward_head { padding:14px 18px; border-radius:18px; background:rgba(0,0,0,.18); margin-bottom:14px; }
.daily_reward_title { font-size:24px; font-weight:700; }
.daily_reward_tabs { display:flex; gap:10px; margin-bottom:14px; padding:4px; border-radius:30px; background:rgba(0,0,0,.12); border:1px solid rgba(255,255,255,.08); }
.daily_reward_tab { flex:1; border:1px solid rgba(255,255,255,.08); border-radius:26px; padding:14px 8px; cursor:pointer; font-weight:700; color:inherit; background:rgba(0,0,0,.16); opacity:.72; position:relative; transition:background .18s ease, box-shadow .18s ease, opacity .18s ease, transform .18s ease; }
.daily_reward_tab:hover { opacity:1; background:rgba(255,255,255,.08); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.daily_reward_tab.active { background:var(--main-color, #ff624d); color:#fff; opacity:1; border-color:rgba(255,255,255,.18); box-shadow:0 0 0 1px rgba(255,255,255,.10) inset, 0 8px 22px rgba(255,98,77,.28); transform:translateY(-1px); }
.daily_reward_tab.active:after { content:''; position:absolute; left:24%; right:24%; bottom:6px; height:3px; border-radius:8px; background:rgba(255,255,255,.75); }
.daily_reward_reset { border-radius:18px; padding:14px 18px; background:rgba(0,0,0,.18); margin-bottom:14px; font-weight:700; }
.daily_reward_count_box { border-radius:20px; padding:24px 12px; text-align:center; background:rgba(0,0,0,.16); margin-bottom:14px; }
.daily_reward_count_num { font-size:42px; font-weight:800; line-height:1; }
.daily_reward_count_label { text-transform:uppercase; font-weight:700; opacity:.65; margin-top:6px; letter-spacing:1px; }
.daily_reward_list, .daily_leader_list { display:flex; flex-direction:column; gap:12px; }
.daily_reward_item { position:relative; overflow:hidden; display:flex; align-items:center; gap:12px; border-radius:18px; padding:14px; background:rgba(0,0,0,.20); }
.daily_reward_item:after { content:''; position:absolute; left:0; bottom:0; height:4px; width:100%; background:rgba(255,255,255,.06); }
.daily_reward_badge { width:48px; height:48px; min-width:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.22); font-size:20px; }
.daily_ready .daily_reward_badge { color:var(--main-color, #ff624d); box-shadow:0 0 0 2px rgba(255,98,77,.22) inset; }
.daily_done .daily_reward_badge { color:#fff; background:#43b700; }
.daily_reward_info { flex:1; min-width:0; }
.daily_reward_need { font-size:17px; font-weight:800; }
.daily_reward_value { font-size:14px; opacity:.9; margin:3px 0 8px; }
.daily_gold { color:#ffd21a; font-weight:800; }
.daily_ruby { color:#ff3f6f; font-weight:800; }
.daily_reward_bar { height:5px; border-radius:20px; background:rgba(255,255,255,.08); overflow:hidden; }
.daily_reward_bar span { display:block; height:100%; background:var(--main-color, #ff624d); border-radius:20px; }
.daily_reward_action { min-width:76px; text-align:right; }
.daily_percent, .daily_claimed { display:inline-block; border-radius:18px; padding:7px 10px; background:rgba(255,255,255,.08); font-weight:700; font-size:12px; }
.daily_leader_item { display:flex; align-items:center; gap:14px; border-radius:18px; padding:14px; background:rgba(0,0,0,.18); }
.daily_leader_rank { width:42px; min-width:42px; text-align:center; font-weight:800; font-size:18px; color:var(--main-color, #ff624d); }
.daily_leader_avatar { width:52px; height:52px; min-width:52px; border-radius:50%; object-fit:cover; }
.daily_leader_text { min-width:0; }
.daily_leader_count { color:var(--main-color, #ff624d); font-weight:700; }
.daily_reward_admin_row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin-bottom:8px; }

.daily_reward_tab_zone { animation: dailyTabFade .16s ease; }
.daily_reward_item:hover, .daily_leader_item:hover { background:rgba(255,255,255,.07); box-shadow:0 0 0 1px rgba(255,255,255,.06) inset; }
@keyframes dailyTabFade { from { opacity:.55; transform:translateY(3px); } to { opacity:1; transform:translateY(0); } }
@media screen and (max-width:480px){ .daily_reward_modal{padding:10px;} .daily_reward_title{font-size:21px;} .daily_reward_count_num{font-size:34px;} .daily_reward_item{gap:9px; padding:12px;} .daily_reward_action{min-width:62px;} .daily_reward_badge{width:42px; height:42px; min-width:42px;} }


/* daily login reward */
.daily_reward_panel { padding: 8px 0; }
.daily_reward_icon { width:64px; height:64px; line-height:64px; border-radius:18px; margin:0 auto 12px; font-size:30px; background:rgba(0,0,0,.06); }
.daily_reward_card { border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:14px; background:rgba(0,0,0,.03); }
.daily_reward_amount { font-size:18px; margin-top:4px; }
.daily_reward_streak { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.daily_reward_streak span { border-radius:20px; padding:6px 10px; background:rgba(0,0,0,.05); font-size:12px; }


/* rules module */
.rules_panel_head {
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px;
	border-radius:16px;
	background:rgba(0,0,0,.14);
	border:1px solid rgba(255,255,255,.06);
}
.rules_panel_icon {
	width:42px;
	height:42px;
	min-width:42px;
	border-radius:14px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--main-color, #ff624d);
	color:#fff;
	font-size:18px;
}
.rules_panel_title {
	font-size:18px;
	font-weight:800;
	line-height:1.2;
}
.rules_panel_content {
	font-size:14px;
	line-height:1.55;
}
.rules_panel_content .policy_page {
	margin:0;
	padding:0;
}
.rules_panel_content .policy_hero,
.rules_panel_content .policy_card,
.rules_plain_text {
	padding:14px;
	margin:0 0 12px;
	border-radius:16px;
	background:rgba(0,0,0,.10);
	border:1px solid rgba(255,255,255,.05);
}
.rules_clean_list {
	display:flex;
	flex-direction:column;
	gap:10px;
}
.rules_rule_item {
	display:flex;
	align-items:flex-start;
	gap:10px;
	padding:12px;
	border-radius:14px;
	background:rgba(0,0,0,.10);
	border:1px solid rgba(255,255,255,.05);
}
.rules_rule_number {
	width:28px;
	height:28px;
	min-width:28px;
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--main-color, #ff624d);
	color:#fff;
	font-size:12px;
	font-weight:800;
}
.rules_rule_text {
	min-width:0;
	padding-top:3px;
	word-break:break-word;
}
.rules_panel_content .policy_badge {
	display:inline-block;
	padding:4px 9px;
	border-radius:20px;
	background:rgba(255,255,255,.08);
	font-size:12px;
	font-weight:700;
	margin-bottom:8px;
}
.rules_panel_content h1,
.rules_panel_content h2,
.rules_panel_content h3 {
	margin:0 0 8px;
	line-height:1.25;
}
.rules_panel_content p {
	margin:0 0 8px;
}
.rules_panel_content p:last-child {
	margin-bottom:0;
}
.rules_panel_content ul,
.rules_panel_content ol {
	padding-left:20px;
	margin:8px 0;
}
.rules_line_builder {
	display:flex;
	flex-direction:column;
	gap:8px;
	margin-bottom:10px;
}
.rules_line_row {
	display:flex;
	align-items:center;
	gap:8px;
}
.rules_line_num {
	width:28px;
	height:28px;
	min-width:28px;
	border-radius:9px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(120,120,120,.16);
	font-size:12px;
	font-weight:800;
}
.rules_line_input {
	flex:1;
	min-width:0;
}
.rules_line_delete {
	width:36px;
	height:36px;
	min-width:36px;
	border:0;
	border-radius:10px;
	cursor:pointer;
}
.rules_admin_tools {
	display:flex;
	gap:8px;
	flex-wrap:wrap;
}
.rules_admin_preview {
	margin-top:14px;
	padding:14px;
	border-radius:16px;
	background:rgba(0,0,0,.06);
}
@media screen and (max-width:480px){
	.rules_panel_head { padding:12px; }
	.rules_panel_title { font-size:16px; }
	.rules_panel_content .policy_hero,
	.rules_panel_content .policy_card,
	.rules_plain_text,
	.rules_rule_item { padding:12px; }
	.rules_line_row { align-items:stretch; }
	.rules_line_num,
	.rules_line_delete { margin-top:0; }
}


/* profile views panel */
.profile_view_panel { min-height:100%; }
.profile_view_head { display:flex; align-items:center; gap:10px; }
.profile_view_head_icon { width:42px; height:42px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(120,120,120,.12); font-size:20px; }
.profile_view_head_text { min-width:0; flex:1; }
.profile_view_stats { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.profile_view_stat { padding:12px 8px; text-align:center; border-radius:12px; }
.profile_view_stat_num { font-size:18px; font-weight:700; line-height:1.1; }
.profile_view_stat_label { font-size:11px; opacity:.75; margin-top:4px; }
.profile_view_tabs { display:flex; gap:8px; align-items:center; background:rgba(120,120,120,.06); }
.profile_view_tab { border:0; border-radius:10px; padding:10px 8px; cursor:pointer; background:transparent; color:inherit; font-weight:800; transition:all .15s ease; flex:1; min-width:0; }
.profile_view_tab:hover { background:rgba(120,120,120,.16); transform:translateY(-1px); }
.profile_view_tab.active { background:rgba(120,120,120,.18); color:var(--theme-color, #00aeef); box-shadow:0 4px 12px rgba(0,0,0,.14); }
.profile_view_hint { padding:8px 0 14px; font-size:13px; opacity:.72; font-weight:700; }
.profile_view_user { display:flex; align-items:center; gap:10px; padding:10px; border-radius:12px; margin-bottom:8px; cursor:pointer; }
.profile_view_av img { width:42px; height:42px; border-radius:50%; object-fit:cover; display:block; }
.profile_view_av.big img { width:58px; height:58px; }
.profile_view_info { min-width:0; flex:1; }
.profile_view_name { font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:15px; }
.profile_view_meta { font-size:12px; opacity:.72; margin-top:3px; font-weight:700; }
.profile_view_meta.strong_meta { opacity:.9; }
.profile_view_rank { width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center; font-weight:900; font-size:17px; background:rgba(120,120,120,.13); flex:0 0 54px; }
.profile_view_card { display:grid; grid-template-columns:auto minmax(0, 1fr); gap:12px; align-items:center; padding:14px; border-radius:16px; margin-bottom:12px; }
.profile_view_card .profile_view_rank { grid-row:1; }
.profile_view_card .profile_view_av { grid-row:1; }
.profile_view_card .profile_view_open { grid-column:1 / -1; width:100%; min-height:38px; border-radius:9px; margin-top:4px; }
.profile_view_card.ranked { grid-template-columns:auto auto minmax(0, 1fr); }
.profile_view_card.ranked .profile_view_info { grid-column:3; }
.profile_view_card.ranked .profile_view_open { grid-column:1 / -1; }
@media screen and (max-width:480px){
	.profile_view_stats { grid-template-columns:1fr 1fr; }
	.profile_view_tabs { gap:4px; }
	.profile_view_tab { font-size:12px; padding:9px 5px; }
	.profile_view_card { grid-template-columns:auto minmax(0, 1fr); padding:12px; }
	.profile_view_card.ranked { grid-template-columns:auto auto minmax(0, 1fr); }
	.profile_view_rank { width:48px; height:48px; flex-basis:48px; }
	.profile_view_av.big img { width:52px; height:52px; }
}




/* relationship request feature */
.relationship_box .modal_user { padding:10px 0; }
.relationship_type_row { display:flex; align-items:center; gap:10px; padding:12px; }
.relationship_type_icon { width:38px; height:38px; min-width:38px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(255,80,120,.12); color:#ff5078; }
.relationship_type_mid { flex:1; min-width:0; }
.relationship_type_row .small_button { min-width:70px; min-height:34px; border-radius:9px; }
.profile_relation_block { margin-top:8px; }
.profile_relation_card { display:flex; align-items:center; gap:10px; padding:10px 12px; margin:8px 0; cursor:pointer; }
.profile_relation_icon { width:34px; height:34px; min-width:34px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(255,80,120,.12); color:#ff5078; }
.profile_relation_avatar img { width:38px; height:38px; border-radius:50%; object-fit:cover; display:block; }
.profile_relation_info { min-width:0; flex:1; }
.profile_relation_type { font-size:11px; text-transform:uppercase; letter-spacing:.4px; opacity:.7; font-weight:800; }
.profile_relation_name { font-size:14px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.relationship_admin_types .sub_setting { margin:8px 0; padding:10px; border-radius:10px; background:rgba(120,120,120,.06); }
@media screen and (max-width:480px){
	.relationship_type_row { gap:8px; padding:10px; }
	.relationship_type_row .small_button { min-width:58px; padding-left:8px; padding-right:8px; }
	.profile_relation_card { padding:9px 10px; }
}


/* relationship self management panel */
.relationship_manage_box { padding:0; }
.relationship_manage_head { padding:22px 22px 12px; }
.relationship_manage_title { font-size:22px; font-weight:700; display:flex; align-items:center; gap:8px; }
.relationship_manage_title i { color:#ff5078; }
.relationship_manage_stats { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; padding:0 22px 16px; }
.relationship_manage_stats div { border-radius:14px; padding:12px 8px; text-align:center; background:rgba(120,120,120,.08); border:1px solid rgba(255,255,255,.06); }
.relationship_manage_stats b { display:block; font-size:20px; line-height:22px; }
.relationship_manage_stats span { display:block; font-size:12px; opacity:.75; padding-top:3px; }
.relationship_manage_tabs { margin:0 16px 12px; }
.relationship_manage_tab { position:relative; }
.rel_badge { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; margin-left:6px; border-radius:12px; font-size:11px; background:#ff5078; color:#fff; }
.relationship_manage_item { padding:14px; margin:0 16px 12px; border:1px solid rgba(255,255,255,.06); background:rgba(120,120,120,.05); }
.relationship_manage_top { display:flex; align-items:center; gap:12px; }
.relationship_manage_avatar { width:54px; height:54px; min-width:54px; border-radius:50%; overflow:hidden; cursor:pointer; background:rgba(0,0,0,.18); }
.relationship_manage_avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.relationship_manage_info { min-width:0; flex:1; }
.relationship_manage_name { font-size:17px; font-weight:700; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.relationship_manage_type { font-size:13px; font-weight:700; color:#ff5078; padding-top:3px; }
.relationship_manage_meta { font-size:12px; opacity:.75; padding-top:4px; }
.relationship_manage_actions { display:flex; justify-content:flex-end; gap:8px; padding-top:12px; flex-wrap:wrap; }
.relationship_manage_actions .small_button { min-width:86px; border-radius:10px; }
@media screen and (max-width:480px){
	.relationship_manage_head { padding:18px 16px 10px; }
	.relationship_manage_stats { padding:0 16px 14px; gap:8px; }
	.relationship_manage_item { margin-left:12px; margin-right:12px; }
	.relationship_manage_tabs { margin-left:12px; margin-right:12px; }
	.relationship_manage_actions { justify-content:stretch; }
	.relationship_manage_actions .small_button { flex:1; }
}


/* relationship duration and room pins */
.profile_relation_days { font-size:11px; opacity:.65; margin-top:2px; }
.room_top_box { margin:8px 10px; }
.room_top_title { font-weight:700; padding:7px 10px; opacity:.85; }
.room_pin_item { display:flex; align-items:flex-start; gap:8px; padding:8px 10px; margin:6px 0; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); }
.room_pin_avatar img { width:28px; height:28px; border-radius:50%; object-fit:cover; display:block; }
.room_pin_body { flex:1; min-width:0; }
.room_pin_name { font-size:12px; font-weight:700; }
.room_pin_text { font-size:13px; line-height:1.35; max-height:44px; overflow:hidden; opacity:.9; }
.room_pin_remove { width:26px; height:26px; border:0; border-radius:50%; cursor:pointer; background:rgba(255,255,255,.08); color:inherit; }

/* stable pinned message top area */
#room_top_feature { max-height:160px; overflow-y:auto; overflow-x:hidden; box-sizing:border-box; }
#room_top_feature .room_top_box { margin:6px 8px; }
.room_pin_box { max-height:150px; overflow-y:auto; }
.room_pin_item { padding:6px 8px; margin:4px 0; }
.room_pin_text { max-height:36px; overflow:hidden; }
@media screen and (max-width:480px){
	#room_top_feature { max-height:125px; }
	.room_top_title { padding:5px 8px; font-size:12px; }
	.room_pin_avatar img { width:24px; height:24px; }
	.room_pin_text { max-height:30px; font-size:12px; }
}



/* staff application */
.staff_app_panel{min-height:100%}
.staff_app_form,.staff_app_card,.staff_app_status,.staff_app_manage_bar,.staff_app_filter_empty{border-radius:10px;margin-bottom:10px}
.staff_app_form{padding:12px}
.staff_app_form_grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.staff_app_form .setting_element{margin-bottom:10px}
.staff_app_form_grid .setting_element{min-width:0}
.staff_app_textarea{min-height:78px;resize:vertical}
.staff_app_form_control{padding-top:0}
.staff_app_status{display:flex;align-items:center;gap:8px;padding:10px 12px;font-weight:700}
.staff_app_status i{font-size:15px}
.staff_app_manage_bar{display:flex;align-items:center;gap:10px;padding:9px 10px;position:sticky;top:0;z-index:2}
.staff_app_count{display:flex;align-items:center;gap:7px;min-width:48px;font-size:13px}
.staff_app_search{position:relative;display:block;min-width:0;flex:1}
.staff_app_search i{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.65;pointer-events:none}
.staff_app_search input{height:34px;padding-left:30px}
.staff_app_list{display:flex;flex-direction:column;gap:8px}
.staff_app_card{overflow:hidden;margin-bottom:0}
.staff_app_card_head{display:flex;align-items:stretch;gap:4px}
.staff_app_summary{display:flex;align-items:center;gap:9px;min-width:0;flex:1;padding:9px 8px 9px 10px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.staff_app_avatar{flex:0 0 38px}
.staff_app_avatar img{display:block;width:38px;height:38px;border-radius:50%;object-fit:cover}
.staff_app_user{display:block;min-width:0;flex:1}
.staff_app_name,.staff_app_meta{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.staff_app_name{font-weight:800}
.staff_app_meta{margin-top:3px;font-size:11px;opacity:.7}
.staff_app_score{display:flex;align-items:baseline;justify-content:center;min-width:48px;font-size:13px}
.staff_app_score b{font-size:16px;line-height:1}
.staff_app_score small{font-size:9px;opacity:.65}
.staff_app_chevron{font-size:11px;opacity:.65;transition:transform .16s ease}
.staff_app_open .staff_app_chevron{transform:rotate(180deg)}
.staff_app_icon_button{align-self:center;display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;margin-right:7px;border:0;border-radius:8px;cursor:pointer;background:rgba(127,127,127,.1);color:inherit}
.staff_app_delete{background:rgba(231,76,60,.13);color:#e74c3c}
.staff_app_details{padding:0 10px 10px}
.staff_app_answer{padding:10px;border-radius:8px;background:rgba(127,127,127,.07)}
.staff_app_answer+.staff_app_answer{margin-top:7px}
.staff_app_answer_title{margin-bottom:5px;font-size:12px;font-weight:800}
.staff_app_answer p{margin:0;font-size:12px;line-height:1.45;white-space:normal;word-break:break-word;opacity:.86}
.staff_app_filter_empty{padding:14px;text-align:center;font-size:12px;opacity:.72}
@media screen and (max-width:420px){
	.staff_app_form_grid{grid-template-columns:1fr 1fr}
	.staff_app_form_grid .setting_element:first-child{grid-column:1/-1}
	.staff_app_score{min-width:42px}
}
@media(prefers-reduced-motion:reduce){.staff_app_chevron{transition:none}}

/* Buy website module */
.buy_website_panel .back_box{ border-radius:10px; }
.buy_website_hero{ padding:18px; margin-bottom:12px; text-align:center; }
.buy_website_hero_icon{ width:48px; height:48px; line-height:48px; border-radius:50%; margin:0 auto 10px auto; font-size:22px; }
.buy_website_title{ font-size:20px; font-weight:bold; }
.buy_website_sub{ margin-top:5px; }
.buy_website_form{ padding:15px; margin-bottom:12px; }
.buy_website_textarea{ min-height:110px; }
.buy_website_section_title{ font-weight:bold; margin:14px 0 8px 0; }
.buy_website_card{ padding:12px; margin-bottom:10px; }
.buy_website_card_head{ display:flex; align-items:center; gap:10px; }
.buy_website_avatar img{ width:46px; height:46px; border-radius:50%; object-fit:cover; }
.buy_website_user{ flex:1; min-width:0; }
.buy_website_name{ font-weight:bold; cursor:pointer; }
.buy_website_meta{ font-size:12px; opacity:.75; margin-top:3px; }
.buy_website_budget{ text-align:center; padding:4px 8px; border-radius:8px; }
.buy_website_budget span{ display:block; font-weight:bold; font-size:18px; }
.buy_website_budget small{ display:block; font-size:10px; opacity:.75; }
.buy_website_delete{ border:0; background:transparent; cursor:pointer; font-size:16px; opacity:.8; }
.buy_website_note{ margin-top:10px; line-height:1.45; word-break:break-word; }
.buy_website_review_head{ display:flex; align-items:center; justify-content:space-between; padding:13px; margin-bottom:10px; }
.buy_website_review_count{ text-align:center; }
.buy_website_review_count b{ display:block; font-size:18px; }
.buy_website_review_count span{ display:block; font-size:10px; opacity:.75; }

/* referral system - native system UI */
.referral_panel{ font:inherit; }
.referral_panel .back_box{ border-radius:var(--smooth-radius-md, 12px); }
.referral_intro{ padding:14px; margin-bottom:12px; overflow:hidden; }
.referral_intro_icon{ width:46px; height:46px; padding:0; text-align:center; border-radius:12px; background:rgba(120,120,120,.12); font-size:20px; }
.referral_intro_text{ padding-left:12px; min-width:0; }
.referral_intro_text p{ overflow:hidden; text-overflow:ellipsis; }
.referral_tabs{ padding:6px; margin:0 0 12px; overflow-x:auto; }
.referral_tabs ul{ display:grid; grid-template-columns:repeat(auto-fit, minmax(82px, 1fr)); gap:5px; min-width:max-content; width:100%; }
.referral_tabs li{ min-width:0; }
.referral_tab{ width:100%; min-height:38px; margin:0 !important; border:0; cursor:pointer; font:inherit; color:inherit; display:flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; }
.referral_tab:hover{ transform:translateY(-1px); }
.referral_tab:focus-visible{ outline:2px solid var(--theme-color, var(--main-color, #00aeef)); outline-offset:2px; }
.referral_tab_zone{ animation:referralFade .16s ease; }
@keyframes referralFade{ from{ opacity:.55; transform:translateY(4px); } to{ opacity:1; transform:translateY(0); } }
.referral_code_card,
.referral_lookup_box,
.referral_how,
.referral_lookup_owner{ padding:14px; margin-bottom:12px; overflow:hidden; }
.referral_box_heading{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.referral_box_icon{ flex:0 0 auto; width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(120,120,120,.12); }
.referral_box_heading>div:last-child{ min-width:0; }
.referral_code_line,
.referral_lookup_line{ display:flex; align-items:center; gap:8px; width:100%; box-sizing:border-box; }
.referral_code_line input,
.referral_lookup_line input{ flex:1 1 auto; min-width:0; box-sizing:border-box; font:inherit; }
.referral_code_line input{ font-weight:800; letter-spacing:.08em; text-align:center; }
.referral_copy_btn,
.referral_lookup_btn{ flex:0 0 auto; min-height:42px; padding:0 14px; white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.referral_copy_btn.referral_copied{ background:#31a85d !important; color:#fff !important; }
.referral_stats{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; margin-bottom:12px; }
.referral_stat{ min-width:0; padding:11px 8px; display:flex; align-items:center; justify-content:center; gap:8px; text-align:left; }
.referral_stat_icon{ width:32px; height:32px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; border-radius:9px; background:rgba(120,120,120,.12); }
.referral_stat_success{ background:rgba(55,180,90,.16); color:#38b45a; }
.referral_stat_warning{ background:rgba(225,120,40,.16); color:#e17828; }
.referral_stat b{ display:block; font-size:19px; line-height:1.05; }
.referral_stat span{ display:block; margin-top:2px; font-size:10px; opacity:.76; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.referral_section_head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:2px 0 9px; }
.referral_how .referral_section_head{ margin-top:0; }
.referral_steps{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.referral_step{ display:flex; align-items:center; gap:9px; min-width:0; padding:9px; border-radius:10px; background:rgba(120,120,120,.08); }
.referral_step>span{ width:26px; height:26px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(120,120,120,.16); font-size:11px; font-weight:800; }
.referral_step p{ min-width:0; font-size:12px; line-height:1.35; }
.referral_note{ margin-top:10px; padding-top:10px; border-top:1px solid rgba(148,163,184,.15); line-height:1.45; }
.referral_list_zone{ display:grid; gap:7px; }
.referral_user_item,
.referral_top_item{ margin:0; min-height:54px; padding:7px 9px; cursor:pointer; border:1px solid transparent; }
.referral_user_item:hover,
.referral_top_item:hover{ border-color:rgba(148,163,184,.18); }
.referral_user_item:focus-visible,
.referral_top_item:focus-visible{ outline:2px solid var(--theme-color, var(--main-color, #00aeef)); outline-offset:1px; }
.referral_user_item .user_item_avatar,
.referral_top_item .user_item_avatar{ width:42px; }
.referral_user_item .user_item_avatar .acav,
.referral_top_item .user_item_avatar .acav,
.referral_lookup_profile .user_item_avatar .acav{ width:42px; height:42px; object-fit:cover; }
.referral_item_status{ display:table-cell; width:1%; vertical-align:middle; white-space:nowrap; padding-left:7px; }
.referral_status{ display:inline-flex; align-items:center; justify-content:center; gap:4px; padding:5px 7px; border-radius:20px; font-size:10px; line-height:1; font-weight:800; }
.referral_ok{ background:rgba(55,180,90,.15); color:#38b45a; }
.referral_blocked{ background:rgba(225,120,40,.15); color:#e17828; }
.referral_top_rank{ display:table-cell; width:38px; vertical-align:middle; text-align:center; font-weight:800; }
.referral_top_rank span{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:9px; background:rgba(120,120,120,.10); }
.referral_rank_1 span{ background:rgba(245,179,1,.18); color:#f5b301; }
.referral_rank_2 span{ background:rgba(168,174,184,.18); color:#a8aeb8; }
.referral_rank_3 span{ background:rgba(190,119,66,.18); color:#be7742; }
.referral_top_total{ display:table-cell; width:52px; vertical-align:middle; text-align:center; }
.referral_top_total b{ display:block; font-size:17px; line-height:1; }
.referral_top_total span{ display:block; margin-top:3px; font-size:9px; opacity:.72; }
.referral_lookup_result{ margin-top:10px; }
.referral_lookup_owner{ margin-top:10px; }
.referral_lookup_profile{ display:table; table-layout:fixed; width:100%; }
.referral_lookup_profile .user_item_avatar{ display:table-cell; width:44px; vertical-align:middle; }
.referral_lookup_profile .user_item_data{ display:table-cell; vertical-align:middle; padding-left:9px; min-width:0; }
.referral_lookup_profile .username{ cursor:pointer; }
.referral_lookup_stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; margin:12px 0; }
.referral_lookup_stats>div{ min-width:0; padding:8px 5px; text-align:center; border-radius:9px; background:rgba(120,120,120,.08); }
.referral_lookup_stats b{ display:block; font-size:17px; }
.referral_lookup_stats span{ display:block; margin-top:2px; font-size:9px; opacity:.75; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.referral_lookup_list_head{ padding:10px 0 8px; border-top:1px solid rgba(148,163,184,.15); }
.referral_lookup_result .boom-skeleton{ margin-top:0; }
@media screen and (max-width:480px){
	.referral_intro{ padding:12px; }
	.referral_intro_icon{ width:42px; height:42px; }
	.referral_tabs ul{ grid-template-columns:none; display:flex; }
	.referral_tabs li{ flex:0 0 auto; }
	.referral_tab{ width:auto; min-height:42px; padding:0 12px; }
	.referral_code_line,
	.referral_lookup_line{ flex-direction:column; align-items:stretch; }
	.referral_copy_btn,
	.referral_lookup_btn{ width:100%; min-height:44px; }
	.referral_stats{ grid-template-columns:1fr; gap:7px; }
	.referral_stat{ justify-content:flex-start; padding:10px 12px; }
	.referral_stat>div:last-child{ display:flex; align-items:baseline; gap:8px; min-width:0; }
	.referral_stat b{ font-size:18px; }
	.referral_stat span{ margin:0; font-size:11px; }
	.referral_steps{ grid-template-columns:1fr; }
	.referral_status span{ display:none; }
	.referral_status{ width:28px; height:28px; padding:0; border-radius:50%; }
	.referral_item_status{ padding-left:4px; }
	.referral_top_rank{ width:34px; }
	.referral_top_rank span{ width:28px; height:28px; }
	.referral_top_total{ width:44px; }
}
@media (prefers-reduced-motion:reduce){
	.referral_tab_zone{ animation:none; }
}

/* chat ratings */
.chat_ratings_panel .back_box{ border-radius:12px; }
.chat_ratings_hero{ padding:18px; text-align:center; margin-bottom:12px; }
.chat_ratings_hero_icon{ font-size:34px; margin-bottom:8px; }
.chat_ratings_title{ font-size:20px; font-weight:700; }
.chat_ratings_sub{ line-height:1.45; margin-top:5px; }
.chat_ratings_stats{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.chat_ratings_stat{ padding:14px 8px; text-align:center; }
.chat_ratings_stat b{ display:block; font-size:22px; }
.chat_ratings_stat span{ display:block; font-size:11px; opacity:.78; }
.chat_ratings_form{ padding:13px; margin-bottom:12px; overflow:hidden; }
.chat_rating_picker{ display:flex; align-items:center; gap:8px; font-size:28px; line-height:1; }
.chat_rating_pick{ cursor:pointer; opacity:.45; }
.chat_rating_pick.active{ opacity:1; }
.chat_ratings_section_title{ font-weight:700; margin:15px 0 8px; }
.chat_rating_card{ padding:12px; margin-bottom:8px; overflow:hidden; }
.chat_rating_head{ display:flex; align-items:center; gap:10px; }
.chat_rating_avatar img{ width:42px; height:42px; border-radius:50%; object-fit:cover; }
.chat_rating_user{ flex:1; min-width:0; }
.chat_rating_score{ flex:0 0 auto; white-space:nowrap; font-size:13px; }
.chat_rating_delete{ border:0; background:transparent; cursor:pointer; opacity:.7; padding:5px; }
.chat_rating_comment{ margin-top:10px; line-height:1.45; word-break:break-word; }
@media screen and (max-width:480px){
	.chat_rating_head{ flex-wrap:wrap; }
	.chat_rating_score{ width:100%; margin-left:52px; }
	.chat_rating_picker{ justify-content:center; }
}


/* birthday wall */
.birthday_wall_panel .back_box{ border-radius:12px; }
.birthday_wall_hero{ padding:18px; text-align:center; margin-bottom:12px; }
.birthday_wall_hero_icon{ font-size:34px; margin-bottom:8px; }
.birthday_wall_title{ font-size:20px; font-weight:700; }
.birthday_wall_sub{ line-height:1.45; margin-top:5px; }
.birthday_wall_tabs{ display:flex; gap:8px; align-items:center; padding:5px; margin-bottom:12px; border-radius:14px; background:rgba(120,120,120,.08); }
.birthday_wall_tab{ flex:1; min-width:0; border:0; border-radius:11px; padding:10px 6px; cursor:pointer; background:transparent; color:inherit; font-weight:800; display:flex; align-items:center; justify-content:center; gap:6px; transition:background .15s ease, transform .15s ease, box-shadow .15s ease; }
.birthday_wall_tab:hover{ background:rgba(120,120,120,.14); transform:translateY(-1px); }
.birthday_wall_tab.active{ background:rgba(120,120,120,.20); color:var(--theme-color, #00aeef); box-shadow:0 4px 12px rgba(0,0,0,.14); }
.birthday_wall_tab_zone{ animation:birthdayWallFade .16s ease; }
.birthday_wall_my{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px; margin-bottom:12px; }
.birthday_wall_badge{ flex:0 0 auto; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(120,120,120,.12); font-size:18px; }
.birthday_wall_form{ padding:13px; margin-bottom:12px; overflow:hidden; }
.birthday_wall_fields{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.birthday_wall_section_title{ font-weight:700; margin:0 0 8px; }
.birthday_wall_card{ display:flex; align-items:center; gap:10px; padding:10px; margin-bottom:8px; overflow:hidden; }
.birthday_wall_avatar img{ width:42px; height:42px; border-radius:50%; object-fit:cover; }
.birthday_wall_user{ flex:1; min-width:0; }
.birthday_wall_label{ flex:0 0 auto; padding:5px 8px; border-radius:20px; font-size:10px; font-weight:700; background:rgba(120,120,120,.12); white-space:nowrap; }
@keyframes birthdayWallFade{ from{ opacity:.55; transform:translateY(4px); } to{ opacity:1; transform:translateY(0); } }
@media screen and (max-width:480px){
	.birthday_wall_fields{ grid-template-columns:1fr; }
	.birthday_wall_my{ align-items:flex-start; }
	.birthday_wall_tab{ flex-direction:column; gap:3px; font-size:12px; padding:8px 4px; }
}


/* My other link module */
.other_links_panel .back_box{ border-radius:12px; }
.other_links_hero{ padding:18px; text-align:center; margin-bottom:12px; }
.other_links_hero_icon{ font-size:34px; margin-bottom:8px; }
.other_links_title{ font-size:20px; font-weight:700; }
.other_links_sub{ line-height:1.45; margin-top:5px; }
.other_link_card{ display:flex; align-items:center; gap:10px; padding:12px; margin-bottom:9px; text-decoration:none; color:inherit; overflow:hidden; transition:transform .15s ease, box-shadow .15s ease; }
.other_link_card:hover{ transform:translateY(-1px); box-shadow:0 5px 16px rgba(0,0,0,.12); text-decoration:none; }
.other_link_icon{ flex:0 0 auto; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(120,120,120,.12); }
.other_link_info{ flex:1; min-width:0; }
.other_link_title{ font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.other_link_url{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:3px; }
.other_link_visit{ flex:0 0 auto; opacity:.65; }
.other_link_admin_row{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; margin-bottom:8px; }
.other_link_admin_info{ flex:1; min-width:0; }
.other_link_admin_url{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:3px; }
.other_link_admin_actions{ flex:0 0 auto; display:flex; gap:6px; align-items:center; }
.other_link_form_controls{ display:flex; gap:8px; flex-wrap:wrap; }
@media screen and (max-width:480px){
	.other_link_admin_row{ align-items:flex-start; }
	.other_link_admin_actions{ flex-direction:column; }
}


/* improved yellow chat rating stars */
.chat_ratings_hero_icon{ color:#f5b301; }
.chat_rating_picker{ justify-content:center; padding:10px 0 4px; }
.chat_rating_pick{ color:rgba(140,140,140,.35); opacity:1; cursor:pointer; transition:transform .12s ease, color .12s ease, text-shadow .12s ease; }
.chat_rating_pick.active{ color:#f5b301; text-shadow:0 2px 8px rgba(245,179,1,.28); }
.chat_rating_pick:hover{ transform:scale(1.12); }
.chat_rating_selected{ text-align:center; margin:6px 0 0; }
.chat_rating_score i{ margin-right:2px; }
.chat_rating_score i.filled{ color:#f5b301; }
.chat_rating_score i.empty{ color:rgba(140,140,140,.35); }
.chat_rating_card{ border:1px solid rgba(245,179,1,.12); }
.chat_ratings_stat b{ color:#f5b301; }

/* compact chat ratings panel switching */
.chat_ratings_compact_head{ display:flex; align-items:center; gap:12px; padding:13px; margin-bottom:10px; }
.chat_ratings_head_icon{ width:42px; height:42px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:rgba(245,179,1,.14); color:#f5b301; font-size:21px; flex:0 0 auto; }
.chat_ratings_head_text{ flex:1; min-width:0; }
.chat_ratings_head_text .chat_ratings_title{ font-size:17px; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chat_ratings_tabs{ display:flex; gap:6px; align-items:center; padding:5px; margin-bottom:12px; border-radius:14px; background:rgba(120,120,120,.08); }
.chat_ratings_tab{ flex:1; min-width:0; border:0; border-radius:11px; padding:9px 6px; cursor:pointer; background:transparent; color:inherit; font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center; gap:5px; transition:background .15s ease, transform .15s ease, box-shadow .15s ease; }
.chat_ratings_tab:hover{ background:rgba(120,120,120,.14); transform:translateY(-1px); }
.chat_ratings_tab.active{ background:rgba(245,179,1,.16); color:#f5b301; box-shadow:0 4px 12px rgba(0,0,0,.12); }
.chat_ratings_tab_zone{ animation:chatRatingsFade .16s ease; }
@keyframes chatRatingsFade{ from{ opacity:.55; transform:translateY(4px); } to{ opacity:1; transform:translateY(0); } }
.chat_ratings_info{ padding:12px; line-height:1.4; }
.chat_ratings_stats{ gap:8px; margin-bottom:10px; }
.chat_ratings_stat{ padding:11px 8px; }
.chat_ratings_stat b{ font-size:20px; color:#f5b301; }
.chat_ratings_form{ padding:12px; }
.chat_rating_textarea{ min-height:82px; resize:vertical; }
.chat_rating_picker{ font-size:25px; gap:6px; }
.chat_ratings_section_title{ margin:0 0 8px; }
.chat_rating_card{ padding:10px; margin-bottom:8px; }
.chat_rating_avatar img{ width:38px; height:38px; }
.chat_rating_comment{ margin-top:8px; font-size:13px; line-height:1.4; }
@media screen and (max-width:420px){
	.chat_ratings_tabs{ overflow-x:auto; justify-content:flex-start; }
	.chat_ratings_tab{ flex:0 0 auto; padding:9px 10px; }
}

/* 28 day daily login reward calendar */
.daily_login_calendar_modal { max-height: 74vh; overflow-y: auto; }
.daily_login_summary { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin-bottom:14px; }
.daily_login_stat { text-align:center; border-radius:16px; padding:12px 8px; background:rgba(0,0,0,.16); border:1px solid rgba(255,255,255,.06); }
.daily_login_stat_num { font-size:24px; line-height:1; font-weight:800; }
.daily_login_stat_text { margin-top:5px; font-size:11px; text-transform:uppercase; letter-spacing:.6px; opacity:.7; }
.daily_login_calendar { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.daily_login_day { min-height:154px; border-radius:16px; padding:10px; background:rgba(0,0,0,.14); border:1px solid rgba(255,255,255,.06); position:relative; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.daily_login_day:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.18); }
.daily_login_day_top { display:flex; align-items:center; justify-content:space-between; gap:6px; font-weight:800; font-size:12px; margin-bottom:2px; position:relative; z-index:2; }
.daily_login_day_mark { width:24px; height:24px; min-width:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.20); }
.daily_login_day_art { width:74px; height:74px; margin:0 auto 4px; display:flex; align-items:center; justify-content:center; position:relative; }
.daily_login_day_art img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 7px 10px rgba(0,0,0,.24)); }
.daily_login_day_reward { min-height:34px; display:flex; flex-direction:column; justify-content:center; text-align:center; font-size:12px; line-height:1.35; opacity:.94; position:relative; z-index:2; }
.daily_login_claimed { background:linear-gradient(135deg, rgba(67,183,0,.18), rgba(67,183,0,.06)); border-color:rgba(67,183,0,.28); }
.daily_login_claimed .daily_login_day_mark { background:#43b700; color:#fff; }
.daily_login_claimed .daily_login_day_art img { filter:drop-shadow(0 7px 10px rgba(0,0,0,.20)) saturate(.82); }
.daily_login_ready { background:linear-gradient(135deg, rgba(255,98,77,.22), rgba(255,98,77,.06)); border-color:rgba(255,98,77,.32); box-shadow:0 0 0 1px rgba(255,98,77,.12) inset; }
.daily_login_ready .daily_login_day_mark { color:#fff; background:var(--main-color, #ff624d); }
.daily_login_ready .daily_login_day_art { animation:dailyRewardReadyPulse 1.7s ease-in-out infinite; }
.daily_login_ready .daily_login_day_art img { filter:drop-shadow(0 0 12px rgba(255,98,77,.42)) drop-shadow(0 8px 10px rgba(0,0,0,.24)); }
.daily_login_future { opacity:.82; }
.daily_login_future .daily_login_day_mark { opacity:.45; }
.daily_login_future .daily_login_day_art img { opacity:.78; filter:drop-shadow(0 6px 9px rgba(0,0,0,.20)) saturate(.74); }
@keyframes dailyRewardReadyPulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.07);} }
.daily_gold { color:#e9ae22; font-weight:700; }
.daily_ruby { color:#d85aff; font-weight:700; }
@media screen and (max-width:480px){
	.daily_login_summary { grid-template-columns:1fr; }
	.daily_login_calendar { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
	.daily_login_day { min-height:146px; padding:9px; }
	.daily_login_day_art { width:68px; height:68px; }
	.daily_login_day_reward { font-size:11px; min-height:32px; }
}

/* Client-side @mention autocomplete */
.uw_mention_box {
	position: absolute;
	z-index: 99999;
	max-height: 255px;
	overflow-y: auto;
	border-radius: 12px;
	box-shadow: 0 8px 28px rgba(0,0,0,.22);
	padding: 6px;
}
.uw_mention_box.hidden {
	display: none;
}
.uw_mention_item {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 8px;
	border-radius: 10px;
	cursor: pointer;
}
.uw_mention_item:hover,
.uw_mention_item.active {
	background: rgba(120,120,120,.16);
}
.uw_mention_avatar {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 34px;
}
.uw_mention_text {
	min-width: 0;
	line-height: 1.1;
}
.uw_mention_text span {
	display: block;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.uw_mention_text small {
	display: block;
	opacity: .65;
	font-size: 11px;
	margin-top: 3px;
}

/* Pinned news marker */
.news_pinned {
	position: relative;
}
.news_pin_label {
	margin-top: 2px;
	font-weight: 700;
}
.news_pin_label i {
	margin-right: 4px;
}


/* Anonymous room module */
.anonymous_room_tag { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; font-size:11px; }
.anonymous_chat_avatar, .anonymous_user_item { cursor:default !important; }
.anonymous_chat_avatar img, .anonymous_user_item img { filter:grayscale(0.15); }
.admin_room_badge { display:inline-flex; align-items:center; gap:4px; margin-left:6px; padding:1px 6px; border-radius:10px; font-size:10px; font-weight:normal; }

/* New user welcome guide */
.welcome_guide_box { overflow:hidden; border-radius:16px; cursor:default; }
.welcome_guide_head { display:flex; align-items:center; gap:12px; padding:16px 18px; border-bottom:1px solid rgba(120,120,120,.16); }
.welcome_guide_badge { flex:0 0 44px; width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:20px; background:rgba(120,120,120,.14); }
.welcome_guide_head_text { flex:1; min-width:0; }
.welcome_guide_title { font-size:18px; font-weight:800; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.welcome_guide_progress { height:4px; width:100%; background:rgba(120,120,120,.14); }
.welcome_guide_progress_fill { height:100%; width:0; transition:width .2s ease; background:var(--main-color, #38bdf8); }
.welcome_guide_steps { padding:20px 18px 8px; min-height:360px; }
.welcome_guide_step { text-align:center; }
.welcome_guide_icon { width:68px; height:68px; margin:0 auto 10px; border-radius:22px; display:flex; align-items:center; justify-content:center; font-size:30px; background:linear-gradient(135deg, rgba(120,120,120,.18), rgba(120,120,120,.06)); }
.welcome_guide_step_count { display:inline-block; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:700; background:rgba(120,120,120,.12); margin-bottom:8px; }
.welcome_guide_step h3 { margin:0 0 8px; font-size:20px; }
.welcome_guide_text { margin:0 auto 14px; max-width:470px; line-height:1.45; }
.welcome_guide_list { display:grid; gap:8px; text-align:left; }
.welcome_guide_item { display:flex; align-items:flex-start; gap:9px; padding:10px 12px; border-radius:12px; background:rgba(120,120,120,.08); }
.welcome_guide_item i { flex:0 0 auto; margin-top:2px; color:var(--main-color, #38bdf8); }
.welcome_guide_item span { line-height:1.35; }
.welcome_guide_actions { display:grid; grid-template-columns:1fr; gap:9px; padding:14px 18px 18px; border-top:1px solid rgba(120,120,120,.12); }
.welcome_guide_nav_buttons { display:grid; grid-template-columns:1fr 1fr; gap:9px; width:100%; }
.welcome_guide_actions button { width:100%; min-height:42px !important; height:42px !important; padding:0 14px !important; border-radius:10px !important; font-size:14px !important; font-weight:700 !important; line-height:42px !important; text-align:center !important; }
.welcome_guide_actions .welcome_finish_btn { grid-column:2; }
.welcome_skip_btn { background:rgba(120,120,120,.12) !important; border:1px solid rgba(120,120,120,.18) !important; color:inherit !important; }
.welcome_back_btn:disabled { opacity:.45; cursor:not-allowed; }
@media screen and (max-width:480px){
	.welcome_guide_head { padding:14px 14px; }
	.welcome_guide_steps { min-height:390px; padding:18px 14px 8px; }
	.welcome_guide_actions { padding:12px 14px 16px; }
	.welcome_guide_actions button { min-height:40px !important; height:40px !important; line-height:40px !important; font-size:13px !important; }
}





/* Compact referral field on registration/login modal */
.login_referral_wrap{ padding-bottom:8px !important; }
.login_referral_toggle{ min-height:38px !important; height:38px !important; padding:0 12px !important; border-radius:10px !important; font-size:13px !important; font-weight:700; text-transform:none !important; letter-spacing:0 !important; display:flex; align-items:center; justify-content:center; gap:7px; }
.login_referral_input{ height:38px !important; border-radius:10px !important; text-align:center; font-weight:700; letter-spacing:.04em; }
#referral_code_holder{ margin-top:8px !important; }

/* CSS strict fix: low-load media and motion safety */
.post_video video,
.post_audio audio,
.pm_media_tile video,
.pm_media_tile audio,
.admin_media_preview video,
.admin_media_preview iframe,
.boom_embed_video iframe,
.boom_embed_video video {
	max-width: 100%;
	height: auto;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}


/* BEAUTIFUL SMOOTH UI PACK - safe global polish */
:root {
	--smooth-radius-xs: 8px;
	--smooth-radius-sm: 12px;
	--smooth-radius-md: 16px;
	--smooth-radius-lg: 22px;
	--smooth-shadow-soft: 0 8px 22px rgba(0,0,0,.12);
	--smooth-shadow-card: 0 12px 34px rgba(0,0,0,.16);
	--smooth-border: rgba(148,163,184,.18);
	--smooth-surface: rgba(148,163,184,.08);
	--smooth-surface-hover: rgba(148,163,184,.14);
	--smooth-accent: var(--main-color, #38bdf8);
}
html { scroll-behavior:smooth; }
body { text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
::selection { background:rgba(56,189,248,.28); color:inherit; }

/* smoother interactive feel without heavy animation */
a,
button,
.button,
.tbutton,
.small_button,
.reg_button,
.mod_button,
.modr_button,
.thin_button,
.large_button,
.card_button,
.main_post_item,
.private_opt,
.user_item,
.ulist_item,
.sub_list_item,
.submenu_item,
.fmenu_item,
.modal_menu_item,
.tab_menu_item,
.action_item,
.ppitem,
.pm_forward_row,
.pm_media_tile {
	transition:background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease, opacity .16s ease;
}

/* modern buttons */
.button,
.tbutton,
.small_button,
.reg_button,
.mod_button,
.modr_button,
.thin_button,
.large_button,
.large_button_rounded,
.small_button_rounded,
.card_button,
.panel_full_btn,
.pagload,
.paglist,
.pagarrow {
	border-radius:var(--smooth-radius-sm) !important;
	box-shadow:0 4px 12px rgba(0,0,0,.10);
	font-weight:700;
	letter-spacing:.01em;
}
.button:hover,
.tbutton:hover,
.small_button:hover,
.reg_button:hover,
.mod_button:hover,
.modr_button:hover,
.thin_button:hover,
.large_button:hover,
.card_button:hover,
.panel_full_btn:hover,
.pagload:hover,
.paglist:hover,
.pagarrow:hover {
	transform:translateY(-1px);
	box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.button:active,
.tbutton:active,
.small_button:active,
.reg_button:active,
.mod_button:active,
.modr_button:active,
.thin_button:active,
.large_button:active,
.card_button:active,
.panel_full_btn:active {
	transform:translateY(0) scale(.985);
}

/* inputs: cleaner and softer */
input,
textarea,
select,
.selectboxit-container .selectboxit,
.input_wrap,
.post_input_container {
	border-radius:var(--smooth-radius-sm) !important;
}
input:focus,
textarea:focus,
select:focus,
.post_input_container:focus-within,
.input_wrap:focus-within {
	box-shadow:0 0 0 3px rgba(56,189,248,.14) !important;
	border-color:rgba(56,189,248,.45) !important;
}

/* soft cards and panels */
.page_element,
.back_box,
.back_modal,
.back_quote,
.pboxed,
.float_menu,
.sub_menu,
.fmenu,
.page_menu_wrapper,
.chat_side_panel,
#private_box,
#side_menu,
.room_listing,
.reply_item,
.switch_item,
.listing_element,
.listing_half_element,
.setting_element,
.tab_menu,
.panel_bar_item {
	border-radius:var(--smooth-radius-md) !important;
	border-color:var(--smooth-border) !important;
	box-shadow:var(--smooth-shadow-soft);
}
.page_element:hover,
.back_box:hover,
.pboxed:hover,
.room_listing:hover,
.switch_item:hover,
.reply_item:hover {
	box-shadow:var(--smooth-shadow-card);
}

/* modal glow and spacing */
.modal_in,
.small_modal_in,
.large_modal_in,
.over_modal_in,
.over_emodal_in {
	border-radius:var(--smooth-radius-lg) !important;
	overflow:hidden;
	box-shadow:0 24px 70px rgba(0,0,0,.34) !important;
	animation:smoothModalIn .18s ease-out both;
}
.modal_top,
.pro_top {
	border-radius:var(--smooth-radius-lg) var(--smooth-radius-lg) 0 0 !important;
}
@keyframes smoothModalIn {
	from { opacity:0; transform:translateY(8px) scale(.985); }
	to { opacity:1; transform:translateY(0) scale(1); }
}

/* side/menu item polish */
.user_item,
.ulist_item,
.sub_list_item,
.fmenu_item,
.submenu_item,
.modal_menu_item,
.tab_menu_item,
.action_item,
.avitem {
	border-radius:var(--smooth-radius-sm) !important;
}
.user_item:hover,
.ulist_item:hover,
.sub_list_item:hover,
.fmenu_item:hover,
.submenu_item:hover,
.modal_menu_item:hover,
.tab_menu_item:hover,
.action_item:hover,
.avitem:hover {
	background:var(--smooth-surface-hover) !important;
	transform:translateX(2px);
}
.user_item_avatar .acav,
.ulist_avatar img,
.sub_list_avatar img,
.cavatar,
.avatar_private,
#private_av,
#dpriv_av,
.reply_avatar img {
	box-shadow:0 3px 10px rgba(0,0,0,.18);
	border:2px solid rgba(255,255,255,.08);
}
.list_status {
	box-shadow:0 0 0 2px rgba(0,0,0,.22);
}

/* main chat: cleaner readable cards */
.ch_logs,
.other_logs,
.sys_log {
	border-radius:var(--smooth-radius-sm);
	margin:2px 6px;
	width:calc(100% - 12px);
}
.ch_logs:hover {
	background:var(--smooth-surface) !important;
}
.chat_message,
.post_content {
	line-height:1.48em;
}
.chat_image,
.sticker_chat,
.custom_chat,
.private_logs .chat_image,
.private_logs .sticker_chat {
	border-radius:var(--smooth-radius-sm) !important;
	box-shadow:0 6px 18px rgba(0,0,0,.14);
}

/* Preserve every existing username color/effect; only soften name-tag corners. */
.username {
	border-radius:6px;
}

/* private messages: modern bubble shape */
.hunter_private,
.target_private,
.hunt_quote,
.targ_quote {
	border-radius:18px !important;
	padding:10px 12px !important;
	box-shadow:0 5px 16px rgba(0,0,0,.12);
	max-width:min(74vw, 300px) !important;
}
.hunter_private,
.hunt_quote {
	border-bottom-left-radius:7px !important;
}
.target_private,
.targ_quote {
	border-bottom-right-radius:7px !important;
}
.pm_bubble_wrap,
.pm_bubble_wrap .hunter_private,
.pm_bubble_wrap .target_private {
	max-width:min(74vw, 300px) !important;
}
.prdate {
	opacity:.68;
}
.ppitem {
	border-radius:50%;
}
.ppitem:hover {
	background:rgba(148,163,184,.14);
	transform:translateY(-1px);
}

/* chat input/footer controls */
#message_form,
#private_input,
#private_disabled,
#private_load,
.main_post_control {
	border-radius:var(--smooth-radius-md);
}
.main_post_item,
#file_private,
.private_opt {
	border-radius:var(--smooth-radius-sm);
}
.main_post_item:hover,
#file_private:hover,
.private_opt:hover {
	background:var(--smooth-surface-hover);
	transform:translateY(-1px);
}
#private_send {
	border-radius:var(--smooth-radius-sm) !important;
}

/* profile, rating and relationship panels */
.profile_rating_box,
.profile_locked_card,
.relationship_item,
.proitem,
.info_item,
.profile_color_preview,
.pm_forward_box,
.pm_media_box,
.welcome_guide_box {
	border-radius:var(--smooth-radius-md) !important;
	box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.proitem:hover,
.info_item:hover,
.relationship_item:hover {
	background:var(--smooth-surface) !important;
}

/* shared media: prettier WhatsApp-style grid */
.pm_media_box {
	padding:12px !important;
}
.pm_media_grid {
	gap:8px !important;
	padding:2px 4px 2px 2px;
}
.pm_media_tile {
	border-radius:14px !important;
	box-shadow:0 8px 20px rgba(0,0,0,.16);
	border:1px solid rgba(255,255,255,.09) !important;
}
.pm_media_tile::after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, transparent 55%, rgba(0,0,0,.22));
	pointer-events:none;
	opacity:.65;
}
.pm_media_tile:hover {
	transform:translateY(-2px) scale(1.015);
	box-shadow:0 12px 26px rgba(0,0,0,.24);
}
.pm_media_type_icon {
	z-index:2;
	box-shadow:0 8px 20px rgba(0,0,0,.24);
}

/* forwarding list */
.pm_forward_row {
	border:1px solid transparent;
}
.pm_forward_row:hover {
	background:var(--smooth-surface-hover) !important;
	border-color:var(--smooth-border);
	transform:translateY(-1px);
}
.pm_forward_pick input {
	accent-color:var(--smooth-accent);
}

/* welcome guide: premium but clean */
.welcome_guide_head {
	background:linear-gradient(135deg, rgba(56,189,248,.12), rgba(168,85,247,.10));
}
.welcome_guide_icon,
.welcome_guide_badge {
	box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px rgba(0,0,0,.12);
}
.welcome_guide_item {
	border:1px solid rgba(148,163,184,.14);
}

/* login/register referral and form polish */
.login_referral_toggle,
.login_referral_input,
#referral_code_holder input,
.reg_menu_item {
	border-radius:var(--smooth-radius-sm) !important;
}
.reg_menu_item:hover {
	background:var(--smooth-surface-hover) !important;
}

/* smooth scrollbars, low visual noise */
* {
	scrollbar-width:thin;
	scrollbar-color:rgba(148,163,184,.45) transparent;
}
*::-webkit-scrollbar { width:8px; height:8px; }
*::-webkit-scrollbar-track { background:transparent; }
*::-webkit-scrollbar-thumb { background:rgba(148,163,184,.38); border-radius:20px; border:2px solid transparent; background-clip:padding-box; }
*::-webkit-scrollbar-thumb:hover { background:rgba(148,163,184,.58); border:2px solid transparent; background-clip:padding-box; }

/* keep embedded media beautiful but low-load */
.post_video video,
.post_audio audio,
.pm_media_tile video,
.pm_media_tile audio,
.admin_media_preview video,
.admin_media_preview iframe,
.boom_embed_video iframe,
.boom_embed_video video,
iframe[src*="youtube"],
iframe[src*="spotify"] {
	border-radius:var(--smooth-radius-sm) !important;
	box-shadow:0 8px 22px rgba(0,0,0,.16);
}

@media screen and (max-width:700px) {
	.page_element { padding:14px !important; }
	.ch_logs,
	.other_logs,
	.sys_log { margin-left:4px; margin-right:4px; width:calc(100% - 8px); }
	.hunter_private,
	.target_private,
	.hunt_quote,
	.targ_quote,
	.pm_bubble_wrap,
	.pm_bubble_wrap .hunter_private,
	.pm_bubble_wrap .target_private { max-width:78vw !important; }
	.button,
	.tbutton,
	.small_button,
	.reg_button,
	.mod_button,
	.modr_button,
	.thin_button,
	.card_button { min-height:38px; }
}

@media (prefers-reduced-motion: reduce) {
	a,
	button,
	.button,
	.tbutton,
	.small_button,
	.reg_button,
	.mod_button,
	.modr_button,
	.thin_button,
	.large_button,
	.card_button,
	.user_item,
	.ulist_item,
	.sub_list_item,
	.submenu_item,
	.fmenu_item,
	.modal_menu_item,
	.tab_menu_item,
	.action_item,
	.ppitem,
	.pm_forward_row,
	.pm_media_tile,
	.modal_in,
	.small_modal_in,
	.large_modal_in,
	.over_modal_in,
	.over_emodal_in {
		transition:none !important;
		animation:none !important;
	}
}


/* private typing box: keep it calm, no glow while typing/focused */
#priv_input.input_wrap:focus-within,
#private_input:focus-within,
#message_form:focus-within,
#private_input_box:focus-within,
#message_content:focus,
#message_content:active {
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
	outline:none !important;
}
#message_content:focus {
	border-color:transparent !important;
}

/* END BEAUTIFUL SMOOTH UI PACK */

/* main chat typing box: keep it calm, no glow while typing/focused */
#container_input:focus-within,
#main_input:focus-within,
#main_input_box:focus-within,
.chat_input_container:focus-within,
#content:focus,
#content:active {
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
	outline:none !important;
	filter:none !important;
}
#content:focus,
#content:active {
	border-color:transparent !important;
}

/* main chat footer/input wrapper: no glow when typing box is focused */
#top_chat_container:focus,
#top_chat_container:active,
#top_chat_container:focus-within,
#top_chat_container.input_wrap:focus-within,
#top_chat_container.back_input:focus-within,
#top_chat_container .input_table:focus-within,
#top_chat_container .td_input:focus-within,
#container_input:focus,
#container_input:active,
#container_input:focus-within,
#main_input:focus,
#main_input:active,
#main_input:focus-within,
#main_input_box:focus,
#main_input_box:active,
#main_input_box:focus-within,
#inputt_right:focus,
#inputt_right:active,
#inputt_right:focus-within,
#content:focus,
#content:active,
#content:focus-visible,
#content:focus-within {
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
	outline:none !important;
	filter:none !important;
	text-shadow:none !important;
}
#top_chat_container:focus-within,
#top_chat_container.input_wrap:focus-within,
#top_chat_container.back_input:focus-within,
#content:focus,
#content:active,
#content:focus-visible {
	border-color:transparent !important;
}
#submit_button:focus,
#submit_button:active,
#emo_item:focus,
#emo_item:active,
#ok_sub_item:focus,
#ok_sub_item:active {
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
	outline:none !important;
	filter:none !important;
}

/* Keep self-mention highlight inline inside chat text */
.chat_message .my_notice {
	display:inline !important;
	padding:0 4px !important;
	margin:0 !important;
	line-height:inherit !important;
	border-radius:4px !important;
	vertical-align:baseline !important;
	font-weight:inherit !important;
	text-align:inherit !important;
	box-shadow:none !important;
}

/* Custom sound marketplace */
.custom_sound_modal{padding-bottom:14px;}
.custom_sound_section{margin-top:0;padding-top:0;}
.custom_sound_section+.custom_sound_section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(127,127,127,.18);}
.custom_sound_section_head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.custom_sound_pref_table{overflow:hidden;border:1px solid rgba(127,127,127,.18);border-radius:12px;}
.custom_sound_pref_header,.custom_sound_pref_row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(210px,1fr) 72px;align-items:center;gap:12px;}
.custom_sound_pref_header{padding:8px 12px;background:rgba(127,127,127,.08);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.72;}
.custom_sound_pref_header span:last-child{text-align:center;}
.custom_sound_pref_row{min-height:66px;padding:9px 12px;border-top:1px solid rgba(127,127,127,.14);transition:background-color .18s ease;}
.custom_sound_pref_row:first-of-type{border-top:0;}
.custom_sound_pref_row:hover{background:rgba(127,127,127,.055);}
.custom_sound_pref_event{display:flex;align-items:center;gap:10px;min-width:0;}
.custom_sound_pref_icon{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:11px;background:rgba(127,127,127,.11);font-size:14px;}
.custom_sound_pref_copy{min-width:0;}
.custom_sound_pref_copy p{margin:0;}
.custom_sound_pref_copy .sub_text{margin-top:2px;line-height:1.35;}
.custom_sound_pref_choice{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:7px;min-width:0;}
.custom_sound_pref_choice select{width:100%;min-width:0;}
.custom_sound_pref_choice.custom_sound_system_only{display:flex;min-height:38px;align-items:center;}
.custom_sound_slot_preview{display:grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0;border-radius:10px;}
.custom_sound_slot_preview.is_playing{box-shadow:0 0 0 3px rgba(127,127,127,.16);}
.custom_sound_pref_switch{display:flex;align-items:center;justify-content:center;}
.custom_sound_unique_note{display:flex;align-items:flex-start;gap:6px;margin-top:9px;line-height:1.45;}
.custom_sound_slot_reset{animation:customSoundReset .75s ease;}
@keyframes customSoundReset{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 3px rgba(226,91,91,.22)}}
.custom_sound_library_header{display:grid;grid-template-columns:48px minmax(0,1fr) 92px;align-items:center;gap:10px;padding:7px 10px;border:1px solid rgba(127,127,127,.18);border-bottom:0;border-radius:12px 12px 0 0;background:rgba(127,127,127,.08);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.72;}
.custom_sound_library_header span:first-child{text-align:center;}
.custom_sound_library_header span:last-child{text-align:right;}
.custom_sound_grid{display:flex;flex-direction:column;gap:0;overflow:hidden;border-radius:0 0 12px 12px;}
.custom_sound_card{display:grid;grid-template-columns:48px minmax(0,1fr) 92px;align-items:center;gap:10px;min-width:0;padding:9px 10px;border-radius:0!important;border-bottom:0!important;}
.custom_sound_card:last-child{border-radius:0 0 12px 12px!important;}
.custom_sound_play,.custom_sound_admin_play{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border-radius:11px;font-size:15px;transition:transform .18s ease,box-shadow .18s ease;}
.custom_sound_play:hover,.custom_sound_admin_play:hover{transform:scale(1.04);}
.custom_sound_play.is_playing,.custom_sound_admin_play.is_playing,.custom_sound_edit_play.is_playing{box-shadow:0 0 0 3px rgba(127,127,127,.16);}
.custom_sound_card_text{min-width:0;}
.custom_sound_price{min-height:20px;display:flex;align-items:center;font-size:12px;}
.custom_sound_card_action{display:flex;align-items:center;justify-content:flex-end;min-width:74px;}
.custom_sound_owned{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;white-space:nowrap;}
.custom_sound_admin_thumb{display:flex;align-items:center;justify-content:center;overflow:visible;}
.custom_sound_admin_play{width:40px;height:40px;min-width:40px;padding:0;}
.custom_sound_edit_preview{display:flex;justify-content:center;padding:6px 0 16px;}
.custom_sound_edit_play{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;}
@media screen and (max-width:640px){
	.custom_sound_pref_header{display:none;}
	.custom_sound_pref_row{grid-template-columns:minmax(0,1fr) auto;gap:9px 10px;min-height:0;padding:12px;}
	.custom_sound_pref_event{grid-column:1/2;}
	.custom_sound_pref_switch{grid-column:2/3;grid-row:1/2;align-self:center;}
	.custom_sound_pref_choice{grid-column:1/3;grid-row:2/3;grid-template-columns:minmax(0,1fr) 42px;}
	.custom_sound_slot_preview{width:42px;height:42px;min-width:42px;}
	.custom_sound_pref_icon{width:40px;height:40px;min-width:40px;}
	.custom_sound_library_header{display:none;}
	.custom_sound_grid{border-radius:12px;}
	.custom_sound_card{grid-template-columns:46px minmax(0,1fr) auto;padding:10px;border-bottom:1px solid rgba(127,127,127,.14)!important;}
	.custom_sound_card:first-child{border-radius:12px 12px 0 0!important;}
	.custom_sound_card:last-child{border-radius:0 0 12px 12px!important;border-bottom:0!important;}
	.custom_sound_play{width:42px;height:42px;min-width:42px;}
	.custom_sound_card_action .small_button{min-height:40px;padding-left:12px;padding-right:12px;}
}

/* Profile friend sections */
.profile_friend_sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.profile_friend_section_btn{display:flex;align-items:center;gap:11px;width:100%;min-width:0;padding:12px 13px;border:1px solid transparent;border-radius:12px;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.profile_friend_section_btn:hover{transform:translateY(-1px)}
.profile_friend_section_btn.is_active{border-color:rgba(127,127,127,.28);background:rgba(127,127,127,.12)}
.profile_friend_section_icon{display:grid;place-items:center;width:39px;height:39px;min-width:39px;border-radius:11px;background:rgba(127,127,127,.12);font-size:15px}
.profile_friend_section_copy{display:flex;flex-direction:column;min-width:0}
.profile_friend_section_count{font-size:18px;line-height:1;font-weight:800}
.profile_friend_section_label{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;opacity:.72}
.profile_friend_view .user_square_elem,.mutual_friend_grid .user_square_elem{margin-bottom:8px}
.mutual_friend_summary{margin:0 0 14px;padding:12px 14px;border-radius:12px}
.mutual_friend_summary_icon{width:42px;padding-right:10px;font-size:19px;text-align:center;opacity:.82}
@media screen and (max-width:640px){
	.profile_friend_sections{gap:8px;margin-bottom:12px}
	.profile_friend_section_btn{gap:9px;padding:10px}
	.profile_friend_section_icon{width:35px;height:35px;min-width:35px;border-radius:10px}
	.profile_friend_section_count{font-size:16px}
	.profile_friend_view .user_square_elem,.mutual_friend_grid .user_square_elem{width:calc(33.333% - 8px)}
	.mutual_friend_summary{padding:11px 12px}
}


/* Staff list panel */
.staff_list_panel #container_staff{padding:10px}
.staff_panel_head{display:flex;align-items:center;gap:10px;margin-bottom:9px;padding:11px 12px;min-width:0}
.staff_panel_icon{display:grid;place-items:center;width:40px;height:40px;min-width:40px;border-radius:12px;background:rgba(127,127,127,.11);font-size:17px}
.staff_panel_copy{min-width:0;flex:1}
.staff_panel_title,.staff_panel_subtitle{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.staff_panel_title{font-size:14px;font-weight:800}
.staff_panel_subtitle{margin-top:2px;font-size:11px}
.staff_panel_metrics{display:flex;align-items:center;gap:5px}
.staff_metric{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:0 8px;border-radius:999px;background:rgba(127,127,127,.09);font-size:11px;font-weight:800}
.staff_metric i{font-size:7px;opacity:.55}
.staff_metric_online i,.staff_rank_online i{color:#35c982;opacity:1}
.staff_rank_card{margin-bottom:9px;overflow:hidden;border:1px solid rgba(127,127,127,.16);border-radius:13px;background:rgba(127,127,127,.035)}
.staff_rank_card:last-child{margin-bottom:0}
.staff_rank_header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:8px 10px;border-bottom:1px solid rgba(127,127,127,.13);background:rgba(127,127,127,.055)}
.staff_rank_identity{display:flex;align-items:center;gap:8px;min-width:0}
.staff_rank_badge{display:grid;place-items:center;width:28px;height:28px;min-width:28px;border-radius:9px;background:rgba(127,127,127,.1)}
.staff_rank_icon{max-width:19px;max-height:19px}
.staff_rank_name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.staff_rank_summary{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.staff_rank_online,.staff_rank_total{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:25px;height:25px;padding:0 7px;border-radius:999px;font-size:10px;font-weight:800}
.staff_rank_online{background:rgba(53,201,130,.12);color:#35c982}
.staff_rank_online i{font-size:6px}
.staff_rank_total{background:rgba(127,127,127,.1)}
.staff_rank_body{padding:5px}
.staff_presence_label{display:flex;align-items:center;gap:6px;padding:6px 7px 4px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.58}
.staff_presence_label span{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45}
.staff_presence_online{color:#35c982;opacity:.9}
.staff_presence_online span{opacity:1}
.staff_user_group .user_item{margin:1px 0;padding:6px 7px}
.staff_user_group .user_item:hover{transform:none}
.staff_user_group .user_item_avatar{width:40px}
.staff_user_group .user_item_avatar .acav{width:40px;height:40px}
.staff_offline_users .user_item{opacity:.72}
.staff_offline_users .user_item:hover{opacity:1}
@media screen and (max-width:420px){
	.staff_panel_head{padding:10px}
	.staff_panel_icon{width:38px;height:38px;min-width:38px}
	.staff_metric{padding:0 7px}
	.staff_rank_header{padding:8px}
}


/* kick and ban appeal */
.restriction_appeal { text-align:left; padding:14px; border-radius:12px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.08); }
.restriction_appeal_head { display:flex; align-items:center; gap:11px; margin-bottom:10px; }
.restriction_appeal_icon { flex:0 0 38px; width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); color:var(--theme_color, currentColor); font-size:17px; }
.restriction_appeal_title { min-width:0; flex:1; }
.appeal_textarea { min-height:122px; line-height:1.45; resize:vertical; }
.appeal_meta { display:flex; justify-content:space-between; gap:10px; padding-top:7px; font-size:11px; opacity:.65; }
.full_button { width:100%; }
.appeal_status_card { display:flex; gap:11px; align-items:flex-start; padding:13px; border-radius:10px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); }
.appeal_status_icon { flex:0 0 34px; width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); }
.appeal_status_body { min-width:0; flex:1; }
.appeal_status_line { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:5px; }
.appeal_review_note { margin-top:9px; padding-top:9px; border-top:1px solid rgba(255,255,255,.08); overflow-wrap:anywhere; }
.appeal_pending .appeal_status_icon { color:#f0b94a; }
.appeal_approved .appeal_status_icon { color:#42c98b; }
.appeal_rejected .appeal_status_icon { color:#ef6b73; }
.appeal_closed .appeal_status_icon { opacity:.7; }
.appeal_menu_section + .appeal_menu_section { border-top:1px solid rgba(255,255,255,.08); }
.appeal_menu_label { display:flex; align-items:center; gap:8px; padding:10px 12px 7px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; opacity:.72; }
.appeal_menu_label i { width:16px; text-align:center; }
.appeal_menu_count { margin-left:auto; min-width:21px; height:21px; padding:0 6px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.09); font-size:10px; }
.appeal_notify_avatar { position:relative; }
.appeal_type_badge { position:absolute; right:-2px; bottom:-2px; width:19px; height:19px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--theme_color, #6f66ff); color:#fff; border:2px solid rgba(15,15,18,.92); font-size:8px; }
.appeal_notify_preview { line-height:1.35; overflow-wrap:anywhere; }
.appeal_review_modal .report_user { align-items:center; }
.appeal_active_state { margin-left:auto; padding:5px 9px; border-radius:12px; font-size:10px; font-weight:700; text-transform:uppercase; }
.appeal_active_state.active { color:#42c98b; background:rgba(66,201,139,.12); }
.appeal_active_state.ended { color:#999; background:rgba(255,255,255,.07); }
.appeal_review_grid { display:grid; gap:10px; margin:12px 0 4px; }
.appeal_review_block { padding:12px; border-radius:9px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); overflow-wrap:anywhere; }
.appeal_user_statement { border-left:3px solid var(--theme_color, #6f66ff); }
.appeal_review_block .sub_text { margin-bottom:6px; }
.appeal_review_controls { display:flex; flex-wrap:wrap; gap:7px; }
@media screen and (max-width:520px){
	.out_page_box { width:min(94%, 520px); }
	.restriction_appeal { padding:12px; }
	.appeal_textarea { min-height:138px; font-size:14px; }
	.appeal_status_line { align-items:flex-start; flex-direction:column; gap:2px; }
	.appeal_review_controls .reg_button { min-height:44px; flex:1 1 calc(50% - 7px); }
}

.appeal_out_page { min-height:100%; height:auto; padding:20px 0; box-sizing:border-box; }
.appeal_out_page .out_page_content { vertical-align:middle; }

/* Viewer-wide font display */
.ui_font_settings { padding-bottom: 4px; }
.ui_font_preview {
	position: relative; overflow: hidden; min-height: 174px; margin-bottom: 14px; border-radius: 14px;
	border: 1px solid rgba(127,127,127,.22); background: var(--back_chat, rgba(127,127,127,.08));
	font-family: var(--font-preview-family) !important;
}
.ui_font_preview_head { display:flex; align-items:center; gap:9px; padding:11px 13px; border-bottom:1px solid rgba(127,127,127,.18); background:var(--chat-header-bg, rgba(127,127,127,.08)); }
.ui_font_preview_head img { width:34px; height:34px; border-radius:50%; object-fit:cover; }
.ui_font_preview_head div { min-width:0; display:flex; flex-direction:column; line-height:1.15; }
.ui_font_preview_head b,
.ui_font_preview_head small,
.ui_font_preview_chat span,
.ui_font_preview_placeholder { font-family:var(--font-preview-family) !important; }
.ui_font_preview_head b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ui_font_preview_head small { opacity:.58; font-size:.72em; margin-top:3px; }
.ui_font_preview_chat { padding:16px 14px; display:flex; align-items:flex-start; min-height:63px; }
.ui_font_preview_chat span { display:inline-block; max-width:84%; padding:9px 11px; border-radius:5px 13px 13px 13px; background:var(--theme_color, #6f66ff); color:#fff; line-height:1.35; overflow-wrap:anywhere; }
.ui_font_preview_input { display:flex; align-items:center; gap:10px; min-height:48px; padding:6px 8px 6px 13px; border-top:1px solid rgba(127,127,127,.18); background:var(--chat-footer-bg, rgba(127,127,127,.08)); }
.ui_font_preview_placeholder { min-width:0; flex:1; opacity:.48; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ui_font_preview_send { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:10px; color:#fff; background:var(--theme_color, #6f66ff); box-shadow:0 7px 16px color-mix(in srgb, var(--theme_color, #6f66ff) 28%, transparent); }
.ui_font_preview_send .fa-solid { font-family:"Font Awesome 6 Free" !important; font-weight:900 !important; font-style:normal; line-height:1; }
.ui_font_settings .fa,
.ui_font_settings .fa-solid,
.ui_font_settings .fas { font-family:"Font Awesome 6 Free" !important; font-weight:900 !important; }
.ui_font_setting_head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.ui_font_setting_head .label { margin:0; }
.ui_font_current_name { flex:0 0 auto; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:700; background:rgba(127,127,127,.13); }
.ui_font_choices { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:7px; max-height:226px; padding:1px 3px 3px 1px; overflow:auto; }
.ui_font_choice { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr) 18px; align-items:center; gap:8px; width:100%; min-height:45px; padding:7px 9px; border:1px solid rgba(127,127,127,.2); border-radius:10px; background:rgba(127,127,127,.055); color:inherit; text-align:left; cursor:pointer; font-family:var(--font-preview-family) !important; }
.ui_font_choice:hover { border-color:rgba(127,127,127,.38); background:rgba(127,127,127,.1); }
.ui_font_choice.active { border-color:var(--theme_color, #6f66ff); box-shadow:0 0 0 2px color-mix(in srgb, var(--theme_color, #6f66ff) 16%, transparent); }
.ui_font_choice_sample { display:flex; align-items:center; justify-content:center; width:34px; height:30px; border-radius:8px; background:rgba(127,127,127,.12); font-size:16px; font-weight:700; }
.ui_font_choice_name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.ui_font_choice i { visibility:hidden; color:var(--theme_color, #6f66ff); text-align:center; }
.ui_font_choice.active i { visibility:visible; }
.ui_font_control { display:flex; justify-content:space-between; gap:8px; }
.ui_font_control .reg_button { min-width:112px; }
.ui_font_default { --user-ui-font-family:sans-serif, 'trebuchet ms', 'lucida grande', 'lucida sans unicode', arial, helvetica; --font-preview-family:sans-serif, 'trebuchet ms', 'lucida grande', 'lucida sans unicode', arial, helvetica; }
.ui_font_kalam { --user-ui-font-family:'Kalam', cursive; --font-preview-family:'Kalam', cursive; }
.ui_font_signika { --user-ui-font-family:'Signika', sans-serif; --font-preview-family:'Signika', sans-serif; }
.ui_font_grandstander { --user-ui-font-family:'Grandstander', cursive; --font-preview-family:'Grandstander', cursive; }
.ui_font_comic_neue { --user-ui-font-family:'Comic Neue', cursive; --font-preview-family:'Comic Neue', cursive; }
.ui_font_bree_serif { --user-ui-font-family:'Bree Serif', serif; --font-preview-family:'Bree Serif', serif; }
.ui_font_playpen_sans { --user-ui-font-family:'Playpen Sans', cursive; --font-preview-family:'Playpen Sans', cursive; }
.ui_font_gabriela { --user-ui-font-family:'Gabriela', serif; --font-preview-family:'Gabriela', serif; }
.ui_font_quicksand { --user-ui-font-family:'Quicksand', sans-serif; --font-preview-family:'Quicksand', sans-serif; }
.ui_font_orbitron { --user-ui-font-family:'Orbitron', sans-serif; --font-preview-family:'Orbitron', sans-serif; }
.ui_font_lemonada { --user-ui-font-family:'Lemonada', cursive; --font-preview-family:'Lemonada', cursive; }
.ui_font_grenze { --user-ui-font-family:'Grenze Gotisch', cursive; --font-preview-family:'Grenze Gotisch', cursive; }
.ui_font_merienda { --user-ui-font-family:'Merienda', cursive; --font-preview-family:'Merienda', cursive; }
.ui_font_amita { --user-ui-font-family:'Amita', cursive; --font-preview-family:'Amita', cursive; }
.ui_font_averia { --user-ui-font-family:'Averia Libre', Georgia, serif; --font-preview-family:'Averia Libre', Georgia, serif; }
.ui_font_turret { --user-ui-font-family:'Turret Road', 'Arial Narrow', sans-serif; --font-preview-family:'Turret Road', 'Arial Narrow', sans-serif; }
.ui_font_sansita { --user-ui-font-family:'Sansita', sans-serif; --font-preview-family:'Sansita', sans-serif; }
.ui_font_comfortaa { --user-ui-font-family:'Comfortaa', 'Arial Rounded MT Bold', 'Trebuchet MS', sans-serif; --font-preview-family:'Comfortaa', 'Arial Rounded MT Bold', 'Trebuchet MS', sans-serif; }
.ui_font_charm { --user-ui-font-family:'Charm', 'Brush Script MT', 'Segoe Script', cursive; --font-preview-family:'Charm', 'Brush Script MT', 'Segoe Script', cursive; }
.ui_font_lobster { --user-ui-font-family:'Lobster Two', 'Cooper Black', 'Arial Black', cursive; --font-preview-family:'Lobster Two', 'Cooper Black', 'Arial Black', cursive; }
body.global_ui_font_active {
	font-family: var(--user-ui-font-family) !important;
}
body.global_ui_font_active :where(*:not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.fas):not(.far):not(.fab):not(.bi)) {
	font-family: var(--user-ui-font-family) !important;
}
body.global_ui_font_active input,
body.global_ui_font_active textarea,
body.global_ui_font_active select,
body.global_ui_font_active option,
body.global_ui_font_active button {
	font-family: var(--user-ui-font-family) !important;
}
/* Explicit chat/name fonts override broad theme and viewer-wide UI font rules. */
body.global_ui_font_active .bfont1,
body.global_ui_font_active .bfont1 *,
body.global_ui_font_active .bnfont1,
body.global_ui_font_active .bnfont1 * { font-family:'Kalam', cursive !important; }
body.global_ui_font_active .bfont2,
body.global_ui_font_active .bfont2 *,
body.global_ui_font_active .bnfont2,
body.global_ui_font_active .bnfont2 * { font-family:'Signika', sans-serif !important; }
body.global_ui_font_active .bfont3,
body.global_ui_font_active .bfont3 *,
body.global_ui_font_active .bnfont3,
body.global_ui_font_active .bnfont3 * { font-family:'Grandstander', cursive !important; }
body.global_ui_font_active .bfont4,
body.global_ui_font_active .bfont4 *,
body.global_ui_font_active .bnfont4,
body.global_ui_font_active .bnfont4 * { font-family:'Comic Neue', cursive !important; }
body.global_ui_font_active .bfont5,
body.global_ui_font_active .bfont5 *,
body.global_ui_font_active .bnfont5,
body.global_ui_font_active .bnfont5 * { font-family:'Quicksand', sans-serif !important; }
body.global_ui_font_active .bfont6,
body.global_ui_font_active .bfont6 *,
body.global_ui_font_active .bnfont6,
body.global_ui_font_active .bnfont6 * { font-family:'Orbitron', sans-serif !important; }
body.global_ui_font_active .bfont7,
body.global_ui_font_active .bfont7 *,
body.global_ui_font_active .bnfont7,
body.global_ui_font_active .bnfont7 * { font-family:'Lemonada', cursive !important; }
body.global_ui_font_active .bfont8,
body.global_ui_font_active .bfont8 *,
body.global_ui_font_active .bnfont8,
body.global_ui_font_active .bnfont8 * { font-family:'Grenze Gotisch', cursive !important; }
body.global_ui_font_active .bfont9,
body.global_ui_font_active .bfont9 *,
body.global_ui_font_active .bnfont9,
body.global_ui_font_active .bnfont9 * { font-family:'Merienda', cursive !important; }
body.global_ui_font_active .bfont10,
body.global_ui_font_active .bfont10 *,
body.global_ui_font_active .bnfont10,
body.global_ui_font_active .bnfont10 * { font-family:'Amita', cursive !important; }
body.global_ui_font_active .bfont11,
body.global_ui_font_active .bfont11 *,
body.global_ui_font_active .bnfont11,
body.global_ui_font_active .bnfont11 * { font-family:'Averia Libre', Georgia, serif !important; }
body.global_ui_font_active .bfont12,
body.global_ui_font_active .bfont12 *,
body.global_ui_font_active .bnfont12,
body.global_ui_font_active .bnfont12 * { font-family:'Turret Road', 'Arial Narrow', sans-serif !important; }
body.global_ui_font_active .bfont13,
body.global_ui_font_active .bfont13 *,
body.global_ui_font_active .bnfont13,
body.global_ui_font_active .bnfont13 * { font-family:'Sansita', sans-serif !important; }
body.global_ui_font_active .bfont14,
body.global_ui_font_active .bfont14 *,
body.global_ui_font_active .bnfont14,
body.global_ui_font_active .bnfont14 * { font-family:'Comfortaa', 'Arial Rounded MT Bold', 'Trebuchet MS', sans-serif !important; }
body.global_ui_font_active .bnfont15,
body.global_ui_font_active .bnfont15 * { font-family:'Charm', cursive !important; }
body.global_ui_font_active .bnfont16,
body.global_ui_font_active .bnfont16 * { font-family:'Lobster Two', cursive !important; }
body.global_ui_font_active .bfont15,
body.global_ui_font_active .bfont15 *,
body.global_ui_font_active .bnfont17,
body.global_ui_font_active .bnfont17 * { font-family:'Bree Serif', serif !important; }
body.global_ui_font_active .bfont16,
body.global_ui_font_active .bfont16 *,
body.global_ui_font_active .bnfont18,
body.global_ui_font_active .bnfont18 * { font-family:'Playpen Sans', cursive !important; }
body.global_ui_font_active .bfont17,
body.global_ui_font_active .bfont17 *,
body.global_ui_font_active .bnfont19,
body.global_ui_font_active .bnfont19 * { font-family:'Gabriela', serif !important; }


/* Font picker isolation: the selected global UI family must not overwrite each
   option's own preview family. These rules intentionally come after the global
   UI-font cascade and target text only, leaving Font Awesome icons untouched. */
.ui_font_settings .ui_font_choice,
.ui_font_settings .ui_font_choice .ui_font_choice_sample,
.ui_font_settings .ui_font_choice .ui_font_choice_name,
body.global_ui_font_active .ui_font_settings .ui_font_choice,
body.global_ui_font_active .ui_font_settings .ui_font_choice .ui_font_choice_sample,
body.global_ui_font_active .ui_font_settings .ui_font_choice .ui_font_choice_name {
	font-family:var(--font-preview-family) !important;
	font-synthesis:none;
}
.ui_font_settings .ui_font_preview_head b,
.ui_font_settings .ui_font_preview_head small,
.ui_font_settings .ui_font_preview_chat span,
.ui_font_settings .ui_font_preview_placeholder,
body.global_ui_font_active .ui_font_settings .ui_font_preview_head b,
body.global_ui_font_active .ui_font_settings .ui_font_preview_head small,
body.global_ui_font_active .ui_font_settings .ui_font_preview_chat span,
body.global_ui_font_active .ui_font_settings .ui_font_preview_placeholder {
	font-family:var(--font-preview-family) !important;
	font-synthesis:none;
}


/* Compact staff room transfer */
.move_user_head .modal_user_name { padding-left:10px; }
.move_user_modal { padding-top:12px; }
.move_room_target { display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:11px; padding:11px; border-radius:12px; }
.move_room_target_icon { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:11px; background:color-mix(in srgb, var(--theme_color, #6f66ff) 14%, transparent); color:var(--theme_color, #6f66ff); font-size:18px; }
.move_room_target_data { min-width:0; }
.move_room_target_data .label { display:block; margin:0 0 5px; }
.move_room_target_data select { width:100%; min-height:40px; }
.move_user_control { display:flex; justify-content:flex-end; }
.move_user_control .reg_button { min-width:150px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.global_notice_ack:disabled { opacity:.7; cursor:wait; }
@media screen and (max-width:520px){
	.ui_font_choices { grid-template-columns:1fr; max-height:210px; }
	.ui_font_control .reg_button { flex:1; min-width:0; }
	.move_room_target { grid-template-columns:40px minmax(0,1fr); padding:9px; }
	.move_room_target_icon { width:40px; height:40px; }
}


/* Login renderer switch */
.login_mode_switch { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.login_mode_option { min-height:54px; display:flex; align-items:center; justify-content:center; gap:9px; border-radius:8px; font:inherit; font-weight:700; cursor:pointer; transition:transform .18s ease, filter .18s ease; }
.login_mode_option i { font-size:20px; }
.login_mode_option:hover { transform:translateY(-1px); filter:brightness(1.04); }
.login_mode_option.active { box-shadow:0 0 0 2px rgba(255,255,255,.16) inset, 0 6px 18px rgba(0,0,0,.12); }
@media (max-width:520px){ .login_mode_switch { grid-template-columns:1fr 1fr; gap:8px; } .login_mode_option { min-height:50px; } }
