.oga-os-map {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-lg, 1.5rem);
	margin: var(--spacing-xl, 2rem) 0;
}

@media (max-width: 640px) {
	.oga-os-map {
		grid-template-columns: 1fr;
	}
}

.oga-os-group {
	background: var(--bg-secondary, #f5f5f5);
	border: 1px solid var(--border, #ddd);
	border-radius: var(--radius-lg, 1rem);
	padding: var(--spacing-lg, 1.5rem);
}

.oga-os-group h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: var(--font-size-lg, 1.125rem);
	margin-bottom: 4px;
	color: var(--text-primary, #1a1a1a);
}

.oga-os-group p {
	font-size: var(--font-size-sm, 0.875rem);
	color: var(--text-secondary, #666);
	margin-bottom: var(--spacing-base, 1rem);
}

.oga-os-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: var(--spacing-sm, 0.5rem);
}

.oga-os-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	padding: 14px 8px;
	border-radius: var(--radius-base, 0.5rem);
	border: 1px solid var(--border, #ddd);
	background: var(--bg-primary, #fff);
	transition: var(--transition-fast, 150ms ease-in-out);
}

.oga-os-tile:hover {
	border-color: var(--g0-color, #5ec3c0);
	transform: translateY(-1px);
}

.oga-os-tile-icon {
	font-size: 20px;
	line-height: 1;
}

.oga-os-tile-label {
	font-size: var(--font-size-sm, 0.875rem);
	color: var(--text-primary, #1a1a1a);
	text-align: center;
	line-height: 1.3;
}
