/* =====================================================
   LinKnote Profile Home
===================================================== */

/* Home should use the full profile content column on its tab. */
.um-profile .um-profile-body:has(.lnph-profile-home),
.um-profile .um-profile-body:has(.lnph-profile-home) .um-profile-body,
.um-profile .um-profile-body:has(.lnph-profile-home) .um-profile-body-content,
.um-profile .um-profile-body:has(.lnph-profile-home) .um-tab-content,
.um-profile .um-profile-body:has(.lnph-profile-home) .um-profile-content,
.um-profile .um-profile-body:has(.lnph-profile-home) .um-profile-tab {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	float: none !important;
}

.lnph-profile-home {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
}

.lnph-home-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(0, 0.92fr);
	grid-template-areas:
		"posts profile"
		"groups notes";
	gap: 16px;
	width: 100%;
}

.lnph-section {
	min-width: 0;
	overflow: hidden;
	border: 1px solid #dce7e9;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(22, 46, 50, 0.035);
}

.lnph-section--posts { grid-area: posts; }
.lnph-home-side {
	grid-area: profile;
	display: grid;
	align-content: start;
	gap: 16px;
	min-width: 0;
}
.lnph-section--profile { min-width: 0; }
.lnph-section--schedule { min-width: 0; }
.lnph-section--groups { grid-area: groups; }
.lnph-section--notes { grid-area: notes; }

.lnph-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	padding: 0 17px;
	border-bottom: 1px solid #edf2f3;
}

.lnph-section-title {
	margin: 0 !important;
	color: #263438;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

.lnph-more-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	flex: 0 0 auto;
	color: #249d8c;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
}

.lnph-more-link:hover,
.lnph-more-link:focus {
	color: #197b6e;
	text-decoration: underline !important;
}

.lnph-section-content {
	padding: 14px 16px 16px;
}

.lnph-empty-message {
	margin: 0;
	color: #78878b;
	font-size: 13px;
	line-height: 1.7;
}

/* ----- Posts ----------------------------------------------------------- */

.lnph-posts-output .um-activity-wall {
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.lnph-posts-output .um-activity-widget:not([id^="postid-"]) {
	display: none !important;
}

.lnph-posts-output .um-activity-widget[id^="postid-"] {
	margin: 0 !important;
	padding: 0 0 14px !important;
	border: 0 !important;
	border-bottom: 1px solid #edf2f3 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.lnph-posts-output .um-activity-widget[id^="postid-"] + .um-activity-widget[id^="postid-"] {
	margin-top: 14px !important;
}

.lnph-posts-output .um-activity-widget[id^="postid-"]:last-of-type {
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
}

.lnph-posts-output .um-activity-widget.lnph-is-hidden,
.lnph-notes-output .lnph-is-hidden {
	display: none !important;
}

.lnph-posts-output .um-activity-load,
.lnph-posts-output .um-activity-load-more,
.lnph-posts-output .um-activity-loadbutton,
.lnph-posts-output .um-activity-posts-load,
.lnph-posts-output .um-activity-no-more {
	display: none !important;
}

.lnph-posts-output .um-activity-head {
	margin-bottom: 7px !important;
}

/* Keep home-feed avatars square even when a theme provides responsive image rules. */
.lnph-posts-output .um-activity-ava,
.lnph-posts-output .um-activity-ava > a {
	display: block !important;
	flex: 0 0 34px !important;
	align-self: flex-start !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	overflow: hidden !important;
	border-radius: 50% !important;
}

.lnph-posts-output .um-activity-ava img,
.lnph-posts-output .um-activity-ava img.um-avatar,
.lnph-posts-output .um-activity-ava img.avatar {
	display: block !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	border-radius: 50% !important;
}

.lnph-posts-output .um-activity-bodyinner-txt {
	font-size: 14px !important;
	line-height: 1.68 !important;
}

.lnph-posts-output .um-activity-foot {
	margin-top: 8px !important;
}

/* ----- Profile -------------------------------------------------------- */

.lnph-profile-output {
	box-sizing: border-box;
	min-height: 142px;
	position: relative;
}

.lnph-profile-output--clamped::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 42px;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%);
}

.lnph-profile-description {
	color: #435257;
	font-size: 14px;
	line-height: 1.85;
	word-break: break-word;
}

.lnph-profile-description a {
	color: #249d8c;
}

/* ----- Joined communities -------------------------------------------- */

.lnph-group-list {
	display: grid;
	gap: 10px;
}

