body {
	width: 65%;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 1200px) {
	body {
		width: 90%;
	}
}

p {
	font-size: 16px;
}

li {
	font-size: 16px;
}

.container {
	width: 100%;
	height: 650px;
}

.heatmap-container {
	width: 100%;
	aspect-ratio: 1.2;
}

.two-heatmaps-container {
	display: flex;
	width: 100%;
}

.two-heatmaps-container .heatmap-container {
	aspect-ratio: 1;
	flex: 1;
	min-width: 0;
	height: 610px;
}

@media (max-width: 900px) {
	.two-heatmaps-container {
		flex-direction: column;
	}
	.two-heatmaps-container .heatmap-container {
		min-height: 400px;
	}
}

.tab_content_shadow {
	box-shadow: 0 0 30px 5px rgba(0, 0, 0, 0.05);
	padding: 15px;
	border-radius: 0 0 10px 10px;
	border-left: 3px solid rgba(255, 69, 0, 0.4);
	background-color: rgba(255, 69, 0, 0.02);
	animation: tabFadeIn 0.35s ease-out;
}

/* Break out tabs navigation and cards for categories */
[data-tabs-6] {
	width: 98vw;
	margin-left: calc(-49vw + 50%);
	margin-right: calc(-49vw + 50%);
	padding: 0 40px;
}

#authorship_categories,
#stylometric_categories,
#psychological_categories {
	/*padding: 25px 40px;*/
	border-radius: 0 0 10px 10px;
	width: 98vw;
	margin-left: calc(-49vw + 50%);
	margin-right: calc(-49vw + 50%);
}

@media (max-width: 1200px) {
	[data-tabs-6] {
		width: 100vw;
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
		padding: 0 15px;
	}
	#authorship_categories,
	#stylometric_categories,
	#psychological_categories {
		width: 100vw;
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
		padding: 20px 15px;
	}
}

@keyframes tabFadeIn {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Authorship tabs - Orange */
#authorship_sentiment,
#shared_dist,
#causal_authorship,
#authorship_categories {
	border-left-color: rgba(255, 69, 0, 0.5);
	background-color: rgba(255, 69, 0, 0.025);
}

/* Stylometric tabs - Cyan */
#stylometric_sentiment,
#stylo_dist,
#causal_stylo,
#stylometric_categories {
	border-left-color: rgba(0, 186, 255, 0.5);
	background-color: rgba(0, 186, 255, 0.025);
}

/* Psychological tabs - Dark */
#psychological_sentiment,
#psycho_dist,
#causal_psycho,
#psychological_categories {
	border-left-color: rgba(27, 38, 44, 0.5);
	background-color: rgba(27, 38, 44, 0.025);
}

/* Viz panel color coding */
#stylo-pca .viz-description,
#stylo-tsne .viz-description {
	border-left-color: rgba(0, 186, 255, 0.6);
	background-color: rgba(0, 186, 255, 0.03);
}

#psycho-pca .viz-description,
#psycho-tsne .viz-description {
	border-left-color: rgba(27, 38, 44, 0.6);
	background-color: rgba(27, 38, 44, 0.03);
}

.two-barplots-container {
	display: flex;
	width: 150%;
	margin-left: -20%;
}

/* Visualization Card */
.viz-card {
	border-radius: 12px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	margin: 2rem 0;
}

.viz-selector {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	/* background: #2a2a2a; */
}

.viz-selector button {
	padding: 0.35rem 0.5rem;
	border: none;
	background: transparent;
	cursor: pointer;
	font-size: 0.75rem;
	font-weight: 500;
	color: rgba(255, 69, 0.9);
	transition: all 0.3s ease;
	border-bottom: 2px solid transparent;
	line-height: 1.2;
	border-radius: 0;
}

.viz-selector button:hover {
	color: rgba(255, 69, 0, 0.5);
	background: rgba(255, 255, 255, 0.05);
}

.viz-selector button.active {
	color: #ff4500;
	border-bottom-color: #ff4500;
	background: rgba(255, 69, 0, 0.1);
}

.viz-selector button span.method {
	display: inline;
	font-size: 0.7rem;
	opacity: 0.7;
	margin-left: 4px;
	text-transform: uppercase;
}

.viz-content {
	background: #fafafa;
	padding: 1.5rem;
}

.viz-panel {
	display: none;
}

.viz-panel.active {
	display: block;
	animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(5px); }
	to { opacity: 1; transform: translateY(0); }
}

.viz-panel .heatmap-container {
	width: 100%;
	height: 480px;
	background: white;
	border-radius: 8px;
	overflow: hidden;
	margin: 0 auto;
}

.viz-panel .viz-description {
	margin-top: 1rem;
	padding: 1rem;
	background: white;
	border-radius: 8px;
	border-left: 3px solid #ff4500;
}

.viz-panel .viz-description h4 {
	margin: 0 0 0.5rem 0;
	color: #333;
	font-size: 1rem;
}

.viz-panel .viz-description p {
	margin: 0.5rem 0;
	color: #555;
	line-height: 1.5;
}

.viz-panel .viz-description p:last-child {
	margin-bottom: 0;
}

footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}