:root {
	--lacorn-presence-ink: #10243a;
	--lacorn-presence-muted: #60748a;
	--lacorn-presence-line: #d9e4ef;
	--lacorn-presence-panel: #f6f9fc;
	--lacorn-presence-online: #0aae78;
	--lacorn-presence-offline: #f59e0b;
	--lacorn-presence-hidden: #53657b;
}

.lacorn-presence-switch {
	position: relative;
	color: var(--lacorn-presence-ink);
}

.lacorn-presence-switch__head {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.lacorn-presence-switch__dot {
	width: 9px;
	height: 9px;
	flex: 0 0 9px;
	border-radius: 50%;
	background: var(--lacorn-presence-online);
	box-shadow: 0 0 0 4px rgba(10, 174, 120, .13);
}

.lacorn-presence-switch[data-mode="offline"] .lacorn-presence-switch__dot {
	background: var(--lacorn-presence-offline);
	box-shadow: 0 0 0 4px rgba(245, 158, 11, .14);
}

.lacorn-presence-switch[data-mode="invisible"] .lacorn-presence-switch__dot {
	background: var(--lacorn-presence-hidden);
	box-shadow: 0 0 0 4px rgba(83, 101, 123, .14);
}

.lacorn-presence-switch__current {
	overflow: hidden;
	color: var(--lacorn-presence-muted);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lacorn-presence-switch--messages {
	margin-top: 13px;
	padding: 11px;
	border: 1px solid rgba(203, 216, 229, .84);
	border-radius: 14px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(239, 247, 252, .96));
	box-shadow: 0 9px 22px rgba(23, 48, 72, .06);
}

.lacorn-presence-switch__modes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
	margin-top: 9px;
	padding: 4px;
	border-radius: 11px;
	background: #eaf1f7;
}

