* {
    box-sizing: border-box;
}

body {
	font-size: 1.5em;
	font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}

.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, 3rem);
	border-collapse: collapse;
	border-left:0.075rem solid black;
	grid-auto-flow: row;
}

.square {
	width: 3rem;
	aspect-ratio: 1;
	background-color: white;
	position: relative;
	font-size: 2em;
	font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
	display: flex;
	justify-content: center;
	align-items: center;
	user-select: none;
	overflow: hidden;
	border-right: 0.075rem solid black;
	border-bottom: 0.075rem solid black;
	border-top: 0.075rem solid black;
	box-sizing: border-box;
	user-select: none;
}

.square input.char-input {
	width: 100%;
	height: 100%;
	text-align: center;
	border: none;
	outline: none;
	box-sizing: border-box;
	background-color: yellow;
}

.number {
	position: absolute;
	top: 0.1rem;
	left: 0.2rem;
	font-size: 0.7rem;
	pointer-events: none;
}

.character {
	position: absolute;
	width: 100%;
	text-align: center;
	font-size: 2rem;
	pointer-events: none;
}

.quote-input {
    width: 100%;
    height: 100px;
    margin-bottom: 20px;
}
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
th, td {
    border: 0.1rem solid #ccc;
    padding: 1rem;
    text-align: left;
}
.remove-button {
    background-color: red;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    cursor: pointer;
}
.add-button {
    background-color: green;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    cursor: pointer;
}
.generate-button {
    background-color: lightgrey;
    color: black;
    border: 0.1rem solid black;
    padding: 0.5rem 1rem;
    margin: 0.25rem 0.25rem;
    cursor: pointer;
	height: 3rem;
	font-size: 1em;
    display: inline-block;
}
.check-button {
    background-color: lightgrey;
    color: black;
    border: 0.1rem solid black;
    padding: 0.5rem 1rem;
    margin: 0.25rem 0.25rem;
    cursor: pointer;
	height: 3rem;
	font-size: 1em;
}
#fileInput {
    display: none;
}