/* Base layout: center the site */
:root {
	--bg: #ffffff;
	--fg: #111111;
	--muted: #666666;
	--border: #bbbbbb;
	--accent: #2d2d2d;
	--higlight: #ff9900;
}
html, body {
	height: 100%;
}
body {
	margin: 10px;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";
	font-display: swap;
	background: var(--bg);
	color: var(--fg);
	display: grid;
	place-items: start center;
}
h1{
	font-size: medium;
}
main {
	width: 100%;
	max-width: 900px;
	padding: 24px 16px 48px;
}
header {
	width: 100%;
	display: grid;
	place-items: center;
	padding-top: 20px;
}
.title {
	font-size: 28px;
	font-weight: 600;
	margin: 0.25rem 0 0.75rem;
	text-align: center;
}
.group h2 {
	font-size: 16px;
	font-weight: 400;
	text-align: left;
	margin: 0 0 0.6rem;
	color: var(--accent);
}
.grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
table.letters {

	border-spacing: 4px; /* gutter: 1pt → small spacing */

	table-layout: fixed;
    display: flex;
    align-items: flex-start;
}
.cell {
	padding: 12px;
	text-align: center;
	border: 1px solid var(--border);
	background: #fafafa;
    width: 10rem;

	vertical-align: middle;
}
.cell.empty {
	background: transparent;
	border: none;
}
.native {
	font-size: 20px;
	line-height: 1.2;
	font-weight: 500;
}
.latin {
	margin-top: 4px;
	font-size: 15px;
	color: #3a3a3a;
}
.name {
	margin-top: 2px;
	font-size: 14px;
	color: #333333;
	font-style: italic;
}
.native:hover {
	color: var(--higlight);
	cursor: default;
}
.latin:hover {
	color: var(--higlight);
	cursor: default;
}
.name:hover {
	color: var(--higlight);
	cursor: default;
}
@media (max-width: 900px) {
	main { max-width: 720px; }
	.grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}
@media (max-width: 600px) {
	main { padding: 16px 12px 32px; }
	.title { font-size: 24px; }
	.group h2 { font-size: 15px; }

	/* Compress table spacing */
	table.letters { border-spacing: 6px; }
	.cell { padding: 10px; border-radius: 0px; }
	.native { font-size: 22px; }
	.latin { font-size: 13px; }
	.name  { font-size: 12px; }
}

@media (max-width: 420px) {
	.title { font-size: 22px; }
	.native { font-size: 20px; }
	.latin { font-size: 12px; }
	.name  { font-size: 11px; }
	.grid { overflow-x: auto; }
	table.letters { min-width: 320px; }
}