.lnph-group-list--full {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lnph-group-card {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 8px;
	border: 1px solid #e8eff0;
	border-radius: 9px;
	background: #fbfdfd;
	color: inherit;
	text-decoration: none !important;
	transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

.lnph-group-card:hover,
.lnph-group-card:focus {
	border-color: #9fded4;
	background: #f4fbfa;
	transform: translateY(-1px);
}

.lnph-group-avatar {
	display: block;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border-radius: 8px;
	background: #eef3f4;
}

.lnph-group-avatar img {
	display: block !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	max-width: 48px !important;
	max-height: 48px !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
}

.lnph-group-text {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.lnph-group-name {
	overflow: hidden;
	color: #2d3a3e;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-group-description {
	display: -webkit-box;
	overflow: hidden;
	color: #667579;
	font-size: 12px;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.lnph-group-meta {
	color: #8b989b;
	font-size: 11px;
	line-height: 1.4;
}

/* ----- Notes ---------------------------------------------------------- */

.lnph-notes-output {
	min-height: 142px;
}

.lnph-notes-output .um-user-notes-add,
.lnph-notes-output .um-user-notes-add-button,
.lnph-notes-output .um-notes-add,
.lnph-notes-output .um-user-notes-load,
.lnph-notes-output .um-user-notes-load-more,
.lnph-notes-output .um-notes-load-more {
	display: none !important;
}

.lnph-notes-output .um-user-notes,
.lnph-notes-output .um-notes,
.lnph-notes-output .um-user-notes-list {
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
}

/* User Notes uses absolutely positioned .note-block elements in its normal
   masonry view. The home card turns them into three ordinary preview cards. */
.lnph-notes-output .note-block {
	position: static !important;
	left: auto !important;
	top: auto !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}

.lnph-notes-output .note-block-container {
	box-sizing: border-box;
	width: 100%;
	padding: 11px 12px;
	border: 1px solid #e6eeee;
	border-radius: 8px;
	background: #fbfdfd;
}

.lnph-notes-output .note-block-container strong {
	display: block;
	overflow: hidden;
	color: #334147;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-notes-output .note-block-container small {
	display: -webkit-box;
	overflow: hidden;
	margin-top: 4px;
	color: #748286;
	font-size: 12px;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.lnph-notes-output .um_note_read_more {
	display: inline-flex;
	margin-top: 7px;
	color: #249d8c;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none !important;
}

.lnph-notes-output .um_note_read_more:hover,
.lnph-notes-output .um_note_read_more:focus {
	text-decoration: underline !important;
}

/* ----- Compact birthday in the existing header ----------------------- */

/* The JS moves this small line into .um-meta before the user tags. */
.um-profile .um-header .um-meta .lnph-header-birthday {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	order: -1;
	width: auto;
	margin: 0;
	color: #728084;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

/* Name stays on its own line; birthday and tags then share the next line. */
.um-profile .um-header .um-meta:has(.lnph-header-birthday) > span:first-child {
	order: -1;
	width: auto;
}

.um-profile .lnph-header-birthday-icon {
	font-size: 13px;
	line-height: 1;
}

/* Profile detail view: do not show native last-login fields publicly. */
.um-profile .um-field-last_login,
.um-profile .um-field-last-login,
.um-profile .um-field-last_login_date,
.um-profile .um-field-last-login-date {
	display: none !important;
}

/* ----- Full joined-community tab ------------------------------------- */

.lnph-joined-groups-page {
	width: 100%;
}

.lnph-joined-groups-page-head {
	margin: 0 0 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e7eff0;
}

.lnph-joined-groups-page-head h2 {
	margin: 0;
	color: #263438;
	font-size: 18px;
	line-height: 1.4;
}

@media screen and (max-width: 760px) {
	.lnph-home-grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"posts"
			"profile"
			"groups"
			"notes";
		gap: 12px;
	}

	.lnph-section-head {
		min-height: 49px;
		padding: 0 14px;
	}

	.lnph-section-content {
		padding: 13px 14px 14px;
	}

	.lnph-group-list--full {
		grid-template-columns: 1fr;
	}
}

/* ----- Home width: use the profile content width without widening the shell -- */
/*
 * On this theme the Home tab is rendered directly as:
 * .um-theme-profile-single-content-container > .um-profile-body.linknote_home
 * It is not wrapped by .um-form (the .um-form visible in the markup belongs
 * to the embedded activity feed). Target the real tab column only.
 */
.um-theme-profile-single-content-container > .um-profile-body.linknote_home,
.um-theme-profile-single-content-container > .um-profile-body.linknote_home.linknote_home-default {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: 1 1 100% !important;
	grid-column: 1 / -1 !important;
	float: none !important;
	clear: both !important;
	margin-right: 0 !important;
	padding-right: 0 !important;
}

.um-theme-profile-single-content-container > .um-profile-body.linknote_home > .lnph-profile-home,
.um-theme-profile-single-content-container > .um-profile-body.linknote_home > .lnph-profile-home > .lnph-home-grid {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin-right: 0 !important;
}


/* ----- Compact profile header on non-Home tabs ------------------------- */
/*
 * Home keeps the normal cover image. Other profile tabs use a compact header
 * so the tab content starts higher on the screen. This is display-only and
 * does not modify profile images or user data.
 */
.um-profile.lnph-profile-header-compact .um-cover,
.um-profile.lnph-profile-header-compact .um-cover-e,
.um-profile.lnph-profile-header-compact .um-profile-cover,
.um-profile.lnph-profile-header-compact .um-header-cover,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-cover-add,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-cover-edit,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-cover-overlay,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-dropdown,
.um-profile.lnph-profile-header-compact [class*="cover"] .um-cover-has-cover {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.um-profile.lnph-profile-header-compact .um-header {
	box-sizing: border-box !important;
	min-height: 0 !important;
	margin: 0 0 10px !important;
	padding: 12px 16px !important;
	border: 1px solid #e3ecee !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(22, 46, 50, 0.035) !important;
}

.um-profile.lnph-profile-header-compact .um-profile-photo,
.um-profile.lnph-profile-header-compact .um-profile-photo a,
.um-profile.lnph-profile-header-compact .um-profile-photo img,
.um-profile.lnph-profile-header-compact .um-profile-photo-img,
.um-profile.lnph-profile-header-compact .um-profile-photo-img img,
.um-profile.lnph-profile-header-compact .um-profile-photo .gravatar {
	width: 52px !important;
	height: 52px !important;
	min-width: 52px !important;
	min-height: 52px !important;
	max-width: 52px !important;
	max-height: 52px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

.um-profile.lnph-profile-header-compact .um-profile-photo {
	position: static !important;
	float: left !important;
	margin: 0 12px 0 0 !important;
	padding: 0 !important;
	transform: none !important;
}

.um-profile.lnph-profile-header-compact .um-profile-meta {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .um-name,
.um-profile.lnph-profile-header-compact .um-name a,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-name a {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	line-height: 1.35 !important;
}

.um-profile.lnph-profile-header-compact .um-meta,
.um-profile.lnph-profile-header-compact .lnph-header-birthday,
.um-profile.lnph-profile-header-compact .um-profile-status,
.um-profile.lnph-profile-header-compact .um-profile-note,
.um-profile.lnph-profile-header-compact .um-profile-edit-a,
.um-profile.lnph-profile-header-compact .um-header .um-dropdown {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .um-header::after {
	content: "";
	display: block;
	clear: both;
}

.um-profile.lnph-profile-header-compact .um-profile-nav {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
}

.um-profile.lnph-profile-header-compact .um-profile-body {
	padding-top: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .um-header {
		padding: 10px 12px !important;
		margin-bottom: 8px !important;
	}

	.um-profile.lnph-profile-header-compact .um-profile-photo,
	.um-profile.lnph-profile-header-compact .um-profile-photo a,
	.um-profile.lnph-profile-header-compact .um-profile-photo img,
	.um-profile.lnph-profile-header-compact .um-profile-photo-img,
	.um-profile.lnph-profile-header-compact .um-profile-photo-img img,
	.um-profile.lnph-profile-header-compact .um-profile-photo .gravatar {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		max-width: 44px !important;
		max-height: 44px !important;
	}

	.um-profile.lnph-profile-header-compact .um-name,
	.um-profile.lnph-profile-header-compact .um-name a,
	.um-profile.lnph-profile-header-compact .um-profile-meta .um-name a {
		font-size: 16px !important;
	}
}


/* ----- v1.1.6 Compact header: keep essential profile info on non-Home tabs --
 * Keep: avatar, name, short profile, Works/Store status, consultation/estimate controls.
 * Hide: cover image and age/birthday-type header noise.
 */
.um-profile.lnph-profile-header-compact .um-header {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	min-height: 0 !important;
	margin: 0 0 12px !important;
	padding: 14px 18px !important;
	border: 1px solid #e3ecee !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(22, 46, 50, 0.035) !important;
	text-align: left !important;
}

/* Avatar must stay visible even when the cover is hidden. */
.um-profile.lnph-profile-header-compact .um-profile-photo,
.um-profile.lnph-profile-header-compact .um-profile-photo a,
.um-profile.lnph-profile-header-compact .um-profile-photo img,
.um-profile.lnph-profile-header-compact .um-profile-photo-img,
.um-profile.lnph-profile-header-compact .um-profile-photo-img img,
.um-profile.lnph-profile-header-compact .um-profile-photo .gravatar {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 58px !important;
	height: 58px !important;
	min-width: 58px !important;
	min-height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

.um-profile.lnph-profile-header-compact .um-profile-photo {
	position: static !important;
	float: none !important;
	flex: 0 0 58px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	z-index: 1 !important;
}

/* Name + compact public summary area. */
.um-profile.lnph-profile-header-compact .um-profile-meta {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
}

.um-profile.lnph-profile-header-compact .um-name,
.um-profile.lnph-profile-header-compact .um-name a,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-name,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-name a,
.um-profile.lnph-profile-header-compact .um-main-meta,
.um-profile.lnph-profile-header-compact .um-main-meta .um-name,
.um-profile.lnph-profile-header-compact .um-main-meta .um-name a {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #263438 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

/* Re-enable the header meta area because it contains the short profile and
   LinKnote's Works/Store/consultation widgets. */
.um-profile.lnph-profile-header-compact .um-meta,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-meta,
.um-profile.lnph-profile-header-compact .um-profile-status,
.um-profile.lnph-profile-header-compact .um-profile-note,
.um-profile.lnph-profile-header-compact .um-profile-edit-a {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	max-width: 100% !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .um-meta,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-meta {
	margin-top: 5px !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

.um-profile.lnph-profile-header-compact .um-profile-status,
.um-profile.lnph-profile-header-compact .um-profile-note {
	margin-top: 6px !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

/* Birthday/age is intentionally not part of the compact header. */
.um-profile.lnph-profile-header-compact .lnph-header-birthday {
	display: none !important;
}

/* Try to remove common social-link/icon-only rows from the compact header.
   Works/Store cards and consultation controls are left alone. */
.um-profile.lnph-profile-header-compact .um-profile-meta .um-profile-social,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-social-icons,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-social-links,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-social,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-facebook,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-twitter,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-instagram,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-youtube,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-url,
.um-profile.lnph-profile-header-compact .um-profile-meta .um-field-user_url {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .um-header::after {
	display: none !important;
	content: none !important;
}

.um-profile.lnph-profile-header-compact .um-profile-nav {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
}

.um-profile.lnph-profile-header-compact .um-profile-body {
	padding-top: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .um-header {
		gap: 11px !important;
		padding: 12px !important;
	}

	.um-profile.lnph-profile-header-compact .um-profile-photo,
	.um-profile.lnph-profile-header-compact .um-profile-photo a,
	.um-profile.lnph-profile-header-compact .um-profile-photo img,
	.um-profile.lnph-profile-header-compact .um-profile-photo-img,
	.um-profile.lnph-profile-header-compact .um-profile-photo-img img,
	.um-profile.lnph-profile-header-compact .um-profile-photo .gravatar {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
	}

	.um-profile.lnph-profile-header-compact .um-profile-photo {
		flex-basis: 48px !important;
	}

	.um-profile.lnph-profile-header-compact .um-name,
	.um-profile.lnph-profile-header-compact .um-name a,
	.um-profile.lnph-profile-header-compact .um-profile-meta .um-name,
	.um-profile.lnph-profile-header-compact .um-profile-meta .um-name a,
	.um-profile.lnph-profile-header-compact .um-main-meta,
	.um-profile.lnph-profile-header-compact .um-main-meta .um-name,
	.um-profile.lnph-profile-header-compact .um-main-meta .um-name a {
		font-size: 16px !important;
	}
}

/* ----- v1.1.7 Reliable compact header renderer -------------------------
 * The inspected UM header does not always contain a visible .um-name element
 * on non-Home tabs, so the compact header is rendered by JS from the avatar
 * title/alt plus existing LinKnote status blocks.
 */
.um-profile.lnph-profile-header-home .lnph-compact-profile-card {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .um-cover,
.um-profile.lnph-profile-header-compact .um-cover-e,
.um-profile.lnph-profile-header-compact .um-profile-cover,
.um-profile.lnph-profile-header-compact .um-header-cover,
.um-profile.lnph-profile-header-compact [class*="cover"] {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.um-profile.lnph-profile-header-compact .um-header {
	box-sizing: border-box !important;
	display: block !important;
	position: relative !important;
	min-height: 0 !important;
	margin: 0 0 12px !important;
	padding: 14px 18px !important;
	border: 1px solid #e3ecee !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(22, 46, 50, 0.035) !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .um-header > .um-profile-photo,
.um-profile.lnph-profile-header-compact .um-header > .um-profile-meta {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-avatar {
	flex: 0 0 58px !important;
	width: 58px !important;
	height: 58px !important;
	min-width: 58px !important;
	min-height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	overflow: hidden !important;
	border-radius: 50% !important;
	background: #eef3f4 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-avatar a,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar img,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar .avatar,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar .um-avatar,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar .gravatar {
	display: block !important;
	width: 58px !important;
	height: 58px !important;
	min-width: 58px !important;
	min-height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-avatar .um-profile-photo-overlay,
.um-profile.lnph-profile-header-compact .lnph-compact-avatar .um-profile-photo-overlay-s {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-main {
	box-sizing: border-box !important;
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	min-width: 0 !important;
	gap: 7px !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-name {
	margin: 0 !important;
	padding: 0 !important;
	color: #263438 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-short-profile {
	max-width: 100% !important;
	color: #435257 !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
	word-break: break-word !important;
	text-align: left !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials .linknote-connection-panel {
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials .lnct-consult-box {
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials .linknote-connection-panel,
.um-profile.lnph-profile-header-compact .lnph-compact-essentials .lnct-consult-box {
	max-width: 100% !important;
}

/* Hide items that should not be part of the compact version. */
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-header-birthday,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .um-user-tags,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .um-profile-connect,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnra-header-summary,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .um-profile-status {
	display: none !important;
}

.um-profile.lnph-profile-header-compact .um-profile-nav {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
}

.um-profile.lnph-profile-header-compact .um-profile-body {
	padding-top: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .um-header {
		padding: 12px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-profile-card {
		gap: 11px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-avatar,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar a,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar img,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar .avatar,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar .um-avatar,
	.um-profile.lnph-profile-header-compact .lnph-compact-avatar .gravatar {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-avatar {
		flex-basis: 48px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-name {
		font-size: 16px !important;
	}
}


/* ----- v1.1.8 Compact header: show user tags and SNS icons ------------
 * Non-Home tabs keep the compact header, but the empty area to the right of
 * the Works/Store status is now used for public user tags and social icons.
 */
.um-profile.lnph-profile-header-compact .lnph-compact-essentials {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 8px !important;
	width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
	flex: 0 0 auto !important;
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
	box-sizing: border-box !important;
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 7px !important;
	min-width: 0 !important;
	padding-top: 1px !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-profile-connect,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-social-icons {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-profile-connect a,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-social-icons a,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .linknote-activity-header-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	max-width: 24px !important;
	max-height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	font-size: 12px !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tags,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-user-tags {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 5px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tag,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tag a {
	display: inline-flex !important;
	align-items: center !important;
	max-width: 130px !important;
	margin: 0 !important;
	font-size: 11px !important;
	line-height: 1.35 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-actions {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-actions .lnct-consult-box {
	margin: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
		flex-direction: column !important;
		gap: 8px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
		width: 100% !important;
	}
}

/* ----- v1.1.9 Compact header: prevent SNS/tags overlap ---------------
 * Keep SNS icons and user tags on the right side of the Works/Store status,
 * but isolate them in their own grid column so they never sit on top of the
 * connection panel.
 */
.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: minmax(132px, max-content) minmax(0, 1fr) !important;
	align-items: start !important;
	justify-content: stretch !important;
	column-gap: 22px !important;
	row-gap: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
	box-sizing: border-box !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	z-index: 1 !important;
	width: max-content !important;
	min-width: 132px !important;
	max-width: 190px !important;
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
	box-sizing: border-box !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	z-index: 2 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 7px !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-side-meta,
.um-profile.lnph-profile-header-compact .lnph-compact-side-meta * {
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-profile-connect,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-social-icons {
	box-sizing: border-box !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tags,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .lnph-compact-user-tags {
	box-sizing: border-box !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 5px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tag,
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card .lnph-compact-side-meta .um-user-tag a {
	box-sizing: border-box !important;
	max-width: 116px !important;
	min-height: 18px !important;
	margin: 0 !important;
	padding: 2px 6px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-actions {
	width: 100% !important;
	margin-top: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
		width: 100% !important;
		max-width: 100% !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
		width: 100% !important;
	}
}


/* ----- v1.1.10 Compact header: restore lower status row + keep Home SNS ---
 * The compact card is now split into a top identity row and a lower status row.
 * Works/Store returns to the lower-left area, while SNS icons and user tags use
 * the open space to its right. Home keeps the original Ultimate Member header.
 */
.um-profile.lnph-profile-header-compact .lnph-compact-profile-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 9px !important;
	width: 100% !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-top-row {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
	min-width: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-main {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	gap: 4px !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-essentials {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
	display: grid !important;
	grid-template-columns: minmax(132px, max-content) minmax(0, 1fr) !important;
	align-items: start !important;
	column-gap: 18px !important;
	row-gap: 6px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
	justify-self: start !important;
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	width: max-content !important;
	min-width: 132px !important;
	max-width: 190px !important;
	margin: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-side-meta {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start !important;
	justify-self: start !important;
	position: static !important;
	float: none !important;
	clear: none !important;
	transform: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 6px !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.um-profile.lnph-profile-header-compact .lnph-compact-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media screen and (max-width: 760px) {
	.um-profile.lnph-profile-header-compact .lnph-compact-status-line {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
	}

	.um-profile.lnph-profile-header-compact .lnph-compact-status-line .linknote-connection-panel {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* ----- v1.1.12 Home header reset ---------------------------------------
 * Home must use the original Ultimate Member/LinKnote header. Compact header
 * rendering is only for non-Home tabs.
 */
.um-profile.lnph-profile-header-home .lnph-compact-profile-card,
.um-profile.lnph-profile-header-home .lnph-home-social-restore {
	display: none !important;
}

.um-profile.lnph-profile-header-home .um-header > .um-profile-photo,
.um-profile.lnph-profile-header-home .um-header > .um-profile-meta {
	visibility: visible !important;
	opacity: 1 !important;
}


/* ----- v1.1.14 Home SNS icon size reset -----------------------------------
 * Home uses the original Ultimate Member/LinKnote header. Do not clone or
 * rebuild SNS links; only protect the icon anchors from previous compact-header
 * size overrides so they stay square and match the original Home size.
 */
.um-profile.lnph-profile-header-home .um-header .um-profile-connect {
	visibility: visible !important;
	opacity: 1 !important;
	overflow: visible !important;
}

.um-profile.lnph-profile-header-home .um-header .um-profile-connect a,
.um-profile.lnph-profile-header-home .um-header .linknote-activity-header-icon {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	max-width: 30px !important;
	max-height: 30px !important;
	aspect-ratio: 1 / 1 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	line-height: 1 !important;
	text-decoration: none !important;

	font-size: 15px !important;}

.um-profile.lnph-profile-header-home .um-header .um-profile-connect a i,
.um-profile.lnph-profile-header-home .um-header .linknote-activity-header-icon i {
	line-height: 1 !important;
}


/* ----- v1.1.15 Profile header width alignment -------------------------
 * DMタブ内のDM外枠（linknote-dm-tools v1.6.9）に合わせて、
 * コンパクト表示時のプロフィールヘッダーとタブナビだけを同じ幅へ広げる。
 * プロフィール本文やDM内部カラムには触らない。
 */
@media screen and (min-width: 901px) {
	body .um-profile.lnph-profile-header-compact,
	body .um-profile.lnph-profile-header-compact .um-profile-body {
		overflow: visible !important;
	}

	body .um-profile.lnph-profile-header-compact .um-header,
	body .um-profile.lnph-profile-header-compact .um-profile-nav {
		box-sizing: border-box !important;
		width: min(calc(100vw - 80px), 1200px) !important;
		max-width: min(calc(100vw - 80px), 1200px) !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1280px) {
	body .um-profile.lnph-profile-header-compact .um-header,
	body .um-profile.lnph-profile-header-compact .um-profile-nav {
		width: calc(100vw - 40px) !important;
		max-width: calc(100vw - 40px) !important;
	}
}


/* ----- v1.1.16 Full profile width alignment ----------------------------
 * v1.1.15ではコンパクトヘッダー側だけをDM幅に合わせたため、
 * Homeの通常ヘッダー・ホーム本文・各タブメニューも同じ基準幅へ揃える。
 * Better Messagesの内部カラムや各タブ本文の個別レイアウトには触らない。
 */
@media screen and (min-width: 901px) {
	body .um-profile {
		overflow: visible !important;
	}

	body .um-profile .um-header,
	body .um-profile .um-profile-nav {
		box-sizing: border-box !important;
		width: min(calc(100vw - 80px), 1200px) !important;
		max-width: min(calc(100vw - 80px), 1200px) !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}

	body .um-profile.lnph-profile-header-home .um-profile-body,
	body .um-profile.lnph-profile-header-home .um-profile-body:has(.lnph-profile-home) {
		box-sizing: border-box !important;
		width: min(calc(100vw - 80px), 1200px) !important;
		max-width: min(calc(100vw - 80px), 1200px) !important;
		min-width: 0 !important;
		float: none !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1280px) {
	body .um-profile .um-header,
	body .um-profile .um-profile-nav,
	body .um-profile.lnph-profile-header-home .um-profile-body,
	body .um-profile.lnph-profile-header-home .um-profile-body:has(.lnph-profile-home) {
		width: calc(100vw - 40px) !important;
		max-width: calc(100vw - 40px) !important;
	}
}


/* ----- v1.1.17 Unified profile shell/content width ---------------------
 * v1.1.16でヘッダー幅は揃ったが、Homeのカバー画像と本文背面の外枠、
 * そしてDM以外の各タブ本文が旧幅のまま残っていたため、プロフィールの
 * 外枠・本文・カバーを同じ基準幅へ統一する。
 */
@media screen and (min-width: 901px) {
	body .um-profile {
		--lnph-profile-wide-width: min(calc(100vw - 80px), 1200px);
		overflow: visible !important;
	}

	/* The visible profile content shell behind Home/other tabs. */
	body .um-profile .um-theme-profile-single-content-container,
	body .um-profile .um-profile-content,
	body .um-profile .um-profile-body-container {
		box-sizing: border-box !important;
		width: var(--lnph-profile-wide-width) !important;
		max-width: var(--lnph-profile-wide-width) !important;
		min-width: 0 !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		overflow: visible !important;
	}

	/* Header / tab menu / tab bodies share the same outer width. */
	body .um-profile .um-header,
	body .um-profile .um-profile-nav,
	body .um-profile > .um-profile-body {
		box-sizing: border-box !important;
		width: var(--lnph-profile-wide-width) !important;
		max-width: var(--lnph-profile-wide-width) !important;
		min-width: 0 !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* If the tab body is inside the UM content shell, make it fill that shell
	   instead of being translated a second time. */
	body .um-profile .um-theme-profile-single-content-container > .um-profile-body,
	body .um-profile .um-profile-content > .um-profile-body,
	body .um-profile .um-profile-body-container > .um-profile-body {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		position: relative !important;
		left: auto !important;
		transform: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		float: none !important;
	}

	/* Home grid and tab internals should use the widened body, not the old theme max-width. */
	body .um-profile .um-profile-body .lnph-profile-home,
	body .um-profile .um-profile-body .lnph-home-grid,
	body .um-profile .um-profile-body .um-profile-body-content,
	body .um-profile .um-profile-body .um-tab-content,
	body .um-profile .um-profile-body .um-profile-tab {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Home cover image/background should span the same width as the widened header. */
	body .um-profile.lnph-profile-header-home .um-header {
		overflow: visible !important;
	}

	body .um-profile.lnph-profile-header-home .um-cover,
	body .um-profile.lnph-profile-header-home .um-cover-e,
	body .um-profile.lnph-profile-header-home .um-profile-cover,
	body .um-profile.lnph-profile-header-home .um-header-cover {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		left: 0 !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		transform: none !important;
	}

	body .um-profile.lnph-profile-header-home .um-cover img,
	body .um-profile.lnph-profile-header-home .um-cover-e img,
	body .um-profile.lnph-profile-header-home .um-profile-cover img,
	body .um-profile.lnph-profile-header-home .um-header-cover img,
	body .um-profile.lnph-profile-header-home .um-cover .um-cover-overlay,
	body .um-profile.lnph-profile-header-home .um-cover-e .um-cover-overlay {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		object-fit: cover !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1280px) {
	body .um-profile {
		--lnph-profile-wide-width: calc(100vw - 40px);
	}
}


/* ----- v1.1.18 Home cover width alignment ------------------------------
 * v1.1.17でヘッダー/本文幅は揃ったが、Homeのカバーだけ旧幅のまま残る環境がある。
 * UMテーマ側の cover 専用ラッパー/先頭要素にも強めに幅指定を入れ、
 * 広げたHomeヘッダーの幅に合わせる。
 */
@media screen and (min-width: 901px) {
	body .um-profile.lnph-profile-header-home .um-header {
		overflow: visible !important;
	}

	body .um-profile.lnph-profile-header-home .um-header > .um-cover,
	body .um-profile.lnph-profile-header-home .um-header > .um-cover-e,
	body .um-profile.lnph-profile-header-home .um-header > .um-profile-cover,
	body .um-profile.lnph-profile-header-home .um-header > .um-header-cover,
	body .um-profile.lnph-profile-header-home .um-header > [class*="cover"],
	body .um-profile.lnph-profile-header-home .um-header > div:first-child {
		box-sizing: border-box !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		left: 0 !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		transform: none !important;
	}

	body .um-profile.lnph-profile-header-home .um-header > .um-cover *,
	body .um-profile.lnph-profile-header-home .um-header > .um-cover-e *,
	body .um-profile.lnph-profile-header-home .um-header > .um-profile-cover *,
	body .um-profile.lnph-profile-header-home .um-header > .um-header-cover *,
	body .um-profile.lnph-profile-header-home .um-header > [class*="cover"] *,
	body .um-profile.lnph-profile-header-home .um-header > div:first-child > * {
		box-sizing: border-box !important;
		max-width: 100% !important;
	}

	body .um-profile.lnph-profile-header-home .um-header .um-cover,
	body .um-profile.lnph-profile-header-home .um-header .um-cover-e,
	body .um-profile.lnph-profile-header-home .um-header .um-profile-cover,
	body .um-profile.lnph-profile-header-home .um-header .um-header-cover,
	body .um-profile.lnph-profile-header-home .um-header [class*="cover"] {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		left: 0 !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		transform: none !important;
		background-size: cover !important;
		background-position: center center !important;
	}

	body .um-profile.lnph-profile-header-home .um-header .um-cover img,
	body .um-profile.lnph-profile-header-home .um-header .um-cover-e img,
	body .um-profile.lnph-profile-header-home .um-header .um-profile-cover img,
	body .um-profile.lnph-profile-header-home .um-header .um-header-cover img,
	body .um-profile.lnph-profile-header-home .um-header [class*="cover"] img {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 100% !important;
		object-fit: cover !important;
	}
}


/* ----- v1.1.19 Runtime cover width helper -----------------------------
 * Some UM/theme versions render the Home cover outside the header width chain,
 * so CSS width:100% does not reach it. The JS adds this class after measuring
 * the widened .um-header and applies inline geometry. Keep CSS here minimal.
 */
@media screen and (min-width: 901px) {
	body .um-profile .lnph-home-cover-wide {
		box-sizing: border-box !important;
		background-size: cover !important;
		background-position: center center !important;
	}

	body .um-profile .lnph-home-cover-wide img {
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
}



.lnph-home-side .lnph-profile-output {
	min-height: 96px;
}

.lnph-home-side .lnph-profile-description {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
}

/* ----- Home schedule card --------------------------------------------- */
.lnph-schedule-output {
	min-height: 142px;
}

.lnph-schedule-list {
	display: grid;
	gap: 10px;
}

.lnph-schedule-item {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(76px, auto) minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 10px 11px;
	border: 1px solid #e5eef0;
	border-radius: 10px;
	background: #fbfdfd;
	color: #263438;
	text-decoration: none !important;
	transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

.lnph-schedule-item:hover,
.lnph-schedule-item:focus {
	border-color: #b9ded8;
	background: #f4fbfa;
	color: #263438;
	transform: translateY(-1px);
}

.lnph-schedule-date {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eaf7f4;
	color: #197b6e;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
}

.lnph-schedule-main {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.lnph-schedule-title {
	overflow: hidden;
	color: #263438;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-schedule-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	color: #748489;
	font-size: 11px;
	line-height: 1.3;
}

.lnph-schedule-meta span {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	border-radius: 999px;
	background: #eef3f4;
}

.lnph-schedule-item--private .lnph-schedule-date {
	background: #f3f1f7;
	color: #69617d;
}

.lnph-schedule-item--saved .lnph-schedule-date {
	background: #eef4ff;
	color: #3970b7;
}

@media screen and (max-width: 760px) {
	.lnph-schedule-item {
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.lnph-schedule-date {
		justify-content: flex-start;
		width: fit-content;
	}
}


/* ----- v1.1.24 Home profile text dynamic height ------------------------
   The profile text itself must not be line-clamped; the outer output box is
   height-controlled by JS so it can use all space available next to posts. */
.lnph-home-side .lnph-profile-description {
	display: block !important;
	overflow: visible !important;
	-webkit-line-clamp: unset !important;
	-webkit-box-orient: initial !important;
}

.lnph-home-side .lnph-profile-output {
	overflow: hidden;
}


/* ----- v1.1.25 Profile edit / compact settings recovery ---------------
   Non-Home tabs use the compact header, but the settings gear must still take
   the profile owner to the edit screen. When UM is already in edit mode, use
   the normal Home-style header so the cover image controls remain available. */
.um-profile.lnph-profile-header-compact .um-header .um-profile-edit,
.um-profile.lnph-profile-header-compact .um-header .um-profile-edit-a {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	overflow: visible !important;
	z-index: 50 !important;
}

.um-profile.lnph-profile-header-edit .um-header {
	overflow: visible !important;
}

.um-profile.lnph-profile-header-edit .um-cover,
.um-profile.lnph-profile-header-edit .um-cover-e,
.um-profile.lnph-profile-header-edit .um-profile-cover,
.um-profile.lnph-profile-header-edit .um-header-cover,
.um-profile.lnph-profile-header-edit [class*="cover"] .um-cover-add,
.um-profile.lnph-profile-header-edit [class*="cover"] .um-cover-edit,
.um-profile.lnph-profile-header-edit [class*="cover"] .um-cover-overlay,
.um-profile.lnph-profile-header-edit [class*="cover"] .um-cover-has-cover {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}


/* ----- v1.1.34 Gear position only --------------------------------------
   Keep the stable v1.1.33 behavior and only align the existing UM gear.
   Do not add JS, do not create a new gear, and do not touch the cover sizing. */
.um-profile:not(.lnph-profile-header-edit) .um-header {
	position: relative !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit.um-profile-headericon,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	bottom: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	overflow: visible !important;
	z-index: 150 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-profile-edit-a {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-profile-edit-a i {
	position: static !important;
	margin: 0 !important;
	font-size: 28px !important;
	line-height: 1 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown {
	z-index: 200 !important;
}


/* ----- v1.1.36 safe gear dropdown CSS-only fix -------------------------
   Based on v1.1.34. Do not touch JS/menu behavior to avoid load lock.
   1) keep the stable gear position
   2) prevent the UM dropdown from becoming a narrow vertical column
   3) hide the logout item visually
*/
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit {
	overflow: visible !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown {
	box-sizing: border-box !important;
	width: 220px !important;
	min-width: 220px !important;
	max-width: 220px !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	padding: 0 !important;
	text-align: left !important;
	white-space: normal !important;
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
	letter-spacing: normal !important;
	word-break: keep-all !important;
	overflow: visible !important;
	z-index: 300 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown-b,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown ul,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown li,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a {
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
	letter-spacing: normal !important;
	word-break: keep-all !important;
	white-space: nowrap !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	width: auto !important;
	max-width: none !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 6px 0 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown li {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a {
	display: block !important;
	padding: 10px 14px !important;
	line-height: 1.4 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="logout"] {
	display: none !important;
}


/* ----- v1.1.37 edit-page checkmark + dropdown label CSS-only fix --------
   Based on stable v1.1.36. Keep this CSS-only to avoid the load lock caused
   by previous menu-control JavaScript experiments.
   - Hide UM's edit-mode checkmark button.
   - Keep the cover/profile-photo change UI visible.
   - Rename the dropdown labels visually without touching menu JS.
*/
.um-profile.lnph-profile-header-edit .um-header > .um-profile-edit,
.um-profile.lnph-profile-header-edit .um-header > .um-profile-edit.um-profile-headericon,
.um-profile.lnph-profile-header-edit .um-header > .um-profile-edit .um-profile-edit-a {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="um_action=edit"],
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="/account/"] {
	font-size: 0 !important;
	line-height: 0 !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="um_action=edit"]::after,
.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="/account/"]::after {
	display: block !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	color: inherit !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="um_action=edit"]::after {
	content: "プロフィール編集" !important;
}

.um-profile:not(.lnph-profile-header-edit) .um-header > .um-profile-edit .um-dropdown a[href*="/account/"]::after {
	content: "アカウント編集" !important;
}


/* ----- v1.1.40 compact-tab gear dropdown open fix ----------------------
   Based on stable v1.1.38. Only compact tabs get a click-open class; Home tab
   still uses UM's own dropdown behavior. */
.um-profile.lnph-profile-header-compact:not(.lnph-profile-header-edit) .um-header > .um-profile-edit.lnph-compact-gear-open > .um-dropdown,
.um-profile.lnph-profile-header-compact:not(.lnph-profile-header-edit) .um-header > .um-profile-edit.lnph-compact-gear-open .um-dropdown {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	position: absolute !important;
	top: 42px !important;
	right: 0 !important;
	left: auto !important;
	bottom: auto !important;
	transform: none !important;
	margin: 0 !important;
	z-index: 400 !important;
}

.um-profile.lnph-profile-header-compact:not(.lnph-profile-header-edit) .um-header > .um-profile-edit.lnph-compact-gear-open .um-dropdown-arr {
	display: none !important;
}

/* ======================================================================
   Post timeline — v1.1.43
   ====================================================================== */

.lnph-post-timeline {
	position: relative;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #e8edef;
	border-radius: 14px;
	overflow: visible;
}

.lnph-post-timeline--user {
	overflow: hidden;
}

.lnph-timeline-topbar {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	min-height: 58px;
	background: rgba(255,255,255,.96);
	border-bottom: 1px solid #e8edef;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.lnph-timeline-tabs {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
}

.lnph-timeline-tab {
	position: relative;
	min-width: 116px;
	padding: 0 22px;
	border: 0;
	background: transparent;
	color: #68777c;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: color .16s ease, background .16s ease;
}

.lnph-timeline-tab:hover,
.lnph-timeline-tab:focus-visible {
	background: #f7faf9;
	color: #253238;
	outline: 0;
}

.lnph-timeline-tab.is-active {
	color: #172126;
}

.lnph-timeline-tab.is-active::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 54px;
	height: 3px;
	border-radius: 999px;
	background: #249d8c;
	transform: translateX(-50%);
}

.lnph-compose-button {
	align-self: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-height: 38px;
	margin: 9px 12px 9px 8px;
	padding: 0 15px;
	border: 0;
	border-radius: 999px;
	background: #249d8c;
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	transition: background .16s ease, transform .16s ease;
}

.lnph-compose-button:hover,
.lnph-compose-button:focus-visible {
	background: #1d897a;
	color: #fff;
	outline: 0;
	transform: translateY(-1px);
}

.lnph-compose-button-plus {
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
}

.lnph-timeline-status {
	padding: 9px 16px;
	background: #f7faf9;
	border-bottom: 1px solid #edf2f3;
	color: #637278;
	font-size: 12px;
	text-align: center;
}

.lnph-timeline-status[hidden] {
	display: none !important;
}

.lnph-timeline-status.is-error {
	color: #a33b3b;
	background: #fff8f8;
}

.lnph-timeline-wall {
	min-height: 84px;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.lnph-timeline-wall > .um-activity-widget[id^="postid-"] {
	margin: 0 !important;
	padding: 16px 18px 13px !important;
	border: 0 !important;
	border-bottom: 1px solid #edf1f2 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	transition: background .14s ease;
}

.lnph-timeline-wall > .um-activity-widget[id^="postid-"]:hover {
	background: #fcfdfd !important;
}

.lnph-timeline-wall > .um-activity-widget[id^="postid-"]:last-of-type {
	border-bottom: 0 !important;
}

.lnph-timeline-wall .um-activity-head {
	margin: 0 0 8px !important;
}

.lnph-timeline-wall .um-activity-author {
	display: flex !important;
	align-items: flex-start !important;
	min-width: 0;
}

.lnph-timeline-wall .um-activity-ava,
.lnph-timeline-wall .um-activity-ava > a {
	display: block !important;
	flex: 0 0 44px !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	max-width: 44px !important;
	max-height: 44px !important;
	overflow: hidden !important;
	border-radius: 50% !important;
}

.lnph-timeline-wall .um-activity-ava img,
.lnph-timeline-wall .um-activity-ava img.avatar,
.lnph-timeline-wall .um-activity-ava img.um-avatar {
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	max-width: 44px !important;
	max-height: 44px !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	border-radius: 50% !important;
}

.lnph-timeline-wall .um-activity-author-meta {
	min-width: 0;
	padding-top: 1px;
}

.lnph-timeline-wall .um-activity-author-url {
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

.lnph-timeline-wall .um-activity-author-url a {
	color: #172126 !important;
	text-decoration: none !important;
}

.lnph-timeline-wall .um-activity-author-url a:hover {
	text-decoration: underline !important;
}

.lnph-timeline-wall .um-activity-metadata,
.lnph-timeline-wall .um-activity-metadata a {
	color: #829096 !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
}

.lnph-timeline-wall .um-activity-body {
	margin-left: 54px !important;
}

.lnph-timeline-wall .um-activity-bodyinner,
.lnph-timeline-wall .um-activity-bodyinner-txt {
	margin: 0 !important;
	padding: 0 !important;
	color: #263238 !important;
	font-size: 15px !important;
	line-height: 1.72 !important;
	word-break: break-word;
}

.lnph-timeline-wall .um-activity-bodyinner-photo {
	margin-top: 10px !important;
}

.lnph-timeline-wall .um-activity-bodyinner-photo img {
	max-width: 100% !important;
	border-radius: 14px !important;
}

.lnph-timeline-wall .um-activity-disp {
	margin: 9px 0 0 54px !important;
	padding: 0 0 8px !important;
	border-bottom: 0 !important;
	color: #77858a !important;
	font-size: 12px !important;
}

.lnph-timeline-wall .um-activity-foot.status {
	margin: 8px 0 0 54px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.lnph-timeline-wall .um-activity-actions {
	display: flex !important;
	align-items: center;
	gap: 26px;
}

.lnph-timeline-wall .um-activity-like,
.lnph-timeline-wall .um-activity-comment {
	margin: 0 !important;
}

.lnph-timeline-wall .um-activity-like a,
.lnph-timeline-wall .um-activity-comment a {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	color: #6f7f84 !important;
	font-size: 12px !important;
	font-weight: 600;
	text-decoration: none !important;
}

.lnph-timeline-wall .um-activity-like a:hover,
.lnph-timeline-wall .um-activity-comment a:hover {
	color: #249d8c !important;
}

/* Heart-like treatment while preserving Ultimate Member's existing like action. */
.lnph-timeline-wall .um-activity-like i {
	font-size: 0 !important;
}

.lnph-timeline-wall .um-activity-like i::before {
	content: "♡" !important;
	font-family: Arial, sans-serif !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.lnph-timeline-wall .um-activity-like.active i::before {
	content: "♥" !important;
}

.lnph-timeline-wall .um-activity-comment i {
	font-size: 15px !important;
}

/* Comment/reply actions use the same compact icon + label language. */
.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like,
.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-reply {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
}

.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like::before {
	content: "♡";
	font-family: Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active::before {
	content: "♥";
}

.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-reply::before {
	content: "";
	display: inline-block;
	box-sizing: border-box;
	width: 13px;
	height: 10px;
	border: 1.5px solid currentColor;
	border-radius: 7px;
}

/* Timestamp/permalink anchors are replaced by spans in JS. */
.lnph-timeline-wall .um-activity-metadata .lnph-activity-time,
.lnph-timeline-wall .um-activity-comment-meta .lnph-comment-time {
	color: #829096 !important;
	font-size: inherit !important;
	line-height: inherit !important;
	text-decoration: none !important;
}

.lnph-timeline-wall .um-activity-comment-meta .lnph-comment-time {
	color: #aaa !important;
}

/* X-like overflow menu: keep the original UM dialog behavior, change only icon. */
.lnph-timeline-wall .um-activity-ticon {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	text-align: center !important;
	line-height: 30px !important;
	color: #718086 !important;
}

.lnph-timeline-wall .um-activity-ticon:hover {
	background: #eff8f6 !important;
	color: #249d8c !important;
}

.lnph-timeline-wall .um-activity-ticon i {
	display: none !important;
}

.lnph-timeline-wall .um-activity-ticon::before {
	content: "•••";
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
}

.lnph-timeline-wall .um-activity-dialog {
	border: 1px solid #e1e7e9 !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 28px rgba(24, 42, 48, .12) !important;
	overflow: hidden;
}

.lnph-timeline-wall .um-activity-load {
	display: block !important;
	position: relative;
	width: 100% !important;
	height: 54px !important;
	margin: 0 !important;
	background: transparent !important;
}

.lnph-timeline-wall .um-activity-load::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 18px;
	width: 16px;
	height: 16px;
	margin-left: -8px;
	border: 2px solid #d7e3e1;
	border-top-color: #249d8c;
	border-radius: 50%;
	animation: lnph-timeline-spin .7s linear infinite;
}

.lnph-timeline-wall .um-activity-end {
	display: block !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
}

@keyframes lnph-timeline-spin {
	to { transform: rotate(360deg); }
}

.lnph-timeline-empty {
	padding: 42px 22px;
	color: #7b898e;
	font-size: 14px;
	line-height: 1.7;
	text-align: center;
}

.lnph-activity-clone-templates {
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

/* ----- Composer modal ------------------------------------------------- */

.lnph-compose-modal[hidden] {
	display: none !important;
}

.lnph-compose-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 8vh 18px 30px;
	overflow-y: auto;
}

.lnph-compose-backdrop {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(27, 39, 43, .46);
	cursor: default;
}

.lnph-compose-panel {
	position: relative;
	z-index: 1;
	width: min(620px, 100%);
	max-height: calc(100vh - 12vh);
	overflow-y: auto;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 20px 60px rgba(18, 33, 38, .2);
}

.lnph-compose-header {
	position: sticky;
	top: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 54px;
	padding: 0 14px;
	background: rgba(255,255,255,.97);
	border-bottom: 1px solid #edf1f2;
}

.lnph-compose-header strong {
	color: #1c292e;
	font-size: 15px;
	font-weight: 700;
}

.lnph-compose-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #48575c;
	font: inherit;
	font-size: 26px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.lnph-compose-close:hover,
.lnph-compose-close:focus-visible {
	background: #f0f5f4;
	outline: 0;
}

.lnph-compose-um {
	margin: 0 !important;
	padding: 0 !important;
}

.lnph-compose-um .um-form {
	padding: 0 !important;
}

.lnph-compose-um .um-activity-new-post {
	margin: 0 !important;
	padding: 18px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.lnph-compose-um .um-activity-new-post > .um-activity-head,
.lnph-compose-um .um-activity-new-post .um-activity-head {
	display: none !important;
}

.lnph-compose-um .um-activity-body,
.lnph-compose-um .um-activity-textarea {
	margin: 0 !important;
	padding: 0 !important;
}

.lnph-compose-um .um-activity-textarea-elem {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 132px !important;
	max-height: 46vh !important;
	padding: 4px 2px 12px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #243136 !important;
	font-size: 17px !important;
	line-height: 1.65 !important;
	resize: none !important;
	outline: 0 !important;
}

.lnph-compose-um .um-activity-preview img {
	max-width: 100% !important;
	border-radius: 14px !important;
}

.lnph-compose-um .um-activity-foot {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 12px 0 0 !important;
	padding: 12px 0 0 !important;
	border-top: 1px solid #edf1f2 !important;
}

.lnph-compose-um .um-activity-left.um-activity-insert,
.lnph-compose-um .um-activity-right {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.lnph-compose-um .um-activity-left.um-activity-insert {
	display: flex !important;
	align-items: center !important;
	min-width: 0 !important;
}

/* UM converts .um-activity-insert-photo into an ajax-upload-dragdrop control.
 * Once that generated control exists, hide only the source anchor so the camera
 * is not shown twice. The source remains in the DOM for UM's uploader state. */
.lnph-compose-um .um-activity-insert-photo {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box !important;
	width: 36px !important;
	height: 36px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	color: #249d8c !important;
	font-size: 18px !important;
}

.lnph-compose-um .um-activity-insert-photo.lnph-upload-source-hidden {
	display: none !important;
}

.lnph-compose-um .um-activity-insert-photo:hover {
	background: #edf8f6 !important;
}

.lnph-compose-um .ajax-upload-dragdrop {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	float: none !important;
	box-sizing: border-box !important;
	width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #249d8c !important;
	overflow: hidden !important;
}

.lnph-compose-um .ajax-upload-dragdrop .upload {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #249d8c !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.lnph-compose-um .ajax-upload-dragdrop .upload i,
.lnph-compose-um .ajax-upload-dragdrop .upload [class*="faicon-"] {
	color: #249d8c !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.lnph-compose-um .ajax-upload-dragdrop:hover,
.lnph-compose-um .ajax-upload-dragdrop .upload:hover {
	background: #edf8f6 !important;
}

.lnph-compose-um .um-activity-post.um-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-width: 104px !important;
	min-height: 38px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 9px 18px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #249d8c !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 20px !important;
	text-align: center !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.lnph-compose-um .um-activity-post.um-button.um-disabled {
	opacity: .46 !important;
}

.lnph-compose-sink {
	display: none !important;
}

.lnph-timeline-toast {
	position: fixed;
	left: 50%;
	bottom: 30px;
	z-index: 1000000;
	padding: 11px 16px;
	border-radius: 999px;
	background: #213238;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 10px);
	transition: opacity .18s ease, transform .18s ease;
}

.lnph-timeline-toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

@media screen and (max-width: 760px) {
	.lnph-post-timeline {
		max-width: none;
		border-left: 0;
		border-right: 0;
		border-radius: 0;
	}

	.lnph-timeline-topbar {
		min-height: 52px;
	}

	.lnph-timeline-tab {
		min-width: 0;
		padding: 0 18px;
		font-size: 13px;
	}

	.lnph-compose-button {
		position: fixed;
		right: 18px;
		bottom: 22px;
		z-index: 100;
		width: 54px;
		height: 54px;
		min-height: 54px;
		margin: 0;
		padding: 0;
		border-radius: 50%;
		box-shadow: 0 8px 22px rgba(33, 91, 83, .24);
	}

	.lnph-compose-button > span:last-child {
		display: none;
	}

	.lnph-compose-button-plus {
		font-size: 26px;
	}

	.lnph-timeline-wall > .um-activity-widget[id^="postid-"] {
		padding: 14px 14px 12px !important;
	}

	.lnph-timeline-wall .um-activity-ava,
	.lnph-timeline-wall .um-activity-ava > a,
	.lnph-timeline-wall .um-activity-ava img,
	.lnph-timeline-wall .um-activity-ava img.avatar,
	.lnph-timeline-wall .um-activity-ava img.um-avatar {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
		max-width: 40px !important;
		max-height: 40px !important;
		flex-basis: 40px !important;
	}

	.lnph-timeline-wall .um-activity-body,
	.lnph-timeline-wall .um-activity-disp,
	.lnph-timeline-wall .um-activity-foot.status {
		margin-left: 48px !important;
	}

	.lnph-timeline-wall .um-activity-bodyinner,
	.lnph-timeline-wall .um-activity-bodyinner-txt {
		font-size: 14px !important;
		line-height: 1.68 !important;
	}

	.lnph-compose-modal {
		padding: 0;
		background: #fff;
	}

	.lnph-compose-backdrop {
		display: none;
	}

	.lnph-compose-panel {
		width: 100%;
		min-height: 100vh;
		max-height: none;
		border-radius: 0;
		box-shadow: none;
	}

	.lnph-compose-header {
		min-height: 52px;
	}

	.lnph-compose-um .um-activity-new-post {
		padding: 16px !important;
	}

	.lnph-compose-um .um-activity-textarea-elem {
		min-height: 180px !important;
		max-height: none !important;
	}

	.lnph-timeline-toast {
		bottom: 88px;
	}
}


/* LinKnote post/reply action refinements v1.1.45 ----------------------- */

/* Like and reply actions are icon-only; text remains in the DOM for UM logic. */
.lnph-timeline-wall .um-activity-like a > span,
.lnph-timeline-wall .um-activity-comment > a > span {
	display: none !important;
}

.lnph-timeline-wall .um-activity-like a,
.lnph-timeline-wall .um-activity-comment > a,
.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like,
.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-reply {
	position: relative !important;
	justify-content: center;
	min-width: 28px;
	min-height: 28px;
	padding: 4px !important;
	border-radius: 50%;
	box-sizing: border-box;
}

/* Consistent hover labels for icon-only actions. */
.lnph-timeline-wall [data-lnph-tooltip]::after {
	content: attr(data-lnph-tooltip);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 7px);
	z-index: 1001;
	transform: translateX(-50%) translateY(2px);
	padding: 5px 7px;
	border-radius: 5px;
	background: rgba(28, 41, 46, .94);
	color: #fff;
	font-family: inherit !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
}

.lnph-timeline-wall [data-lnph-tooltip]:hover::after,
.lnph-timeline-wall [data-lnph-tooltip]:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

/* One heart geometry for both states prevents the size jump on like/unlike. */
.lnph-timeline-wall .um-activity-like i {
	display: inline-block !important;
	width: 19px !important;
	height: 19px !important;
	font-size: 0 !important;
	line-height: 19px !important;
	transform: none !important;
	animation: none !important;
}

.lnph-timeline-wall .um-activity-like i::before {
	content: "" !important;
	display: block !important;
	width: 19px !important;
	height: 19px !important;
	background: #6f7f84 !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.lnph-timeline-wall .um-activity-like.active i::before {
	background: #e5484d !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.lnph-timeline-wall .um-activity-like.active a,
.lnph-timeline-wall .um-activity-like.active a:hover {
	color: #e5484d !important;
}

/* Reply/comment uses the exact same UM comment icon class as the parent post. */
.lnph-timeline-wall .um-activity-comment i,
.lnph-timeline-wall .um-activity-comment-meta .lnph-comment-reply-icon {
	font-size: 16px !important;
	line-height: 1 !important;
}

.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like,
.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-reply {
	font-size: 0 !important;
	color: #7c898e !important;
	text-decoration: none !important;
}

.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like::before {
	content: "" !important;
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	background: #7c898e !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active,
.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active:hover {
	color: #e5484d !important;
}

.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active::before {
	background: #e5484d !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* Remove the old hand-drawn bubble pseudo icon; the real UM comment icon is inserted by JS. */
.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-reply::before {
	content: none !important;
	display: none !important;
}

/* Reply metadata is arranged as compact X-style controls without dot separators. */
.lnph-timeline-wall .um-activity-comment-meta {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap;
	gap: 7px 10px;
}

.lnph-timeline-wall .um-activity-comment-meta > span::after {
	content: "" !important;
	margin: 0 !important;
}

/* Keep the numeric comment-like count, but the people list now opens only from the 3-dot menu. */
.lnph-timeline-wall .um-activity-comment-meta .um-activity-comment-likes a {
	pointer-events: none !important;
	cursor: default !important;
	color: #8b979b !important;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-comment-likes i {
	display: none !important;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-comment-likes ins {
	margin-left: 0 !important;
	font-size: 11px !important;
	line-height: 1 !important;
}

/* Avatar faces for people who liked a post were unstable; use the menu list instead. */
.lnph-timeline-wall .um-activity-faces {
	display: none !important;
}

/* Post 3-dot and reply 3-dot menus share the same menu-item treatment. */
.lnph-timeline-wall .um-activity-dialog .lnph-menu-action,
.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc-d .lnph-menu-action {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 9px 12px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #536166 !important;
	font: inherit !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-align: left !important;
	white-space: nowrap;
	cursor: pointer;
}

.lnph-timeline-wall .um-activity-dialog .lnph-menu-action:hover,
.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc-d .lnph-menu-action:hover {
	background: #f6f9f9 !important;
	color: #249d8c !important;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc {
	position: relative !important;
	display: inline-flex !important;
	align-items: center;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc > a.lnph-comment-menu-trigger {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	color: #7c898e !important;
	font-size: 0 !important;
	text-decoration: none !important;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc > a.lnph-comment-menu-trigger::before {
	content: "•••" !important;
	display: block !important;
	font-family: Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 1px;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc > a.lnph-comment-menu-trigger:hover {
	background: #eff8f6 !important;
	color: #249d8c !important;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc-d {
	top: 30px !important;
	left: auto !important;
	right: 0 !important;
	width: max-content !important;
	min-width: 128px !important;
	padding: 4px 0 !important;
	border: 1px solid #e1e7e9 !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(24, 42, 48, .14) !important;
	overflow: hidden;
	z-index: 1000 !important;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc-d a {
	display: block !important;
	width: 100%;
	box-sizing: border-box;
	padding: 9px 12px !important;
	color: #536166 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	white-space: nowrap;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc-d a:hover {
	background: #f6f9f9 !important;
	color: #249d8c !important;
}

/* Ensure older v1.1.44 heart glyph rules cannot leak into the active state. */
.lnph-timeline-wall .um-activity-like.active i::before,
.lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active::before {
	content: "" !important;
}


/* LinKnote activity interaction fixes v1.1.46 ------------------------- */

/* A reply menu must paint above the following post instead of being covered by it. */
.lnph-timeline-wall > .um-activity-widget[id^="postid-"] {
	position: relative !important;
	z-index: 1;
	overflow: visible !important;
}

.lnph-timeline-wall > .um-activity-widget[id^="postid-"].lnph-post-menu-open {
	z-index: 250 !important;
}

.lnph-timeline-wall .um-activity-comments,
.lnph-timeline-wall .um-activity-comments-loop,
.lnph-timeline-wall .um-activity-commentwrap,
.lnph-timeline-wall .um-activity-comment-child,
.lnph-timeline-wall .um-activity-commentl,
.lnph-timeline-wall .um-activity-comment-info,
.lnph-timeline-wall .um-activity-comment-meta {
	overflow: visible !important;
}

.lnph-timeline-wall .um-activity-commentl.lnph-comment-menu-open {
	z-index: 260 !important;
}

.lnph-timeline-wall .um-activity-comment-meta .um-activity-editc-d {
	z-index: 100000 !important;
}

/* Small LinKnote information popup, used when a likes list is empty. */
.lnph-info-popup {
	position: fixed;
	inset: 0;
	z-index: 1000002;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
	background: rgba(25, 38, 43, .34);
}

.lnph-info-popup-card {
	position: relative;
	width: min(360px, calc(100vw - 40px));
	box-sizing: border-box;
	padding: 22px 24px 24px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(24, 42, 48, .2);
	color: #405056;
	text-align: left;
}

.lnph-info-popup-title {
	padding-right: 28px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: #27383e;
}

.lnph-info-popup-message {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.7;
	color: #66757a;
}

.lnph-info-popup-close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #708086;
	font-family: Arial, sans-serif;
	font-size: 23px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.lnph-info-popup-close:hover,
.lnph-info-popup-close:focus-visible {
	background: #eff8f6;
	color: #249d8c;
	outline: none;
}

/* LinKnote report flow / compact post counters v1.1.47 ---------------- */

/* The old separate "0 likes / 1 comments" summary remains in the DOM only
   as UM's native counter source. Visible counts now live beside each icon. */
.lnph-timeline-wall .um-activity-disp,
.lnph-timeline-wall .lnph-activity-count-source {
	display: none !important;
}

.lnph-timeline-wall .um-activity-like a > .lnph-post-action-count,
.lnph-timeline-wall .um-activity-comment > a > .lnph-post-action-count {
	display: inline-block !important;
	min-width: 8px;
	margin: 0 !important;
	color: #7c898e !important;
	font-family: inherit !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-align: left;
}

.lnph-timeline-wall .um-activity-like.active a > .lnph-post-action-count {
	color: #e5484d !important;
}

/* Keep reply-to-reply buttons visually identical to the parent comment action. */
.lnph-timeline-wall .lnph-comment-reply-slot {
	display: inline-flex !important;
	align-items: center;
}

/* Staged report dialog: reason -> confirmation -> submit. */
.lnph-report-modal {
	position: fixed;
	inset: 0;
	z-index: 1000003;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 20px;
	background: rgba(25, 38, 43, .42);
}

.lnph-report-modal-card {
	position: relative;
	width: min(520px, calc(100vw - 40px));
	max-height: calc(100vh - 40px);
	overflow: auto;
	box-sizing: border-box;
	padding: 24px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 52px rgba(24, 42, 48, .24);
	color: #34464c;
}

.lnph-report-step h2 {
	margin: 0 36px 6px 0 !important;
	color: #26383e;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.lnph-report-step > p {
	margin: 0 0 14px !important;
	color: #6d7d82;
	font-size: 13px !important;
	line-height: 1.6 !important;
}

.lnph-report-reason {
	display: block;
	width: 100% !important;
	min-height: 128px;
	box-sizing: border-box;
	padding: 12px 13px !important;
	border: 1px solid #d7e1e3 !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #2f4147 !important;
	font-family: inherit !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	resize: vertical;
}

.lnph-report-reason:focus {
	border-color: #249d8c !important;
	box-shadow: 0 0 0 2px rgba(36, 157, 140, .12) !important;
	outline: none !important;
}

.lnph-report-confirm-reason {
	padding: 13px 14px;
	border: 1px solid #e1e8e9;
	border-radius: 10px;
	background: #f7f9f9;
	color: #405156;
	font-size: 14px;
	line-height: 1.7;
	white-space: pre-wrap;
	word-break: break-word;
}

.lnph-report-error {
	min-height: 20px;
	margin-top: 8px;
	color: #c62828;
	font-size: 12px;
	line-height: 1.5;
}

.lnph-report-buttons {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 14px;
}

.lnph-report-primary,
.lnph-report-secondary {
	min-height: 38px;
	box-sizing: border-box;
	padding: 8px 16px;
	border-radius: 999px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

.lnph-report-primary {
	border: 1px solid #249d8c;
	background: #249d8c;
	color: #fff;
}

.lnph-report-primary:hover,
.lnph-report-primary:focus-visible {
	border-color: #1d8274;
	background: #1d8274;
	outline: none;
}

.lnph-report-primary:disabled {
	opacity: .55;
	cursor: wait;
}

.lnph-report-secondary {
	border: 1px solid #d7e1e3;
	background: #fff;
	color: #58686d;
}

.lnph-report-secondary:hover,
.lnph-report-secondary:focus-visible {
	border-color: #aebdc1;
	background: #f7f9f9;
	outline: none;
}

.lnph-report-close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #718086;
	font-family: Arial, sans-serif;
	font-size: 23px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.lnph-report-close:hover,
.lnph-report-close:focus-visible {
	background: #eff8f6;
	color: #249d8c;
	outline: none;
}

.lnph-timeline-wall .um-activity-report.lnph-is-busy {
	opacity: .55;
	pointer-events: none;
}

@media (max-width: 600px) {
	.lnph-report-modal {
		align-items: flex-end;
		padding: 0;
	}

	.lnph-report-modal-card {
		width: 100%;
		max-height: 88vh;
		padding: 22px 18px 20px;
		border-radius: 18px 18px 0 0;
	}
}
.lnph-timeline-wall .lnph-post-action-count {
	text-decoration: none !important;
}


/* LinKnote child-reply composer fix v1.1.50 --------------------------- */
/* The inline reply composer must be visible even before the post-level
 * comment box has ever been focused/opened. */
.lnph-timeline-wall .lnph-inline-reply-area {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}


/* LinKnote child-reply initialization fix v1.1.51 -------------------- */
/* After UM has initialized its original post-level composer for a child
 * reply, keep only the child composer visible. Clicking the post-level
 * reply action removes this class before UM handles the click. */
.lnph-timeline-wall .um-activity-comments > .um-activity-comment-area.lnph-source-comment-form-suppressed {
	display: none !important;
}


/* LinKnote comment reply visibility/layout fix v1.1.53 ------------------ */
/* UM can create the reply composer before its surrounding activity layout
 * has been visually initialized. Give LinKnote reply composers their own
 * deterministic layout instead of depending on that transient state. */
.lnph-timeline-wall .um-activity-comment-info.lnph-comment-info-reply-open,
.lnph-timeline-wall .um-activity-commentl.lnph-comment-reply-open {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

.lnph-timeline-wall .um-activity-comment-info > .lnph-inline-reply-area {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) auto !important;
	align-items: start !important;
	column-gap: 8px !important;
	box-sizing: border-box !important;
	position: relative !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	height: auto !important;
	min-height: 44px !important;
	max-height: none !important;
	margin: 5px 0 0 !important;
	padding: 8px 0 0 !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.lnph-timeline-wall .lnph-inline-reply-area > .um-activity-comment-avatar {
	position: static !important;
	grid-column: 1 !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.lnph-timeline-wall .lnph-inline-reply-area > .um-activity-comment-avatar img {
	display: block !important;
	width: 28px !important;
	height: 28px !important;
	max-width: 28px !important;
	max-height: 28px !important;
	border-radius: 50% !important;
}

.lnph-timeline-wall .lnph-inline-reply-area > .um-activity-comment-box {
	display: block !important;
	grid-column: 2 !important;
	min-width: 0 !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.lnph-timeline-wall .lnph-inline-reply-area textarea.um-activity-comment-textarea {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: auto !important;
	min-height: 36px !important;
	max-height: 160px !important;
	margin: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.lnph-timeline-wall .lnph-inline-reply-area > .um-activity-right {
	display: block !important;
	position: static !important;
	float: none !important;
	grid-column: 3 !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.lnph-timeline-wall .lnph-inline-reply-area > .um-activity-right .um-activity-comment-post {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	float: none !important;
	margin: 0 !important;
	min-height: 36px !important;
	height: 36px !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

.lnph-timeline-wall .lnph-inline-reply-area > .um-clear {
	display: none !important;
}


/* LinKnote collapsed reply-thread UI v1.1.55 -------------------------- */
/* Existing replies stay hidden until the user explicitly expands them. */
.lnph-timeline-wall .um-activity-widget:not(.lnph-replies-expanded) .um-activity-comments-loop {
	display: none !important;
}

/* Keep the original post-level reply composer closed until its own reply icon is used. */
.lnph-timeline-wall .um-activity-widget:not(.lnph-post-reply-open) .um-activity-comments > .um-activity-comment-area {
	display: none !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open .um-activity-comments > .um-activity-comment-area:not(.lnph-source-comment-form-suppressed) {
	display: block !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-replies-expanded .um-activity-comments-loop {
	display: block !important;
}

.lnph-timeline-wall .lnph-replies-toggle-row {
	box-sizing: border-box;
	margin: 2px 0 4px 54px;
	padding: 0;
}

.lnph-timeline-wall .lnph-replies-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 28px;
	margin: 0;
	padding: 3px 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #249d8c;
	font-family: inherit;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}

.lnph-timeline-wall .lnph-replies-toggle:hover,
.lnph-timeline-wall .lnph-replies-toggle:focus-visible {
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #1d8274;
	text-decoration: underline;
	outline: none;
}

@media (max-width: 600px) {
	.lnph-timeline-wall .lnph-replies-toggle-row {
		margin-left: 48px;
	}
}


/* LinKnote reply thread polish v1.1.56 ------------------------------- */
/* LinKnote has its own thread-level \"返信を表示 / 返信を非表示\" control.
 * Disable UM Social Activity's separate per-comment Hide/Show UI. The JS
 * also removes these nodes and visually ignores an old hidden-1 state. */
.lnph-timeline-wall .um-activity-comment-hide,
.lnph-timeline-wall .um-activity-comment-hidden {
	display: none !important;
}

.lnph-timeline-wall .um-activity-comment-avatar.hidden-1 {
	opacity: 1 !important;
}

.lnph-timeline-wall .um-activity-comment-info.hidden-1 {
	display: block !important;
}

/* Restore the post-level reply composer to one horizontal row:
 * avatar | textarea | reply button. */
.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open
	.um-activity-comments > .um-activity-comment-area:not(.lnph-source-comment-form-suppressed) {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) auto !important;
	align-items: start !important;
	column-gap: 8px !important;
	box-sizing: border-box !important;
	position: relative !important;
	width: 100% !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 10px 16px 10px !important;
	overflow: visible !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open
	.um-activity-comments > .um-activity-comment-area > .um-activity-comment-avatar {
	position: static !important;
	grid-column: 1 !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open
	.um-activity-comments > .um-activity-comment-area > .um-activity-comment-avatar img {
	display: block !important;
	width: 28px !important;
	height: 28px !important;
	max-width: 28px !important;
	max-height: 28px !important;
	border-radius: 50% !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open
	.um-activity-comments > .um-activity-comment-area > .um-activity-comment-box {
	display: block !important;
	grid-column: 2 !important;
	min-width: 0 !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open
	.um-activity-comments > .um-activity-comment-area textarea.um-activity-comment-textarea {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: 160px !important;
	margin: 0 !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open
	.um-activity-comments > .um-activity-comment-area > .um-activity-right {
	display: block !important;
	position: static !important;
	float: none !important;
	grid-column: 3 !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open
	.um-activity-comments > .um-activity-comment-area > .um-activity-right .um-activity-comment-post {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	float: none !important;
	min-height: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

.lnph-timeline-wall .um-activity-widget.lnph-post-reply-open
	.um-activity-comments > .um-activity-comment-area > .um-clear {
	display: none !important;
}


/* LinKnote reply-tree layout polish v1.1.57 --------------------------- */
/* UM's default child thread starts at margin-top:-6px and absolutely
 * positions child avatars. That lets the first child avatar / guide line
 * intrude into the direct reply above. Give the child thread its own clean
 * spacing and deterministic two-column layout. */
.lnph-timeline-wall .um-activity-commentwrap > .um-activity-comment-child {
	box-sizing: border-box !important;
	margin-top: 8px !important;
	margin-bottom: 10px !important;
	margin-left: 28px !important;
	padding: 4px 0 2px 12px !important;
	border-left: 2px solid #e5e9ea !important;
}

.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	align-items: start !important;
	column-gap: 8px !important;
	box-sizing: border-box !important;
	position: relative !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 5px 0 7px !important;
	overflow: visible !important;
}

.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child > .um-activity-comment-avatar {
	position: static !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child > .um-activity-comment-avatar img {
	display: block !important;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	max-width: 28px !important;
	max-height: 28px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child > .um-activity-comment-info {
	display: block !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	position: static !important;
	top: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Keep the child author's name/text in the content column to the right of
 * the avatar rather than allowing the native absolute layout to drop it
 * underneath the avatar. */
.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child .um-activity-comment-data {
	display: block !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.45 !important;
}

.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child .um-activity-comment-author-link {
	display: inline !important;
	margin: 0 5px 0 0 !important;
}

.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child .um-activity-comment-text {
	display: inline !important;
}

/* A child-level inline reply composer belongs in the content column and
 * must not disturb the avatar/grid alignment. */
.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child
	> .um-activity-comment-info > .lnph-inline-reply-area {
	width: 100% !important;
	margin-top: 7px !important;
}
\n\n/* LinKnote conversation thread UX v1.1.58 ----------------------------- */\n/* Third-level items are a compact conversation, not another visual nesting level. */\n.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child {\n\tgrid-template-columns: 24px minmax(0, 1fr) !important;\n\tcolumn-gap: 7px !important;\n\tpadding-top: 6px !important;\n\tpadding-bottom: 6px !important;\n}\n\n.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child > .um-activity-comment-avatar,\n.lnph-timeline-wall .um-activity-comment-child > .um-activity-commentl.is-child > .um-activity-comment-avatar img {\n\twidth: 24px !important;\n\theight: 24px !important;\n\tmin-width: 24px !important;\n\tmin-height: 24px !important;\n\tmax-width: 24px !important;\n\tmax-height: 24px !important;\n}\n\n/* Child replies use a textual target action instead of a bubble that suggests level 4. */\n.lnph-timeline-wall .lnph-comment-reply-slot {\n\tdisplay: inline-flex !important;\n\talign-items: center !important;\n}\n\n.lnph-timeline-wall .lnph-child-thread-reply {\n\tdisplay: inline-flex !important;\n\talign-items: center !important;\n\tmin-height: 20px !important;\n\tpadding: 0 2px !important;\n\tborder: 0 !important;\n\tbackground: transparent !important;\n\tbox-shadow: none !important;\n\tcolor: #6f7f83 !important;\n\tfont-size: 11px !important;\n\tfont-weight: 500 !important;\n\tline-height: 1.35 !important;\n\ttext-decoration: none !important;\n\twhite-space: nowrap !important;\n}\n\n.lnph-timeline-wall .lnph-child-thread-reply:hover,\n.lnph-timeline-wall .lnph-child-thread-reply:focus-visible {\n\tcolor: #249d8c !important;\n\ttext-decoration: underline !important;\n}\n\n/* The composer for replying to a third-level item sits at the bottom of the whole\n * conversation thread, so it never looks like a fourth indentation level. */\n.lnph-timeline-wall .lnph-thread-reply-host {\n\tdisplay: block !important;\n\tbox-sizing: border-box !important;\n\tposition: relative !important;\n\tmin-height: 0 !important;\n\tmargin: 8px 0 10px 40px !important;\n\tpadding: 8px 0 0 !important;\n\toverflow: visible !important;\n}\n\n.lnph-timeline-wall .lnph-thread-replying-to {\n\tmargin: 0 0 6px 36px !important;\n\tcolor: #6f7f83 !important;\n\tfont-size: 11px !important;\n\tline-height: 1.4 !important;\n}\n\n.lnph-timeline-wall .lnph-thread-reply-host > .lnph-inline-reply-area {\n\tdisplay: grid !important;\n\tgrid-template-columns: 28px minmax(0, 1fr) auto !important;\n\talign-items: start !important;\n\tcolumn-gap: 8px !important;\n\tbox-sizing: border-box !important;\n\twidth: 100% !important;\n\tmargin: 0 !important;\n\tpadding: 0 !important;\n}\n\n.lnph-timeline-wall .lnph-thread-reply-host > .lnph-inline-reply-area > .um-activity-comment-avatar {\n\tposition: static !important;\n\tgrid-column: 1 !important;\n\twidth: 28px !important;\n\theight: 28px !important;\n\tmargin: 0 !important;\n}\n\n.lnph-timeline-wall .lnph-thread-reply-host > .lnph-inline-reply-area > .um-activity-comment-box {\n\tgrid-column: 2 !important;\n\tmin-width: 0 !important;\n\tmargin: 0 !important;\n}\n\n.lnph-timeline-wall .lnph-thread-reply-host > .lnph-inline-reply-area > .um-activity-right {\n\tdisplay: block !important;\n\tposition: static !important;\n\tfloat: none !important;\n\tgrid-column: 3 !important;\n\twidth: auto !important;\n\tmargin: 0 !important;\n}\n\n.lnph-timeline-wall .lnph-thread-reply-host > .lnph-inline-reply-area > .um-clear {\n\tdisplay: none !important;\n}\n\n@media (max-width: 600px) {\n\t.lnph-timeline-wall .lnph-thread-reply-host {\n\t\tmargin-left: 30px !important;\n\t}\n}\n
/* =====================================================
   LinKnote Activity v1.2.0
   Content type × following filter, activity composer, interests
===================================================== */

/* Activity toolbar: content type and people filter are independent axes. */
.lnph-activity-toolbar {
	box-sizing: border-box;
	border-bottom: 1px solid #e8eff0;
	background: #fff;
}

.lnph-activity-type-tabs {
	display: flex;
	align-items: stretch;
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.lnph-activity-type-tabs::-webkit-scrollbar {
	display: none;
}

.lnph-activity-type-tab {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 0 auto;
	min-width: 78px;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 0;
	background: transparent;
	color: #718086;
	font: inherit;
	font-size: 13px;
	font-weight: 650;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

.lnph-activity-type-tab:hover,
.lnph-activity-type-tab:focus-visible {
	background: #f7faf9;
	color: #334247;
	outline: 0;
}

.lnph-activity-type-tab.is-active {
	color: #1d8779;
}

.lnph-activity-type-tab.is-active::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 0;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: #249d8c;
}

.lnph-activity-toolbar-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-height: 54px;
	padding: 8px 14px;
	border-top: 1px solid #f1f4f5;
}

.lnph-following-filter {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	margin: 0;
	padding: 7px 11px;
	border: 1px solid #d9e4e5;
	border-radius: 999px;
	background: #fff;
	color: #5e6c71;
	font: inherit;
	font-size: 12px;
	font-weight: 650;
	line-height: 1;
	cursor: pointer;
}

.lnph-following-filter:hover,
.lnph-following-filter:focus-visible {
	border-color: #9bd5cd;
	background: #f5fbfa;
	outline: 0;
}

.lnph-following-filter-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 17px;
	height: 17px;
	border: 1px solid #bac8cb;
	border-radius: 5px;
	background: #fff;
	color: transparent;
	font-size: 11px;
	font-weight: 800;
}

.lnph-following-filter.is-active {
	border-color: #7bc8bd;
	background: #eff9f7;
	color: #1c7569;
}

.lnph-following-filter.is-active .lnph-following-filter-check {
	border-color: #249d8c;
	background: #249d8c;
	color: #fff;
}

/* A compact semantic label makes mixed feeds legible at a glance. */
.lnph-activity-type-marker {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	width: fit-content;
	margin: 0 0 8px !important;
	padding: 4px 8px !important;
	border: 1px solid #dfe8e9;
	border-radius: 999px;
	background: #f8fbfb;
	color: #617075;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.lnph-activity-type-marker i {
	font-size: 11px !important;
	line-height: 1 !important;
}

.lnph-activity-type-marker--work {
	border-color: #ddd9ef;
	background: #f8f7fc;
	color: #6d6492;
}

.lnph-activity-type-marker--recruit {
	border-color: #efdcc7;
	background: #fff9f2;
	color: #986b3b;
}

.lnph-activity-type-marker--schedule {
	border-color: #d3e3ef;
	background: #f5faff;
	color: #557d99;
}

.lnph-activity-type-marker--service {
	border-color: #cfe8df;
	background: #f3faf7;
	color: #397a67;
}

/* 👍 is the lightweight Like. Undo the old heart skin from the post action. */
.lnph-timeline-wall .um-activity-like i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 19px !important;
	height: 19px !important;
	font-size: 17px !important;
	line-height: 19px !important;
	color: #6f7f84 !important;
}

.lnph-timeline-wall .um-activity-like i::before {
	content: "\f164" !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	-webkit-mask: none !important;
	mask: none !important;
	font-family: FontAwesome !important;
	font-size: 17px !important;
	font-style: normal !important;
	font-weight: normal !important;
	line-height: 1 !important;
}

.lnph-timeline-wall .um-activity-like.active i,
.lnph-timeline-wall .um-activity-like.active i::before,
.lnph-timeline-wall .um-activity-like.active a,
.lnph-timeline-wall .um-activity-like.active a:hover {
	color: #249d8c !important;
}

/* ♡ is a separate, stronger "気になる！" signal. */
.lnph-timeline-wall .lnph-activity-interest {
	display: inline-flex !important;
	align-items: center !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.lnph-timeline-wall .lnph-activity-interest-button {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	box-sizing: border-box !important;
	min-width: 34px !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 4px 5px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #6f7f84 !important;
	font: inherit !important;
	cursor: pointer !important;
}

.lnph-timeline-wall .lnph-activity-interest-button:hover,
.lnph-timeline-wall .lnph-activity-interest-button:focus-visible {
	background: #fff2f6 !important;
	color: #d94e78 !important;
	outline: 0 !important;
}

.lnph-timeline-wall .lnph-activity-interest-button > i {
	display: inline-block !important;
	width: 19px !important;
	height: 19px !important;
	font-size: 0 !important;
	line-height: 19px !important;
}

.lnph-timeline-wall .lnph-activity-interest-button > i::before {
	content: "" !important;
	display: block !important;
	width: 19px !important;
	height: 19px !important;
	background: currentColor !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-button {
	color: #d94e78 !important;
}

.lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-button > i::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.lnph-timeline-wall .lnph-activity-interest-count {
	margin: 0 !important;
	padding: 0 !important;
	color: currentColor !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

/* Composer type picker. */
.lnph-compose-header {
	justify-content: space-between;
}

.lnph-compose-type-picker,
.lnph-compose-editor {
	box-sizing: border-box;
}

.lnph-compose-type-picker {
	padding: 20px;
}

.lnph-compose-picker-lead {
	margin: 0 0 14px;
	color: #263438;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.lnph-compose-type-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.lnph-compose-type-card {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 10px;
	box-sizing: border-box;
	min-width: 0;
	min-height: 76px;
	margin: 0;
	padding: 12px;
	border: 1px solid #dfe8e9;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	color: #263438;
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

.lnph-compose-type-card:hover,
.lnph-compose-type-card:focus-visible {
	border-color: #93d3ca;
	background: #f6fbfa;
	outline: 0;
	transform: translateY(-1px);
}

.lnph-compose-type-card:first-child:last-child,
.lnph-compose-type-card:nth-child(5):last-child {
	grid-column: 1 / -1;
}

.lnph-compose-type-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: #eff8f6;
	color: #249d8c;
	font-size: 17px;
}

.lnph-compose-type-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.lnph-compose-type-copy strong {
	font-size: 13px;
	font-weight: 750;
	line-height: 1.35;
}

.lnph-compose-type-copy small {
	color: #738186;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
}

.lnph-compose-type-arrow {
	color: #9aa7aa;
	font-size: 24px;
	font-weight: 300;
	line-height: 1;
}

.lnph-compose-editor {
	padding: 14px 18px 18px;
}

.lnph-compose-type-back {
	display: inline-flex;
	align-items: center;
	margin: 0 0 10px;
	padding: 3px 0;
	border: 0;
	background: transparent;
	color: #6a797e;
	font: inherit;
	font-size: 11px;
	font-weight: 650;
	cursor: pointer;
}

.lnph-compose-type-back:hover,
.lnph-compose-type-back:focus-visible {
	color: #249d8c;
	outline: 0;
}

.lnph-compose-selected-type {
	display: inline-flex;
	align-items: center;
	margin: 0 0 10px;
	padding: 5px 9px;
	border-radius: 999px;
	background: #eff8f6;
	color: #247e72;
	font-size: 11px;
	font-weight: 750;
	line-height: 1;
}

.lnph-compose-editor .lnph-compose-um .um-activity-new-post {
	padding: 0 !important;
}

@media screen and (max-width: 760px) {
	.lnph-activity-type-tab {
		flex: 0 0 auto;
		min-width: 74px;
		min-height: 46px;
		padding: 0 13px;
	}

	.lnph-activity-toolbar-actions {
		justify-content: flex-start;
		min-height: 48px;
		padding: 7px 14px;
	}

	.lnph-following-filter {
		min-height: 33px;
	}

	/* The existing mobile floating compose button stays fixed; only the filter
	 * remains in the toolbar row. */
	.lnph-activity-toolbar-actions .lnph-compose-button {
		position: fixed;
	}

	.lnph-compose-type-picker {
		padding: 16px;
	}

	.lnph-compose-type-grid {
		grid-template-columns: 1fr;
	}

	.lnph-compose-type-card,
	.lnph-compose-type-card:nth-child(5):last-child {
		grid-column: auto;
		min-height: 68px;
	}

	.lnph-compose-editor {
		padding: 12px 16px 18px;
	}
}

/* LinKnote Activity v1.2.1 ------------------------------------------------ */
/* Keep both reaction states visible regardless of UM's own active-color skin. */
.lnph-post-timeline .lnph-timeline-wall .um-activity-like.active,
.lnph-post-timeline .lnph-timeline-wall .um-activity-like.active a,
.lnph-post-timeline .lnph-timeline-wall .um-activity-like.active a:hover,
.lnph-post-timeline .lnph-timeline-wall .um-activity-like.active i,
.lnph-post-timeline .lnph-timeline-wall .um-activity-like.active i.um-active-color,
.lnph-post-timeline .lnph-timeline-wall .um-activity-like.active i::before {
	color: #249d8c !important;
	-webkit-text-fill-color: #249d8c !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.lnph-post-timeline .lnph-timeline-wall .um-activity-like.active i,
.lnph-post-timeline .lnph-timeline-wall .um-activity-like.active i::before {
	background: transparent !important;
}

.lnph-post-timeline .lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-button,
.lnph-post-timeline .lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-button:hover,
.lnph-post-timeline .lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-button:focus-visible,
.lnph-post-timeline .lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-count {
	color: #d94e78 !important;
	-webkit-text-fill-color: #d94e78 !important;
	opacity: 1 !important;
}

/* Structured composer fields. */
.lnph-compose-structured-fields {
	margin: 0 0 13px;
}

.lnph-compose-fields-loading,
.lnph-compose-fields-empty {
	margin: 0;
	padding: 16px;
	border: 1px solid #e1e9ea;
	border-radius: 11px;
	background: #f8fbfb;
	color: #718085;
	font-size: 12px;
	line-height: 1.6;
}

.lnph-compose-field-lead {
	margin: 0 0 8px;
	color: #334247;
	font-size: 12px;
	font-weight: 750;
}

.lnph-compose-fields-note {
	margin: 8px 1px 0;
	color: #7d8a8e;
	font-size: 10.5px;
	line-height: 1.55;
}

.lnph-compose-choice-list {
	display: grid;
	gap: 7px;
	max-height: 300px;
	overflow-y: auto;
	padding: 1px 3px 1px 1px;
}

.lnph-compose-choice {
	display: grid;
	grid-template-columns: auto 54px minmax(0, 1fr);
	align-items: center;
	gap: 9px;
	box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid #dfe7e9;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
}

.lnph-compose-choice--schedule {
	grid-template-columns: auto minmax(0, 1fr);
}

.lnph-compose-choice:has(input:checked) {
	border-color: #69bfb2;
	background: #f3faf8;
	box-shadow: 0 0 0 1px rgba(36, 157, 140, .08);
}

.lnph-compose-choice input {
	margin: 0;
}

.lnph-compose-choice img {
	width: 54px;
	height: 42px;
	border-radius: 7px;
	object-fit: cover;
	background: #eef3f4;
}

.lnph-compose-choice > span {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.lnph-compose-choice strong {
	overflow: hidden;
	color: #2d3b40;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-compose-choice small {
	overflow: hidden;
	color: #7d898d;
	font-size: 10.5px;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-compose-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.lnph-compose-field {
	display: grid;
	gap: 5px;
	min-width: 0;
	margin: 0;
}

.lnph-compose-field--wide {
	grid-column: 1 / -1;
}

.lnph-compose-field > span {
	color: #3f4e53;
	font-size: 11px;
	font-weight: 700;
}

.lnph-compose-field > span b {
	color: #d25965;
	font-size: 9px;
	font-weight: 700;
}

.lnph-compose-field > span small {
	color: #899599;
	font-size: 9px;
	font-weight: 500;
}

.lnph-compose-field input[type="text"],
.lnph-compose-field input[type="url"],
.lnph-compose-field input[type="date"],
.lnph-compose-field select {
	box-sizing: border-box;
	width: 100%;
	min-height: 39px;
	padding: 7px 9px;
	border: 1px solid #d8e1e3;
	border-radius: 8px;
	background: #fff;
	color: #2d3b40;
	font: inherit;
	font-size: 12px;
}

.lnph-compose-field input:focus,
.lnph-compose-field select:focus {
	border-color: #69bfb2;
	outline: none;
	box-shadow: 0 0 0 2px rgba(36, 157, 140, .10);
}

.lnph-compose-role-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-height: 150px;
	overflow-y: auto;
	padding: 8px;
	border: 1px solid #dfe7e9;
	border-radius: 9px;
	background: #fafcfc;
}

.lnph-compose-role-grid label {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 4px 7px;
	border: 1px solid #dfe7e9;
	border-radius: 999px;
	background: #fff;
	color: #56656a;
	font-size: 10.5px;
	cursor: pointer;
}

.lnph-compose-role-grid label:has(input:checked) {
	border-color: #80c8bd;
	background: #edf8f5;
	color: #247e72;
}

/* Linked Works / Schedule / Store / recruitment cards. */
.lnph-reference-card {
	display: grid;
	grid-template-columns: minmax(0, 148px) minmax(0, 1fr);
	overflow: hidden;
	margin: 11px 0 2px;
	border: 1px solid #dfe7e9;
	border-radius: 12px;
	background: #fff;
}

.lnph-reference-card--schedule,
.lnph-reference-card--recruit {
	grid-template-columns: 1fr;
}

.lnph-reference-thumb {
	display: block;
	min-height: 118px;
	background: #eef3f4;
}

.lnph-reference-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 118px;
	object-fit: cover;
}

.lnph-reference-body {
	display: grid;
	align-content: center;
	gap: 5px;
	min-width: 0;
	padding: 13px 15px;
}

.lnph-reference-kicker {
	justify-self: start;
	padding: 3px 7px;
	border-radius: 999px;
	background: #edf8f5;
	color: #247e72;
	font-size: 9.5px;
	font-weight: 800;
	line-height: 1;
}

.lnph-reference-body > strong {
	color: #263438;
	font-size: 14px;
	font-weight: 780;
	line-height: 1.45;
}

.lnph-reference-body > span:not(.lnph-reference-kicker),
.lnph-reference-body > small {
	color: #6e7d81;
	font-size: 11px;
	line-height: 1.45;
}

.lnph-reference-link,
.lnph-reference-secondary {
	justify-self: start;
	margin-top: 3px;
	color: #249d8c !important;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none !important;
}

.lnph-reference-secondary {
	color: #65767b !important;
	font-weight: 600;
}

.lnph-reference-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.lnph-reference-date {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 15px 0;
	color: #4f696f;
	font-size: 12px;
	font-weight: 750;
}

.lnph-reference-date i {
	color: #249d8c;
}

.lnph-reference-body .is-accepting {
	color: #247e72;
	font-weight: 700;
}

.lnph-reference-body .is-paused {
	color: #8a7777;
	font-weight: 700;
}

.lnph-recruit-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.lnph-recruit-status {
	color: #247e72;
	font-size: 10px;
	font-weight: 750;
}

.lnph-reference-card--recruit.is-closed {
	opacity: .72;
}

.lnph-reference-card--recruit.is-closed .lnph-recruit-status {
	color: #7f898c;
}

.lnph-recruit-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.lnph-recruit-tags span {
	padding: 3px 7px;
	border-radius: 999px;
	background: #f1f5f6;
	color: #56656a;
	font-size: 9.5px;
	font-weight: 650;
}

.lnph-recruit-meta {
	display: grid;
	gap: 3px;
	margin: 3px 0 0;
}

.lnph-recruit-meta > div {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 6px;
	font-size: 10.5px;
	line-height: 1.45;
}

.lnph-recruit-meta dt {
	color: #8a9699;
}

.lnph-recruit-meta dd {
	margin: 0;
	color: #526167;
}

@media screen and (max-width: 760px) {
	.lnph-compose-form-grid {
		grid-template-columns: 1fr;
	}
	.lnph-compose-field--wide {
		grid-column: auto;
	}
	.lnph-compose-choice-list {
		max-height: 260px;
	}
	.lnph-reference-card {
		grid-template-columns: 112px minmax(0, 1fr);
	}
	.lnph-reference-card--schedule,
	.lnph-reference-card--recruit {
		grid-template-columns: 1fr;
	}
	.lnph-reference-thumb,
	.lnph-reference-thumb img {
		min-height: 102px;
	}
	.lnph-reference-body {
		padding: 11px 12px;
	}
}

/* LinKnote Activity v1.2.2 ------------------------------------------------ */
/* Keep the thumbs-up glyph itself visible in both states. v1.2.1 forced a
 * transparent pseudo-element background, which could blank the icon under
 * some Ultimate Member / browser combinations. */
.lnph-post-timeline .lnph-timeline-wall .um-activity-foot.status .um-activity-like i,
.lnph-post-timeline .lnph-timeline-wall .um-activity-foot.status .um-activity-like i::before {
	color: #7c898e !important;
	-webkit-text-fill-color: #7c898e !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.lnph-post-timeline .lnph-timeline-wall .um-activity-foot.status .um-activity-like i::before {
	content: "\f164" !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	-webkit-mask: none !important;
	mask: none !important;
	font-family: FontAwesome !important;
	font-size: 17px !important;
	font-style: normal !important;
	font-weight: normal !important;
	line-height: 1 !important;
}

.lnph-post-timeline .lnph-timeline-wall .um-activity-foot.status .um-activity-like.active i,
.lnph-post-timeline .lnph-timeline-wall .um-activity-foot.status .um-activity-like.active i::before,
.lnph-post-timeline .lnph-timeline-wall .um-activity-foot.status .um-activity-like.active a,
.lnph-post-timeline .lnph-timeline-wall .um-activity-foot.status .um-activity-like.active a:hover {
	color: #249d8c !important;
	-webkit-text-fill-color: #249d8c !important;
	opacity: 1 !important;
}

/* "気になる！" keeps a neutral outline when off and a clearly filled red
 * heart when on. Set the pseudo-element background directly instead of only
 * relying on inherited currentColor. */
.lnph-post-timeline .lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-button,
.lnph-post-timeline .lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-count {
	color: #e5484d !important;
	-webkit-text-fill-color: #e5484d !important;
}

.lnph-post-timeline .lnph-timeline-wall .lnph-activity-interest.is-active .lnph-activity-interest-button > i::before {
	background: #e5484d !important;
	background-color: #e5484d !important;
	opacity: 1 !important;
}

/* Work selector search. */
.lnph-compose-work-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	margin: 0 0 9px;
}

.lnph-compose-work-search input[type="search"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 39px;
	padding: 7px 10px;
	border: 1px solid #d8e1e3;
	border-radius: 8px;
	background: #fff;
	color: #2d3b40;
	font: inherit;
	font-size: 12px;
}

.lnph-compose-work-search input[type="search"]:focus {
	border-color: #69bfb2;
	outline: none;
	box-shadow: 0 0 0 2px rgba(36, 157, 140, .10);
}

.lnph-compose-work-search [data-lnph-work-search-count] {
	min-width: 34px;
	color: #7d8a8e;
	font-size: 10.5px;
	font-weight: 650;
	text-align: right;
}

.lnph-compose-choice[data-lnph-work-choice][hidden] {
	display: none !important;
}

.lnph-compose-work-no-results {
	margin: 8px 0 0;
	padding: 12px;
	border-radius: 8px;
	background: #f8fbfb;
	color: #75858a;
	font-size: 11px;
	text-align: center;
}

.lnph-compose-field-help {
	display: block;
	color: #899599;
	font-size: 9.5px;
	font-weight: 500;
	line-height: 1.5;
}

/* Newly published activity is scrolled into view after the filtered timeline
 * reloads. Leave a little room for the site header. */
.lnph-timeline-wall .um-activity-widget[id^="postid-"] {
	scroll-margin-top: 96px;
}

/* LinKnote Activity v1.2.3 ---------------------------------------------- */
/* Recruitment keywords are real links and behave as searchable hashtags. */
.lnph-recruit-tags a.lnph-recruit-tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 7px;
	border-radius: 999px;
	background: #f1f5f6;
	color: #56656a !important;
	font-size: 9.5px;
	font-weight: 650;
	line-height: 1.35;
	text-decoration: none !important;
	transition: background .12s ease, color .12s ease;
}

.lnph-recruit-tags a.lnph-recruit-tag:hover,
.lnph-recruit-tags a.lnph-recruit-tag:focus-visible {
	background: #e6f3f0;
	color: #247e72 !important;
	outline: none;
}

.lnph-hashtag-filter {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 9px 0 3px;
	padding: 5px 8px 5px 10px;
	border: 1px solid #d7e7e4;
	border-radius: 999px;
	background: #f5fbfa;
	color: #607276;
	font-size: 11px;
	line-height: 1.3;
}

.lnph-hashtag-filter[hidden] {
	display: none !important;
}

.lnph-hashtag-filter strong {
	color: #247e72;
	font-weight: 750;
}

.lnph-hashtag-filter button {
	display: inline-grid;
	place-items: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #7c8a8e;
	font: inherit;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}

.lnph-hashtag-filter button:hover,
.lnph-hashtag-filter button:focus-visible {
	background: #e6f3f0;
	color: #247e72;
	outline: none;
}

/* Existing UM routes (notification/permalink and native hashtag) keep their
 * URLs, but use the same compact filter-chip language as LinKnote tags. */
.lnph-route-filter {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 9px 6px 3px 0;
	padding: 5px 8px 5px 10px;
	border: 1px solid #d7e7e4;
	border-radius: 999px;
	background: #f5fbfa;
	color: #607276;
	font-size: 11px;
	line-height: 1.3;
}

.lnph-route-filter strong {
	color: #247e72;
	font-weight: 750;
}

.lnph-route-filter button {
	display: inline-grid;
	place-items: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #7c8a8e;
	font: inherit;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}

.lnph-route-filter button:hover,
.lnph-route-filter button:focus-visible {
	background: #e6f3f0;
	color: #247e72;
	outline: none;
}


/* Notification/permalink UX: keep the existing wall_post route, but make the
 * current target obvious and offer a descriptive way back to the full feed. */
.lnph-route-filter--single {
	gap: 10px;
	padding-right: 6px;
}

.lnph-route-filter--single button[data-lnph-single-post-clear] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 26px;
	padding: 0 10px;
	border: 1px solid #c9dfdb;
	border-radius: 999px;
	background: #fff;
	color: #247e72;
	font-size: 10.5px;
	font-weight: 700;
	white-space: nowrap;
}

.lnph-route-filter--single button[data-lnph-single-post-clear]:hover,
.lnph-route-filter--single button[data-lnph-single-post-clear]:focus-visible {
	border-color: #9dcfc6;
	background: #eaf7f4;
	color: #176b61;
}

.lnph-timeline-wall > .um-activity-widget.lnph-single-post-target {
	position: relative !important;
}

/*
 * Do not tint the UM card background directly here. Some UM/theme rules keep
 * that background white with stronger selectors. A pointer-events-none overlay
 * makes the notification target cue reliable without changing card content or
 * interaction.
 */
.lnph-timeline-wall > .um-activity-widget.lnph-single-post-target::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 8;
	pointer-events: none;
	border-radius: inherit;
	background: rgba(36, 157, 140, 0.055);
	box-shadow:
		inset 3px 0 0 rgba(36, 157, 140, 0.72),
		inset 0 0 0 1px rgba(36, 157, 140, 0.10);
	opacity: 1;
	transition: opacity 1.25s ease;
}

.lnph-timeline-wall > .um-activity-widget.lnph-single-post-target.lnph-single-post-target--fade::after {
	opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
	.lnph-timeline-wall > .um-activity-widget.lnph-single-post-target::after {
		transition: none;
	}
}

.lnph-route-error {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 14px 0 4px;
	padding: 18px;
	border: 1px solid #dce7e8;
	border-radius: 12px;
	background: #fbfdfd;
	color: #405158;
}

.lnph-route-error-icon {
	display: grid;
	place-items: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #eef4f5;
	color: #728187;
	font-size: 15px;
	font-weight: 800;
}

.lnph-route-error-body {
	min-width: 0;
}

.lnph-route-error-title {
	display: block;
	margin: 1px 0 5px;
	color: #2f3f45;
	font-size: 14px;
	line-height: 1.45;
}

.lnph-route-error p {
	margin: 0 0 11px;
	color: #68797f;
	font-size: 12.5px;
	line-height: 1.65;
}

.lnph-route-error-back {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid #c9dfdb;
	border-radius: 999px;
	background: #fff;
	color: #247e72 !important;
	font-size: 11.5px;
	font-weight: 700;
	text-decoration: none !important;
}

.lnph-route-error-back:hover,
.lnph-route-error-back:focus-visible {
	border-color: #9dcfc6;
	background: #eaf7f4;
	color: #176b61 !important;
	outline: none;
}

@media screen and (max-width: 600px) {
	.lnph-route-filter--single {
		display: flex;
		width: fit-content;
		max-width: 100%;
		flex-wrap: wrap;
	}

	.lnph-route-error {
		padding: 14px;
	}
}

/* Reply likes use the same thumbs-up language as post likes. */
.lnph-post-timeline .lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like::before {
	content: "\f164" !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	background-color: transparent !important;
	-webkit-mask: none !important;
	mask: none !important;
	font-family: FontAwesome !important;
	font-size: 15px !important;
	font-style: normal !important;
	font-weight: normal !important;
	line-height: 1 !important;
	color: #7c898e !important;
	-webkit-text-fill-color: #7c898e !important;
	opacity: 1 !important;
}

.lnph-post-timeline .lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active,
.lnph-post-timeline .lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active:hover,
.lnph-post-timeline .lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active::before,
.lnph-post-timeline .lnph-timeline-wall .um-activity-comment-meta a.um-activity-comment-like.active:hover::before {
	background: none !important;
	background-color: transparent !important;
	color: #249d8c !important;
	-webkit-text-fill-color: #249d8c !important;
}

/* LinKnote Activity v1.2.4 ---------------------------------------------- */
/* Owner-only saved-activity view. Kept independent from content-type tabs. */
.lnph-interest-filter {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	margin: 0;
	padding: 7px 11px;
	border: 1px solid #eadde2;
	border-radius: 999px;
	background: #fff;
	color: #6d6468;
	font: inherit;
	font-size: 12px;
	font-weight: 650;
	line-height: 1;
	cursor: pointer;
}

.lnph-interest-filter:hover,
.lnph-interest-filter:focus-visible {
	border-color: #e5a5b9;
	background: #fff8fa;
	outline: 0;
}

.lnph-interest-filter-heart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	color: #8d9699;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
}

.lnph-interest-filter.is-active {
	border-color: #e197ae;
	background: #fff2f6;
	color: #b9345d;
}

.lnph-interest-filter.is-active .lnph-interest-filter-heart {
	color: #d94e78;
}

.lnph-interest-removing {
	opacity: 0 !important;
	transform: translateY(-4px);
	transition: opacity .16s ease, transform .16s ease !important;
}

@media (max-width: 600px) {
	.lnph-activity-toolbar-actions {
		flex-wrap: wrap;
	}

	.lnph-following-filter,
	.lnph-interest-filter {
		min-height: 34px;
		font-size: 11px;
	}
}


/* LinKnote Activity v1.2.6 ---------------------------------------------- */
/* Activity authors can expand the people who sent the stronger
 * "気になる！" signal, then open their profile or start a DM.
 * Legacy lnph-recruit-* class names are intentionally kept to avoid UI regressions. */
.lnph-recruit-interest-owner {
	margin-top: 7px;
	padding-top: 9px;
	border-top: 1px solid #edf1f2;
}

.lnph-recruit-interest-toggle {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 30px;
	padding: 5px 8px;
	border: 1px solid #eadcde;
	border-radius: 999px;
	background: #fffafb;
	color: #6e5f62;
	font: inherit;
	font-size: 10.5px;
	font-weight: 650;
	line-height: 1.2;
	cursor: pointer;
}

.lnph-recruit-interest-toggle:hover,
.lnph-recruit-interest-toggle:focus-visible {
	border-color: #e6c5c8;
	background: #fff5f6;
	outline: none;
}

.lnph-recruit-interest-heart {
	color: #e5484d;
	font-size: 12px;
	line-height: 1;
}

.lnph-recruit-interest-toggle strong {
	color: #e5484d;
	font-weight: 800;
}

.lnph-recruit-interest-chevron {
	margin-left: 1px;
	color: #8f7d80;
	font-size: 12px;
	transition: transform .15s ease;
}

.lnph-recruit-interest-owner.is-open .lnph-recruit-interest-chevron {
	transform: rotate(180deg);
}

.lnph-recruit-interest-panel {
	display: grid;
	gap: 0;
	margin-top: 8px;
	overflow: hidden;
	border: 1px solid #e5ebed;
	border-radius: 10px;
	background: #fff;
}

.lnph-recruit-interest-panel[hidden] {
	display: none !important;
}

.lnph-recruit-interest-user {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	padding: 9px 10px;
	border-bottom: 1px solid #edf1f2;
}

.lnph-recruit-interest-user:last-child {
	border-bottom: 0;
}

.lnph-recruit-interest-avatar,
.lnph-recruit-interest-avatar img {
	display: block;
	width: 42px;
	height: 42px;
	border-radius: 50%;
}

.lnph-recruit-interest-avatar img {
	object-fit: cover;
}

.lnph-recruit-interest-user-main {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.lnph-recruit-interest-name {
	overflow: hidden;
	color: #2f3d41 !important;
	font-size: 11.5px;
	font-weight: 750;
	line-height: 1.35;
	text-overflow: ellipsis;
	text-decoration: none !important;
	white-space: nowrap;
}

.lnph-recruit-interest-user-main > span {
	overflow: hidden;
	color: #88969a;
	font-size: 9.5px;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnph-recruit-interest-actions {
	display: flex;
	align-items: center;
	gap: 6px;
}

.lnph-recruit-interest-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 29px;
	padding: 4px 8px;
	border: 1px solid #dce5e7;
	border-radius: 7px;
	background: #fff;
	color: #65767b !important;
	font-size: 9.5px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}

.lnph-recruit-interest-actions a.is-dm {
	border-color: #b9ded8;
	background: #edf8f5;
	color: #247e72 !important;
}

.lnph-recruit-interest-actions a:hover,
.lnph-recruit-interest-actions a:focus-visible {
	border-color: #a7cbc5;
	outline: none;
}

.lnph-recruit-interest-empty {
	color: #899599;
	font-size: 10px;
	line-height: 1.45;
}

.lnph-recruit-interest-empty span {
	color: #c49da1;
}

@media screen and (max-width: 620px) {
	.lnph-recruit-interest-user {
		grid-template-columns: 38px minmax(0, 1fr);
	}
	.lnph-recruit-interest-avatar,
	.lnph-recruit-interest-avatar img {
		width: 38px;
		height: 38px;
	}
	.lnph-recruit-interest-actions {
		grid-column: 2;
		justify-content: flex-start;
	}
}


/* LinKnote Activity v1.2.8 ---------------------------------------------- */
/* Recruitment lifecycle controls. Explicit close/reopen never deletes the
 * activity; an elapsed deadline is displayed as context only. */
.lnph-reference-card--recruit.is-deadline-expired .lnph-recruit-meta dd {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.lnph-recruit-deadline-expired {
	display: inline-flex;
	align-items: center;
	min-height: 19px;
	padding: 2px 6px;
	border-radius: 999px;
	background: #f4eeee;
	color: #9a6565;
	font-size: 9px;
	font-weight: 750;
	line-height: 1;
}

.lnph-recruit-owner-actions {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 4px;
	padding-top: 8px;
	border-top: 1px solid #edf1f2;
}

.lnph-recruit-status-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 5px 10px;
	border: 1px solid #d7e2e4;
	border-radius: 8px;
	background: #fff;
	color: #617176;
	font: inherit;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

.lnph-recruit-status-toggle:hover,
.lnph-recruit-status-toggle:focus-visible {
	border-color: #a9ccc6;
	background: #f3faf8;
	color: #247e72;
	outline: none;
}

.lnph-reference-card--recruit.is-closed .lnph-recruit-status-toggle {
	border-color: #b9ded8;
	background: #edf8f5;
	color: #247e72;
}

.lnph-recruit-status-toggle[disabled] {
	opacity: .55;
	cursor: wait;
}


/* ======================================================================
   Site-wide Activity page — v1.2.12
   ====================================================================== */
.lnph-global-activity-feed {
	width: 100%;
}

.lnph-global-activity-feed > .um-form {
	width: 100%;
}

.lnph-post-timeline--global .um-activity-author-url {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
}

.lnph-post-timeline--global .lnph-activity-author-handle {
	color: #819095;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
}

/* ======================================================================
   Activity discovery/search filters — v1.2.15
   Shared by the site-wide feed and profile Activity tab.
   ====================================================================== */
.lnph-discovery-filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	box-sizing: border-box;
	padding: 10px 14px;
	border-bottom: 1px solid #edf2f3;
	background: #fff;
}

.lnph-activity-search {
	display: flex;
	align-items: center;
	gap: 7px;
	flex: 1 1 420px;
	max-width: 590px;
	margin: 0;
}

.lnph-activity-search-shell {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

.lnph-activity-search-box {
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 0;
	height: 38px;
	box-sizing: border-box;
	padding: 0 8px 0 11px;
	border: 1px solid #d9e4e5;
	border-radius: 999px;
	background: #f9fbfb;
	transition: border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

.lnph-activity-search-box:focus-within {
	border-color: #8bcfc5;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(36, 157, 140, .10);
}

.lnph-activity-search-icon {
	flex: 0 0 auto;
	margin-right: 6px;
	color: #87969a;
	font-size: 17px;
	line-height: 1;
}

.lnph-activity-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 34px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #354247;
	font: inherit;
	font-size: 13px;
}

.lnph-activity-search input[type="search"]::-webkit-search-cancel-button {
	display: none;
}

.lnph-activity-search-clear {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #829095;
	font: inherit;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}

.lnph-activity-search-clear[hidden] {
	display: none !important;
}

.lnph-activity-search-clear:hover,
.lnph-activity-search-clear:focus-visible {
	background: #eaf4f2;
	color: #247e72;
	outline: 0;
}

.lnph-activity-search-submit,
.lnph-tag-picker-button {
	flex: 0 0 auto;
	min-height: 36px;
	margin: 0;
	padding: 0 13px;
	border: 1px solid #cbe3df;
	border-radius: 999px;
	background: #eff8f6;
	color: #247e72;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

.lnph-activity-search-submit:hover,
.lnph-activity-search-submit:focus-visible,
.lnph-tag-picker-button:hover,
.lnph-tag-picker-button:focus-visible {
	border-color: #91cfc5;
	background: #e6f4f1;
	outline: 0;
}

.lnph-tag-picker-button:disabled {
	cursor: default;
	opacity: .45;
}

.lnph-tag-suggestions {
	position: absolute;
	top: calc(100% + 7px);
	left: 0;
	z-index: 80;
	width: min(420px, 92vw);
	box-sizing: border-box;
	padding: 9px;
	border: 1px solid #dce7e8;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(35, 58, 62, .14);
}

.lnph-tag-suggestions[hidden],
.lnph-tag-suggestion[hidden],
.lnph-tag-suggestions-empty[hidden] {
	display: none !important;
}

.lnph-tag-suggestions-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 2px 4px 8px;
	color: #65767b;
	font-size: 11px;
}

.lnph-tag-suggestions-head strong {
	color: #34464a;
	font-size: 12px;
}

.lnph-tag-suggestions-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-height: 220px;
	overflow-y: auto;
	padding: 1px;
}

.lnph-tag-suggestion {
	margin: 0;
	padding: 6px 9px;
	border: 1px solid #d7e9e6;
	border-radius: 999px;
	background: #f7fbfa;
	color: #287b70;
	font: inherit;
	font-size: 11px;
	line-height: 1.2;
	cursor: pointer;
}

.lnph-tag-suggestion:hover,
.lnph-tag-suggestion:focus-visible {
	border-color: #8bcfc5;
	background: #eaf7f4;
	outline: 0;
}

.lnph-tag-suggestions-empty {
	padding: 12px 5px 7px;
	color: #87969a;
	font-size: 12px;
	text-align: center;
}

.lnph-discovery-options {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
	flex: 0 0 auto;
}

.lnph-include-ended-filter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: #617176;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.35;
	cursor: pointer;
	white-space: nowrap;
}

.lnph-include-ended-filter input[type="checkbox"] {
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: #249d8c;
}

/* Legacy v1.2.14 status buttons remain styled if an old cached template is seen. */
.lnph-discovery-status-filters {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 7px;
	flex: 0 0 auto;
}

.lnph-discovery-status-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	margin: 0;
	padding: 7px 11px;
	border: 1px solid #d9e4e5;
	border-radius: 999px;
	background: #fff;
	color: #617176;
	font: inherit;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

.lnph-discovery-status-filter[hidden] { display: none !important; }
.lnph-discovery-status-filter.is-active { border-color: #78c6ba; background: #eaf7f4; color: #1c7569; }

@media (max-width: 900px) {
	.lnph-discovery-filters {
		align-items: stretch;
		flex-direction: column;
		gap: 8px;
		padding: 9px 10px;
	}

	.lnph-activity-search {
		flex-basis: auto;
		max-width: none;
		width: 100%;
	}

	.lnph-discovery-options {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.lnph-include-ended-filter {
		white-space: normal;
	}
}

@media (max-width: 520px) {
	.lnph-activity-search-submit {
		padding-inline: 11px;
	}

	.lnph-discovery-options {
		align-items: flex-start;
		flex-direction: column;
	}

	.lnph-tag-picker-button {
		min-height: 34px;
	}
}

/* v1.2.16: multi role-tag selection + profile-safe discovery row */
.lnph-discovery-filters {
	flex-wrap: wrap;
}

.lnph-activity-search {
	order: 1;
}

.lnph-discovery-options {
	order: 2;
}

.lnph-selected-tags {
	order: 3;
	display: flex;
	align-items: center;
	gap: 7px;
	flex: 1 0 100%;
	min-width: 0;
	padding-top: 1px;
}

.lnph-selected-tags[hidden] {
	display: none !important;
}

.lnph-selected-tags-label {
	flex: 0 0 auto;
	color: #6a7a7f;
	font-size: 11px;
	font-weight: 700;
}

.lnph-selected-tags-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
}

.lnph-selected-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	padding: 6px 8px 6px 10px;
	border: 1px solid #9fd5cc;
	border-radius: 999px;
	background: #eaf7f4;
	color: #1f776b;
	font: inherit;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.1;
	cursor: pointer;
}

.lnph-selected-tag:hover,
.lnph-selected-tag:focus-visible {
	border-color: #68bcae;
	background: #dff2ee;
	outline: 0;
}

.lnph-selected-tag span {
	font-size: 13px;
	line-height: 1;
}

@media (max-width: 900px) {
	.lnph-activity-search,
	.lnph-discovery-options,
	.lnph-selected-tags {
		order: initial;
	}
	.lnph-selected-tags {
		flex-basis: auto;
	}
}

/* v1.2.17: keep the shared search row visible inside UM profile tab layouts. */
.um-profile .lnph-post-timeline[data-lnph-profile-feed="1"] > .lnph-discovery-filters,
.um-profile .lnph-post-timeline[data-lnph-profile-feed="1"] [data-lnph-discovery-filters] {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

@media (max-width: 900px) {
	.um-profile .lnph-post-timeline[data-lnph-profile-feed="1"] > .lnph-discovery-filters,
	.um-profile .lnph-post-timeline[data-lnph-profile-feed="1"] [data-lnph-discovery-filters] {
		display: flex !important;
	}
}


/* v1.2.18: profile Activity lazy-render repair.  UM may replace the tab body
 * after the original PHP output, so make the repaired discovery row visible
 * based on the final `.um-profile-body.activity` container as well. */
.um-profile .um-profile-body.activity .lnph-post-timeline > [data-lnph-discovery-filters],
.um-profile .um-profile-body.activity [data-lnph-profile-feed="1"] > [data-lnph-discovery-filters] {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	z-index: 3;
}


/* v1.2.19: profile Activity discovery row can be collapsed by the UM/theme
 * profile layout even though the row and its children are present.  Keep the
 * final profile-only row in normal flow and allow the tag popup to escape. */
.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > .lnph-discovery-filters,
.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > [data-lnph-discovery-filters] {
	display: flex !important;
	box-sizing: border-box !important;
	height: auto !important;
	min-height: 58px !important;
	max-height: none !important;
	padding: 10px 14px !important;
	overflow: visible !important;
	overflow-x: visible !important;
	overflow-y: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > [data-lnph-discovery-filters] > .lnph-activity-search,
.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > [data-lnph-discovery-filters] > .lnph-discovery-options {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

@media (max-width: 900px) {
	.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > .lnph-discovery-filters,
	.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > [data-lnph-discovery-filters] {
		min-height: 0 !important;
		padding: 9px 10px !important;
	}
}


/* v1.2.20: in the profile Activity tab the active UM/theme stylesheet can
 * hide the generic `.lnph-discovery-options` child even after the parent row
 * has been restored. JS renames only that profile child so the external rule
 * no longer matches it. Keep the replacement visually identical to the
 * global discovery options row. */
.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > [data-lnph-discovery-filters] > .lnph-profile-discovery-options {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 9px !important;
	order: 2;
	flex: 0 0 auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.um-profile .um-profile-body.activity .lnph-profile-discovery-options > .lnph-tag-picker-button,
.um-profile .um-profile-body.activity .lnph-profile-discovery-options > .lnph-include-ended-filter {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

@media (max-width: 900px) {
	.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > [data-lnph-discovery-filters] > .lnph-profile-discovery-options {
		justify-content: flex-start !important;
		flex-wrap: wrap !important;
		order: initial;
	}
}

@media (max-width: 520px) {
	.um-profile .um-profile-body.activity .lnph-post-timeline[data-lnph-profile-feed="1"] > [data-lnph-discovery-filters] > .lnph-profile-discovery-options {
		align-items: flex-start !important;
		flex-direction: column !important;
	}
}


/* v1.2.21: normalize only the profile Activity role-tag picker button.
 * UM/theme button rules can otherwise alter its height/padding after the
 * profile-only options row is restored. */
.um-profile .um-profile-body.activity .lnph-profile-discovery-options > .lnph-tag-picker-button {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: auto !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 1px solid #cbe3df !important;
	border-radius: 999px !important;
	background: #eff8f6 !important;
	box-shadow: none !important;
	color: #247e72 !important;
	font: inherit !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
}

.um-profile .um-profile-body.activity .lnph-profile-discovery-options > .lnph-tag-picker-button:hover,
.um-profile .um-profile-body.activity .lnph-profile-discovery-options > .lnph-tag-picker-button:focus-visible {
	border-color: #91cfc5 !important;
	background: #e6f4f1 !important;
	color: #247e72 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

/* ======================================================================
   Site-wide Activity UI polish — v1.2.22
   Visual-only refinement for /activity/. Profile Activity keeps its current
   dimensions and profile-specific repair rules.
   ====================================================================== */
.lnph-global-activity-feed .lnph-post-timeline--global {
	max-width: 860px;
	border-color: #e2e9eb;
	border-radius: 16px;
	box-shadow: 0 10px 34px rgba(42, 67, 72, .06);
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar {
	border-bottom-color: #e8eff0;
	border-radius: 16px 16px 0 0;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-type-tabs {
	padding: 0 8px;
	background: #fff;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-type-tab {
	min-width: 92px;
	min-height: 52px;
	padding: 0 14px;
	font-size: 13px;
	transition: color .14s ease, background .14s ease;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-type-tab.is-active {
	background: linear-gradient(to bottom, transparent 68%, rgba(36, 157, 140, .045));
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-type-tab.is-active::after {
	left: 18px;
	right: 18px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar-actions {
	justify-content: flex-start;
	gap: 8px;
	min-height: 52px;
	padding: 8px 16px;
	border-top-color: #f0f4f5;
	background: #fbfdfd;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar-actions > .lnph-compose-button {
	margin: 0 0 0 auto;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-following-filter,
.lnph-global-activity-feed .lnph-post-timeline--global .lnph-interest-filter {
	min-height: 34px;
	padding: 6px 11px;
	font-size: 11.5px;
}

/* Search gets one strong horizontal row on desktop. Selected tags occupy a
 * dedicated second line so multiple selections never squeeze the controls. */
.lnph-global-activity-feed .lnph-post-timeline--global > .lnph-discovery-filters,
.lnph-global-activity-feed .lnph-post-timeline--global > [data-lnph-discovery-filters] {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"search options"
		"selected selected";
	align-items: center;
	gap: 8px 12px;
	padding: 11px 16px;
	background: #fff;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-search {
	grid-area: search;
	width: 100%;
	max-width: none;
	min-width: 0;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-discovery-options {
	grid-area: options;
	justify-content: flex-end;
	gap: 8px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-selected-tags {
	grid-area: selected;
	width: 100%;
	padding-top: 2px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-search-box {
	height: 40px;
	background: #f8fbfb;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-search-submit {
	min-height: 38px;
	padding: 0 15px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-tag-picker-button {
	min-height: 34px;
	padding: 0 12px;
	font-size: 11px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-include-ended-filter {
	min-height: 30px;
	padding: 0 2px;
	color: #65757a;
	font-size: 10.5px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-include-ended-filter:has(input:checked) {
	color: #247e72;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-selected-tags-label {
	color: #748388;
	font-size: 10.5px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-selected-tag {
	padding: 5px 8px 5px 9px;
	font-size: 10.5px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-route-filter,
.lnph-global-activity-feed .lnph-post-timeline--global .lnph-hashtag-filter {
	margin-left: 16px;
	margin-right: 16px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-timeline-status:not([hidden]) {
	padding: 8px 16px;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-timeline-wall > .um-activity-widget[id^="postid-"] {
	padding: 17px 20px 14px !important;
}

/* Make the discovery controls feel like controls rather than a dense text row. */
.lnph-global-activity-feed .lnph-post-timeline--global .lnph-tag-picker-button,
.lnph-global-activity-feed .lnph-post-timeline--global .lnph-following-filter,
.lnph-global-activity-feed .lnph-post-timeline--global .lnph-interest-filter,
.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-search-submit {
	transition: border-color .14s ease, background .14s ease, color .14s ease, transform .14s ease;
}

@media (hover: hover) {
	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-search-submit:hover,
	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-tag-picker-button:hover,
	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-following-filter:hover,
	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-interest-filter:hover {
		transform: translateY(-1px);
	}
}

@media screen and (max-width: 760px) {
	.lnph-global-activity-feed .lnph-post-timeline--global {
		max-width: none;
		border-left: 0;
		border-right: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar {
		border-radius: 0;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-type-tabs {
		padding: 0 4px;
		scroll-snap-type: x proximity;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-type-tab {
		flex: 0 0 auto;
		min-width: 76px;
		min-height: 46px;
		padding: 0 11px;
		font-size: 12px;
		scroll-snap-align: start;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-type-tab.is-active::after {
		left: 12px;
		right: 12px;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar-actions {
		flex-wrap: nowrap;
		gap: 7px;
		min-height: 48px;
		padding: 7px 10px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar-actions::-webkit-scrollbar {
		display: none;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-following-filter,
	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-interest-filter {
		flex: 0 0 auto;
		min-height: 33px;
		white-space: nowrap;
	}

	/* Compose remains the existing floating action button on mobile. */
	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar-actions > .lnph-compose-button {
		margin: 0;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global > .lnph-discovery-filters,
	.lnph-global-activity-feed .lnph-post-timeline--global > [data-lnph-discovery-filters] {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"search"
			"options"
			"selected";
		gap: 8px;
		padding: 10px;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-discovery-options {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-include-ended-filter {
		white-space: normal;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-route-filter,
	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-hashtag-filter {
		margin-left: 10px;
		margin-right: 10px;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-timeline-wall > .um-activity-widget[id^="postid-"] {
		padding: 14px 14px 12px !important;
	}
}

@media screen and (max-width: 520px) {
	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-search {
		gap: 6px;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-search-box {
		height: 38px;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-search-submit {
		min-height: 36px;
		padding: 0 12px;
		font-size: 11px;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-discovery-options {
		align-items: flex-start;
		flex-direction: row;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-tag-picker-button {
		min-height: 33px;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-include-ended-filter {
		flex: 1 1 100%;
	}

	.lnph-global-activity-feed .lnph-post-timeline--global .lnph-tag-suggestions {
		left: 0;
		width: min(420px, calc(100vw - 32px));
	}
}

/* Activity reference cards — schedule/service information polish v1.2.23 */
.lnph-reference-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
}

.lnph-reference-status {
	flex: 0 0 auto;
	padding: 3px 8px;
	border-radius: 999px;
	background: #f1f5f6;
	color: #68787d;
	font-size: 9.5px;
	font-weight: 800;
	line-height: 1.25;
	white-space: nowrap;
}

.lnph-reference-status.is-upcoming,
.lnph-reference-status.is-accepting {
	background: #edf8f5;
	color: #247e72;
}

.lnph-reference-status.is-live {
	background: #edf8f5;
	color: #167b69;
}

.lnph-reference-status.is-ended,
.lnph-reference-status.is-paused {
	background: #f3f3f3;
	color: #7d878a;
}

.lnph-reference-primary-meta,
.lnph-reference-meta {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	min-width: 0;
	color: #5d7076;
	font-size: 11px;
	line-height: 1.5;
}

.lnph-reference-primary-meta {
	margin-top: 1px;
	color: #405a61;
	font-size: 12px;
	font-weight: 750;
}

.lnph-reference-primary-meta i,
.lnph-reference-meta i {
	flex: 0 0 14px;
	margin-top: 2px;
	color: #249d8c;
	font-size: 11px;
	text-align: center;
}

.lnph-reference-primary-meta span,
.lnph-reference-meta span {
	min-width: 0;
}

.lnph-reference-excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 2px 0 0;
	color: #68787d;
	font-size: 11px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.lnph-reference-card--schedule .lnph-reference-body {
	gap: 7px;
}

.lnph-reference-card--schedule.is-ended {
	background: #fbfcfc;
}

.lnph-reference-card--service .lnph-reference-body {
	gap: 7px;
}

.lnph-reference-card--service.is-paused {
	background: #fcfcfc;
}

.lnph-service-price {
	display: flex;
	align-items: baseline;
	gap: 7px;
	margin-top: 1px;
}

.lnph-service-price > span {
	color: #7a898e;
	font-size: 9.5px;
	font-weight: 700;
}

.lnph-service-price > strong {
	color: #263438;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
}

@media screen and (max-width: 760px) {
	.lnph-reference-head {
		align-items: flex-start;
	}

	.lnph-reference-primary-meta {
		font-size: 11.5px;
	}

	.lnph-reference-excerpt {
		-webkit-line-clamp: 2;
	}

	.lnph-service-price > strong {
		font-size: 14px;
	}
}

/* v1.2.27: popular recruitment role tags for faster discovery.
 * Counts are read-only usage counts from visible recruitment activities. */
.lnph-popular-tags {
	order: 4;
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 0 100%;
	min-width: 0;
	padding-top: 2px;
}

.lnph-popular-tags[hidden] {
	display: none !important;
}

.lnph-popular-tags-label {
	flex: 0 0 auto;
	color: #6f7f84;
	font-size: 10.5px;
	font-weight: 700;
	white-space: nowrap;
}

.lnph-popular-tags-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
}

.lnph-popular-tag {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 28px;
	margin: 0;
	padding: 4px 7px 4px 9px;
	border: 1px solid #d8e7e5;
	border-radius: 999px;
	background: #f8fbfb;
	box-shadow: none;
	color: #4c6866;
	font: inherit;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.1;
	cursor: pointer;
	transition: border-color .14s ease, background .14s ease, color .14s ease;
}

.lnph-popular-tag small {
	display: inline-grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: #e9f1f0;
	color: #788a8e;
	font: inherit;
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
}

.lnph-popular-tag:hover,
.lnph-popular-tag:focus-visible {
	border-color: #9ccfc7;
	background: #eff8f6;
	color: #247e72;
	outline: 0;
}

.lnph-popular-tag.is-selected {
	border-color: #7cc7bb;
	background: #e7f6f2;
	color: #1f776b;
}

.lnph-popular-tag.is-selected small {
	background: #cfeae4;
	color: #1f776b;
}

.lnph-popular-tags-note {
	flex: 0 0 auto;
	margin-left: auto;
	color: #98a4a7;
	font-size: 9.5px;
	white-space: nowrap;
}

/* Keep the popular row inside the polished global discovery grid. */
.lnph-global-activity-feed .lnph-post-timeline--global > .lnph-discovery-filters,
.lnph-global-activity-feed .lnph-post-timeline--global > [data-lnph-discovery-filters] {
	grid-template-areas:
		"search options"
		"selected selected"
		"popular popular";
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-popular-tags {
	grid-area: popular;
	width: 100%;
	padding-top: 1px;
}

@media screen and (max-width: 760px) {
	.lnph-global-activity-feed .lnph-post-timeline--global > .lnph-discovery-filters,
	.lnph-global-activity-feed .lnph-post-timeline--global > [data-lnph-discovery-filters] {
		grid-template-areas:
			"search"
			"options"
			"selected"
			"popular";
	}

	.lnph-popular-tags {
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 6px 8px;
	}

	.lnph-popular-tags-label {
		flex: 1 0 100%;
	}

	.lnph-popular-tags-note {
		margin-left: 0;
		align-self: center;
	}
}

@media screen and (max-width: 520px) {
	.lnph-popular-tags-list {
		flex: 1 0 100%;
	}

	.lnph-popular-tags-note {
		flex: 1 0 100%;
	}
}


/* v1.2.28: role-tag discovery is scoped to the active Activity type.
 * Types without role-tag metadata should not show an inert tag picker. */
.lnph-tag-picker-button[hidden] {
	display: none !important;
}

/* LinKnote Activity v1.2.29 ----------------------------------------------
 * Recruitment cards lead directly from discovery to the recruiter's
 * profile or an existing Better Messages conversation URL. */
.lnph-recruit-contact-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-top: 7px;
	padding-top: 9px;
	border-top: 1px solid #edf1f2;
}

.lnph-recruit-contact-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 31px;
	padding: 5px 10px;
	border: 1px solid #dce5e7;
	border-radius: 8px;
	background: #fff;
	color: #65767b !important;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}

.lnph-recruit-contact-action.is-dm {
	border-color: #b9ded8;
	background: #edf8f5;
	color: #247e72 !important;
}

.lnph-recruit-contact-action:hover,
.lnph-recruit-contact-action:focus-visible {
	border-color: #a7cbc5;
	background: #f8fbfa;
	outline: none;
}

.lnph-recruit-contact-action.is-dm:hover,
.lnph-recruit-contact-action.is-dm:focus-visible {
	background: #e5f5f1;
}

@media screen and (max-width: 520px) {
	.lnph-recruit-contact-actions {
		gap: 6px;
	}

	.lnph-recruit-contact-action {
		flex: 1 1 auto;
		min-width: 0;
	}
}



/* Recruitment DM draft conflict guard ------------------------------------ */
.lnph-recruit-draft-conflict {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	box-sizing: border-box;
	margin: 0;
	padding: 9px 12px;
	border-top: 1px solid #dfe8ea;
	border-bottom: 1px solid #dfe8ea;
	background: #f7fbfc;
	color: #33474e;
	font-size: 12px;
	line-height: 1.45;
}

.lnph-recruit-draft-conflict__text {
	display: flex;
	flex-wrap: wrap;
	gap: 3px 8px;
	min-width: 0;
}

.lnph-recruit-draft-conflict__text strong {
	color: #21373f;
}

.lnph-recruit-draft-conflict__actions {
	display: flex;
	flex: 0 0 auto;
	gap: 6px;
}

.lnph-recruit-draft-conflict__actions button {
	min-height: 30px;
	padding: 0 10px;
	border: 1px solid #a9bec5;
	border-radius: 5px;
	background: #fff;
	color: #31545e;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.lnph-recruit-draft-conflict__actions button[data-lnph-recruit-draft-replace] {
	border-color: #1684aa;
	background: #1684aa;
	color: #fff;
}

@media screen and (max-width: 700px) {
	.lnph-recruit-draft-conflict {
		align-items: stretch;
		flex-direction: column;
	}
	.lnph-recruit-draft-conflict__actions {
		width: 100%;
	}
	.lnph-recruit-draft-conflict__actions button {
		flex: 1 1 0;
	}
}

/* LinKnote Activity v1.2.41: owner Activity manager ---------------------- */
.lnph-manage-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 34px;
	padding: 6px 11px;
	border: 1px solid #d5e1e4;
	border-radius: 8px;
	background: #fff;
	color: #51666d;
	font: inherit;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

.lnph-manage-button:hover,
.lnph-manage-button:focus-visible {
	border-color: #a9c9cf;
	background: #f6fafb;
	color: #31545e;
	outline: 0;
}

.lnph-manage-button-icon {
	font-size: 13px;
	line-height: 1;
}

.lnph-manage-modal[hidden] {
	display: none !important;
}

body.lnph-manage-open {
	overflow: hidden !important;
}

.lnph-manage-modal {
	position: fixed;
	z-index: 100050;
	inset: 0;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	box-sizing: border-box;
	padding: clamp(78px, 9vh, 108px) 24px 24px;
}

.lnph-manage-backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: rgba(25, 37, 41, 0.52);
	cursor: default;
}

.lnph-manage-panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: min(820px, 100%);
	max-height: min(820px, calc(100vh - clamp(102px, 12vh, 132px)));
	overflow: hidden;
	border: 1px solid #d8e2e4;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 55px rgba(20, 38, 43, 0.22);
	color: #2e3b40;
}

.lnph-manage-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	border-bottom: 1px solid #e8edef;
}

.lnph-manage-header > div {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.lnph-manage-header strong {
	font-size: 18px;
	line-height: 1.3;
}

.lnph-manage-header small {
	color: #7b898e;
	font-size: 11px;
	line-height: 1.4;
}

.lnph-manage-close {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f2f5f6;
	color: #66777d;
	font: inherit;
	font-size: 20px;
	line-height: 32px;
	cursor: pointer;
}

.lnph-manage-list-view,
.lnph-manage-edit-view {
	min-height: 0;
	overflow-y: auto;
	padding: 16px 18px 20px;
}

.lnph-manage-list-view[hidden],
.lnph-manage-edit-view[hidden] {
	display: none !important;
}

.lnph-manage-filters {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 170px auto;
	gap: 8px;
	margin-bottom: 10px;
}

.lnph-manage-filters input,
.lnph-manage-filters select,
.lnph-manage-edit-form input,
.lnph-manage-edit-form select,
.lnph-manage-edit-form textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #d4dee1;
	border-radius: 8px;
	background: #fff;
	color: #2f3d42;
	font: inherit;
	font-size: 13px;
}

.lnph-manage-filters input,
.lnph-manage-filters select {
	height: 38px;
	padding: 0 10px;
}

.lnph-manage-search-button,
.lnph-manage-pagination button,
.lnph-manage-edit-back,
.lnph-manage-row-actions a,
.lnph-manage-row-actions button,
.lnph-manage-save {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 34px;
	padding: 6px 11px;
	border: 1px solid #cddadd;
	border-radius: 7px;
	background: #fff;
	color: #435b63;
	font: inherit;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
}

.lnph-manage-search-button,
.lnph-manage-save {
	border-color: #249d8c;
	background: #249d8c;
	color: #fff !important;
}

.lnph-manage-status,
.lnph-manage-edit-status {
	min-height: 18px;
	margin: 2px 0 8px;
	color: #7a898e;
	font-size: 11px;
	line-height: 1.5;
}

.lnph-manage-status.is-error,
.lnph-manage-edit-status.is-error {
	color: #b23b45;
}

.lnph-manage-edit-status.is-success {
	color: #247e72;
}

.lnph-manage-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lnph-manage-row {
	padding: 12px 13px;
	border: 1px solid #e0e7e9;
	border-radius: 10px;
	background: #fff;
}

.lnph-manage-row-head {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 7px;
}

.lnph-manage-row-head time {
	margin-left: auto;
	color: #89969a;
	font-size: 10px;
}

.lnph-manage-type-badge,
.lnph-manage-edit-head > span {
	display: inline-flex;
	align-items: center;
	min-height: 21px;
	padding: 2px 7px;
	border-radius: 999px;
	background: #edf3f4;
	color: #60747a;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}

.lnph-manage-row-status {
	display: inline-flex;
	align-items: center;
	min-height: 21px;
	padding: 2px 7px;
	border-radius: 999px;
	background: #edf8f5;
	color: #247e72;
	font-size: 10px;
	font-weight: 700;
}

.lnph-manage-row-status.is-募集終了,
.lnph-manage-row-status.is-期限超過 {
	background: #f2f3f4;
	color: #7c868a;
}

.lnph-manage-row-title {
	display: block;
	margin-bottom: 4px;
	color: #29383d;
	font-size: 13px;
	line-height: 1.5;
}

.lnph-manage-row p {
	margin: 0;
	color: #718086;
	font-size: 11px;
	line-height: 1.55;
}

.lnph-manage-row-actions {
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin-top: 9px;
}

.lnph-manage-row-actions .is-delete {
	border-color: #ead3d5;
	color: #a84c55;
}

.lnph-manage-empty {
	padding: 42px 16px;
	border: 1px dashed #d9e2e4;
	border-radius: 10px;
	color: #829096;
	font-size: 12px;
	text-align: center;
}

.lnph-manage-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 14px;
}

.lnph-manage-pagination[hidden] {
	display: none !important;
}

.lnph-manage-pagination span {
	min-width: 60px;
	color: #718086;
	font-size: 11px;
	text-align: center;
}

.lnph-manage-pagination button:disabled {
	opacity: 0.45;
	cursor: default;
}

.lnph-manage-edit-back {
	margin-bottom: 13px;
	border: 0;
	background: transparent;
	padding-left: 0;
	color: #54717a;
}

.lnph-manage-edit-head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 13px;
}

.lnph-manage-edit-head strong {
	font-size: 16px;
}

.lnph-manage-fixed-target {
	display: grid;
	gap: 4px;
	margin-bottom: 14px;
	padding: 11px 12px;
	border: 1px solid #dce7e8;
	border-radius: 9px;
	background: #f7fafb;
}

.lnph-manage-fixed-target[hidden] {
	display: none !important;
}

.lnph-manage-fixed-target span {
	color: #75858a;
	font-size: 10px;
	font-weight: 700;
}

.lnph-manage-fixed-target strong {
	font-size: 13px;
}

.lnph-manage-fixed-target small {
	color: #849196;
	font-size: 10px;
	line-height: 1.5;
}

.lnph-manage-recruit-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 12px;
}

.lnph-manage-recruit-fields[hidden] {
	display: none !important;
}

.lnph-manage-recruit-fields label,
.lnph-manage-content-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.lnph-manage-recruit-fields label.is-wide {
	grid-column: 1 / -1;
}

.lnph-manage-recruit-fields label > span,
.lnph-manage-content-field > span {
	color: #43565d;
	font-size: 11px;
	font-weight: 700;
}

.lnph-manage-recruit-fields label > span small {
	color: #89969a;
	font-weight: 400;
}

.lnph-manage-edit-form input,
.lnph-manage-edit-form select {
	height: 38px;
	padding: 0 10px;
}

.lnph-manage-edit-form textarea {
	min-height: 150px;
	padding: 10px 11px;
	line-height: 1.6;
	resize: vertical;
}

.lnph-manage-edit-note {
	margin: 8px 0 0;
	color: #879398;
	font-size: 10px;
	line-height: 1.5;
}

.lnph-manage-edit-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}

@media screen and (max-width: 700px) {
	.lnph-manage-modal {
		align-items: stretch;
		padding: 10px;
	}
	.lnph-manage-panel {
		max-height: calc(100vh - 20px);
		border-radius: 11px;
	}
	.lnph-manage-filters {
		grid-template-columns: 1fr;
	}
	.lnph-manage-recruit-fields {
		grid-template-columns: 1fr;
	}
	.lnph-manage-recruit-fields label.is-wide {
		grid-column: auto;
	}
	.lnph-manage-row-head {
		flex-wrap: wrap;
	}
	.lnph-manage-row-head time {
		flex: 1 0 100%;
		margin-left: 0;
	}
	.lnph-manage-row-actions > * {
		flex: 1 1 0;
	}
}

/* LinKnote Activity v1.2.42: compact global toolbar + search-only role tags. */
.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar-actions {
	justify-content: flex-end;
}

.lnph-global-activity-feed .lnph-post-timeline--global .lnph-activity-toolbar-actions > .lnph-compose-button {
	margin-left: 0;
}

/* Role tags are added from the search box by typing #. Keep the suggestion
 * panel and popular tags, but remove the redundant dedicated picker button. */
.lnph-tag-picker-button,
[data-lnph-tag-picker] {
	display: none !important;
}


/* LinKnote Activity v1.2.44 ---------------------------------------------
 * Recruitment deadline → private Schedule handoff. */
.lnph-recruit-deadline-row dd {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.lnph-recruit-deadline-value {
	white-space: nowrap;
}

.lnph-recruit-deadline-schedule {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 3px 7px;
	border: 1px solid #cfdcde;
	border-radius: 999px;
	background: #fff;
	color: #607176;
	font: inherit;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

.lnph-recruit-deadline-schedule:hover,
.lnph-recruit-deadline-schedule:focus-visible {
	border-color: #9fcac3;
	background: #f2faf8;
	color: #247e72;
	outline: none;
}

.lnph-recruit-deadline-schedule.is-added,
.lnph-recruit-deadline-schedule:disabled {
	border-color: #cfe3df;
	background: #f2f8f7;
	color: #66817c;
	cursor: default;
	opacity: 1;
}

/* Activity manager: recruitment state lives in the editor, not on timeline cards. */
.lnph-manage-recruit-status-control {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 9px 10px;
	border: 1px solid #dce7e8;
	border-radius: 8px;
	background: #f7fbfb;
}

.lnph-manage-recruit-status-control[hidden] {
	display: none !important;
}

.lnph-manage-recruit-status-control > span {
	color: #43565d;
	font-size: 11px;
	font-weight: 700;
}

.lnph-manage-recruit-status-control > strong {
	margin-right: auto;
	color: #2f4f54;
	font-size: 12px;
}

.lnph-manage-recruit-status-control > button {
	min-height: 34px;
	padding: 0 11px;
	border: 1px solid #b8d7d5;
	border-radius: 7px;
	background: #fff;
	color: #287b73;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
}

.lnph-manage-recruit-status-control > button:hover {
	background: #eef8f6;
}

.lnph-manage-recruit-status-control > button:disabled {
	opacity: 0.55;
	cursor: wait;
}

@media screen and (max-width: 700px) {
	.lnph-manage-recruit-status-control {
		flex-wrap: wrap;
	}
	.lnph-manage-recruit-status-control > strong {
		flex: 1 1 auto;
	}
	.lnph-manage-recruit-status-control > button {
		width: 100%;
	}
}



/* LinKnote Activity v1.2.45 ---------------------------------------------
 * Keep the completed deadline-schedule state soft on hover. Some theme
 * button hover rules otherwise turn disabled buttons dark. */
button.lnph-recruit-deadline-schedule.is-added,
button.lnph-recruit-deadline-schedule:disabled {
	border-color: #cfe3df !important;
	background: #f2f8f7 !important;
	color: #66817c !important;
	box-shadow: none !important;
	cursor: default !important;
	opacity: 1 !important;
}

button.lnph-recruit-deadline-schedule.is-added:hover,
button.lnph-recruit-deadline-schedule.is-added:focus,
button.lnph-recruit-deadline-schedule.is-added:focus-visible,
button.lnph-recruit-deadline-schedule:disabled:hover,
button.lnph-recruit-deadline-schedule:disabled:focus,
button.lnph-recruit-deadline-schedule:disabled:focus-visible {
	border-color: #bdd8d2 !important;
	background: #eaf4f2 !important;
	color: #55756f !important;
	box-shadow: none !important;
	outline: none !important;
}

/* LinKnote Activity v1.2.46 ---------------------------------------------
 * Recruitment deadline changed after the viewer saved it to Schedule. */
.lnph-recruit-deadline-changed {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 3px 7px;
	border: 1px solid #ead9b5;
	border-radius: 999px;
	background: #fff9ed;
	color: #8a6a2c;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.25;
}

.lnph-recruit-deadline-changed small {
	font-size: inherit;
	font-weight: 500;
}

.lnph-recruit-deadline-update {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 3px 8px;
	border: 1px solid #b9d8d3;
	border-radius: 999px;
	background: #f4fbf9;
	color: #287b72;
	font: inherit;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

.lnph-recruit-deadline-update:hover,
.lnph-recruit-deadline-update:focus-visible {
	border-color: #94c6bd;
	background: #eaf7f4;
	color: #1f6d64;
	outline: none;
}

.lnph-recruit-deadline-update:disabled {
	opacity: 0.6;
	cursor: wait;
}

.lnph-recruit-deadline-row.is-missing dd {
	align-items: flex-start;
	flex-direction: column;
	gap: 3px;
}

.lnph-recruit-deadline-missing {
	color: #65757a;
	font-size: 10px;
	font-weight: 700;
}

.lnph-recruit-deadline-retained {
	color: #879499;
	font-size: 9px;
	line-height: 1.4;
}

.lnph-scope { display:flex; gap:.5rem; flex-wrap:wrap; margin-block:1rem; }
.lnph-scope a { padding:.4rem .9rem; border:1px solid currentColor; border-radius:1rem; }
.lnph-scope a[aria-current] { font-weight:700; color:white; background:#23584c; }

.lnph-timeline-wall .lnph-timeline-next {
	display: block;
	margin: 1rem auto;
	min-height: 44px;
	padding: .5em 1.5em;
	border: 1px solid currentColor;
	border-radius: 1.5em;
	background: white;
	color: #26445b;
	cursor: pointer;
}
.lnph-timeline-next:disabled { opacity: .6; cursor: wait; }

.lnph-home-layout { display: grid; gap: 1rem; align-items: start; }
.lnph-home-feed, .lnph-home-menu { min-width: 0; }
.lnph-home-menu summary, .lnph-home-cards section {
	background: #fff; color: #222; border: 1px solid #dadde1;
	border-radius: 10px; padding: .75rem 1rem;
}
.lnph-home-menu summary { cursor: pointer; font-weight: 700; min-height: 44px; box-sizing: border-box; }
.lnph-home-cards { display: grid; gap: .65rem; margin-top: .65rem; }
.lnph-home-cards h2 { font-size: 1rem; margin: 0 0 .4rem; }
.lnph-home-cards a { display: block; padding: .35rem 0; overflow-wrap: anywhere; }
.lnph-home-cards p, .lnph-home-cards ul { margin: .4rem 0; font-size: .9rem; }
.lnph-home-cards ul { padding-inline-start: 1.2rem; }
@media (min-width: 901px) {
	.lnph-home-layout { grid-template-columns: clamp(240px, 25%, 280px) minmax(0, 1fr); }
	.lnph-home-feed { grid-column: 2; grid-row: 1; }
	.lnph-home-menu { grid-column: 1; grid-row: 1; }
	.lnph-home-menu details[open] > summary { display: none; }
	.lnph-home-cards { margin-top: 0; }
}
