#detail a.strokes_image {
	display: inline-block;
	margin: 0 0.12em;
	padding: 0.05em 0.42em;
	border: 1px solid #c0a15d88;
	border-radius: 2px;
	color: #ead18e;
	text-decoration: none;
	line-height: 1.55;
	transition: 0.2s;
}
#detail a.strokes_image:hover,
#detail a.strokes_image:focus-visible {
	background: var(--gold);
	color: #171513;
	outline: none;
}
#detail a.strokes_image::after {
	content: " ↗";
	font-size: 0.72em;
}
#detail a.strokes_image.missing {
	border-color: #666;
	color: #aaa;
	cursor: default;
}
#detail a.strokes_image.missing::after {
	content: "";
}

dialog {
	width: min(1120px, 94vw);
	max-height: 90vh;
	overflow: hidden;
}
#persona-dialog {
	display: none;
	grid-template-rows: auto minmax(0, 1fr);
	height: min(90vh, 900px);
}
#persona-dialog[open] {
	display: grid;
}
.persona-dialog-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 58px;
	padding: 8px 12px 8px 20px;
	border-bottom: 1px solid #514a3e;
	background: #171513;
}
.persona-dialog-header > span {
	color: var(--gold);
	font: 10px sans-serif;
	letter-spacing: 0.18em;
}
.persona-dialog-header .close {
	position: static;
	width: auto;
	height: 40px;
	padding: 0 14px;
	font-size: 12px;
	cursor: pointer;
}
#detail {
	display: block;
	min-height: 0;
	max-height: none;
	overflow: auto;
	overscroll-behavior: contain;
}
.persona-main {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) 1fr;
	padding: 0 !important;
}
.persona-gallery {
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	min-width: 0;
	height: min(72vh, 760px);
	background: #0d0c0b;
}
.persona-gallery-stage {
	position: relative;
	min-height: 0;
	overflow: hidden;
	touch-action: pan-y;
}
.persona-gallery-stage > img {
	position: absolute;
	inset: 0;
	display: block;
	width: calc(100% - 32px);
	height: calc(100% - 24px);
	margin: auto;
	object-fit: contain;
	object-position: center;
}
.persona-gallery-arrow {
	flex: 0 0 auto;
	min-width: 76px;
	height: 38px;
	padding: 0 12px;
	border: 1px solid #ffffff66;
	background: #211f1c;
	color: #fff;
	font-size: 12px;
	cursor: pointer;
}
.persona-gallery-arrow[hidden] {
	display: none;
}
.persona-gallery-status {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 58px;
	padding: 9px 16px;
	border-top: 1px solid #3e3932;
	color: #c9b47d;
	font-size: 11px;
}
.persona-gallery-status p {
	display: grid;
	flex: 1 1 auto;
	gap: 3px;
	min-width: 0;
	margin: 0;
	text-align: center;
}
.persona-gallery-status b {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.persona-gallery-status span {
	color: #8f8677;
	font-size: 10px;
}
.persona-main > .persona-copy {
	padding: 50px 38px;
}
.persona-main h3 {
	font: 50px mincho;
	margin: 10px 0 28px;
}
.persona-main section {
	line-height: 2;
}
.x-link {
	display: inline-block;
	margin-top: 22px;
	color: var(--gold);
}
.nft-section {
	padding: 38px;
	border-top: 1px solid #514a3e;
	background: #100f0e;
}
.nft-section h4 {
	margin: 0 0 22px;
	color: var(--gold);
	font: 13px sans-serif;
	letter-spacing: 0.18em;
}
.nft-empty p {
	margin: 0;
	padding: 28px;
	border: 1px solid #423d34;
	color: #a99c88;
	text-align: center;
}
.nft-table-wrap {
	position: relative;
	overflow-x: auto;
	overscroll-behavior: contain;
}
.nft-table {
	width: max-content;
	min-width: 100%;
	border-collapse: collapse;
	table-layout: auto;
}
.nft-table th,
.nft-table td {
	border: 1px solid #423d34;
	vertical-align: top;
}
.nft-table thead th {
	position: sticky;
	top: 0;
	z-index: 3;
	padding: 12px;
	background: #292621;
	color: var(--gold);
	font: 11px sans-serif;
	letter-spacing: 0.1em;
	text-align: center;
}
.nft-table thead th:first-child {
	left: 0;
	z-index: 5;
	width: 104px;
	min-width: 104px;
}
.nft-table tbody > tr > th {
	position: sticky;
	left: 0;
	z-index: 2;
	padding: 18px 12px;
	background: #211f1c;
	color: #ead18e;
	font: 16px mincho;
	text-align: center;
}
.nft-table td {
	width: 210px;
	min-width: 210px;
	background: #181715;
}
.nft-table td.empty {
	padding: 40px 10px;
	color: #655f56;
	text-align: center;
	vertical-align: middle;
}
.nft-cell {
	min-width: 0;
	padding: 10px;
}
.nft-picture {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: zoom-in;
}
.nft-cell img,
.nft-cell > .nft-noimage {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	background: #292621;
	color: #777;
	font: 10px sans-serif;
}
.nft-cell p {
	min-height: 42px;
	margin: 10px 0 7px;
	overflow-wrap: anywhere;
}
.nft-cell p span {
	display: block;
	margin-bottom: 4px;
	color: var(--gold);
	font: 9px sans-serif;
	letter-spacing: 0.12em;
}
.nft-cell strong {
	font-size: 13px;
}
.market-link {
	color: #d8bd78;
	font-size: 11px;
}

@media (max-width: 760px) {
	#persona-dialog {
		width: 100vw;
		height: 100dvh;
		max-height: none;
		border: 0;
	}
	.persona-dialog-header {
		min-height: 54px;
		padding: 7px 9px 7px 15px;
	}
	.persona-main {
		grid-template-columns: 1fr;
	}
	.persona-main > .persona-copy {
		padding: 28px 22px;
	}
	.persona-main > .persona-gallery {
		height: min(58vh, 560px);
		padding: 0;
	}
	.persona-gallery-stage > img {
		width: 100%;
		height: 100%;
	}
	.persona-gallery-status {
		gap: 8px;
		padding-inline: 8px;
	}
	.persona-gallery-arrow {
		min-width: 64px;
		padding-inline: 8px;
	}
	.nft-section {
		padding: 28px 18px;
	}
	.nft-section h4 {
		position: sticky;
		left: 0;
	}
	.nft-table-wrap {
		max-height: 68vh;
		overflow: auto;
		border: 1px solid #423d34;
	}
	.nft-table {
		min-width: max-content;
	}
	.nft-table th,
	.nft-table td {
		border-top: 0;
		border-left: 0;
	}
	.nft-table td {
		width: 190px;
		min-width: 190px;
	}
	.nft-table thead th:first-child,
	.nft-table tbody > tr > th {
		box-shadow: 5px 0 10px #0008;
	}
}

.event-list,
.schedule-list {
	display: grid;
	gap: 28px;
	margin-top: 42px;
}

.event-list .event,
.schedule-list .schedule {
	margin-top: 0;
}