.lacorn-presence-switch__modes button {
	min-width: 0;
	min-height: 31px;
	padding: 6px 5px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #53657b;
	font: inherit;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.lacorn-presence-switch__modes button span {
	color: #c59018;
	font-size: 7px;
	vertical-align: super;
}

.lacorn-presence-switch__modes button:hover {
	color: #12324b;
	transform: translateY(-1px);
}

.lacorn-presence-switch__modes button.is-active {
	background: #fff;
	color: #0b6f55;
	box-shadow: 0 5px 14px rgba(26, 52, 74, .12);
}

.lacorn-presence-switch[data-mode="offline"] .lacorn-presence-switch__modes button.is-active {
	color: #a86104;
}

.lacorn-presence-switch[data-mode="invisible"] .lacorn-presence-switch__modes button.is-active {
	color: #35475d;
}

.lacorn-presence-switch__modes button.is-premium-locked:not(.is-active) {
	opacity: .72;
}

.lacorn-presence-switch__message {
	margin-top: 8px;
	padding: 7px 9px;
	border-radius: 8px;
	background: #edf7f3;
	color: #087454;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.35;
}

.lacorn-presence-switch__message[data-type="error"] {
	background: #fff0f1;
	color: #b42336;
}

.lacorn-presence-switch__message[data-type="loading"] {
	background: #eef4fb;
	color: #42617f;
}

.lacorn-presence-settings {
	position: relative;
	overflow: hidden;
	border-color: #cfe0ec !important;
	background:
		radial-gradient(circle at 100% 0, rgba(23, 184, 149, .14), transparent 32%),
		linear-gradient(145deg, #fff, #f4f9fc) !important;
}

.lacorn-presence-settings::after {
	position: absolute;
	right: -40px;
	bottom: -56px;
	width: 150px;
	height: 150px;
	border: 22px solid rgba(16, 62, 88, .04);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.lacorn-presence-settings__intro,
.lacorn-presence-switch--settings {
	position: relative;
	z-index: 1;
}

.lacorn-presence-settings__eyebrow {
	display: block;
	margin-bottom: 4px;
	color: #d97706;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
}

.lacorn-presence-switch--settings .lacorn-presence-switch__head {
	margin: 2px 0 12px;
}

.lacorn-presence-settings__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.lacorn-presence-settings__cards > button {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: 2px 9px;
	min-height: 104px;
	padding: 13px;
	border: 1px solid #d8e4ed;
	border-radius: 14px;
	background: rgba(255, 255, 255, .88);
	color: #162b3f;
	text-align: left;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(24, 50, 72, .05);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.lacorn-presence-settings__cards > button:hover {
	border-color: #91cbbd;
	transform: translateY(-2px);
	box-shadow: 0 13px 26px rgba(24, 50, 72, .10);
}

.lacorn-presence-settings__cards > button.is-active {
	border-color: #17a882;
	box-shadow: inset 0 0 0 1px #17a882, 0 13px 28px rgba(10, 174, 120, .14);
}

.lacorn-presence-settings__card-icon {
	display: inline-flex;
	grid-row: 1 / 3;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 11px;
	background: #e8f8f3;
	color: #0aae78;
	font-size: 16px;
}

.lacorn-presence-settings__cards > button:nth-child(2) .lacorn-presence-settings__card-icon {
	background: #fff5df;
	color: #c87907;
}

.lacorn-presence-settings__cards > button:nth-child(3) .lacorn-presence-settings__card-icon {
	background: #ebeff4;
	color: #53657b;
}

.lacorn-presence-settings__cards strong {
	align-self: end;
	font-size: 13px;
	font-weight: 950;
	line-height: 1.2;
}

.lacorn-presence-settings__cards strong em {
	display: inline-flex;
	margin-left: 4px;
	padding: 3px 5px;
	border-radius: 999px;
	background: #fff0c2;
	color: #956000;
	font-size: 7px;
	font-style: normal;
	letter-spacing: .06em;
	vertical-align: 2px;
}

.lacorn-presence-settings__cards small {
	color: #63778a;
	font-size: 10px;
	line-height: 1.4;
}

.lacorn-presence-premium-modal[hidden] {
	display: none !important;
}

.lacorn-presence-premium-modal {
	position: fixed;
	inset: 0;
	z-index: 1000000;
	display: grid;
	place-items: center;
	padding: 18px;
}

.lacorn-presence-premium-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(6, 18, 31, .74);
	backdrop-filter: blur(8px);
}

.lacorn-presence-premium-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 440px);
	overflow: hidden;
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 26px;
	background:
		radial-gradient(circle at 100% 0, rgba(31, 201, 160, .25), transparent 38%),
		linear-gradient(145deg, #fff, #f2f8fb);
	color: #10243a;
	box-shadow: 0 30px 90px rgba(2, 15, 28, .36);
	text-align: center;
}

.lacorn-presence-premium-modal__dialog::after {
	position: absolute;
	right: -56px;
	bottom: -74px;
	width: 190px;
	height: 190px;
	border: 30px solid rgba(13, 111, 90, .06);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.lacorn-presence-premium-modal__close {
	position: absolute;
	top: 13px;
	right: 13px;
	z-index: 2;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid #d7e1e9;
	border-radius: 50%;
	background: rgba(255, 255, 255, .85);
	color: #42566b;
	font-size: 21px;
	line-height: 1;
	cursor: pointer;
}

.lacorn-presence-premium-modal__badge {
	display: inline-flex;
	padding: 6px 10px;
	border-radius: 999px;
	background: #ffe8a3;
	color: #8a5900;
	font-size: 9px;
	font-weight: 950;
	letter-spacing: .12em;
}

.lacorn-presence-premium-modal__icon {
	display: grid;
	place-items: center;
	width: 66px;
	height: 66px;
	margin: 18px auto 14px;
	border-radius: 21px;
	background: linear-gradient(145deg, #0aae78, #05789d);
	color: #fff;
	font-size: 38px;
	box-shadow: 0 16px 34px rgba(3, 126, 118, .28);
}

.lacorn-presence-premium-modal h2 {
	margin: 0;
	color: #10243a;
	font-size: clamp(22px, 5vw, 30px);
	font-weight: 950;
	letter-spacing: -.035em;
	line-height: 1.06;
}

.lacorn-presence-premium-modal p {
	margin: 12px auto 0;
	max-width: 350px;
	color: #5c7083;
	font-size: 13px;
	line-height: 1.55;
}

.lacorn-presence-premium-modal__benefits {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px;
	margin: 18px 0;
}

.lacorn-presence-premium-modal__benefits span {
	padding: 7px 9px;
	border: 1px solid #cee2dd;
	border-radius: 999px;
	background: rgba(255, 255, 255, .72);
	color: #315467;
	font-size: 9px;
	font-weight: 850;
}

.lacorn-presence-premium-modal__buy,
.lacorn-presence-premium-modal__later {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	border-radius: 14px;
	font-size: 13px;
	font-weight: 950;
	text-decoration: none;
}

.lacorn-presence-premium-modal__buy {
	border: 0;
	background: linear-gradient(135deg, #0b8165, #13b98b 55%, #0795ba);
	color: #fff;
	box-shadow: 0 15px 30px rgba(6, 132, 112, .25);
}

.lacorn-presence-premium-modal__later {
	margin-top: 7px;
	border: 0;
	background: transparent;
	color: #60748a;
	cursor: pointer;
}

html.lacorn-presence-modal-open,
html.lacorn-presence-modal-open body {
	overflow: hidden;
}

html[data-lacorn-theme="dark"] {
	--lacorn-presence-ink: #eff7ff;
	--lacorn-presence-muted: #a9bacb;
	--lacorn-presence-line: #294157;
	--lacorn-presence-panel: #112438;
}

html[data-lacorn-theme="dark"] .lacorn-presence-switch--messages {
	border-color: #294158;
	background: linear-gradient(145deg, #152a3e, #0f2133);
	box-shadow: 0 12px 26px rgba(0, 0, 0, .20);
}

html[data-lacorn-theme="dark"] .lacorn-presence-switch__modes {
	background: #0a1b2c;
}

html[data-lacorn-theme="dark"] .lacorn-presence-switch__modes button {
	color: #9fb0c1;
}

html[data-lacorn-theme="dark"] .lacorn-presence-switch__modes button.is-active {
	background: #20384e;
	color: #6ee7c2;
}

html[data-lacorn-theme="dark"] .lacorn-presence-settings {
	border-color: #294359 !important;
	background:
		radial-gradient(circle at 100% 0, rgba(23, 184, 149, .13), transparent 32%),
		linear-gradient(145deg, #11263a, #0b1d2f) !important;
}

html[data-lacorn-theme="dark"] .lacorn-presence-settings__cards > button {
	border-color: #2b455b;
	background: rgba(16, 38, 57, .9);
	color: #ecf6ff;
}

html[data-lacorn-theme="dark"] .lacorn-presence-settings__cards small {
	color: #9fb2c4;
}

html[data-lacorn-theme="dark"] .lacorn-presence-premium-modal__dialog {
	border-color: #35546c;
	background:
		radial-gradient(circle at 100% 0, rgba(31, 201, 160, .17), transparent 38%),
		linear-gradient(145deg, #10283b, #091a2a);
	color: #eff7ff;
}

html[data-lacorn-theme="dark"] .lacorn-presence-premium-modal h2 {
	color: #f3f8fd;
}

html[data-lacorn-theme="dark"] .lacorn-presence-premium-modal p {
	color: #a9bacb;
}

html[data-lacorn-theme="dark"] .lacorn-presence-premium-modal__benefits span {
	border-color: #315069;
	background: rgba(20, 45, 65, .8);
	color: #c3d3e1;
}

@media (max-width: 720px) {
	.lacorn-presence-settings__cards {
		grid-template-columns: 1fr;
	}

	.lacorn-presence-settings__cards > button {
		min-height: 84px;
	}
}

@media (max-width: 480px) {
	.lacorn-presence-switch--messages {
		margin-top: 9px;
		padding: 9px;
	}

	.lacorn-presence-switch__modes button {
		min-height: 29px;
		font-size: 9px;
	}

	.lacorn-presence-premium-modal {
		padding: 10px;
	}

	.lacorn-presence-premium-modal__dialog {
		padding: 25px 18px 18px;
		border-radius: 21px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lacorn-presence-switch__modes button,
	.lacorn-presence-settings__cards > button,
	.lacorn-profile-presence__dot {
		transition: none;
		animation: none;
	}
}

.lacorn-profile-presence {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 7px;
	width: fit-content;
	margin: 8px 0 3px;
	padding: 7px 11px;
	border: 1px solid rgba(100, 116, 139, .2);
	border-radius: 999px;
	background: rgba(248, 250, 252, .82);
	color: #607086;
	font-size: 12px;
	line-height: 1;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .07);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.lacorn-profile-presence strong {
	color: #172234;
	font-size: 12px;
	font-weight: 850;
}

.lacorn-profile-presence__label {
	font-weight: 650;
}

.lacorn-profile-presence__dot {
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #94a3b8;
	box-shadow: 0 0 0 4px rgba(148, 163, 184, .14);
}

.lacorn-profile-presence.is-online {
	border-color: rgba(16, 185, 129, .28);
	background: rgba(236, 253, 245, .9);
	color: #08775b;
}

.lacorn-profile-presence.is-online strong {
	color: #05664e;
}

.lacorn-profile-presence.is-online .lacorn-profile-presence__dot {
	background: #10b981;
	box-shadow: 0 0 0 4px rgba(16, 185, 129, .15);
	animation: lacorn-profile-presence-pulse 2s ease-out infinite;
}

@keyframes lacorn-profile-presence-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 4px rgba(16, 185, 129, .16);
	}
	50% {
		box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
	}
}

html[data-theme="dark"] .lacorn-profile-presence,
html[data-lacorn-theme="dark"] .lacorn-profile-presence,
body.lcab-dark-theme .lacorn-profile-presence {
	border-color: rgba(148, 163, 184, .22);
	background: rgba(15, 31, 50, .86);
	color: #9fb0c5;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .24);
}

html[data-theme="dark"] .lacorn-profile-presence strong,
html[data-lacorn-theme="dark"] .lacorn-profile-presence strong,
body.lcab-dark-theme .lacorn-profile-presence strong {
	color: #e8f0f8;
}

html[data-theme="dark"] .lacorn-profile-presence.is-online,
html[data-lacorn-theme="dark"] .lacorn-profile-presence.is-online,
body.lcab-dark-theme .lacorn-profile-presence.is-online {
	border-color: rgba(45, 212, 191, .28);
	background: rgba(13, 68, 64, .5);
	color: #75e6ce;
}

html[data-theme="dark"] .lacorn-profile-presence.is-online strong,
html[data-lacorn-theme="dark"] .lacorn-profile-presence.is-online strong,
body.lcab-dark-theme .lacorn-profile-presence.is-online strong {
	color: #b9fff0;
}

@media (max-width: 640px) {
	.lacorn-profile-presence {
		align-self: center;
		justify-content: center;
		max-width: 100%;
		margin-top: 7px;
		padding: 7px 10px;
		font-size: 11px;
	}

	.lacorn-profile-presence strong {
		font-size: 11px;
	}
}
