.upload-page [hidden] {
	display: none !important;
}

.upload-page .creation-type-control {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.55rem;
	margin: 0 0 1rem;
	padding: 0.7rem;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--cream);
}

.upload-page .creation-type-control legend {
	padding: 0 0.35rem;
	color: var(--espresso-soft);
	font-family: var(--font-mono);
	font-size: 0.68rem;
}

.upload-page .creation-type-option {
	display: flex !important;
	min-width: 0;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0 !important;
	padding: 0.7rem;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--card-bg);
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.upload-page .creation-type-option:has(input:checked) {
	border-color: var(--terracotta);
	background: var(--cream);
}

.upload-page .creation-type-option:focus-within {
	outline: 2px solid var(--terracotta-soft);
	outline-offset: 2px;
}

.upload-page .creation-type-option input {
	flex: 0 0 auto;
	margin: 0.18rem 0 0;
	accent-color: var(--terracotta);
}

.upload-page .creation-type-option span {
	display: grid;
	min-width: 0;
	gap: 0.2rem;
}

.upload-page .creation-type-option strong {
	color: var(--espresso);
	font-family: var(--font-display);
	font-size: 0.88rem;
}

.upload-page .creation-type-option small {
	color: var(--espresso-soft);
	font-family: var(--font-body);
	font-size: 0.72rem;
	line-height: 1.4;
}

.upload-page.poem-upload-mode .form-row-split {
	grid-template-columns: minmax(0, 1fr);
}

.upload-page.single-story-mode #single-chapter-content {
	min-height: 260px;
}

@media (max-width: 560px) {
	.upload-page .creation-type-control {
		grid-template-columns: minmax(0, 1fr);
	}
}
