* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: monospace, sans-serif;
	background-color: #f0eeee;
	color: #333;
	line-height: 1.6;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

#title {
	width: 100%;
	text-align: center;
	padding: 2vh 0 1.5vh 0;
	margin: 0 auto;
}

.container {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1200px;
	max-height: 800px;
	margin: 0 auto;
	gap: 20px;
	flex: 1;
	align-items: stretch;
}

.column {
	flex: 1;
	flex-direction: column;
	min-height: 50vh;
	max-width: 25vh;
	margin: 0 10px;
	padding: 1vw;
	background-color: #f2f2f2;
	border-radius: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	color: #333;
}

.row {
	width: 100%;
	max-width: 1200px;
	margin: 2vh auto;
	padding: 1vw;
	background-color: #f2f2f2;
	border-radius: 15px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.column.data {
	background-color: #ecf2e7;
}

.column.rules {
	background-color: #f4e6e6;
}

.column.question {
	background-color: #e7e9f2;
}

.column.random {
	background-color: #bbb;
	flex: 0.5;
}

.column.submit {
	background-color: #333;
	flex: 0.5;
}

.column.output {
	background-color: #f3f3f3;
	flex: 2;
}

.column select {
	margin-left: 10px;
	padding: 5px 10px;
	border-radius: 5px;
	border: 1px solid #bbb;
	background: #fff;
	font-size: x-small;
	max-width: 10vw;
}

h1 {
	color: #0066cc;
	font-size: x-large;
}

h2 {
	font-size: large;
}

p {
	font-size: medium;
	margin-bottom: 20px;
}

.pool {
	display: flex;
	flex-wrap: wrap;
	width: 620px;
	margin-top: 1rem;
}

/* Drop zones */
.dropzone {
	width: 200px;
	height: 200px;
	background: #f0f8ff;
	border: 2px dashed #a0c8f0;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	padding: 5px;
	border-radius: 8px;
}

/* Small draggable squares */
.draggable {
	width: 90px;
	min-height: 30px;
	background: #ffa;
	border: 1px solid #cc8;
	border-radius: 4px;
	margin: 3px;
	padding: 5px;
	text-align: center;
	cursor: grab;
	user-select: none;
	font-size: 0.9rem;
}

/* Highlight drop zone while dragging */
.dropzone.dragover {
	background: #e0f0ff;
	border-color: #70b8e0;
}