:root {
	--main-bg-color: #202020;
	--dark-bg-color: #121212;
	--highlights-bg-color: #303030;
	--main-fg-color: #80aa80;
	--soft-fg-color: #9fb79f;
	--highlight-fg-color: #cfeccf;

	--soul-integrity-size: 100%;
	--soul-empty-size: 0%;

	--flex-gap: 16px;
	--double-gap: 32px;
}

* {
	padding: 0;
	margin: 0;
	font-size: 16px;
	font-family: monospace;
	color: var(--main-fg-color);
}
html {
	background-color: var(--main-bg-color);
}
#container {
	width: 100%;
	height: 100vh;
	display: flex;
	flex-direction: column;
	/* keep header and gameplay stacked vertically and stretch to full width */
	align-items: stretch;
	
	box-sizing: border-box;
	padding: 16px;
}
hr{
	border:1px solid var(--main-fg-color);
	width:700px;
}
header {
	width: 100%;
	text-align: center;
	margin-bottom: var(--double-gap);
	background-color: var(--main-fg-color);
}
header h1 {
	font-size: 2rem;
	font-weight: 700;
	color: var(--dark-bg-color);
}

header h2 span {
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--main-bg-color);
}

#gameplay-container {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--flex-gap);
	margin: 0 auto 32px auto;
	width: 100%;
	max-width: 1100px;
	box-sizing: border-box;
}
#button-bar {
	margin-bottom: var(--double-gap);
	display: flex;
	flex-direction: row;
}

.slider {
	-webkit-appearance: none;
	border-radius: 4px;
	border: 2px solid var(--main-fg-color);
	background-color: var(--dark-bg-color);
}

.slider::-webkit-slider-thumb{
	-webkit-appearance: none;
	border:2px solid var(--main-fg-color);
	border-radius: 4px;
	background-color:var(--soft-fg-color);
	height:16px;
	width:16px;
	cursor: pointer;
}
/* developer section */
/* developer section */
.section {
	/* border:1px solid red; */
	display: flex;
	flex-direction: row;
	align-items:stretch;
}

.section-title {
	display:flex;
	
	background-color: var(--dark-bg-color);
}

.vertical {
	writing-mode: vertical-rl;
	text-orientation: upright;
}
/* .section-title.stretch {
	height:100%;
	
} */
.section-content {
	display:flex;
	flex:1;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--flex-gap);
	/* flex: 1 1 50%; */
	min-width: 260px;
	box-sizing: border-box;
}
/* common profile layout for avatar + info */
.profile {
	display: flex;
	flex-direction: row;
	align-items: start;
	gap: var(--flex-gap);
}

/* Responsive: stack sections vertically on narrow screens */
@media (max-width: 700px) {
	#gameplay-container {
		flex-direction: column;
		align-items: stretch;
	}
	.section {
		width: 100%;
		min-width: 0;
	}
}


.avatar {
	width: 128px;
	height: 128px;
}
.avatar.solo {
	/* border: 2px dashed var(--main-fg-color); */
}
.avatar.corpo {
	border-radius: 50%;
	border: 2px solid var(--main-fg-color);
	background-color: var(--dark-bg-color);
}
.avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.name {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--highlight-fg-color);
	margin-bottom: 4px;
}

#dev-title {
	font-size: 1rem;
	color: var(--soft-fg-color);
}

#dev-dayjob {
	font-size: 0.8rem;
	color: var(--soft-fg-color);
}

#dev-soul {
	height: 18px;
	width: 100%;
	font-size: 14px;
	color: var(--main-fg-color);
	-webkit-text-stroke: 1px var(--main-bg-color);
	border-radius: 4px;
	/* hard stop: duplicate the stop at the same percentage for a solid block */
	background: linear-gradient(
		90deg,
		var(--soft-fg-color) 0%,
		var(--soft-fg-color) var(--soul-integrity-size),
		var(--dark-bg-color) var(--soul-integrity-size),
		var(--dark-bg-color) 100%
	);
	border: 2px solid;
}

#debug {
	position: sticky;
	bottom: 0;
}

.action:hover {
	cursor: pointer;
}

/* action containers: lay out actions horizontally and wrap */
#dev-actions > div,
#studio-actions > div {
	display: flex;
 	flex-direction: row;
 	flex-wrap: wrap;
 	gap: var(--flex-gap);
}

.action {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	text-decoration: none;
	color: var(--main-fg-color);
	padding: 6px;
}

.action-icon {
	width: 64px;
	height: 64px;
	background-color: var(--dark-bg-color);
}

.action-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.action-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 4px;
	color: inherit;
}

/* Show text on hover, focus, or when .open is toggled (for touch) */

/* hide descriptions, show only the name below the icon */
.action-desc { display: none; }

/* small visual transition */
.action-text {
	transition: opacity 150ms ease-in-out;
}
.action .action-text[style] {
	/* keep inline styles from overriding display when toggled by JS */
}
