:root {
	--isp-launcher-accent: #d7b68a;
}

.isp-shortcode {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	width: 100%;
	max-width: 100%;
	margin: 15px 0 0;
}

.isp-launcher {
	appearance: none;
	display: inline-flex;
	align-items: center;
	gap: .45em;
	max-width: 100%;
	margin: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	line-height: 1.25;
	cursor: pointer;
	transition: transform 160ms ease, opacity 160ms ease;
}

.isp-launcher:hover { transform: translateY(-1px); }
.isp-launcher:focus-visible { outline: 2px solid var(--isp-launcher-accent); outline-offset: 4px; }
.isp-launcher--link { padding: .15em 0; text-decoration: underline; text-underline-offset: .24em; }
.isp-launcher--button { padding: .78em 1.05em; border-radius: 999px; background: #11100f; color: #fff; }
.isp-launcher__arrow { font-size: .9em; }

.isp-launcher--image {
	display: block;
	flex: 0 0 auto;
	width: min(var(--isp-shortlink-size, 120px), 100%);
	max-width: 100%;
	margin: 0;
	padding: 0;
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(0,0,0,.32);
	overflow: hidden;
	line-height: 0;
}

.isp-launcher--image:hover {
	transform: translateY(-1px) scale(1.015);
}


.isp-launcher__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

html.isp-frame-open,
body.isp-frame-open {
	overflow: hidden !important;
	overscroll-behavior: none !important;
}

.isp-frame-shell[hidden] { display: none !important; }

.isp-frame-shell {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483647 !important;
	display: block !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	min-width: 100vw !important;
	min-height: 100vh !important;
	min-height: 100dvh !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: #0d0d0c !important;
	overflow: hidden !important;
	isolation: isolate !important;
}

.isp-frame-shell__frame {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	-webkit-overflow-scrolling: touch;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: #0d0d0c !important;
}

@media (max-width: 480px) {
	.isp-launcher--image {
		width: min(var(--isp-shortlink-size, 120px), 28vw);
		min-width: 88px;
	}
}
