
.guest-body
{
	max-width: 62rem;
	margin: 0 auto;
	padding: 2.5rem 1.5rem 4rem;
}

.guest-body .guest-main h1
{
	font-size: var( --text-2xl );
	line-height: 1.25;
	margin: 0 0 1.25rem;
}

.guest-body .guest-player,
.guest-body .guest-still
{
	display: block;
	width: 100%;
	max-width: 100%;
	border-radius: 0.4rem;
	background: #000;
}

.guest-body .guest-markdown-stage
{
	width: 100%;
	margin: 0 0 1.5rem;
	height: calc( 100vh - 15rem );
	height: calc( 100dvh - 15rem );
	min-height: 24rem;
	border: 1px solid var( --rule );
	border-radius: 0.4rem;
	overflow: hidden;
	background: var( --card-background );
}

.guest-body .guest-markdown-frame
{
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: var( --card-background );
}

@media ( max-width: 46rem )
{
		.guest-body .guest-markdown-stage
	{
		height: calc( 100vh - 11rem );
		height: calc( 100dvh - 11rem );
		min-height: 20rem;
	}
}

.guest-body .guest-description
{
	margin: 1.25rem 0 0;
	max-width: 46rem;
	line-height: 1.55;
}

.guest-body .guest-scope-description { margin: 0 0 1.5rem; }
.guest-body .guest-scope-description > :first-child { margin-top: 0; }
.guest-body .guest-scope-description ul, .guest-body .guest-scope-description ol { padding-left: 1.4rem; }
.guest-body .guest-scope-description blockquote { padding-left: .8rem; border-left: 3px solid currentColor; opacity: .8; margin-inline: 0; }

.guest-body .guest-actions
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 1.5rem 0 0;
}

.guest-body .guest-download-facts
{
	opacity: 0.7;
	font-size: 0.9em;
}

.guest-body .guest-download
{
	display: inline-block;
	padding: 0.55rem 1rem;
	border-radius: 0.3rem;
	color: inherit;
	text-decoration: none;
}

.guest-body:not( .gallery-body ) :is( .guest-download, .gate-form button, .page-reader-button, .rendition )
{
	border: 1px solid transparent;
	background: color-mix( in srgb, currentColor 10%, transparent );
}

.guest-body:not( .gallery-body ) :is( .guest-download, .gate-form button, .page-reader-button:not( [disabled] ), .rendition[data-state="ready"] ):is( :hover, :focus-visible )
{
	border-color: transparent;
	background: color-mix( in srgb, currentColor 20%, transparent );
}

.guest-body:not( .gallery-body ) .page-reader-button[aria-pressed="true"]
{
	border-color: transparent;
	color: var( --accent );
	background: color-mix( in srgb, var( --accent ) 16%, transparent );
}

.guest-body:not( .gallery-body ) .rendition[aria-current="true"]
{
	border-color: transparent;
	background: var( --accent );
}

.guest-body .guest-count
{
	margin: -0.75rem 0 1.5rem;
	opacity: 0.7;
	font-size: var( --text-base );
}

.guest-body .guest-grid
{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 15rem, 1fr ) );
	gap: 1.25rem;
}

.guest-body .guest-card a
{
	display: block;
	text-decoration: none;
}

.guest-body .guest-card-preview
{
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: 0.3rem;
	background: #0003;
}

.guest-body .guest-card img
{
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.guest-body .guest-card-preview[data-key-crop] img
{
	inset: auto;
	left: var( --key-crop-left );
	top: var( --key-crop-top );
	width: var( --key-crop-width );
	height: var( --key-crop-height );
}

.guest-body .guest-card .no-preview
{
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	font-size: var( --text-base );
	opacity: 0.7;
}

.guest-body .guest-card-title
{
	display: block;
	margin-top: 0.5rem;
	line-height: 1.35;
}

.guest-body .gate-form
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: end;
	margin-top: 1.25rem;
}

.guest-body .gate-form label { display: block; width: 100%; font-size: var( --text-base ); }
.guest-body .gate-form input { padding: 0.5rem 0.6rem; min-width: 14rem; }
.guest-body .gate-form button { padding: 0.55rem 1.1rem; }
.guest-body .gate-error { color: #b3261e; }

.guest-body .guest-footer
{
	margin-top: 4rem;
	padding-top: 1.25rem;
	border-top: 1px solid #8884;
	font-size: var( --text-base );
	opacity: 0.7;
}

.guest-body .guest-pending
{
	margin: 0.85rem 0 0;
	font-size: var( --text-base );
	opacity: 0.75;
}

.guest-body .guest-rights { margin: 0.75rem 0 0; font-size: var( --text-md ); }
.guest-body .guest-rights-area { margin: 0; }
.guest-body .guest-rights-area h3 { margin: 0.75rem 0 0.2rem; font-size: var( --text-base ); }
.guest-body .guest-rights-area .rights-rightsholder,
.guest-body .guest-rights-area .credits-list,
.guest-body .guest-rights-area .rights-conditions { font-size: var( --text-base ); margin: 0 0 0.35rem; }
.guest-body .guest-rights-area .credits-list { padding-left: 1.1rem; }
.guest-body .guest-rights-area .rights-conditions { white-space: pre-line; }
.guest-body .guest-rights-area .rights-attribution { margin: 0.6rem 0 0; display: grid; gap: 0.2rem; max-width: 46rem; }
.guest-body .guest-rights-area .rights-attribution textarea { font: inherit; font-size: var( --text-base ); width: 100%; }
.guest-body .guest-rights-area .share-url-hint { font-size: var( --text-sm ); opacity: 0.75; }
.guest-body .guest-ai-training { margin: 0.35rem 0 0; font-size: var( --text-base ); opacity: 0.8; }

@media ( pointer: coarse )
{
	.guest-body .guest-rights-area .rights-attribution textarea
	{
		font-size: max( 16px, 1em );
	}
}
